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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
push ebx
mov ebx, dword [esp + 0x10]
mov ecx, 0x359325c0
push esi
push edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x10]
mov eax, 0x38597b90
mov edx, 0x30ce9c23
cmp ecx, 0x1dcc5a00
jg 0x404bc0
je 0x404ba6
cmp ecx, 0xde44f29
jg 0x404a79
je 0x4049ff
cmp ecx, 0x52ad5c8
jg 0x40496e
je 0x40495f
cmp ecx, 0x3db68f6
je 0x404920
cmp ecx, 0x48203af
je 0x404878
cmp ecx, 0x4fb52ba
je 0x404869
cmp ecx, 0x5048817
jne 0x404f40
call fcn.00405f81
test eax, eax
je 0x404f61
mov ecx, 0x35105dd7
jmp 0x4047ed
call fcn.00405db8
mov ecx, 0x52ad5c8
jmp 0x4047ed
mov eax, ebx
or eax, edi
jne 0x404885
mov ecx, esi
jmp 0x404f3b
call fcn.004041c6
mov esi, eax
call fcn.00404192
cmp eax, esi
jbe 0x4048cc
push 0xa5
mov edx, 0xfa771f21
mov ecx, 0xa96edbca
call fcn.00402f00
pop ecx
call eax
mov edi, eax
call fcn.004041c6
mov esi, eax
call fcn.00404192
mov ecx, eax
xor edx, edx
sub ecx, esi
mov eax, edi
div ecx
mov edi, dword [esp + 0x14]
mov esi, edx
jmp 0x4048ce
xor esi, esi
call fcn.004041c6
lea ecx, [esi + eax]
call fcn.00406d1e
test eax, eax
je 0x4048e9
mov ecx, 0x392806cb
jmp 0x4047e9
push 0x16
mov edx, 0x9b923fa7
mov ecx, 0xa96edbca
call fcn.00402f00
pop ecx
call eax
cmp edx, edi
jb 0x404912
ja 0x404907
cmp eax, ebx
jb 0x404912
mov esi, dword [esp + 0x10]
mov ecx, esi
jmp 0x404f36
mov esi, dword [esp + 0x10]
mov ecx, 0x48203af
jmp 0x404f36
call fcn.00405a8f
test eax, eax
mov eax, dword [0x40a058]
je 0x404944
cmp dword [eax + 0x10], 0
mov ecx, 0x1b6a305a
mov eax, 0x38597b90
cmovne ecx, eax
jmp 0x4047f2
cmp dword [eax + 0x10], 0
mov ecx, 0x38eecf5d
mov edx, 0x30ce9c23
cmovne ecx, edx
mov eax, 0x38597b90
jmp 0x4047f7
call fcn.00405c0a
mov ecx, 0x16d6bd2a
jmp 0x4047ed
cmp ecx, 0x6b2db38
je 0x4049f0
cmp ecx, 0x9dcfadb
je 0x4049ab
cmp ecx, 0x9febbd6
je 0x4049a1
cmp ecx, 0xb6b3e0e
jne 0x404f40
call fcn.00406696
mov ecx, 0x5048817
jmp 0x4047ed
mov ecx, 0x2d4ea0f0
jmp 0x4047f7
lea ecx, [esp + 0x48]
call fcn.0040445f
test eax, eax
je 0x4049e6
lea eax, [esp + 0x48]
mov edx, 0x629abac
push eax
push 0x13b
mov ecx, 0xa96edbca
mov dword [esp + 0x6c], eax
call fcn.00402f00
pop ecx
call eax
mov dword [esp + 0x68], eax
mov ecx, 0x354b3ec7
jmp 0x4047ed
mov ecx, 0x392806cb
jmp 0x4047ed
call fcn.00404fa0
mov ecx, 0x1964cf38
jmp 0x4047ed
mov eax, 0x9dcfadb
mov dword [esp + 0x10], eax
call fcn.00404325
mov ecx, eax
call fcn.00404353
cmp ecx, eax
jbe 0x404a49
push 0xa5
mov edx, 0xfa771f21
mov ecx, 0xa96edbca
call fcn.00402f00
pop ecx
call eax
mov ecx, eax
call fcn.00404325
mov esi, eax
call fcn.00404353
sub esi, eax
xor edx, edx
mov eax, ecx
div esi
mov esi, edx
jmp 0x404a4b
xor esi, esi
push 0x16
mov edx, 0x9b923fa7
mov ecx, 0xa96edbca
call fcn.00402f00
pop ecx
call eax
mov ebx, eax
mov edi, edx
call fcn.00404353
add eax, esi
mov ecx, 0x48203af
add ebx, eax
adc edi, 0
jmp 0x4047e5
cmp ecx, 0x16d6bd2a
jg 0x404afb
je 0x404f4e
cmp ecx, 0xe6dd16a
je 0x404ae4
cmp ecx, 0xecdb0cd
je 0x404ad1
cmp ecx, 0x1171a7f0
je 0x404abe
cmp ecx, 0x136f199b
jne 0x404f40
call fcn.00403ad2
mov dword [esp + 0x6c], eax
mov ecx, 0x357cb5b1
jmp 0x4047ed
mov ecx, dword [esp + 0x2c]
call fcn.00402f5e
mov ecx, 0xecdb0cd
jmp 0x4047ed
mov ecx, dword [esp + 0x34]
call fcn.00402f5e
mov ecx, 0x1c7d6c48
jmp 0x4047ed
call fcn.0040509f
test eax, eax
je 0x404f61
mov ecx, 0x6b2db38
jmp 0x4047ed
cmp ecx, 0x1964cf38
je 0x404b8f
cmp ecx, 0x1b6a305a
je 0x404b5b
cmp ecx, 0x1c76965b
je 0x404b39
cmp ecx, 0x1c7d6c48
jne 0x404f40
mov ecx, dword [esp + 0x84]
call fcn.00402f5e
mov ecx, 0x36f03112
jmp 0x4047ed
lea edx, [esp + 0x34]
lea ecx, [esp + 0x64]
call fcn.00405170
neg eax
sbb ecx, ecx
and ecx, 0x1a1da44e
add ecx, 0x1c7d6c48
jmp 0x4047ed
call fcn.00406c75
mov esi, 0x9febbd6
mov edx, 0x9b923fa7
push 0x16
mov ecx, 0xa96edbca
mov dword [esp + 0x14], esi
call fcn.00402f00
pop ecx
call eax
mov edi, edx
mov ebx, eax
mov dword [esp + 0x14], edi
mov ecx, 0x48203af
jmp 0x4047ed
call fcn.004067d8
test eax, eax
je 0x404f61
mov ecx, 0x1dcc5a00
jmp 0x4047ed
call fcn.00406417
neg eax
sbb ecx, ecx
and ecx, 0x78fd518
add ecx, 0x3db68f6
jmp 0x4047ed
cmp ecx, 0x35105dd7
jg 0x404d25
je 0x404d05
cmp ecx, 0x27ec63e3
jg 0x404c7f
je 0x404c6c
cmp ecx, 0x20071fa6
je 0x404c29
cmp ecx, 0x20f38e95
je 0x404f55
cmp ecx, 0x231a21f7
je 0x404c1f
cmp ecx, 0x26781a8f
jne 0x404f40
call fcn.004043e0
mov dword [esp + 0x78], eax
mov ecx, 0x2b3b09c8
jmp 0x404955
mov ecx, 0xde44f29
jmp 0x4047f7
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x2c]
call fcn.004052ea
test eax, eax
je 0x404f0b
xor ecx, ecx
call fcn.004076b9
call fcn.00405bee
cmp dword [esp + 0x44], 0
mov ecx, 0x395c56c2
je 0x4047ed
cmp dword [esp + 0x44], 7
mov eax, 0x20f38e95
cmove ecx, eax
jmp 0x4047ed
call fcn.004043b1
mov dword [esp + 0x74], eax
mov ecx, 0x26781a8f
jmp 0x404955
cmp ecx, 0x2a849883
je 0x404cef
cmp ecx, 0x2b3b09c8
je 0x404cdc
cmp ecx, 0x2d4ea0f0
je 0x404cae
cmp ecx, edx
jne 0x404f40
call fcn.00406146
mov ecx, 0x38eecf5d
jmp 0x4047ed
lea edx, [esp + 0x28]
mov ecx, 0x409280
call fcn.00402577
mov esi, eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call fcn.004015fe
mov ecx, esi
call fcn.00402f5e
mov ecx, 0x231a21f7
jmp 0x4047e9
lea ecx, [esp + 0x7c]
call fcn.0040454f
mov ecx, 0x2a849883
jmp 0x4047ed
lea ecx, [esp + 0x84]
call fcn.00407787
mov ecx, 0x1c76965b
jmp 0x4047ed
call fcn.004058e2
mov eax, dword [0x40a058]
mov ecx, 0x52ad5c8
cmp dword [eax + 0x10], 0
mov eax, 0x4fb52ba
cmovne ecx, eax
jmp 0x4047ed
cmp ecx, 0x36f03112
jg 0x404ec0
je 0x404eb2
cmp ecx, 0x354b3ec7
je 0x404e99
cmp ecx, 0x357cb5b1
je 0x404e86
cmp ecx, 0x359325c0
je 0x404e7c
cmp ecx, 0x369b1096
jne 0x404f40
lea eax, [esp + 0x2c]
push eax
call fcn.00404431
lea edx, [esp + 0x38]
mov ecx, eax
call fcn.0040117b
pop ecx
test eax, eax
je 0x404dfb
mov eax, 0x2b3b09c8
mov dword [esp + 0x10], eax
call fcn.00404279
mov esi, eax
call fcn.004042d0
cmp esi, eax
jbe 0x404dcb
push 0xa5
mov edx, 0xfa771f21
mov ecx, 0xa96edbca
call fcn.00402f00
pop ecx
call eax
mov esi, eax
call fcn.00404279
mov edi, eax
call fcn.004042d0
sub edi, eax
xor edx, edx
mov eax, esi
div edi
mov esi, edx
jmp 0x404dcd
xor esi, esi
push 0x16
mov edx, 0x9b923fa7
mov ecx, 0xa96edbca
call fcn.00402f00
pop ecx
call eax
mov ebx, eax
mov edi, edx
call fcn.004042d0
add eax, esi
mov ecx, 0x20071fa6
add ebx, eax
adc edi, 0
jmp 0x4047e5
call fcn.00401162
mov eax, 0x2b3b09c8
mov dword [esp + 0x10], eax
call fcn.00404233
mov ecx, eax
call fcn.00404205
cmp eax, ecx
jbe 0x404e4c
push 0xa5
mov edx, 0xfa771f21
mov ecx, 0xa96edbca
call fcn.00402f00
pop ecx
call eax
mov edi, eax
call fcn.00404233
mov ecx, eax
call fcn.00404205
mov esi, eax
xor edx, edx
sub esi, ecx
mov eax, edi
div esi
mov esi, edx
jmp 0x404e4e
xor esi, esi
push 0x16
mov edx, 0x9b923fa7
mov ecx, 0xa96edbca
call fcn.00402f00
pop ecx
call eax
mov ebx, eax
mov edi, edx
call fcn.00404233
add eax, esi
mov ecx, 0xecdb0cd
add ebx, eax
adc edi, 0
jmp 0x4047e5
mov ecx, 0xe6dd16a
jmp 0x4047f7
call fcn.004032db
mov dword [esp + 0x70], eax
mov ecx, 0x27ec63e3
jmp 0x4047ed
mov eax, dword [0x40a058]
mov ecx, 0x136f199b
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x8c], eax
jmp 0x404955
mov ecx, dword [esp + 0x7c]
call fcn.00402f5e
jmp 0x404b85
cmp ecx, eax
je 0x404f24
cmp ecx, 0x38eecf5d
je 0x404f15
cmp ecx, 0x392806cb
je 0x404f5c
cmp ecx, 0x395c56c2
jne 0x404f40
lea ecx, [esp + 0x3c]
call fcn.00407841
test eax, eax
je 0x404f0b
xorps xmm0, xmm0
mov esi, 0x2b3b09c8
movlpd qword [esp + 0x18], xmm0
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov ecx, 0x1171a7f0
jmp 0x4047ed
call fcn.004062ac
mov ecx, 0xb6b3e0e
jmp 0x4047ed
call fcn.004065bc
test eax, eax
jne 0x404964
mov ecx, 0x1b6a305a
mov edx, 0x30ce9c23
mov eax, 0x38597b90
cmp ecx, 0x2a2da267
jne 0x4047f7
jmp 0x404f61
call fcn.0040608a
jmp 0x404f61
call fcn.00405c29
jmp 0x404f61
call fcn.0040781a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret