rrt/artifacts/captures/analysis/analysis-context.md

9.4 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

0x004ba3d0 -> 0x004ba3d0 fcn.004ba3d0

  • Size: 2380
  • Calling convention: cdecl
  • Signature: fcn.004ba3d0();

Entry excerpt:

  4ba3b0:      	jl	0x4ba355 <.text+0xb9355>
  4ba3b2:      	decl	%ebx
  4ba3b3:      	addb	%ah, 0x4ba3(%ebp)
  4ba3b9:      	addl	%eax, (%ebx)
  4ba3bb:      	addl	(%ebx), %eax
  4ba3bd:      	addl	(%ebx), %eax
  4ba3bf:      	addb	(%ebx), %al
  4ba3c1:      	addl	(%eax), %eax
  4ba3c3:      	addl	%eax, (%eax)
  4ba3c5:      	addl	%edx, -0x6f6f6f70(%eax)
  4ba3cb:      	nop
  4ba3cc:      	nop
  4ba3cd:      	nop
  4ba3ce:      	nop
  4ba3cf:      	nop
  4ba3d0:      	pushl	%ebp
  4ba3d1:      	movl	%esp, %ebp
  4ba3d3:      	andl	$-0x8, %esp
  4ba3d6:      	subl	$0x318, %esp            # imm = 0x318
  4ba3dc:      	pushl	%ebx
  4ba3dd:      	pushl	%ebp
  4ba3de:      	pushl	%esi
  4ba3df:      	pushl	%edi
  4ba3e0:      	movl	%ecx, %ebp
  4ba3e2:      	movl	0x6cfe04, %eax
  4ba3e7:      	cmpb	$0x0, (%eax)
  4ba3ea:      	jbe	0x4ba72f <.text+0xb972f>

Callers:

  • 0x004baedd in 0x004bad20 fcn.004bad20
  • 0x004bb8dc in 0x004baef0 fcn.004baef0
  • 0x004bbc89
  • 0x004bbd6a
  • 0x004bc02b

Caller xref excerpts:

0x004baedd

  4baebd:      	addb	%cl, 0x6cfe0415(%ebx)
  4baec3:      	addb	%cl, (%edi)
  4baec5:      	movb	$0x42, %dh
  4baec7:      	andl	%ebp, (%edx)
  4baeca:      	pushl	$0x0
  4baecc:      	pushl	%eax
  4baecd:      	pushl	$0x7d0e                 # imm = 0x7D0E
  4baed2:      	pushl	$0x66
  4baed4:      	movl	%esi, %ecx
  4baed6:      	calll	0x540120 <.text+0x13f120>
  4baedb:      	movl	%esi, %ecx
  4baedd:      	calll	0x4ba3d0 <.text+0xb93d0>
  4baee2:      	popl	%edi
  4baee3:      	popl	%esi
  4baee4:      	popl	%ebx
  4baee5:      	retl	$0x4
  4baee8:      	nop
  4baee9:      	nop
  4baeea:      	nop
  4baeeb:      	nop
  4baeec:      	nop
  4baeed:      	nop
  4baeee:      	nop
  4baeef:      	nop
  4baef0:      	pushl	%ebp
  4baef1:      	movl	%esp, %ebp
  4baef3:      	andl	$-0x8, %esp
  4baef6:      	subl	$0x270, %esp            # imm = 0x270
  4baefc:      	movl	0x6cfe04, %eax

0x004bb8dc

  4bb8bc:      	incl	%ebx
  4bb8bd:      	movl	%ebx, 0x2c(%esp)
  4bb8c1:      	incl	%ebp
  4bb8c2:      	movl	0x62ba8c, %ecx
  4bb8c8:      	incl	%edi
  4bb8c9:      	movl	%edi, 0x18(%esp)
  4bb8cd:      	calll	0x517cf0 <.text+0x116cf0>
  4bb8d2:      	cmpl	%eax, %edi
  4bb8d4:      	jl	0x4bb490 <.text+0xba490>
  4bb8da:      	movl	%esi, %ecx
  4bb8dc:      	calll	0x4ba3d0 <.text+0xb93d0>
  4bb8e1:      	movl	%esi, %ecx
  4bb8e3:      	calll	0x4b9a20 <.text+0xb8a20>
  4bb8e8:      	pushl	$0x7d0b                 # imm = 0x7D0B
  4bb8ed:      	movl	%esi, %ecx
  4bb8ef:      	calll	0x53f830 <.text+0x13e830>
  4bb8f4:      	movl	0x6cec20, %ecx
  4bb8fa:      	movl	%eax, %edi

0x004bbc89

  4bbc69:      	pushl	$0x7d96                 # imm = 0x7D96
  4bbc6e:      	movl	%ebp, %ecx
  4bbc70:      	calll	0x53fe00 <.text+0x13ee00>
  4bbc75:      	pushl	%edi
  4bbc76:      	pushl	$0x8051                 # imm = 0x8051
  4bbc7b:      	pushl	$0x8020                 # imm = 0x8020
  4bbc80:      	movl	%ebp, %ecx
  4bbc82:      	calll	0x53fe00 <.text+0x13ee00>
  4bbc87:      	movl	%ebp, %ecx
  4bbc89:      	calll	0x4ba3d0 <.text+0xb93d0>
  4bbc8e:      	movl	0x6cfe08, %edx
  4bbc94:      	movb	0xc(%edx), %al
  4bbc97:      	testb	%al, %al
  4bbc99:      	je	0x4bbca2 <.text+0xbaca2>
  4bbc9b:      	movl	%ebp, %ecx
  4bbc9d:      	calll	0x4b9ec0 <.text+0xb8ec0>
  4bbca2:      	popl	%edi
  4bbca3:      	popl	%ebx
  4bbca4:      	popl	%esi
  4bbca5:      	xorl	%eax, %eax
  4bbca7:      	popl	%ebp
  4bbca8:      	retl	$0x4

0x004bbd6a

  4bbd4a:      	movzbl	(%eax), %ecx
  4bbd4d:      	movl	%edx, -0x3(%eax,%ecx,4)
  4bbd51:      	jmp	0x4bbd68 <.text+0xbad68>
  4bbd53:      	leal	-0x3(%eax), %ecx
  4bbd56:      	calll	0x4b99c0 <.text+0xb89c0>
  4bbd5b:      	movl	0x6cfe04, %ecx
  4bbd61:      	movzbl	(%ecx), %edx
  4bbd64:      	movl	%eax, -0x3(%ecx,%edx,4)
  4bbd68:      	movl	%ebp, %ecx
  4bbd6a:      	calll	0x4ba3d0 <.text+0xb93d0>
  4bbd6f:      	movl	0x6cfe08, %eax
  4bbd74:      	movb	0xc(%eax), %cl
  4bbd77:      	testb	%cl, %cl
  4bbd79:      	je	0x4bbca2 <.text+0xbaca2>
  4bbd7f:      	movl	%ebp, %ecx
  4bbd81:      	calll	0x4b9ec0 <.text+0xb8ec0>
  4bbd86:      	popl	%edi
  4bbd87:      	popl	%ebx
  4bbd88:      	popl	%esi
  4bbd89:      	xorl	%eax, %eax

0x004bc02b

  4bc00b:      	addb	%dl, 0x68(%edi)
  4bc00e:      	pushl	%ecx
  4bc00f:      	addb	$0x0, (%eax)
  4bc012:      	pushl	$0x8020                 # imm = 0x8020
  4bc017:      	movl	%ebp, %ecx
  4bc019:      	calll	0x53fe00 <.text+0x13ee00>
  4bc01e:      	movl	0x6cfe04, %eax
  4bc023:      	testb	$0x40, 0x28(%eax)
  4bc027:      	movl	%ebp, %ecx
  4bc029:      	je	0x4bc039 <.text+0xbb039>
  4bc02b:      	calll	0x4ba3d0 <.text+0xb93d0>
  4bc030:      	popl	%edi
  4bc031:      	popl	%ebx
  4bc032:      	popl	%esi
  4bc033:      	xorl	%eax, %eax
  4bc035:      	popl	%ebp
  4bc036:      	retl	$0x4
  4bc039:      	calll	0x4b9a20 <.text+0xb8a20>
  4bc03e:      	popl	%edi
  4bc03f:      	popl	%ebx
  4bc040:      	popl	%esi
  4bc041:      	xorl	%eax, %eax
  4bc043:      	popl	%ebp
  4bc044:      	retl	$0x4
  4bc047:      	cmpl	%edi, 0x6cfe10

Direct internal callees:

  • 0x004ba53d -> 0x00517d40 fcn.00517d40
  • 0x004ba556 -> 0x00518140 fcn.00518140
  • 0x004ba5b6 -> 0x00518de0 fcn.00518de0
  • 0x004ba606 -> 0x005193f0 fcn.005193f0
  • 0x004ba489 -> 0x0051d820 fcn.0051d820
  • 0x004ba5e6 -> 0x0051d820 fcn.0051d820
  • 0x004ba611 -> 0x0051d820 fcn.0051d820
  • 0x004ba78a -> 0x0051d820 fcn.0051d820
  • 0x004ba830 -> 0x0051d820 fcn.0051d820
  • 0x004ba8cb -> 0x0051d820 fcn.0051d820
  • 0x004ba997 -> 0x0051d820 fcn.0051d820
  • 0x004bac73 -> 0x0051d820 fcn.0051d820
  • 0x004ba493 -> 0x0053b070 fcn.0053b070
  • 0x004ba61b -> 0x0053b070 fcn.0053b070
  • 0x004ba6d9 -> 0x0053b070 fcn.0053b070
  • 0x004ba794 -> 0x0053b070 fcn.0053b070
  • 0x004ba83a -> 0x0053b070 fcn.0053b070
  • 0x004ba8d5 -> 0x0053b070 fcn.0053b070
  • 0x004ba9a1 -> 0x0053b070 fcn.0053b070
  • 0x004baa6d -> 0x0053b070 fcn.0053b070
  • 0x004bab24 -> 0x0053b070 fcn.0053b070
  • 0x004bac8f -> 0x0053b070 fcn.0053b070
  • 0x004ba5cd -> 0x0053c930 fcn.0053c930
  • 0x004ba40b -> 0x0053f830 fcn.0053f830
  • 0x004ba4c9 -> 0x0053f830 fcn.0053f830
  • 0x004ba661 -> 0x0053f830 fcn.0053f830
  • 0x004ba9f4 -> 0x0053f830 fcn.0053f830
  • 0x004baaab -> 0x0053f830 fcn.0053f830
  • 0x004bab53 -> 0x0053f830 fcn.0053f830
  • 0x004ba4b4 -> 0x0053f9c0 fcn.0053f9c0
  • 0x004ba63c -> 0x0053f9c0 fcn.0053f9c0
  • 0x004ba6fd -> 0x0053f9c0 fcn.0053f9c0
  • 0x004ba7b6 -> 0x0053f9c0 fcn.0053f9c0
  • 0x004ba85a -> 0x0053f9c0 fcn.0053f9c0
  • 0x004ba8f5 -> 0x0053f9c0 fcn.0053f9c0
  • 0x004ba9c1 -> 0x0053f9c0 fcn.0053f9c0
  • 0x004baa90 -> 0x0053f9c0 fcn.0053f9c0
  • 0x004bab47 -> 0x0053f9c0 fcn.0053f9c0
  • 0x004bacb2 -> 0x0053f9c0 fcn.0053f9c0
  • 0x004ba421 -> 0x0053fe00 fcn.0053fe00
  • 0x004ba4dc -> 0x0053fe00 fcn.0053fe00
  • 0x004ba674 -> 0x0053fe00 fcn.0053fe00
  • 0x004baa0a -> 0x0053fe00 fcn.0053fe00
  • 0x004baac1 -> 0x0053fe00 fcn.0053fe00
  • 0x004bab69 -> 0x0053fe00 fcn.0053fe00
  • 0x004bacda -> 0x00540120 fcn.00540120
  • 0x004bacf4 -> 0x00540120 fcn.00540120
  • 0x004bad0f -> 0x00540120 fcn.00540120
  • 0x004ba4a6 -> 0x0055a040 fcn.0055a040
  • 0x004ba62e -> 0x0055a040 fcn.0055a040
  • 0x004ba7a9 -> 0x0055a040 fcn.0055a040
  • 0x004ba84d -> 0x0055a040 fcn.0055a040
  • 0x004ba8e8 -> 0x0055a040 fcn.0055a040
  • 0x004ba9b4 -> 0x0055a040 fcn.0055a040
  • 0x004baca5 -> 0x0055ab50 fcn.0055ab50
  • 0x004ba6ef -> 0x00563210 fcn.00563210
  • 0x004baa83 -> 0x00563210 fcn.00563210
  • 0x004bab3a -> 0x00563210 fcn.00563210
  • 0x004ba4be -> 0x005a1145 fcn.005a1145
  • 0x004ba646 -> 0x005a1145 fcn.005a1145
  • 0x004ba650 -> 0x005a1145 fcn.005a1145
  • 0x004ba7c0 -> 0x005a1145 fcn.005a1145
  • 0x004ba864 -> 0x005a1145 fcn.005a1145
  • 0x004ba8ff -> 0x005a1145 fcn.005a1145
  • 0x004ba9cb -> 0x005a1145 fcn.005a1145
  • 0x004bacbf -> 0x005a1145 fcn.005a1145
  • 0x004ba56c -> 0x005a19c4 fcn.005a19c4

