Function at 0x404885
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, 0x102ee1de
push esi
push edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x10]
mov eax, 0x3928595
mov edx, 0x12804e39
cmp ecx, 0x226c0627
jg 0x404c0d
je 0x404bfe
cmp ecx, 0x8f2bc71
jg 0x4049ff
je 0x4049ec
cmp ecx, 0x4cc23ca
jg 0x404954
je 0x40493a
cmp ecx, 0x79953f
je 0x404927
cmp ecx, eax
je 0x40491b
cmp ecx, 0x3a117b4
je 0x40490b
cmp ecx, 0x3b18b1c
jne 0x40501e
call fcn.004061ae
jmp 0x405031
mov ecx, dword [esp + 0x34]
call fcn.00402fa3
mov ecx, 0x8f2bc71
jmp 0x4048a9
call fcn.00405ec6
mov ecx, 0x226c0627
jmp 0x4048a9
call fcn.0040332a
mov dword [esp + 0x70], eax
mov ecx, 0x2f8c0997
jmp 0x4048a9
call fcn.00406541
neg eax
sbb ecx, ecx
and ecx, 0xcdac4f6e
add ecx, 0x3911f8c1
jmp 0x4048a9
cmp ecx, 0x6031ba8
je 0x4049d5
cmp ecx, 0x6be482f
je 0x4049c6
cmp ecx, 0x7cdd486
je 0x40498f
cmp ecx, 0x825601c
jne 0x40501e
call fcn.0040609f
test eax, eax
je 0x405031
mov ecx, 0x2d8699ab
jmp 0x4048a9
call fcn.00406d92
mov esi, 0x18334e56
mov edx, 0xa2003a80
push 0xbf
mov ecx, 0xc497c6bb
mov dword [esp + 0x14], esi
call fcn.00402f42
pop ecx
call eax
mov edi, edx
mov ebx, eax
mov dword [esp + 0x14], edi
mov ecx, 0x33d9a632
jmp 0x4048a9
call fcn.004067ba
mov ecx, 0x825601c
jmp 0x4048a9
call fcn.00405174
test eax, eax
je 0x405031
mov ecx, 0x28524bdb
jmp 0x4048a9
mov ecx, dword [esp + 0x2c]
call fcn.00402fa3
mov ecx, 0x3277af03
jmp 0x4048a9
cmp ecx, 0x1519364d
jg 0x404b7e
je 0x40502c
cmp ecx, 0x102ee1de
je 0x404b74
cmp ecx, 0x115e4a55
je 0x404a59
cmp ecx, edx
je 0x404a3f
cmp ecx, 0x129cf2cd
jne 0x40501e
call fcn.00405d31
jmp 0x405031
call fcn.004066cb
neg eax
sbb ecx, ecx
and ecx, 0xfbe3b696
add ecx, 0x7cdd486
jmp 0x4048a9
lea eax, [esp + 0x34]
push eax
call fcn.004044d3
lea edx, [esp + 0x30]
mov ecx, eax
call fcn.00401189
pop ecx
test eax, eax
je 0x404af0
mov eax, 0x15396e8d
mov dword [esp + 0x10], eax
call fcn.004042fe
mov ecx, eax
call fcn.00404355
cmp ecx, eax
jbe 0x404abd
push 0xd8
mov edx, 0xc3e51a06
mov ecx, 0xc497c6bb
call fcn.00402f42
pop ecx
call eax
mov esi, eax
call fcn.004042fe
mov ecx, eax
call fcn.00404355
sub ecx, eax
xor edx, edx
mov eax, esi
div ecx
mov esi, edx
jmp 0x404abf
xor esi, esi
push 0xbf
mov edx, 0xa2003a80
mov ecx, 0xc497c6bb
call fcn.00402f42
pop ecx
call eax
mov ebx, eax
mov edi, edx
call fcn.00404355
add eax, esi
mov ecx, 0x38688fed
add ebx, eax
adc edi, 0
jmp 0x4048a1
call fcn.00401170
mov eax, 0x15396e8d
mov dword [esp + 0x10], eax
call fcn.004042b5
mov ecx, eax
call fcn.00404282
cmp eax, ecx
jbe 0x404b41
push 0xd8
mov edx, 0xc3e51a06
mov ecx, 0xc497c6bb
call fcn.00402f42
pop ecx
call eax
mov edi, eax
call fcn.004042b5
mov ecx, eax
call fcn.00404282
mov esi, eax
xor edx, edx
sub esi, ecx
mov eax, edi
div esi
mov esi, edx
jmp 0x404b43
xor esi, esi
push 0xbf
mov edx, 0xa2003a80
mov ecx, 0xc497c6bb
call fcn.00402f42
pop ecx
call eax
mov ebx, eax
mov edi, edx
call fcn.004042b5
add eax, esi
mov ecx, 0x8f2bc71
add ebx, eax
adc edi, 0
jmp 0x4048a1
mov ecx, 0x6031ba8
jmp 0x4048b3
cmp ecx, 0x15396e8d
je 0x404beb
cmp ecx, 0x18334e56
je 0x404be1
cmp ecx, 0x1a51e5e8
je 0x404bd7
cmp ecx, 0x220a3941
jne 0x40501e
lea ecx, [esp + 0x3c]
call fcn.0040793d
test eax, eax
je 0x404bcd
xorps xmm0, xmm0
mov esi, 0x15396e8d
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, 0x3a117b4
jmp 0x4048a9
mov ecx, 0x2d7fd29e
jmp 0x4048b3
mov ecx, 0x23bc420e
jmp 0x4048b3
lea ecx, [esp + 0x7c]
call fcn.00404603
mov ecx, 0x2d22370f
jmp 0x4048a9
call fcn.00405d0f
mov ecx, 0x3b18b1c
jmp 0x4048a9
cmp ecx, 0x32572624
jg 0x404dd5
je 0x404dc2
cmp ecx, 0x2d22370f
jg 0x404ce0
je 0x404cca
cmp ecx, 0x23bc420e
je 0x404c9c
cmp ecx, 0x27e9087a
je 0x404c7b
cmp ecx, 0x28524bdb
je 0x404c6c
cmp ecx, 0x2b6f1ae0
jne 0x40501e
call fcn.004068fb
test eax, eax
je 0x405031
mov ecx, 0x4cc23ca
jmp 0x4048a9
call fcn.0040506e
mov ecx, 0x2b6f1ae0
jmp 0x4048a9
mov eax, dword [0x40a2d8]
mov ecx, 0x33594277
mov eax, dword [eax + 0x47c]
mov dword [esp + 0x8c], eax
mov eax, 0x3928595
jmp 0x4048b3
lea edx, [esp + 0x28]
mov ecx, 0x409280
call fcn.0040257f
mov esi, eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x24], esi
call fcn.0040160e
mov ecx, esi
call fcn.00402fa3
mov ecx, 0x1a51e5e8
jmp 0x4048a5
lea ecx, [esp + 0x84]
call fcn.00407888
mov ecx, 0x33f8b82e
jmp 0x4048a9
cmp ecx, 0x2d7fd29e
je 0x404d45
cmp ecx, 0x2d8699ab
je 0x404d25
cmp ecx, 0x2f8c0997
je 0x404d12
cmp ecx, 0x315c4b3c
jne 0x40501e
mov ecx, dword [esp + 0x7c]
call fcn.00402fa3
jmp 0x4049bc
call fcn.00404445
mov dword [esp + 0x74], eax
mov ecx, 0x32572624
jmp 0x4048a9
call fcn.004059d9
mov eax, dword [0x40a2d8]
mov ecx, 0x226c0627
cmp dword [eax + 4], 0
mov eax, 0x3928595
cmovne ecx, eax
jmp 0x4048ae
mov eax, 0x33d09e0f
mov dword [esp + 0x10], eax
call fcn.0040438e
mov ecx, eax
call fcn.004043d1
cmp ecx, eax
jbe 0x404d8f
push 0xd8
mov edx, 0xc3e51a06
mov ecx, 0xc497c6bb
call fcn.00402f42
pop ecx
call eax
mov esi, eax
call fcn.0040438e
mov ecx, eax
call fcn.004043d1
sub ecx, eax
xor edx, edx
mov eax, esi
div ecx
mov esi, edx
jmp 0x404d91
xor esi, esi
push 0xbf
mov edx, 0xa2003a80
mov ecx, 0xc497c6bb
call fcn.00402f42
pop ecx
call eax
mov ebx, eax
mov edi, edx
call fcn.004043d1
add eax, esi
mov ecx, 0x33d9a632
add ebx, eax
adc edi, 0
jmp 0x4048a1
call fcn.00404496
mov dword [esp + 0x78], eax
mov ecx, 0x15396e8d
jmp 0x404c92
cmp ecx, 0x33f8b82e
jg 0x404f52
je 0x404f30
cmp ecx, 0x3277af03
je 0x404f1a
cmp ecx, 0x33594277
je 0x404f07
cmp ecx, 0x33d09e0f
je 0x404ec2
cmp ecx, 0x33d9a632
jne 0x40501e
mov eax, ebx
or eax, edi
jne 0x404e24
mov ecx, esi
jmp 0x405019
call fcn.00404241
mov ecx, eax
call fcn.00404221
cmp eax, ecx
jbe 0x404e6b
push 0xd8
mov edx, 0xc3e51a06
mov ecx, 0xc497c6bb
call fcn.00402f42
pop ecx
call eax
mov edi, eax
call fcn.00404241
mov ecx, eax
call fcn.00404221
mov esi, eax
xor edx, edx
sub esi, ecx
mov eax, edi
div esi
mov edi, dword [esp + 0x14]
mov esi, edx
jmp 0x404e6d
xor esi, esi
call fcn.00404241
lea ecx, [esi + eax]
call fcn.00406e38
test eax, eax
je 0x404e88
mov ecx, 0x1519364d
jmp 0x4048a5
push 0xbf
mov edx, 0xa2003a80
mov ecx, 0xc497c6bb
call fcn.00402f42
pop ecx
call eax
cmp edx, edi
jb 0x404eb4
ja 0x404ea9
cmp eax, ebx
jb 0x404eb4
mov esi, dword [esp + 0x10]
mov ecx, esi
jmp 0x405014
mov esi, dword [esp + 0x10]
mov ecx, 0x33d9a632
jmp 0x405014
lea ecx, [esp + 0x48]
call fcn.00404516
test eax, eax
je 0x404efd
lea eax, [esp + 0x48]
mov edx, 0x3fbbae8b
push eax
push 0xb2
mov ecx, 0xc497c6bb
mov dword [esp + 0x6c], eax
call fcn.00402f42
pop ecx
call eax
mov dword [esp + 0x68], eax
mov ecx, 0x27e9087a
jmp 0x4048a9
mov ecx, 0x1519364d
jmp 0x4048a9
call fcn.00403b50
mov dword [esp + 0x6c], eax
mov ecx, 0x79953f
jmp 0x4048a9
mov ecx, dword [esp + 0x84]
call fcn.00402fa3
mov ecx, 0x315c4b3c
jmp 0x4048a9
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x64]
call fcn.0040524c
neg eax
sbb ecx, ecx
and ecx, 0xdee69b52
add ecx, 0x3277af03
jmp 0x4048a9
cmp ecx, 0x343b78c7
je 0x40500a
cmp ecx, 0x38106811
je 0x404ffb
cmp ecx, 0x38688fed
je 0x404fb8
cmp ecx, 0x3911f8c1
jne 0x40501e
call fcn.00405b8c
test eax, eax
mov eax, dword [0x40a2d8]
je 0x404fa2
cmp dword [eax + 4], 0
mov ecx, 0x7cdd486
mov edx, 0x12804e39
cmovne ecx, edx
jmp 0x404c92
cmp dword [eax + 4], 0
mov ecx, 0x343b78c7
mov eax, 0x38106811
cmovne ecx, eax
jmp 0x4048a9
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x34]
call fcn.004053c3
test eax, eax
je 0x404bcd
xor ecx, ecx
call fcn.004077b2
call fcn.00405cee
cmp dword [esp + 0x44], 0
mov ecx, 0x220a3941
je 0x4048a9
cmp dword [esp + 0x44], 7
mov eax, 0x129cf2cd
cmove ecx, eax
jmp 0x4048a9
call fcn.00406265
mov ecx, 0x343b78c7
jmp 0x4048a9
call fcn.004063c8
mov ecx, 0x6be482f
mov edx, 0x12804e39
mov eax, 0x3928595
cmp ecx, 0xd32116c
jne 0x4048b3
jmp 0x405031
call fcn.00407914
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret