18 KiB
18 KiB
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:
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:
0x00593841in0x00593790multiplayer_transport_handle_names_query_response0x00593b25in0x00593b00multiplayer_transport_handle_selector_update_response
Caller xref excerpts:
0x00593841
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
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->0x005951f0multiplayer_transport_service_status_pump0x00595499->0x00596fc0multiplayer_transport_submit_profile_key_query_bundle_default0x0059547f->0x005a18a0string_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:
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:
0x00596faain0x00596fa0multiplayer_transport_submit_profile_key_query_bundle_with_context0x00596fc7in0x00596fc0multiplayer_transport_submit_profile_key_query_bundle_default
Caller xref excerpts:
0x00596faa
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
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->0x0058ec50multiplayer_transport_submit_getkey_command_and_wait0x00596f7a->0x0058ef20multiplayer_transport_submit_setchankey_pair_list_command_and_wait0x00596e68->0x0058f380tracked_heap_alloc_with_header0x00596f03->0x0058f380tracked_heap_alloc_with_header0x00596ebf->0x0058f3c0tracked_heap_free_with_header0x00596f83->0x0058f3c0tracked_heap_free_with_header0x00596e56->0x0058f8f0fcn.0058f8f00x00596edf->0x0058f8f0fcn.0058f8f00x00596df0->0x0058f9c0hashed_entry_table_lookup0x00596e22->0x0058f9c0hashed_entry_table_lookup0x00596e36->0x0058f9c0hashed_entry_table_lookup0x00596e8a->0x0058fa00generic_callback_list_for_each0x00596f21->0x0058fa00generic_callback_list_for_each
Data refs:
0x00596e85->0x00596c800x00596f1c->0x00596c800x00596eaf->0x00596c900x00596f67->0x00596ce00x00596f6e->0x005e1e1c0x00596e1a->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:
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
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->0x00596da0multiplayer_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:
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:
0x00595499in0x00595440multiplayer_transport_init_selector_slot0x0059fbb5
Caller xref excerpts:
0x00595499
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
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->0x00596da0multiplayer_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:
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->0x0058bce0fcn.0058bce00x00597054->0x0058bce0fcn.0058bce00x00597029->0x0058cd40fcn.0058cd400x0059703f->0x0058cd40fcn.0058cd400x0059706d->0x0058cd40fcn.0058cd400x00597084->0x0058cd40fcn.0058cd40
Data refs:
0x00597008->0x005970ac0x00597001->0x005970c40x0059704d->0x005ce1c8"openstaging"
0x005973d0 -> 0x005973d0 multiplayer_transport_try_connect_status_route
- Size:
170 - Calling convention:
cdecl - Signature:
fcn.005973d0(int32_t arg_4h);
Entry excerpt:
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:
0x0058daf1in0x0058dae0fcn.0058dae00x005965bein0x005965a0multiplayer_transport_try_connect_status_route_once
Caller xref excerpts:
0x0058daf1
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
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->0x0058bc90fcn.0058bc900x0059743c->0x0058c9b0fcn.0058c9b00x0059742d->0x0058cc40fcn.0058cc400x005973e7->0x00597350multiplayer_transport_release_status_route
Data refs:
0x0059740f->0x00596fd00x0059740a->0x005970e00x00597405->0x005971800x00597400->0x005971b00x005973fb->0x005972700x005973f6->0x005972c00x0059745b->0x00597330