Function at 0x1003f72c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb0
mov edi, ecx
mov esi, dword [esp + 0xc4]
mov eax, dword [0x100c51b8]
xor eax, esp
mov dword [esp + 0xac], eax
lea ecx, [esp + 0xa8]
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x6c]
mov dword [eax], esi
call fcn.1003f60a
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov al, byte [eax + 0xd]
mov byte [esp + 0x1b], al
lea eax, [edi + 4]
mov dword [esp + 0xa0], eax
lea eax, [esi + 8]
mov dword [esp + 0x24], eax
mov ebx, 0x22dc397f
cmp ebx, 0xf7c8a123
jg 0x1003f7f4
cmp ebx, 0xc0c64f0f
jle 0x1003f850
cmp ebx, 0xdde261d5
jg 0x1003f91b
cmp ebx, 0xd0be4036
jg 0x1003fa67
cmp ebx, 0xc70e209a
jg 0x1003fc84
cmp ebx, 0xc0c64f10
je 0x1003ff68
cmp ebx, 0xc6d115ec
jne 0x1003f791
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
cmp byte [eax + 0xc], 1
mov ebx, 0xfc8ed48f
je 0x1003f791
jmp 0x1004011d
cmp ebx, 0x37cd503a
jle 0x1003f8a4
cmp ebx, 0x57f97293
jg 0x1003f96f
cmp ebx, 0x4525ed90
jg 0x1003faa0
cmp ebx, 0x38ccafc5
jg 0x1003fcad
cmp ebx, 0x37cd503b
je 0x1003ff8d
cmp ebx, 0x38a62526
jne 0x1003f791
mov ebx, 0x3db24be
mov eax, dword [esp + 0x70]
mov dword [esp + 0x2c], eax
mov ebp, esi
jmp 0x1003f791
cmp ebx, 0x942eeff6
jle 0x1003f9b9
cmp ebx, 0xb00f0bfb
jg 0x1003fb07
cmp ebx, 0xaa9d760b
jg 0x1003fcd1
cmp ebx, 0x942eeff7
je 0x1003ffac
cmp ebx, 0x967fca5b
jne 0x1003f791
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ebx, 0x86104def
cmp dword [eax], esi
je 0x1003f791
jmp 0x1003fd9a
cmp ebx, 0x484bac1
jle 0x1003fa03
cmp ebx, 0x148e3f41
jg 0x1003fb5c
cmp ebx, 0x100028e4
jg 0x1003fd11
cmp ebx, 0x484bac2
je 0x1003ffd7
cmp ebx, 0xe15a3d0
jne 0x1003f791
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
mov dword [esp + 0x9c], eax
cmp dword [esp + 0x9c], 0
mov ebx, 0x91df9c02
je 0x1003f791
mov ebx, 0x70cb4777
jmp 0x1003f791
cmp ebx, 0xef311365
jg 0x1003fb92
cmp ebx, 0xe774e1d4
jg 0x1003fd45
cmp ebx, 0xdde261d6
je 0x10040008
cmp ebx, 0xde94a07d
jne 0x1003f791
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
cmp byte [eax + 0xc], 1
mov ebx, 0xd0be4037
je 0x1003f962
mov ebx, 0x26ab0015
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
jmp 0x1003f791
cmp ebx, 0x685f407c
jg 0x1003fbd9
cmp ebx, 0x5df60b20
jg 0x1003fd76
cmp ebx, 0x57f97294
je 0x10040035
cmp ebx, 0x59991b43
jne 0x1003f791
mov ebx, 0x66051bb6
push dword [esp + 8]
call fcn.100403cc
add esp, 4
mov dword [esp + 0x68], eax
jmp 0x1003f791
cmp ebx, 0x8a8e4e58
jg 0x1003fc2e
cmp ebx, 0x84cd2e37
jg 0x1003fda4
cmp ebx, 0x82673aa4
je 0x10040054
cmp ebx, 0x83abccd2
jne 0x1003f791
mov ebx, 0x57f97294
push dword [esp + 8]
call fcn.10040420
add esp, 4
mov dword [esp + 0x64], eax
jmp 0x1003f791
cmp ebx, 0xffc6bd2f
jle 0x1003fc57
cmp ebx, 0x3db24bd
jg 0x1003fdd8
cmp ebx, 0xffc6bd30
je 0x10040064
cmp ebx, 0x28bb6c8
jne 0x1003f791
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 8]
mov dword [eax], ecx
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov ecx, dword [esp]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov ecx, dword [esp]
mov dword [eax + 4], ecx
mov ebx, 0xef311366
mov eax, dword [esp + 0x38]
mov dword [esp + 0x60], eax
jmp 0x1003f791
cmp ebx, 0xd4442602
jg 0x1003fdf5
cmp ebx, 0xd0be4037
je 0x10040092
cmp ebx, 0xd0fd675d
jne 0x1003f791
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov dword [eax + 8], ecx
mov ebx, 0x967fca5b
jmp 0x1003f791
cmp ebx, 0x533444c0
jg 0x1003fe2a
cmp ebx, 0x4525ed91
je 0x100400c6
cmp ebx, 0x50b609ca
jne 0x1003f791
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
mov ecx, dword [esp]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0xc4]
mov eax, dword [eax]
mov ecx, dword [esp]
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp]
mov ebx, 0xcb443789
cmp ecx, dword [eax]
je 0x1003f791
mov ebx, 0xaa9d760c
jmp 0x1003f791
cmp ebx, 0xb9f27456
jg 0x1003fe58
cmp ebx, 0xb00f0bfc
je 0x100400dd
cmp ebx, 0xb4395d04
jne 0x1003f791
mov eax, dword [esp + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov ebx, 0x5df60b21
cmp ecx, eax
je 0x1003f791
mov ebx, 0x484bac2
jmp 0x1003f791
cmp ebx, 0x22dc397e
jg 0x1003fe80
cmp ebx, 0x148e3f42
je 0x100400fa
cmp ebx, 0x15319c70
jne 0x1003f791
mov ebx, 0x66051bb6
mov eax, dword [esp + 0x14]
mov dword [esp + 0x68], eax
jmp 0x1003f791
cmp ebx, 0xf3d95789
jg 0x1003fec1
cmp ebx, 0xef311366
je 0x10040127
cmp ebx, 0xef535421
jne 0x1003f791
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp byte [eax + 0xc], 1
mov ebx, 0x84cd2e38
je 0x1003fbcc
mov ebx, 0xad814550
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
jmp 0x1003f791
cmp ebx, 0x70cb4776
jg 0x1003ff0f
cmp ebx, 0x685f407d
je 0x10040156
cmp ebx, 0x6deb8aee
jne 0x1003f791
mov eax, dword [esp + 0x90]
mov byte [eax], 1
mov eax, dword [esp + 4]
mov byte [eax + 0xc], 0
mov ecx, edi
push dword [esp + 4]
call fcn.100405e6
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov ebx, 0x38ccafc6
jmp 0x1003f791
cmp ebx, 0x91df9c01
jg 0x1003ff53
cmp ebx, 0x8a8e4e59
je 0x1004017b
cmp ebx, 0x8b917ecd
je 0x10040195
jmp 0x1003f791
cmp ebx, 0xf7c8a124
je 0x1004018d
cmp ebx, 0xfba024db
je 0x1004019f
cmp ebx, 0xfc8ed48f
jne 0x1003f791
mov eax, dword [esp + 0xc]
jmp 0x10040191
cmp ebx, 0xc70e209b
je 0x100401be
cmp ebx, 0xcb443789
jne 0x1003f791
mov ebx, 0xef311366
mov eax, dword [esp]
mov dword [esp + 0x60], eax
jmp 0x1003f791
cmp ebx, 0x38ccafc6
je 0x100401ea
cmp ebx, 0x38f64502
jne 0x1003f791
mov eax, dword [esp + 0x84]
jmp 0x1004025d
cmp ebx, 0xaa9d760c
je 0x1004020f
cmp ebx, 0xad814550
jne 0x1003f791
mov eax, dword [esp + 4]
mov cl, byte [eax + 0xc]
mov edx, dword [esp + 0x4c]
mov byte [edx + 0xc], cl
mov cl, 1
mov byte [eax + 0xc], cl
mov eax, dword [edx]
mov byte [eax + 0xc], cl
mov ecx, edi
push dword [esp + 4]
call fcn.100405e6
jmp 0x100400f0
cmp ebx, 0x100028e5
je 0x10040236
cmp ebx, 0x135b7d47
jne 0x1003f791
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
mov ebx, 0x83abccd2
je 0x1003f791
mov ebx, 0xb9f27457
jmp 0x1003f791
cmp ebx, 0xe774e1d5
je 0x10040259
cmp ebx, 0xe8b40df2
jne 0x1003f791
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ebx, 0x135b7d47
cmp dword [eax + 8], esi
jne 0x10040042
jmp 0x10040047
cmp ebx, 0x5df60b21
je 0x1004026c
cmp ebx, 0x66051bb6
jne 0x1003f791
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov ebx, 0xe8b40df2
jmp 0x1003f791
cmp ebx, 0x84cd2e38
je 0x100402aa
cmp ebx, 0x86104def
jne 0x1003f791
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
mov ebx, 0x59991b43
je 0x1003f791
mov ebx, 0x15319c70
jmp 0x1003f791
cmp ebx, 0x3db24be
je 0x100402de
cmp ebx, 0x43d2633
je 0x10040195
jmp 0x1003f791
cmp ebx, 0xd4442603
je 0x10040303
cmp ebx, 0xdbabe02f
jne 0x1003f791
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
mov dword [esp + 0x54], eax
mov ebx, 0xffc6bd30
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
jmp 0x1003f791
cmp ebx, 0x533444c1
je 0x1004031a
cmp ebx, 0x5547735b
jne 0x1003f791
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov ebx, 0x3db24be
mov ebp, esi
jmp 0x1003f791
cmp ebx, 0xb9f27457
je 0x10040348
cmp ebx, 0xc028388d
jne 0x1003f791
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], ecx
jmp 0x1004033e
cmp ebx, 0x22dc397f
je 0x1004035a
cmp ebx, 0x26ab0015
jne 0x1003f791
mov eax, dword [esp + 4]
mov cl, byte [eax + 0xc]
mov edx, dword [esp + 0x50]
mov byte [edx + 0xc], cl
mov cl, 1
mov byte [eax + 0xc], cl
mov eax, dword [edx + 8]
mov byte [eax + 0xc], cl
mov ecx, edi
push dword [esp + 4]
call fcn.10040476
jmp 0x100400f0
cmp ebx, 0xf3d9578a
je 0x10040374
cmp ebx, 0xf642b67b
jne 0x1003f791
mov eax, dword [esi + 4]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
mov ebx, 0x38f64502
cmp dword [eax], esi
je 0x1003f791
mov ebx, 0xd4442603
jmp 0x1003f791
cmp ebx, 0x70cb4777
je 0x10040388
cmp ebx, 0x7a0164a8
jne 0x1003f791
mov eax, dword [esp + 0x88]
mov byte [eax], 1
mov eax, dword [esp + 4]
mov byte [eax + 0xc], 0
mov ecx, edi
push dword [esp + 4]
call fcn.10040476
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
jmp 0x100402a0
cmp ebx, 0x920b9f24
jne 0x100403a3
mov eax, dword [esp + 0x74]
jmp 0x10040378
cmp byte [esi + 0xc], 1
mov ebx, 0xffc6bd30
je 0x1003ff78
mov ebx, 0xe15a3d0
mov eax, dword [esp + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], eax
jmp 0x1003f791
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
mov ebx, 0x4525ed91
je 0x1003f791
mov ebx, 0x38a62526
jmp 0x1003f791
mov eax, dword [esp + 0x10]
add eax, 8
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
cmp byte [eax + 0xc], 1
mov ebx, 0xfba024db
je 0x1003f791
jmp 0x100401b4
mov eax, dword [esp + 0x40]
add eax, 0xc
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
cmp byte [eax], 0
mov ebx, 0x6deb8aee
je 0x1003fffb
mov ebx, 0x38ccafc6
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
jmp 0x1003f791
mov eax, dword [esi + 4]
mov ecx, dword [esp]
mov dword [ecx + 4], eax
mov eax, dword [esp]
mov cl, byte [eax + 0xc]
mov dl, byte [esi + 0xc]
mov byte [eax + 0xc], dl
mov byte [esi + 0xc], cl
mov ebx, 0xc0c64f10
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x28], eax
jmp 0x1003f791
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov ebx, 0xc0c64f10
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
jmp 0x1003f791
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
jmp 0x1004022c
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov ecx, dword [esp + 0x20]
mov ebx, 0x8a8e4e59
cmp ecx, dword [eax + 4]
je 0x1003f791
mov ebx, 0xb00f0bfc
jmp 0x1003f791
mov eax, dword [esp + 0x8c]
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov eax, dword [esp + 0xc]
mov byte [eax + 0xc], 0
mov ecx, edi
push dword [esp + 0xc]
call fcn.100405e6
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x50], eax
mov ebx, 0x26ab0015
jmp 0x1003f791
mov eax, dword [esp + 0x6c]
mov ebp, dword [eax]
mov eax, dword [ebp + 8]
mov dword [esp + 0x2c], eax
mov ebx, 0x3db24be
jmp 0x1003f791
mov eax, dword [esp + 0x20]
cmp byte [eax + 0xc], 1
mov ebx, 0xb4395d04
je 0x1003f791
mov ebx, 0x8a8e4e59
jmp 0x1003f791
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax]
cmp byte [eax + 0xc], 1
mov ebx, 0xc6d115ec
je 0x1003f791
mov ebx, 0xde94a07d
jmp 0x1003f791
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa4], eax
mov eax, dword [edi]
add eax, 4
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
mov ebx, 0xe774e1d5
cmp dword [eax], esi
je 0x1003f791
mov ebx, 0xf642b67b
jmp 0x1003f791
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xd], 0
mov ebx, 0x148e3f42
je 0x1003f791
mov ebx, 0x8b917ecd
jmp 0x1003f791
mov eax, dword [esp + 0x20]
mov byte [eax + 0xc], 1
mov ebx, 0xe15a3d0
jmp 0x1003f791
mov eax, dword [esp + 0x10]
mov byte [eax + 0xc], 0
mov ebx, 0xdbabe02f
jmp 0x1003f791
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp byte [eax + 0xc], 1
mov ebx, 0xf7c8a124
je 0x1003f791
mov ebx, 0xef535421
jmp 0x1003f791
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
add eax, 4
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
mov ebx, 0x920b9f24
cmp dword [eax], esi
je 0x1003f791
mov ebx, 0x100028e5
jmp 0x1003f791
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd], 0
mov ebx, 0x942eeff7
je 0x1003f791
mov ebx, 0x43d2633
jmp 0x1003f791
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 8]
cmp byte [eax + 0xd], 0
mov ebx, 0x82673aa4
je 0x1003f791
mov ebx, 0x28bb6c8
jmp 0x1003f791
mov eax, dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
mov ebx, 0xf3d9578a
cmp dword [eax], esi
je 0x1003f791
mov ebx, 0xd0fd675d
jmp 0x1003f791
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp]
mov dword [eax], ecx
mov ebx, 0xdde261d6
jmp 0x1003f791
mov eax, dword [esp + 4]
add eax, 8
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
add eax, 0xc
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
cmp byte [eax], 0
mov ebx, 0x7a0164a8
je 0x1003f791
mov ebx, 0x685f407d
jmp 0x1003f791
mov eax, dword [esp + 0x94]
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov eax, dword [esp + 0x10]
mov byte [eax + 0xc], 0
mov ecx, edi
push dword [esp + 0x10]
call fcn.10040476
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov ebx, 0xad814550
jmp 0x1003f791
mov dword [esp], ebp
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp]
mov ebx, 0x533444c1
cmp eax, esi
je 0x1003f791
mov ebx, 0x50b609ca
jmp 0x1003f791
mov eax, dword [esp + 0x80]
mov ecx, dword [esp]
mov dword [eax + 8], ecx
mov ebx, 0xdde261d6
jmp 0x1003f791
mov eax, dword [esi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 8]
add eax, 0xd
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
mov ebx, 0xc028388d
je 0x1003f791
mov ebx, 0xc70e209b
jmp 0x1003f791
mov ebx, 0x57f97294
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], eax
jmp 0x1003f791
cmp byte [esp + 0x1b], 0
mov ebx, 0x37cd503b
je 0x1003f791
mov ebx, 0x5547735b
jmp 0x1003f791
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 8]
mov dword [eax], ecx
mov ebx, 0x967fca5b
jmp 0x1003f791
mov eax, dword [esp + 0x9c]
dec eax
mov ecx, dword [esp + 0x98]
mov dword [ecx], eax
mov ebx, 0x91df9c02
jmp 0x1003f791
cmp ebx, 0x91df9c02
jne 0x1003f791
mov ecx, dword [esp + 0xac]
xor ecx, esp
call fcn.100879aa
mov eax, esi
add esp, 0xb0
pop esi
pop edi
pop ebx
pop ebp
ret 4