Function at 0x404731
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, 0x29218b1f
push esi
push edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x10]
mov eax, 0x152446df
mov edx, 0x148ee13f
cmp ecx, 0x1c48ce47
jg 0x404bec
je 0x404bd9
cmp ecx, 0xcb4e7f1
jg 0x404adc
je 0x4049bf
cmp ecx, 0x8d315be
jg 0x4048b5
je 0x40489b
cmp ecx, 0x1c43fcc
je 0x404885
cmp ecx, 0x20d8a40
je 0x4047dc
cmp ecx, 0x22f1248
je 0x4047c9
cmp ecx, 0x5da6680
jne 0x404ebf
call fcn.00406655
mov ecx, 0x1da609fb
jmp 0x404755
call fcn.00404307
mov dword [esp + 0x74], eax
mov ecx, 0x961e557
jmp 0x404755
mov eax, ebx
or eax, edi
jne 0x4047e9
mov ecx, esi
jmp 0x404eba
call fcn.00404116
mov esi, eax
call fcn.00404163
cmp esi, eax
jbe 0x40482e
push 0x115
mov edx, 0xa49946c4
mov ecx, 0x8e8e47a6
call fcn.00402e3a
pop ecx
call eax
mov esi, eax
call fcn.00404116
mov edi, eax
call fcn.00404163
sub edi, eax
xor edx, edx
mov eax, esi
div edi
mov edi, dword [esp + 0x14]
mov esi, edx
jmp 0x404830
xor esi, esi
call fcn.00404163
lea ecx, [esi + eax]
call fcn.00406ccd
test eax, eax
je 0x40484b
mov ecx, 0x1f8aa509
jmp 0x404751
push 0x205
mov edx, 0xc57c6642
mov ecx, 0x8e8e47a6
call fcn.00402e3a
pop ecx
call eax
cmp edx, edi
jb 0x404877
ja 0x40486c
cmp eax, ebx
jb 0x404877
mov esi, dword [esp + 0x10]
mov ecx, esi
jmp 0x404eb5
mov esi, dword [esp + 0x10]
mov ecx, 0x20d8a40
jmp 0x404eb5
lea ecx, [esp + 0x84]
call fcn.0040772a
mov ecx, 0x15fb4964
jmp 0x404755
call fcn.004063e1
neg eax
sbb ecx, ecx
and ecx, 0xce48f664
add ecx, 0x3791701c
jmp 0x404755
cmp ecx, 0x961e557
je 0x4049ac
cmp ecx, 0x980946d
je 0x40497e
cmp ecx, 0x992c40f
je 0x4048ff
cmp ecx, 0xb354806
jne 0x404ebf
mov eax, dword [0x40a69c]
mov ecx, 0x1c48ce47
mov eax, dword [eax + 0x50]
mov dword [esp + 0x8c], eax
mov eax, 0x152446df
jmp 0x40475f
mov eax, 0x30573ef1
mov dword [esp + 0x10], eax
call fcn.00404289
mov ecx, eax
call fcn.00404262
cmp eax, ecx
jbe 0x40494b
push 0x115
mov edx, 0xa49946c4
mov ecx, 0x8e8e47a6
call fcn.00402e3a
pop ecx
call eax
mov edx, eax
call fcn.00404289
mov ecx, eax
call fcn.00404262
mov esi, eax
mov eax, edx
sub esi, ecx
xor edx, edx
div esi
mov esi, edx
jmp 0x40494d
xor esi, esi
push 0x205
mov edx, 0xc57c6642
mov ecx, 0x8e8e47a6
call fcn.00402e3a
pop ecx
call eax
mov ebx, eax
mov edi, edx
call fcn.00404289
add eax, esi
mov ecx, 0x20d8a40
add ebx, eax
adc edi, 0
jmp 0x40474d
lea edx, [esp + 0x28]
mov ecx, 0x409270
call fcn.004025c1
mov esi, eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call fcn.00401618
mov ecx, esi
call fcn.00402e98
mov ecx, 0x2571ecb5
jmp 0x404751
call fcn.00404340
mov dword [esp + 0x78], eax
mov ecx, 0xf003af7
jmp 0x404755
lea eax, [esp + 0x34]
push eax
call fcn.00404389
lea edx, [esp + 0x30]
mov ecx, eax
call fcn.00401189
pop ecx
test eax, eax
je 0x404a58
mov eax, 0xf003af7
mov dword [esp + 0x10], eax
call fcn.0040422d
mov ecx, eax
call fcn.00404206
cmp eax, ecx
jbe 0x404a25
push 0x115
mov edx, 0xa49946c4
mov ecx, 0x8e8e47a6
call fcn.00402e3a
pop ecx
call eax
mov edx, eax
call fcn.0040422d
mov ecx, eax
call fcn.00404206
mov esi, eax
mov eax, edx
sub esi, ecx
xor edx, edx
div esi
mov esi, edx
jmp 0x404a27
xor esi, esi
push 0x205
mov edx, 0xc57c6642
mov ecx, 0x8e8e47a6
call fcn.00402e3a
pop ecx
call eax
mov ebx, eax
mov edi, edx
call fcn.0040422d
add eax, esi
mov ecx, 0x26f7be6c
add ebx, eax
adc edi, 0
jmp 0x40474d
call fcn.00401170
mov eax, 0xf003af7
mov dword [esp + 0x10], eax
call fcn.004041c3
mov ecx, eax
call fcn.00404194
cmp eax, ecx
jbe 0x404aa9
push 0x115
mov edx, 0xa49946c4
mov ecx, 0x8e8e47a6
call fcn.00402e3a
pop ecx
call eax
mov edx, eax
call fcn.004041c3
mov ecx, eax
call fcn.00404194
mov esi, eax
mov eax, edx
sub esi, ecx
xor edx, edx
div esi
mov esi, edx
jmp 0x404aab
xor esi, esi
push 0x205
mov edx, 0xc57c6642
mov ecx, 0x8e8e47a6
call fcn.00402e3a
pop ecx
call eax
mov ebx, eax
mov edi, edx
call fcn.004041c3
add eax, esi
mov ecx, 0x20ca0834
add ebx, eax
adc edi, 0
jmp 0x40474d
cmp ecx, 0x13fd3bb8
jg 0x404b6e
je 0x404ed0
cmp ecx, 0xcc59e5e
je 0x404b4b
cmp ecx, 0xf003af7
je 0x404b38
cmp ecx, 0x109437ed
je 0x404b25
cmp ecx, 0x10e63dac
jne 0x404ebf
mov ecx, dword [esp + 0x34]
call fcn.00402e98
mov ecx, 0x20ca0834
jmp 0x404755
call fcn.00403223
mov dword [esp + 0x70], eax
mov ecx, 0x22f1248
jmp 0x404755
lea ecx, [esp + 0x7c]
call fcn.004044a0
mov ecx, 0x1c43fcc
jmp 0x404755
call fcn.0040587e
mov eax, dword [0x40a69c]
mov ecx, 0x27920f9b
cmp dword [eax + 0x268], 0
mov eax, 0x152446df
cmovne ecx, eax
jmp 0x40475a
cmp ecx, edx
je 0x404eda
cmp ecx, eax
je 0x404bca
cmp ecx, 0x15fb4964
je 0x404ba8
cmp ecx, 0x1809b81c
jne 0x404ebf
call fcn.00406578
neg eax
sbb ecx, ecx
and ecx, 0xdffb19e1
add ecx, 0x340221d7
jmp 0x404755
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x64]
call fcn.004050f0
neg eax
sbb ecx, ecx
and ecx, 0xec64504c
add ecx, 0x205097a5
jmp 0x404755
call fcn.00405d69
mov ecx, 0x27920f9b
jmp 0x404755
call fcn.00403a41
mov dword [esp + 0x6c], eax
mov ecx, 0x109437ed
jmp 0x404755
cmp ecx, 0x26f7be6c
jg 0x404d20
je 0x404cdd
cmp ecx, 0x205097a5
jg 0x404c7a
je 0x404c64
cmp ecx, 0x1da609fb
je 0x404c51
cmp ecx, 0x1e9cd458
je 0x404c47
cmp ecx, 0x1f04c400
je 0x404c38
cmp ecx, 0x1f8aa509
jne 0x404ebf
call fcn.004077bc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00404f1a
mov ecx, 0x26bce7f1
jmp 0x404755
mov ecx, 0x980946d
jmp 0x40475f
call fcn.00405f3f
test eax, eax
je 0x404c31
mov ecx, 0xcc59e5e
jmp 0x404755
mov ecx, dword [esp + 0x84]
call fcn.00402e98
mov ecx, 0x2fd10abb
jmp 0x404755
cmp ecx, 0x20ca0834
je 0x404cca
cmp ecx, 0x2571ecb5
je 0x404cc0
cmp ecx, 0x25c2231b
je 0x404cb1
cmp ecx, 0x26bce7f1
jne 0x404ebf
call fcn.00406799
test eax, eax
je 0x404c31
mov ecx, 0x8d315be
jmp 0x404755
call fcn.00406102
mov ecx, 0x33d0df9e
jmp 0x404755
mov ecx, 0x992c40f
jmp 0x40475f
mov ecx, dword [esp + 0x2c]
call fcn.00402e98
mov ecx, 0x205097a5
jmp 0x404755
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x34]
call fcn.00405267
test eax, eax
je 0x404d8b
xor ecx, ecx
call fcn.00407656
call fcn.00405b97
cmp dword [esp + 0x44], 0
mov ecx, 0x28ca70ab
je 0x404755
cmp dword [esp + 0x44], 7
mov edx, 0x148ee13f
cmove ecx, edx
jmp 0x4048f5
cmp ecx, 0x2fd10abb
jg 0x404dce
je 0x404dbb
cmp ecx, 0x2758311c
je 0x404da4
cmp ecx, 0x27920f9b
je 0x404d95
cmp ecx, 0x28ca70ab
je 0x404d60
cmp ecx, 0x29218b1f
jne 0x404ebf
mov ecx, 0x2758311c
jmp 0x40475f
lea ecx, [esp + 0x3c]
call fcn.004077e5
test eax, eax
je 0x404d8b
xorps xmm0, xmm0
mov esi, 0xf003af7
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, 0x10e63dac
jmp 0x404755
call fcn.00405bb8
mov ecx, 0x13fd3bb8
jmp 0x404755
call fcn.00405019
test eax, eax
je 0x404c31
mov ecx, 0x1f04c400
jmp 0x404755
mov ecx, dword [esp + 0x7c]
call fcn.00402e98
mov ecx, 0x20d8a40
jmp 0x404755
cmp ecx, 0x30573ef1
je 0x404e75
cmp ecx, 0x33d0df9e
je 0x404e66
cmp ecx, 0x340221d7
je 0x404e34
cmp ecx, 0x3791701c
jne 0x404ebf
call fcn.00405a33
test eax, eax
mov eax, dword [0x40a69c]
je 0x404e21
cmp dword [eax + 0x268], 0
mov ecx, 0x340221d7
mov eax, 0x1809b81c
cmovne ecx, eax
jmp 0x404755
cmp dword [eax + 0x268], 0
mov ecx, 0x33d0df9e
mov eax, 0x25c2231b
jmp 0x404e19
call fcn.00406c21
mov esi, 0x1e9cd458
mov edx, 0xc57c6642
push 0x205
mov ecx, 0x8e8e47a6
mov dword [esp + 0x14], esi
call fcn.00402e3a
pop ecx
call eax
mov edi, edx
mov ebx, eax
mov dword [esp + 0x14], edi
jmp 0x404dc4
call fcn.00406273
mov ecx, 0x5da6680
jmp 0x404755
lea ecx, [esp + 0x48]
call fcn.004043b8
test eax, eax
je 0x404eb0
lea eax, [esp + 0x48]
mov edx, 0x58c7f249
push eax
push 0x94
mov ecx, 0x8e8e47a6
mov dword [esp + 0x6c], eax
call fcn.00402e3a
pop ecx
call eax
mov dword [esp + 0x68], eax
mov ecx, 0xb354806
jmp 0x404755
mov ecx, 0x1f8aa509
mov edx, 0x148ee13f
mov eax, 0x152446df
cmp ecx, 0x368afd3f
jne 0x40475f
jmp 0x404c31
call fcn.0040604e
jmp 0x404c31
call fcn.00405bda
jmp 0x404c31