Add hook debug tooling and refine RT3 atlas
This commit is contained in:
parent
860d1aed90
commit
57bf0666e0
38 changed files with 14437 additions and 873 deletions
|
|
@ -5,685 +5,108 @@
|
|||
|
||||
## Function Targets
|
||||
|
||||
### `0x00595440` -> `0x00595440` `multiplayer_transport_init_selector_slot`
|
||||
### `0x004333f0` -> `0x004333f0` `shell_setup_build_file_list_records_from_current_root_and_pattern`
|
||||
|
||||
- Size: `100`
|
||||
- Size: `676`
|
||||
- Calling convention: `cdecl`
|
||||
- Signature: `fcn.00595440(int32_t arg_4h, int32_t arg_39ch, int32_t arg_59bh);`
|
||||
- Signature: `fcn.004333f0(int32_t arg_8h, int32_t arg_c30h);`
|
||||
|
||||
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
|
||||
4333d0: movl %ds, %edi
|
||||
4333d2: strw -0x29da1732(%ebx)
|
||||
4333d9: ltrw -0x75(%esi)
|
||||
4333dd: ldsl 0x5b(%ebp), %ebx
|
||||
4333e0: popl %edi
|
||||
4333e1: addl $0x404f4, %esp # imm = 0x404F4
|
||||
4333e7: retl $0x4
|
||||
4333ea: nop
|
||||
4333eb: nop
|
||||
4333ec: nop
|
||||
4333ed: nop
|
||||
4333ee: nop
|
||||
4333ef: nop
|
||||
4333f0: subl $0xcf8, %esp # imm = 0xCF8
|
||||
4333f6: pushl %ebx
|
||||
4333f7: pushl %ebp
|
||||
4333f8: movl %ecx, %ebp
|
||||
4333fa: pushl %esi
|
||||
4333fb: movl $0x0, (%ebp)
|
||||
433402: movl 0x6cec74, %ecx
|
||||
433408: pushl %edi
|
||||
433409: calll 0x4839b0 <.text+0x829b0>
|
||||
43340e: testl %eax, %eax
|
||||
```
|
||||
|
||||
Callers:
|
||||
- `0x00593841` in `0x00593790` `multiplayer_transport_handle_names_query_response`
|
||||
- `0x00593b25` in `0x00593b00` `multiplayer_transport_handle_selector_update_response`
|
||||
- `0x004336b8` in `0x004336a0` `shell_setup_file_list_construct_and_scan_dataset`
|
||||
|
||||
Caller xref excerpts:
|
||||
|
||||
#### `0x00593841`
|
||||
#### `0x004336b8`
|
||||
|
||||
```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
|
||||
433698: nop
|
||||
433699: nop
|
||||
43369a: nop
|
||||
43369b: nop
|
||||
43369c: nop
|
||||
43369d: nop
|
||||
43369e: nop
|
||||
43369f: nop
|
||||
4336a0: movl 0x4(%esp), %eax
|
||||
4336a4: pushl %esi
|
||||
4336a5: movl %ecx, %esi
|
||||
4336a7: pushl %eax
|
||||
4336a8: movl %eax, 0x4(%esi)
|
||||
4336ab: movl $0x0, 0x8(%esi)
|
||||
4336b2: movl $0x0, (%esi)
|
||||
4336b8: calll 0x4333f0 <.text+0x323f0>
|
||||
4336bd: movl %esi, %eax
|
||||
4336bf: popl %esi
|
||||
4336c0: retl $0x4
|
||||
4336c3: nop
|
||||
4336c4: nop
|
||||
4336c5: nop
|
||||
4336c6: nop
|
||||
4336c7: nop
|
||||
4336c8: nop
|
||||
4336c9: nop
|
||||
4336ca: nop
|
||||
4336cb: nop
|
||||
4336cc: nop
|
||||
4336cd: nop
|
||||
4336ce: nop
|
||||
4336cf: nop
|
||||
4336d0: movl %ecx, %eax
|
||||
4336d2: xorl %ecx, %ecx
|
||||
4336d4: movl %ecx, 0x4cae(%eax)
|
||||
```
|
||||
|
||||
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`
|
||||
- `0x004334de` -> `0x00433260` `fcn.00433260`
|
||||
- `0x004335b7` -> `0x00433260` `fcn.00433260`
|
||||
- `0x00433409` -> `0x004839b0` `shell_setup_query_file_list_uses_map_extension_pattern`
|
||||
- `0x0043344c` -> `0x004839e0` `shell_setup_query_file_list_root_dir_name`
|
||||
- `0x00433433` -> `0x00518de0` `fcn.00518de0`
|
||||
- `0x0043345e` -> `0x00518de0` `fcn.00518de0`
|
||||
- `0x0043348b` -> `0x00518de0` `fcn.00518de0`
|
||||
- `0x004334ae` -> `0x00518de0` `fcn.00518de0`
|
||||
- `0x0043355a` -> `0x00518de0` `fcn.00518de0`
|
||||
- `0x0043357d` -> `0x00518de0` `fcn.00518de0`
|
||||
- `0x00433638` -> `0x0051c920` `localization_lookup_display_label_by_stem_or_fallback`
|
||||
- `0x00433682` -> `0x0051dc60` `fcn.0051dc60`
|
||||
- `0x004335f7` -> `0x0051df90` `fcn.0051df90`
|
||||
- `0x0043350c` -> `0x005a125d` `fcn.005a125d`
|
||||
|
||||
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`
|
||||
- `0x004334b3` -> `0x005c8190`
|
||||
- `0x0043347f` -> `0x005c9d08` "%s%s"
|
||||
- `0x0043354e` -> `0x005c9d08` "%s%s"
|
||||
- `0x00433452` -> `0x005c9d10`
|
||||
- `0x0043342e` -> `0x005c9d14` "*.gm*"
|
||||
- `0x00433427` -> `0x005c9d1c` "*.smp"
|
||||
- `0x00433402` -> `0x006cec74`
|
||||
- `0x00433438` -> `0x006cec74`
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue