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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe0
mov esi, esp
mov eax, dword [ebp + 8]
call fcn.00408700
mov dword [esi + 0xac], eax
call fcn.00408710
mov eax, dword [esi + 0xb0]
mov ecx, eax
sub ecx, 0x78107746
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa0], ecx
jg 0x4081ec
jmp 0x407f5c
mov eax, dword [esi + 0xa4]
sub eax, 0x67032898
mov dword [esi + 0x9c], eax
jg 0x4081d2
jmp 0x407f78
mov eax, dword [esi + 0xa4]
add eax, 0xc1f9dd0f
mov dword [esi + 0x98], eax
jg 0x4081b8
jmp 0x407f95
mov eax, dword [esi + 0xa4]
sub eax, 0x33ef13d7
mov dword [esi + 0x94], eax
jg 0x40819f
jmp 0x407fb1
call fcn.00408720
sub eax, 0x9506c72d
mov dword [esi + 0x90], eax
jg 0x407fe9
jmp 0x407fcc
mov eax, dword [esi + 0xa4]
add eax, 0x6eea5d6f
mov dword [esi + 0x8c], eax
je 0x40848b
jmp 0x408206
mov eax, dword [esi + 0xa4]
sub eax, 0xa46fa342
mov dword [esi + 0x88], eax
jg 0x408021
jmp 0x408005
mov eax, dword [esi + 0xa4]
sub eax, 0x9506c72e
mov dword [esi + 0x84], eax
je 0x4085f6
jmp 0x408206
mov eax, dword [esi + 0xa4]
add eax, 0x473e957d
mov dword [esi + 0x80], eax
jg 0x408059
jmp 0x40803e
mov eax, dword [esi + 0xa4]
sub eax, 0xa46fa343
call fcn.00408730
je 0x4085ac
jmp 0x408206
mov eax, dword [esi + 0xa4]
sub eax, 0xc5a768da
mov dword [esi + 0x78], eax
jg 0x40808b
jmp 0x408072
mov eax, dword [esi + 0xa4]
sub eax, 0xb8c16a84
mov dword [esi + 0x74], eax
je 0x408593
jmp 0x408206
mov eax, dword [esi + 0xa4]
sub eax, 0xcd0cb24b
mov dword [esi + 0x70], eax
jg 0x4080bd
jmp 0x4080a4
mov eax, dword [esi + 0xa4]
sub eax, 0xc5a768db
mov dword [esi + 0x6c], eax
je 0x408223
jmp 0x408206
call fcn.00408740
add eax, 0x25181e60
mov dword [esi + 0x68], eax
jg 0x4080f0
jmp 0x4080d6
mov eax, dword [esi + 0xa4]
add eax, 0x32f34db4
mov dword [esi + 0x64], eax
je 0x408615
jmp 0x408206
mov eax, dword [esi + 0xa4]
sub eax, 0xeba37e06
call fcn.00408750
jg 0x408123
jmp 0x40810b
call fcn.00408760
sub eax, 0xdae7e1a1
mov dword [esi + 0x5c], eax
je 0x40849b
jmp 0x408206
call fcn.00408770
add eax, 0xd6684eaa
mov dword [esi + 0x58], eax
jg 0x408186
jmp 0x40813c
mov eax, dword [esi + 0xa4]
sub eax, 0xeba37e07
mov dword [esi + 0x54], eax
je 0x40843c
jmp 0x408155
mov eax, dword [esi + 0xa4]
sub eax, 0xeecc9762
mov dword [esi + 0x50], eax
je 0x40820b
jmp 0x40816e
call fcn.00408780
sub eax, 0x25d3c5a0
mov dword [esi + 0x4c], eax
je 0x40836a
jmp 0x408206
mov eax, dword [esi + 0xa4]
sub eax, 0x2997b157
mov dword [esi + 0x48], eax
je 0x408347
jmp 0x408206
mov eax, dword [esi + 0xa4]
sub eax, 0x33ef13d8
mov dword [esi + 0x44], eax
je 0x4085a2
jmp 0x408206
mov eax, dword [esi + 0xa4]
add eax, 0xc1f9dd0e
mov dword [esi + 0x40], eax
je 0x408584
jmp 0x408206
mov eax, dword [esi + 0xa4]
add eax, 0x98fcd767
mov dword [esi + 0x3c], eax
je 0x40846a
jmp 0x408206
mov eax, dword [esi + 0xa4]
add eax, 0x87ef88b9
mov dword [esi + 0x38], eax
je 0x40842c
jmp 0x408206
jmp 0x4086ed
mov eax, 0xe2c00b09
pushfd
add eax, 0xe2e75dd2
popfd
mov dword [esi + 0xb0], eax
jmp 0x4086ed
mov eax, 4
mov dword [esi + 0x34], eax
call fcn.00437f10
mov eax, 0x7f
mov eax, esp
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x34]
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x30], eax
mov eax, esi
mov eax, ecx
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0x34]
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0x34]
call fcn.00437f10
mov eax, edx
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xc0], eax
call fcn.00408790
call fcn.00437f10
mov eax, 0x437330
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0x34]
call fcn.00437f10
mov eax, 0x7f
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0x34]
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xcc], eax
mov eax, dword [esi + 0x34]
call fcn.00437f10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xac]
mov dword [eax], ecx
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0xa8]
mov dword [eax], edx
mov edi, dword [eax]
mov dword [esi + 0xd4], edi
mov edi, dword [esi + 0xb4]
mov edi, dword [edi]
mov ecx, dword [esi + 0xd4]
mov dword [esi + 0x2c], edi
call fcn.004fe4a0
mov ecx, 0x2997b157
mov edx, dword [esi + 0x2c]
cmp edx, eax
setb bl
and bl, 1
mov byte [esi + 0xda], bl
mov dword [esi + 0xb0], ecx
jmp 0x4086ed
mov eax, 0x5a6750
mov eax, dword [eax]
mov ecx, 0x25d3c5a0
mov dl, byte [esi + 0xda]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xb0], eax
jmp 0x4086ed
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xd4]
sub esp, 4
mov edx, esp
mov dword [edx], eax
call fcn.0049a690
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0xb8]
mov eax, dword [eax]
mov dword [ecx], eax
call fcn.004087a0
mov ecx, dword [esi + 0xd4]
sub esp, 4
mov edx, esp
mov dword [edx], eax
call fcn.00409660
mov eax, dword [esi + 0xb4]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc4]
mov edx, dword [esi + 0xc8]
sub esp, 8
mov edi, esp
call fcn.004087b0
call fcn.004087c0
mov ecx, 0x1ff
mov ecx, edx
call fcn.00450640
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 0xc0]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0xc0]
call fcn.004087d0
mov edi, dword [esi + 0xd4]
sub esp, 0xc
mov eax, dword [eax]
mov ebx, esi
mov ebx, esp
call fcn.004087e0
mov eax, dword [ecx]
call fcn.004087f0
mov dword [ebx], edx
mov ecx, edi
call fcn.00408910
mov dword [esi + 0xb0], 0x33ef13d8
jmp 0x4086ed
mov eax, 0xeba37e07
mov dword [esi + 0xb0], eax
jmp 0x4086ed
mov ecx, dword [esi + 0xd4]
call fcn.004fe4a0
mov ecx, 0x67032899
call fcn.00408800
cmp eax, dword [edx]
setb bl
and bl, 1
mov byte [esi + 0xdb], bl
mov dword [esi + 0xb0], ecx
jmp 0x4086ed
mov eax, 0xb8c16a84
mov ecx, 0x9115a291
mov dl, byte [esi + 0xdb]
test dl, 1
cmovne eax, ecx
mov dword [esi + 0xb0], eax
jmp 0x4086ed
mov eax, 0xdae7e1a1
mov dword [esi + 0xb0], eax
jmp 0x4086ed
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0xd0]
sub esp, 4
mov edx, esp
mov dword [edx], ecx
mov ecx, eax
call fcn.005249a0
mov eax, dword [esi + 0xb4]
mov eax, dword [eax]
mov ecx, dword [esi + 0xd4]
mov dword [esi + 0x28], eax
call fcn.004fe4a0
mov ecx, dword [esi + 0x28]
sub ecx, 0x5d8a3da5
sub ecx, eax
add ecx, 0x5d8a3da5
mov eax, dword [esi + 0xd4]
sub esp, 4
mov edx, esp
mov dword [edx], ecx
mov ecx, 0x437270
mov ecx, eax
call fcn.00450a60
call fcn.00408810
mov eax, dword [eax]
mov ecx, dword [esi + 0xd4]
mov dword [esi + 0x24], eax
call fcn.004fe4a0
mov ecx, dword [esi + 0x24]
sub ecx, 0xa00cc664
sub ecx, eax
add ecx, 0xa00cc664
call fcn.00408820
mov eax, dword [eax + 4]
mov edx, dword [esi + 0xd0]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0049a7b0
add esp, 0xc
mov eax, dword [esi + 0xb4]
mov eax, dword [eax]
mov ecx, dword [esi + 0xd4]
mov dword [esi + 0x20], eax
call fcn.004fe4a0
mov ecx, 0x3e0622f2
mov edx, dword [esi + 0x20]
add edx, 0xdcd5a1e5
sub edx, eax
sub edx, 0xdcd5a1e5
mov eax, dword [esi + 0xd4]
mov edi, dword [eax + 4]
add edi, edx
mov dword [eax + 4], edi
mov dword [esi + 0xb0], ecx
jmp 0x4086ed
mov dword [esi + 0xb0], 0xb8c16a84
jmp 0x4086ed
mov dword [esi + 0xb0], 0x33ef13d8
jmp 0x4086ed
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov eax, 4
mov dword [esi + 0x1c], eax
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x18], eax
mov eax, 0x437324
mov eax, ecx
call fcn.00437f10
mov eax, esp
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0xac]
mov dword [ecx], edx
mov edi, dword [esi + 0xa8]
mov dword [eax], edi
mov ecx, dword [eax]
call fcn.004fe4a0
call fcn.00408830
mov dword [esi + 0x14], eax
jmp 0x4086ed
call fcn.00408840
call fcn.004fe4a0
call fcn.00408850
call fcn.00408860
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
jmp 0x4086ed
mov eax, dword [esi + 0xd4]
mov ecx, dword [esi + 0xd0]
sub esp, 4
mov edx, ebx
mov edx, esp
mov dword [edx], ecx
mov ecx, eax
call fcn.005249a0
mov eax, dword [esi + 0xb4]
mov eax, dword [eax]
call fcn.00408870
call fcn.00408880
call fcn.004fe4a0
mov ecx, 0
sub ecx, eax
call fcn.00408890
add eax, ecx
mov ecx, dword [esi + 0xd4]
sub esp, 4
mov edx, esp
call fcn.004088a0
call fcn.00450a60
mov eax, dword [esi + 0xb4]
mov eax, dword [eax]
mov ecx, dword [esi + 0xd4]
mov dword [esi + 4], eax
call fcn.004fe4a0
mov ecx, 0
sub ecx, eax
mov eax, dword [esi + 4]
add eax, ecx
mov ecx, dword [esi + 0xd4]
mov ecx, dword [ecx + 4]
mov edx, dword [esi + 0xd0]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0049a7b0
add esp, 0xc
call fcn.004088b0
mov eax, dword [eax]
call fcn.004088c0
mov dword [esi], eax
call fcn.004fe4a0
mov ecx, dword [esi]
sub ecx, 0x5afb42ca
sub ecx, eax
sub ecx, 0xa504bd36
mov eax, dword [esi + 0xd4]
mov edx, dword [eax + 4]
add edx, ecx
mov dword [eax + 4], edx
mov dword [esi + 0xb0], 0xdae7e1a1
jmp 0x407f37