689 lines
18 KiB
Markdown
689 lines
18 KiB
Markdown
# Analysis Context
|
|
|
|
- Target binary: `/home/jan/projects/rrt/rt3_wineprefix/drive_c/rt3/RT3.exe`
|
|
- Function names prefer the curated ledger when a committed mapping exists.
|
|
|
|
## Function Targets
|
|
|
|
### `0x00595440` -> `0x00595440` `multiplayer_transport_init_selector_slot`
|
|
|
|
- Size: `100`
|
|
- Calling convention: `cdecl`
|
|
- Signature: `fcn.00595440(int32_t arg_4h, int32_t arg_39ch, int32_t arg_59bh);`
|
|
|
|
Entry excerpt:
|
|
|
|
```asm
|
|
595420: movl $0x89ffff98, %esp # imm = 0x89FFFF98
|
|
595425: movl $0x9a4, %esi # imm = 0x9A4
|
|
59542a: popl %edi
|
|
59542b: popl %esi
|
|
59542c: addl $0x190, %esp # imm = 0x190
|
|
595432: retl
|
|
595433: nop
|
|
595434: nop
|
|
595435: nop
|
|
595436: nop
|
|
595437: nop
|
|
595438: nop
|
|
595439: nop
|
|
59543a: nop
|
|
59543b: nop
|
|
59543c: nop
|
|
59543d: nop
|
|
59543e: nop
|
|
59543f: nop
|
|
595440: movl 0x4(%esp), %eax
|
|
595444: testl %eax, %eax
|
|
595446: pushl %ebp
|
|
595447: pushl %esi
|
|
595448: pushl %edi
|
|
595449: movl %edx, %edi
|
|
59544b: movl %ecx, %esi
|
|
59544d: jne 0x595454 <.text+0x194454>
|
|
59544f: movl $0x5c87a8, %eax # imm = 0x5C87A8
|
|
595454: movl %edi, %ecx
|
|
595456: shll $0x9, %ecx
|
|
595459: leal (%ecx,%esi), %ebp
|
|
59545c: pushl $0x200 # imm = 0x200
|
|
```
|
|
|
|
Callers:
|
|
- `0x00593841` in `0x00593790` `multiplayer_transport_handle_names_query_response`
|
|
- `0x00593b25` in `0x00593b00` `multiplayer_transport_handle_selector_update_response`
|
|
|
|
Caller xref excerpts:
|
|
|
|
#### `0x00593841`
|
|
|
|
```asm
|
|
593821: movl $0x1000000, %esp # imm = 0x1000000
|
|
593826: addb %al, (%eax)
|
|
593828: addb %ch, %bl
|
|
59382a: orb %bh, %al
|
|
59382c: xchgb %al, 0xb(%eax)
|
|
59382f: addb %al, (%eax)
|
|
593831: addl %eax, (%eax)
|
|
593833: addb %al, (%eax)
|
|
593835: movl 0x20(%edi), %edx
|
|
593838: pushl %ebx
|
|
593839: pushl %edx
|
|
59383a: movl $0x2, %edx
|
|
59383f: movl %esi, %ecx
|
|
593841: calll 0x595440 <.text+0x194440>
|
|
593846: movl 0x1c(%esp), %eax
|
|
59384a: cmpl %ebp, %eax
|
|
59384c: jle 0x59387f <.text+0x19287f>
|
|
59384e: movl 0x20(%esp), %ebx
|
|
593852: movl 0x24(%esp), %ebp
|
|
593856: subl %ebx, %ebp
|
|
593858: movl %eax, 0x28(%esp)
|
|
59385c: leal (%esp), %esp
|
|
593860: movl (%ebx,%ebp), %eax
|
|
```
|
|
|
|
#### `0x00593b25`
|
|
|
|
```asm
|
|
593b05: andb $0x20, %al
|
|
593b07: movl 0x38(%esi), %eax
|
|
593b0a: testl %eax, %eax
|
|
593b0c: movl (%esi), %ebx
|
|
593b0e: pushl %edi
|
|
593b0f: movl %edx, %edi
|
|
593b11: movl %edi, 0xc(%esp)
|
|
593b15: jne 0x593b93 <.text+0x192b93>
|
|
593b17: testl %edi, %edi
|
|
593b19: movl 0x1c(%esi), %edx
|
|
593b1c: movl %ebx, %ecx
|
|
593b1e: je 0x593b67 <.text+0x192b67>
|
|
593b20: pushl $0x5c87a8 # imm = 0x5C87A8
|
|
593b25: calll 0x595440 <.text+0x194440>
|
|
593b2a: movl 0x18(%esp), %eax
|
|
593b2e: testl %eax, %eax
|
|
593b30: jle 0x593b6e <.text+0x192b6e>
|
|
593b32: movl 0x1c(%esp), %edi
|
|
593b36: pushl %ebp
|
|
593b37: movl 0x24(%esp), %ebp
|
|
593b3b: subl %edi, %ebp
|
|
593b3d: movl %eax, 0x28(%esp)
|
|
593b41: movl (%edi,%ebp), %eax
|
|
593b44: movl 0x1c(%esi), %ecx
|
|
```
|
|
|
|
Direct internal callees:
|
|
- `0x00595490` -> `0x005951f0` `multiplayer_transport_service_status_pump`
|
|
- `0x00595499` -> `0x00596fc0` `multiplayer_transport_submit_profile_key_query_bundle_default`
|
|
- `0x0059547f` -> `0x005a18a0` `string_copy_bounded_zerofill`
|
|
|
|
Data refs:
|
|
- `0x0059544f` -> `0x005c87a8`
|
|
|
|
### `0x00596da0` -> `0x00596da0` `multiplayer_transport_submit_profile_key_query_bundle`
|
|
|
|
- Size: `497`
|
|
- Calling convention: `cdecl`
|
|
- Signature: `fcn.00596da0(uint_least32_t arg_4h);`
|
|
|
|
Entry excerpt:
|
|
|
|
```asm
|
|
596d80: calll 0x596b90 <.text+0x195b90>
|
|
596d85: addl $0x4, %esi
|
|
596d88: decl %ebx
|
|
596d89: jne 0x596d70 <.text+0x195d70>
|
|
596d8b: popl %edi
|
|
596d8c: popl %esi
|
|
596d8d: popl %ebp
|
|
596d8e: popl %ebx
|
|
596d8f: retl $0x18
|
|
596d92: nop
|
|
596d93: nop
|
|
596d94: nop
|
|
596d95: nop
|
|
596d96: nop
|
|
596d97: nop
|
|
596d98: nop
|
|
596d99: nop
|
|
596d9a: nop
|
|
596d9b: nop
|
|
596d9c: nop
|
|
596d9d: nop
|
|
596d9e: nop
|
|
596d9f: nop
|
|
596da0: subl $0x10, %esp
|
|
596da3: pushl %ebp
|
|
596da4: pushl %edi
|
|
596da5: movl %eax, %edi
|
|
596da7: movl 0x390(%esi,%edi,4), %eax
|
|
596dae: xorl %ebp, %ebp
|
|
596db0: cmpl %ebp, %eax
|
|
596db2: jne 0x596dc1 <.text+0x195dc1>
|
|
596db4: cmpl %ebp, 0x384(%esi,%edi,4)
|
|
596dbb: je 0x596f89 <.text+0x195f89>
|
|
```
|
|
|
|
Callers:
|
|
- `0x00596faa` in `0x00596fa0` `multiplayer_transport_submit_profile_key_query_bundle_with_context`
|
|
- `0x00596fc7` in `0x00596fc0` `multiplayer_transport_submit_profile_key_query_bundle_default`
|
|
|
|
Caller xref excerpts:
|
|
|
|
#### `0x00596faa`
|
|
|
|
```asm
|
|
596f8a: popl %ebp
|
|
596f8b: addl $0x10, %esp
|
|
596f8e: retl $0x4
|
|
596f91: nop
|
|
596f92: nop
|
|
596f93: nop
|
|
596f94: nop
|
|
596f95: nop
|
|
596f96: nop
|
|
596f97: nop
|
|
596f98: nop
|
|
596f99: nop
|
|
596f9a: nop
|
|
596f9b: nop
|
|
596f9c: nop
|
|
596f9d: nop
|
|
596f9e: nop
|
|
596f9f: nop
|
|
596fa0: pushl %esi
|
|
596fa1: movl %edx, %eax
|
|
596fa3: movl 0x8(%esp), %edx
|
|
596fa7: pushl %edx
|
|
596fa8: movl %ecx, %esi
|
|
596faa: calll 0x596da0 <.text+0x195da0>
|
|
596faf: popl %esi
|
|
596fb0: retl $0x4
|
|
596fb3: nop
|
|
596fb4: nop
|
|
596fb5: nop
|
|
596fb6: nop
|
|
596fb7: nop
|
|
596fb8: nop
|
|
596fb9: nop
|
|
596fba: nop
|
|
596fbb: nop
|
|
596fbc: nop
|
|
596fbd: nop
|
|
596fbe: nop
|
|
596fbf: nop
|
|
596fc0: pushl %esi
|
|
596fc1: movl %edx, %eax
|
|
596fc3: pushl $0x0
|
|
596fc5: movl %ecx, %esi
|
|
596fc7: calll 0x596da0 <.text+0x195da0>
|
|
```
|
|
|
|
#### `0x00596fc7`
|
|
|
|
```asm
|
|
596fa7: pushl %edx
|
|
596fa8: movl %ecx, %esi
|
|
596faa: calll 0x596da0 <.text+0x195da0>
|
|
596faf: popl %esi
|
|
596fb0: retl $0x4
|
|
596fb3: nop
|
|
596fb4: nop
|
|
596fb5: nop
|
|
596fb6: nop
|
|
596fb7: nop
|
|
596fb8: nop
|
|
596fb9: nop
|
|
596fba: nop
|
|
596fbb: nop
|
|
596fbc: nop
|
|
596fbd: nop
|
|
596fbe: nop
|
|
596fbf: nop
|
|
596fc0: pushl %esi
|
|
596fc1: movl %edx, %eax
|
|
596fc3: pushl $0x0
|
|
596fc5: movl %ecx, %esi
|
|
596fc7: calll 0x596da0 <.text+0x195da0>
|
|
596fcc: popl %esi
|
|
596fcd: retl
|
|
596fce: nop
|
|
596fcf: nop
|
|
596fd0: movl 0x4(%esp), %eax
|
|
596fd4: pushl %esi
|
|
596fd5: movl %edx, %esi
|
|
596fd7: movl 0x398(%eax), %edx
|
|
596fdd: testl %edx, %edx
|
|
596fdf: pushl %edi
|
|
596fe0: je 0x597077 <.text+0x196077>
|
|
596fe6: movl 0xb44(%eax), %edx
|
|
```
|
|
|
|
Direct internal callees:
|
|
- `0x00596eb6` -> `0x0058ec50` `multiplayer_transport_submit_getkey_command_and_wait`
|
|
- `0x00596f7a` -> `0x0058ef20` `multiplayer_transport_submit_setchankey_pair_list_command_and_wait`
|
|
- `0x00596e68` -> `0x0058f380` `tracked_heap_alloc_with_header`
|
|
- `0x00596f03` -> `0x0058f380` `tracked_heap_alloc_with_header`
|
|
- `0x00596ebf` -> `0x0058f3c0` `tracked_heap_free_with_header`
|
|
- `0x00596f83` -> `0x0058f3c0` `tracked_heap_free_with_header`
|
|
- `0x00596e56` -> `0x0058f8f0` `fcn.0058f8f0`
|
|
- `0x00596edf` -> `0x0058f8f0` `fcn.0058f8f0`
|
|
- `0x00596df0` -> `0x0058f9c0` `hashed_entry_table_lookup`
|
|
- `0x00596e22` -> `0x0058f9c0` `hashed_entry_table_lookup`
|
|
- `0x00596e36` -> `0x0058f9c0` `hashed_entry_table_lookup`
|
|
- `0x00596e8a` -> `0x0058fa00` `generic_callback_list_for_each`
|
|
- `0x00596f21` -> `0x0058fa00` `generic_callback_list_for_each`
|
|
|
|
Data refs:
|
|
- `0x00596e85` -> `0x00596c80`
|
|
- `0x00596f1c` -> `0x00596c80`
|
|
- `0x00596eaf` -> `0x00596c90`
|
|
- `0x00596f67` -> `0x00596ce0`
|
|
- `0x00596f6e` -> `0x005e1e1c`
|
|
- `0x00596e1a` -> `0x005e2260` "b_flags"
|
|
- `0x00596f4d` -> `0x005e2260` "b_flags"
|
|
- `0x00596de8` -> `0x005e22e8` "username"
|
|
- `0x00596f32` -> `0x005e22e8` "username"
|
|
|
|
### `0x00596fa0` -> `0x00596fa0` `multiplayer_transport_submit_profile_key_query_bundle_with_context`
|
|
|
|
- Size: `19`
|
|
- Calling convention: `cdecl`
|
|
- Signature: `fcn.00596fa0(int32_t arg_4h);`
|
|
|
|
Entry excerpt:
|
|
|
|
```asm
|
|
596f80: decl %esp
|
|
596f81: andb $0x18, %al
|
|
596f83: calll 0x58f3c0 <.text+0x18e3c0>
|
|
596f88: popl %ebx
|
|
596f89: popl %edi
|
|
596f8a: popl %ebp
|
|
596f8b: addl $0x10, %esp
|
|
596f8e: retl $0x4
|
|
596f91: nop
|
|
596f92: nop
|
|
596f93: nop
|
|
596f94: nop
|
|
596f95: nop
|
|
596f96: nop
|
|
596f97: nop
|
|
596f98: nop
|
|
596f99: nop
|
|
596f9a: nop
|
|
596f9b: nop
|
|
596f9c: nop
|
|
596f9d: nop
|
|
596f9e: nop
|
|
596f9f: nop
|
|
596fa0: pushl %esi
|
|
596fa1: movl %edx, %eax
|
|
596fa3: movl 0x8(%esp), %edx
|
|
596fa7: pushl %edx
|
|
596fa8: movl %ecx, %esi
|
|
596faa: calll 0x596da0 <.text+0x195da0>
|
|
596faf: popl %esi
|
|
596fb0: retl $0x4
|
|
596fb3: nop
|
|
596fb4: nop
|
|
596fb5: nop
|
|
596fb6: nop
|
|
596fb7: nop
|
|
596fb8: nop
|
|
596fb9: nop
|
|
596fba: nop
|
|
596fbb: nop
|
|
596fbc: nop
|
|
596fbd: nop
|
|
596fbe: nop
|
|
596fbf: nop
|
|
```
|
|
|
|
Callers:
|
|
- `0x0059f935`
|
|
|
|
Caller xref excerpts:
|
|
|
|
#### `0x0059f935`
|
|
|
|
```asm
|
|
59f915: <unknown>
|
|
59f917: testl %eax, %eax
|
|
59f919: je 0x59f92e <.text+0x19e92e>
|
|
59f91b: movl 0x10(%esp), %edx
|
|
59f91f: movl 0x8(%esp), %eax
|
|
59f923: pushl %edx
|
|
59f924: pushl %eax
|
|
59f925: movl %edi, %edx
|
|
59f927: movl %esi, %ecx
|
|
59f929: calll 0x594b60 <.text+0x193b60>
|
|
59f92e: movl 0x18(%esp), %edx
|
|
59f932: pushl %edi
|
|
59f933: movl %esi, %ecx
|
|
59f935: calll 0x596fa0 <.text+0x195fa0>
|
|
59f93a: movl 0x18(%esp), %edx
|
|
59f93e: pushl %edi
|
|
59f93f: movl %esi, %ecx
|
|
59f941: calll 0x592ee0 <.text+0x191ee0>
|
|
59f946: cmpl $0x2, 0x18(%esp)
|
|
59f94b: jne 0x59f9b1 <.text+0x19e9b1>
|
|
59f94d: movl 0xb54(%esi), %eax
|
|
59f953: testl %eax, %eax
|
|
```
|
|
|
|
Direct internal callees:
|
|
- `0x00596faa` -> `0x00596da0` `multiplayer_transport_submit_profile_key_query_bundle`
|
|
|
|
Data refs:
|
|
- none
|
|
|
|
### `0x00596fc0` -> `0x00596fc0` `multiplayer_transport_submit_profile_key_query_bundle_default`
|
|
|
|
- Size: `14`
|
|
- Calling convention: `cdecl`
|
|
- Signature: `fcn.00596fc0();`
|
|
|
|
Entry excerpt:
|
|
|
|
```asm
|
|
596fa0: pushl %esi
|
|
596fa1: movl %edx, %eax
|
|
596fa3: movl 0x8(%esp), %edx
|
|
596fa7: pushl %edx
|
|
596fa8: movl %ecx, %esi
|
|
596faa: calll 0x596da0 <.text+0x195da0>
|
|
596faf: popl %esi
|
|
596fb0: retl $0x4
|
|
596fb3: nop
|
|
596fb4: nop
|
|
596fb5: nop
|
|
596fb6: nop
|
|
596fb7: nop
|
|
596fb8: nop
|
|
596fb9: nop
|
|
596fba: nop
|
|
596fbb: nop
|
|
596fbc: nop
|
|
596fbd: nop
|
|
596fbe: nop
|
|
596fbf: nop
|
|
596fc0: pushl %esi
|
|
596fc1: movl %edx, %eax
|
|
596fc3: pushl $0x0
|
|
596fc5: movl %ecx, %esi
|
|
596fc7: calll 0x596da0 <.text+0x195da0>
|
|
596fcc: popl %esi
|
|
596fcd: retl
|
|
596fce: nop
|
|
596fcf: nop
|
|
596fd0: movl 0x4(%esp), %eax
|
|
596fd4: pushl %esi
|
|
596fd5: movl %edx, %esi
|
|
596fd7: movl 0x398(%eax), %edx
|
|
596fdd: testl %edx, %edx
|
|
596fdf: pushl %edi
|
|
```
|
|
|
|
Callers:
|
|
- `0x00595499` in `0x00595440` `multiplayer_transport_init_selector_slot`
|
|
- `0x0059fbb5`
|
|
|
|
Caller xref excerpts:
|
|
|
|
#### `0x00595499`
|
|
|
|
```asm
|
|
595479: addb %al, (%eax)
|
|
59547b: addb %al, (%eax)
|
|
59547d: addb %al, (%eax)
|
|
59547f: calll 0x5a18a0 <.text+0x1a08a0>
|
|
595484: addl $0xc, %esp
|
|
595487: movl %esi, %ecx
|
|
595489: movb $0x0, 0x59b(%ebp)
|
|
595490: calll 0x5951f0 <.text+0x1941f0>
|
|
595495: movl %edi, %edx
|
|
595497: movl %esi, %ecx
|
|
595499: calll 0x596fc0 <.text+0x195fc0>
|
|
59549e: popl %edi
|
|
59549f: popl %esi
|
|
5954a0: popl %ebp
|
|
5954a1: retl $0x4
|
|
5954a4: nop
|
|
5954a5: nop
|
|
5954a6: nop
|
|
5954a7: nop
|
|
5954a8: nop
|
|
5954a9: nop
|
|
5954aa: nop
|
|
5954ab: nop
|
|
5954ac: nop
|
|
5954ad: nop
|
|
5954ae: nop
|
|
5954af: nop
|
|
5954b0: pushl %ebx
|
|
5954b1: pushl %esi
|
|
5954b2: pushl %edi
|
|
5954b3: movl %edx, %edi
|
|
5954b5: movl %ecx, %esi
|
|
5954b7: movl 0x384(%esi,%edi,4), %eax
|
|
```
|
|
|
|
#### `0x0059fbb5`
|
|
|
|
```asm
|
|
59fb95: movl (%edi,%esi), %ecx
|
|
59fb98: movl 0x20(%esp), %edx
|
|
59fb9c: pushl %ecx
|
|
59fb9d: pushl %edx
|
|
59fb9e: movl (%esi), %edx
|
|
59fba0: movl %ebp, %ecx
|
|
59fba2: calll 0x594f20 <.text+0x193f20>
|
|
59fba7: addl $0x4, %esi
|
|
59fbaa: decl %ebx
|
|
59fbab: jne 0x59fb95 <.text+0x19eb95>
|
|
59fbad: popl %edi
|
|
59fbae: popl %esi
|
|
59fbaf: movl 0x18(%esp), %edx
|
|
59fbb3: movl %ebp, %ecx
|
|
59fbb5: calll 0x596fc0 <.text+0x195fc0>
|
|
59fbba: movl 0x18(%esp), %edx
|
|
59fbbe: movl %ebp, %ecx
|
|
59fbc0: calll 0x592fc0 <.text+0x191fc0>
|
|
59fbc5: popl %ebx
|
|
59fbc6: popl %ebp
|
|
59fbc7: retl $0x10
|
|
59fbca: nop
|
|
59fbcb: nop
|
|
59fbcc: nop
|
|
59fbcd: nop
|
|
59fbce: nop
|
|
59fbcf: nop
|
|
59fbd0: pushl %esi
|
|
59fbd1: movl 0x14(%esp), %esi
|
|
```
|
|
|
|
Direct internal callees:
|
|
- `0x00596fc7` -> `0x00596da0` `multiplayer_transport_submit_profile_key_query_bundle`
|
|
|
|
Data refs:
|
|
- none
|
|
|
|
### `0x00596fd0` -> `0x00596fd0` `multiplayer_transport_dispatch_status_route_event`
|
|
|
|
- Size: `219`
|
|
- Calling convention: `cdecl`
|
|
- Signature: `data.00596fd0(int32_t arg_4h);`
|
|
|
|
Entry excerpt:
|
|
|
|
```asm
|
|
596fb0: retl $0x4
|
|
596fb3: nop
|
|
596fb4: nop
|
|
596fb5: nop
|
|
596fb6: nop
|
|
596fb7: nop
|
|
596fb8: nop
|
|
596fb9: nop
|
|
596fba: nop
|
|
596fbb: nop
|
|
596fbc: nop
|
|
596fbd: nop
|
|
596fbe: nop
|
|
596fbf: nop
|
|
596fc0: pushl %esi
|
|
596fc1: movl %edx, %eax
|
|
596fc3: pushl $0x0
|
|
596fc5: movl %ecx, %esi
|
|
596fc7: calll 0x596da0 <.text+0x195da0>
|
|
596fcc: popl %esi
|
|
596fcd: retl
|
|
596fce: nop
|
|
596fcf: nop
|
|
596fd0: movl 0x4(%esp), %eax
|
|
596fd4: pushl %esi
|
|
596fd5: movl %edx, %esi
|
|
596fd7: movl 0x398(%eax), %edx
|
|
596fdd: testl %edx, %edx
|
|
596fdf: pushl %edi
|
|
596fe0: je 0x597077 <.text+0x196077>
|
|
596fe6: movl 0xb44(%eax), %edx
|
|
596fec: testl %edx, %edx
|
|
596fee: je 0x596ff9 <.text+0x195ff9>
|
|
```
|
|
|
|
Callers:
|
|
- none
|
|
|
|
Direct internal callees:
|
|
- `0x00597017` -> `0x0058bce0` `fcn.0058bce0`
|
|
- `0x00597054` -> `0x0058bce0` `fcn.0058bce0`
|
|
- `0x00597029` -> `0x0058cd40` `fcn.0058cd40`
|
|
- `0x0059703f` -> `0x0058cd40` `fcn.0058cd40`
|
|
- `0x0059706d` -> `0x0058cd40` `fcn.0058cd40`
|
|
- `0x00597084` -> `0x0058cd40` `fcn.0058cd40`
|
|
|
|
Data refs:
|
|
- `0x00597008` -> `0x005970ac`
|
|
- `0x00597001` -> `0x005970c4`
|
|
- `0x0059704d` -> `0x005ce1c8` "openstaging"
|
|
|
|
### `0x005973d0` -> `0x005973d0` `multiplayer_transport_try_connect_status_route`
|
|
|
|
- Size: `170`
|
|
- Calling convention: `cdecl`
|
|
- Signature: `fcn.005973d0(int32_t arg_4h);`
|
|
|
|
Entry excerpt:
|
|
|
|
```asm
|
|
5973b0: pushl %esi
|
|
5973b1: movl %ecx, %esi
|
|
5973b3: movl 0x1ecc(%esi), %ecx
|
|
5973b9: testl %ecx, %ecx
|
|
5973bb: je 0x5973cc <.text+0x1963cc>
|
|
5973bd: calll 0x58cfd0 <.text+0x18bfd0>
|
|
5973c2: movl $0x0, 0x1ecc(%esi)
|
|
5973cc: popl %esi
|
|
5973cd: retl
|
|
5973ce: nop
|
|
5973cf: nop
|
|
5973d0: pushl %ebx
|
|
5973d1: pushl %esi
|
|
5973d2: movl %ecx, %esi
|
|
5973d4: movl 0xaf0(%esi), %eax
|
|
5973da: testl %eax, %eax
|
|
5973dc: pushl %edi
|
|
5973dd: leal 0xaf0(%esi), %edi
|
|
5973e3: movl %edx, %ebx
|
|
5973e5: je 0x5973ec <.text+0x1963ec>
|
|
5973e7: calll 0x597350 <.text+0x196350>
|
|
5973ec: cmpl $-0x1, %ebx
|
|
5973ef: movl 0xb34(%esi), %eax
|
|
```
|
|
|
|
Callers:
|
|
- `0x0058daf1` in `0x0058dae0` `fcn.0058dae0`
|
|
- `0x005965be` in `0x005965a0` `multiplayer_transport_try_connect_status_route_once`
|
|
|
|
Caller xref excerpts:
|
|
|
|
#### `0x0058daf1`
|
|
|
|
```asm
|
|
58dad1: addb %bl, -0x3e(%esi)
|
|
58dad4: orb %al, (%eax)
|
|
58dad6: nop
|
|
58dad7: nop
|
|
58dad8: nop
|
|
58dad9: nop
|
|
58dada: nop
|
|
58dadb: nop
|
|
58dadc: nop
|
|
58dadd: nop
|
|
58dade: nop
|
|
58dadf: nop
|
|
58dae0: movb 0x60(%ecx), %al
|
|
58dae3: testb %al, %al
|
|
58dae5: jne 0x58daec <.text+0x18caec>
|
|
58dae7: xorl %eax, %eax
|
|
58dae9: retl $0x4
|
|
58daec: movl 0x4(%esp), %eax
|
|
58daf0: pushl %eax
|
|
58daf1: calll 0x5973d0 <.text+0x1963d0>
|
|
58daf6: negl %eax
|
|
58daf8: sbbl %eax, %eax
|
|
58dafa: negl %eax
|
|
58dafc: retl $0x4
|
|
58daff: nop
|
|
58db00: movb 0x60(%ecx), %al
|
|
58db03: testb %al, %al
|
|
58db05: je 0x58db16 <.text+0x18cb16>
|
|
58db07: movl $0x1, 0xb44(%ecx)
|
|
```
|
|
|
|
#### `0x005965be`
|
|
|
|
```asm
|
|
59659e: nop
|
|
59659f: nop
|
|
5965a0: movl 0xb40(%ecx), %eax
|
|
5965a6: testl %eax, %eax
|
|
5965a8: je 0x5965af <.text+0x1955af>
|
|
5965aa: xorl %eax, %eax
|
|
5965ac: retl $0x4
|
|
5965af: movl 0x4(%esp), %eax
|
|
5965b3: pushl %eax
|
|
5965b4: movl $0x1, 0xb40(%ecx)
|
|
5965be: calll 0x5973d0 <.text+0x1963d0>
|
|
5965c3: negl %eax
|
|
5965c5: sbbl %eax, %eax
|
|
5965c7: negl %eax
|
|
5965c9: retl $0x4
|
|
5965cc: nop
|
|
5965cd: nop
|
|
5965ce: nop
|
|
5965cf: nop
|
|
5965d0: testl %edx, %edx
|
|
5965d2: pushl %esi
|
|
5965d3: movl %ecx, %esi
|
|
5965d5: je 0x5965dc <.text+0x1955dc>
|
|
5965d7: calll 0x597350 <.text+0x196350>
|
|
5965dc: movl 0xb40(%esi), %eax
|
|
```
|
|
|
|
Direct internal callees:
|
|
- `0x00597460` -> `0x0058bc90` `fcn.0058bc90`
|
|
- `0x0059743c` -> `0x0058c9b0` `fcn.0058c9b0`
|
|
- `0x0059742d` -> `0x0058cc40` `fcn.0058cc40`
|
|
- `0x005973e7` -> `0x00597350` `multiplayer_transport_release_status_route`
|
|
|
|
Data refs:
|
|
- `0x0059740f` -> `0x00596fd0`
|
|
- `0x0059740a` -> `0x005970e0`
|
|
- `0x00597405` -> `0x00597180`
|
|
- `0x00597400` -> `0x005971b0`
|
|
- `0x005973fb` -> `0x00597270`
|
|
- `0x005973f6` -> `0x005972c0`
|
|
- `0x0059745b` -> `0x00597330`
|
|
|