Build RE baseline and initial Rust workspace
This commit is contained in:
parent
8d1f280e2e
commit
ffaf155ef0
39 changed files with 5974 additions and 8 deletions
689
artifacts/exports/rt3-1.06/analysis-context.md
Normal file
689
artifacts/exports/rt3-1.06/analysis-context.md
Normal file
|
|
@ -0,0 +1,689 @@
|
|||
# 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`
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue