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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
add esp, 0xffffff28
call fcn.00478250
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ecx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.00483420
mov dword [esp + 0xcc], eax
mov dword [esp + 0xac], 0xb8d3233c
mov eax, dword [esp + 0xac]
mov ecx, eax
sub ecx, 0x9ef99747
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ecx
jg 0x477a2a
jmp 0x477a0c
mov eax, dword [esp + 0xa8]
sub eax, 0x835d4c61
mov dword [esp + 0xa0], eax
je 0x47805e
jmp 0x477e03
mov eax, dword [esp + 0xa8]
add eax, 0x885a112d
mov dword [esp + 0x9c], eax
jg 0x477de8
jmp 0x477a49
mov eax, dword [esp + 0xa8]
sub eax, 0x60f3abc5
mov dword [esp + 0x98], eax
jg 0x477dcc
jmp 0x477a67
mov eax, dword [esp + 0xa8]
sub eax, 0xa47cf53c
mov dword [esp + 0x94], eax
jg 0x477aa3
jmp 0x477a85
mov eax, dword [esp + 0xa8]
sub eax, 0x9ef99748
mov dword [esp + 0x90], eax
je 0x477edb
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0xb8d3233b
mov dword [esp + 0x8c], eax
jg 0x477adf
jmp 0x477ac1
mov eax, dword [esp + 0xa8]
sub eax, 0xa47cf53d
mov dword [esp + 0x88], eax
je 0x4781ab
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0xe10d4acc
mov dword [esp + 0x84], eax
jg 0x477b1c
jmp 0x477afd
mov eax, dword [esp + 0xa8]
add eax, 0x472cdcc4
mov dword [esp + 0x80], eax
je 0x477e08
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0xea3ce3d5
mov dword [esp + 0x7c], eax
jg 0x477b52
jmp 0x477b37
mov eax, dword [esp + 0xa8]
sub eax, 0xe10d4acd
mov dword [esp + 0x78], eax
je 0x477fc0
jmp 0x477e03
mov eax, dword [esp + 0xa8]
add eax, 0xab2a0772
mov dword [esp + 0x74], eax
jg 0x477db0
jmp 0x477b6e
mov eax, dword [esp + 0xa8]
sub eax, 0x4f72b37c
mov dword [esp + 0x70], eax
jg 0x477d95
jmp 0x477b89
mov eax, dword [esp + 0xa8]
add eax, 0xbdb96694
mov dword [esp + 0x6c], eax
jg 0x477d79
jmp 0x477ba5
mov eax, dword [esp + 0xa8]
add eax, 0xc67861d4
mov dword [esp + 0x68], eax
jg 0x477d5e
jmp 0x477bc1
mov eax, dword [esp + 0xa8]
add eax, 0x1094313a
mov dword [esp + 0x64], eax
jg 0x477bf9
jmp 0x477bdd
mov eax, dword [esp + 0xa8]
add eax, 0x15c31c2a
mov dword [esp + 0x60], eax
je 0x47812b
jmp 0x477e03
mov eax, dword [esp + 0xa8]
add eax, 0x49d96b7
mov dword [esp + 0x5c], eax
jg 0x477c30
jmp 0x477c15
mov eax, dword [esp + 0xa8]
sub eax, 0xef6bcec7
mov dword [esp + 0x58], eax
je 0x47815d
jmp 0x477e03
mov eax, dword [esp + 0xa8]
add eax, 0xdef9d7bb
mov dword [esp + 0x54], eax
jg 0x477d43
jmp 0x477c4c
mov eax, dword [esp + 0xa8]
sub eax, 0x1f7d27ba
mov dword [esp + 0x50], eax
jg 0x477d28
jmp 0x477c67
mov eax, dword [esp + 0xa8]
add eax, 0xe46bf432
mov dword [esp + 0x4c], eax
jg 0x477d0d
jmp 0x477c83
mov eax, dword [esp + 0xa8]
add eax, 0xf2c6e5b9
mov dword [esp + 0x48], eax
jg 0x477cf2
jmp 0x477c9f
mov eax, dword [esp + 0xa8]
add eax, 0x49d96b6
mov dword [esp + 0x44], eax
je 0x478135
jmp 0x477cbb
mov eax, dword [esp + 0xa8]
add eax, 0x49072b9
mov dword [esp + 0x40], eax
je 0x478183
jmp 0x477cd7
mov eax, dword [esp + 0xa8]
sub eax, 0x328a4f4
mov dword [esp + 0x3c], eax
je 0x478071
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0xd391a48
mov dword [esp + 0x38], eax
je 0x477ff2
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0x1b940bcf
mov dword [esp + 0x34], eax
je 0x477eeb
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0x1f7d27bb
mov dword [esp + 0x30], eax
je 0x477eb4
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0x21062846
mov dword [esp + 0x2c], eax
je 0x477e45
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0x39879e2d
mov dword [esp + 0x28], eax
je 0x47811b
jmp 0x477e03
mov eax, dword [esp + 0xa8]
add eax, 0xbdb96693
mov dword [esp + 0x24], eax
je 0x478026
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0x4f72b37d
mov dword [esp + 0x20], eax
je 0x478015
jmp 0x477e03
mov eax, dword [esp + 0xa8]
add eax, 0xab2a0771
mov dword [esp + 0x1c], eax
je 0x477faf
jmp 0x477e03
mov eax, dword [esp + 0xa8]
add eax, 0x9f0c543a
mov dword [esp + 0x18], eax
je 0x477ea3
jmp 0x477e03
mov eax, dword [esp + 0xa8]
sub eax, 0x77a5eed4
mov dword [esp + 0x14], eax
je 0x47804e
jmp 0x477e03
jmp 0x47824b
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
mov edx, 0x100
mov edx, esp
call fcn.00478260
call fcn.00420b30
sub esp, 4
mov ecx, 0x54d5f88f
mov edx, 0x21062846
test al, 1
cmovne ecx, edx
mov dword [esp + 0xac], ecx
jmp 0x47824b
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.00483420
mov ecx, 0x1b940bcf
mov edx, 0x60f3abc6
mov esi, 0x18
mov edi, dword [esp + 0xc8]
mov edi, dword [edi]
sub eax, edi
mov dword [esp + 0x10], edx
cdq
idiv esi
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0xc8]
cmp eax, dword [edx + 8]
mov eax, dword [esp + 0x10]
cmove ecx, eax
mov dword [esp + 0xac], ecx
jmp 0x47824b
mov eax, 0x1f7d27bb
mov dword [esp + 0xac], eax
jmp 0x47824b
mov ecx, dword [esp + 0xc8]
mov eax, esp
call fcn.00478270
call fcn.00488140
sub esp, 4
mov eax, 0x9ef99748
mov dword [esp + 0xac], eax
jmp 0x47824b
mov dword [esp + 0xac], 0x1b940bcf
jmp 0x47824b
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0xc8]
mov esi, esp
mov dword [esi + 4], eax
call fcn.00478280
mov ecx, 0x3ffff
mov ecx, edx
call fcn.00483640
sub esp, 8
mov eax, dword [esp + 0xc8]
mov ecx, 0x447cb4
mov ecx, esp
lea edx, [esp + 0xb8]
mov dword [ecx], edx
mov ecx, 0xfffff
mov ecx, eax
call fcn.00483260
sub esp, 4
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx]
imul eax, eax, 0x18
add ecx, eax
mov dword [esp], ecx
call fcn.004c95f0
mov ecx, dword [esp + 0xc8]
call fcn.00478290
mov edx, 0x200000
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
lea ecx, [esp + 0xb8]
call fcn.0041b570
sub esp, 8
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + 4]
add ecx, 0x18
mov dword [eax + 4], ecx
mov dword [esp + 0xac], 0xea3ce3d6
jmp 0x47824b
mov eax, 0xe10d4acd
mov dword [esp + 0xac], eax
jmp 0x47824b
mov eax, 0xd391a48
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0xc8]
cmp ecx, dword [edx + 8]
sete bl
and bl, 1
mov byte [esp + 0xd3], bl
mov dword [esp + 0xac], eax
jmp 0x47824b
mov eax, 0x835d4c61
mov ecx, 0x4f72b37d
mov dl, byte [esp + 0xd3]
test dl, 1
cmovne eax, ecx
mov dword [esp + 0xac], eax
jmp 0x47824b
mov eax, 0x4246996d
mov dword [esp + 0xac], eax
jmp 0x47824b
mov ecx, dword [esp + 0xc8]
mov eax, esp
mov dword [eax], 1
call fcn.00488140
sub esp, 4
mov eax, 0x77a5eed4
mov dword [esp + 0xac], eax
jmp 0x47824b
mov dword [esp + 0xac], 0x835d4c61
jmp 0x47824b
mov eax, 0x56ed30
mov eax, dword [eax]
mov dword [esp + 0xac], eax
jmp 0x47824b
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0xc8]
mov esi, esp
call fcn.004782a0
mov dword [esi], ecx
mov ecx, edx
call fcn.00483640
sub esp, 8
mov eax, dword [esp + 0xc8]
mov ecx, esp
lea edx, [esp + 0xb0]
call fcn.004782b0
mov ecx, eax
call fcn.00483260
sub esp, 4
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.004c95f0
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx + 4]
mov edx, 0x1ff
mov edx, esp
mov dword [edx + 4], eax
call fcn.004782c0
lea ecx, [esp + 0xb0]
call fcn.0041b570
sub esp, 8
mov eax, 0x39879e2d
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx + 4]
add edx, 0x18
call fcn.004782d0
mov dword [esp + 0xac], eax
jmp 0x47824b
mov dword [esp + 0xac], 0xea3ce3d6
jmp 0x47824b
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov ecx, dword [esp + 0xc8]
mov eax, edx
mov eax, esp
call fcn.004782e0
call fcn.00488140
sub esp, 4
mov dword [esp + 0xac], 0x1f7d27bb
jmp 0x47824b
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0xac], 0xe10d4acd
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
jmp 0x47824b
mov ecx, dword [esp + 0xc8]
mov eax, esi
mov eax, esp
call fcn.004782f0
call fcn.00488140
sub esp, 4
mov dword [esp + 0xac], 0x4246996d
jmp 0x47824b
mov eax, dword [esp + 0xc8]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xc8]
call fcn.00478300
mov edx, dword [esp + 0xc8]
mov esi, esp
mov dword [esi + 4], eax
call fcn.00478310
mov ecx, edx
call fcn.00483640
sub esp, 8
mov eax, dword [esp + 0xc8]
mov ecx, edx
mov ecx, esp
lea edx, [esp + 0xb0]
mov dword [ecx], edx
mov ecx, eax
call fcn.00483260
sub esp, 4
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.004c95f0
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx + 4]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
lea ecx, [esp + 0xb0]
call fcn.0041b570
sub esp, 8
mov eax, dword [esp + 0xc8]
call fcn.00478320
sub ecx, 0xffffffe8
call fcn.00478330
mov dword [esp + 0xac], 0x328a4f4
jmp 0x4779e4