Data refs:

  • 0x004bacc9 -> 0x004ba270
  • 0x004ba5e1 -> 0x005d0194
  • 0x004ba952 -> 0x005d0608
  • 0x004ba889 -> 0x005d0614 "Caboose.imb"
  • 0x004ba59a -> 0x005d0620 "PassMail.imb"
  • 0x004ba593 -> 0x005d0630 "AnyFreight.imb"
  • 0x004ba587 -> 0x005d0640 "AnyCargo.imb"
  • 0x004ba566 -> 0x005d0650 "%s.imb"
  • 0x004ba44e -> 0x005d0658 "Cargo.imb"
  • 0x004ba74e -> 0x005d0658 "Cargo.imb"
  • 0x004ba7f4 -> 0x005d0658 "Cargo.imb"
  • 0x004bac25 -> 0x005d0658 "Cargo.imb"
  • 0x004ba536 -> 0x0062ba8c
  • 0x004ba54f -> 0x0062ba8c
  • 0x004ba3e2 -> 0x006cfe04
  • 0x004ba4fa -> 0x006cfe04
  • 0x004ba546 -> 0x006cfe04
  • 0x004ba576 -> 0x006cfe04
  • 0x004ba711 -> 0x006cfe04
  • 0x004ba7c5 -> 0x006cfe04
  • 0x004ba869 -> 0x006cfe04
  • 0x004ba904 -> 0x006cfe04
  • 0x004ba9d0 -> 0x006cfe04
  • 0x004baa95 -> 0x006cfe04
  • 0x004bab81 -> 0x006cfe04
  • 0x004bacdf -> 0x006cfe04
  • 0x004bacf9 -> 0x006cfe04
  • 0x004ba5bb -> 0x006d4020