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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff80
mov ebx, dword [esp + 0x94]
cmp dword [0x940568], ebx
fldz
fldz
jge 0x408a84
fcompp
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
mov edx, 0x6fad2c
fld dword [edx]
fmul dword [0x5ec2a4]
fadd dword [0x5ec2a8]
fnstcw word [esp + 0x6c]
mov eax, dword [esp + 0x6c]
or byte [esp + 0x6d], 0xc
fldcw word [esp + 0x6c]
mov dword [esp + 0x6c], eax
fistp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
fldcw word [esp + 0x6c]
mov dword [esp + 0x58], eax
fld dword [edx + 4]
fmul dword [0x5ec2a4]
fadd dword [0x5ec2a8]
fnstcw word [esp + 0x6c]
mov eax, dword [esp + 0x6c]
or byte [esp + 0x6d], 0xc
fldcw word [esp + 0x6c]
mov dword [esp + 0x6c], eax
fistp dword [esp + 0x78]
fldcw word [esp + 0x6c]
fld dword [0x6fad0c]
fstp dword [esp + 0x70]
fld dword [0x6fad10]
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
mov eax, dword [esp + 0x78]
fabs
mov dword [esp + 8], eax
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fstp st(2)
fld dword [esp + 0x70]
fabs
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fst st(1)
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x408ee0
mov eax, dword [esp + 8]
add eax, 0xfffffff6
test eax, eax
jle 0x408b50
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], eax
add dword [esp + 0x3c], 0xfffffff6
jmp 0x408b58
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 8]
add eax, 0xa
cmp eax, 0x63
jge 0x408b70
add dword [esp + 8], 0xa
jmp 0x408b78
mov dword [esp + 8], 0x63
fld dword [esp + 0x70]
fcomp dword [0x5ec2b4]
fnstsw ax
test ah, 0x45
jne 0x408bd2
mov eax, dword [esp + 0x58]
add eax, 0xfffffff6
test eax, eax
jle 0x408ba0
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff6
jmp 0x408ba2
xor ecx, ecx
mov eax, dword [esp + 0x58]
add eax, 0xfffffffe
test eax, eax
jle 0x408bc0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], eax
add dword [esp + 0x2c], 0xfffffffe
jmp 0x408bc8
mov dword [esp + 0x2c], 0
mov dword [esp + 0x4c], 1
jmp 0x408c1a
mov eax, dword [esp + 0x58]
add eax, 2
cmp eax, 0x63
jge 0x408bf0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], eax
add dword [esp + 0x2c], 2
jmp 0x408bf8
mov dword [esp + 0x2c], 0x63
mov eax, dword [esp + 0x58]
add eax, 0xa
cmp eax, 0x63
jge 0x408c10
mov ecx, dword [esp + 0x58]
add ecx, 0xa
jmp 0x408c15
mov ecx, 0x63
or dword [esp + 0x4c], 0xffffffff
fcompp
cmp ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
je 0x408cc8
lea eax, [eax]
mov ebp, dword [esp + 0x3c]
mov eax, ebp
cmp eax, dword [esp + 8]
jg 0x408cb2
lea esi, [eax + eax*2]
shl esi, 5
lea esi, [esi + eax*4]
add esi, dword [esp + 0xc]
lea eax, [eax]
mov edi, esi
push ebx
imul edi, edi, 0x28
add edi, 0x665608
mov eax, edi
push eax
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x408c72
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
lea eax, [edi + 0x20]
push ebx
push eax
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x408c90
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
add edi, 8
push ebx
push edi
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x408ca8
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
inc ebp
add esi, 0x64
cmp ebp, dword [esp + 8]
jle 0x408c50
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
jne 0x408c30
fld dword [esp + 0x70]
fcomp dword [0x5ec2b4]
fnstsw ax
test ah, 0x45
jne 0x408d22
mov eax, dword [esp + 0x58]
add eax, 0xfffffffe
test eax, eax
jle 0x408cf3
mov eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
add dword [esp + 0x54], 0xfffffffe
jmp 0x408cfb
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x58]
add eax, 0xa
cmp eax, 0x63
jge 0x408d10
add dword [esp + 0x58], 0xa
jmp 0x408d18
mov dword [esp + 0x58], 0x63
mov dword [esp + 0x5c], 1
jmp 0x408d6f
mov eax, dword [esp + 0x58]
add eax, 2
cmp eax, 0x63
jge 0x408d40
mov eax, dword [esp + 0x58]
mov dword [esp + 0x54], eax
add dword [esp + 0x54], 2
jmp 0x408d48
mov dword [esp + 0x54], 0x63
mov eax, dword [esp + 0x58]
add eax, 0xfffffff6
test eax, eax
jle 0x408d62
mov eax, dword [esp + 0x58]
mov dword [esp + 0x58], eax
add dword [esp + 0x58], 0xfffffff6
jmp 0x408d6a
mov dword [esp + 0x58], 0
or dword [esp + 0x5c], 0xffffffff
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
je 0x408e18
mov ebp, dword [esp + 0x3c]
mov eax, ebp
cmp eax, dword [esp + 8]
jg 0x408e02
lea esi, [eax + eax*2]
shl esi, 5
lea esi, [esi + eax*4]
add esi, dword [esp + 0x14]
lea eax, [eax]
mov edi, esi
push ebx
imul edi, edi, 0x28
add edi, 0x665608
mov eax, edi
push eax
call fcn.004093c0
test al, al
pop ecx
pop ecx
je 0x408dc2
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
lea eax, [edi + 0x20]
push ebx
push eax
call fcn.004093c0
test al, al
pop ecx
pop ecx
je 0x408de0
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
add edi, 8
push ebx
push edi
call fcn.004093c0
test al, al
pop ecx
pop ecx
je 0x408df8
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
inc ebp
add esi, 0x64
cmp ebp, dword [esp + 8]
jle 0x408da0
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
jne 0x408d81
push ebx
call fcn.00409450
test al, al
pop ecx
je 0x408e30
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x54]
mov dword [esp + 0x10], eax
je 0x409322
mov esi, dword [esp + 0x3c]
mov eax, esi
cmp eax, dword [esp + 8]
jg 0x408ec2
lea ebp, [eax + eax*2]
shl ebp, 5
lea ebp, [ebp + eax*4]
add ebp, dword [esp + 0x10]
lea eax, [eax]
mov edi, ebp
push ebx
imul edi, edi, 0x28
add edi, 0x665608
mov eax, edi
push eax
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x408e82
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
lea eax, [edi + 0x20]
push ebx
push eax
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x408ea0
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
add edi, 8
push ebx
push edi
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x408eb8
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
inc esi
add ebp, 0x64
cmp esi, dword [esp + 8]
jle 0x408e60
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x54]
mov dword [esp + 0x10], eax
jne 0x408e42
jmp 0x409322
mov eax, dword [esp + 0x58]
add eax, 0xfffffff6
test eax, eax
jle 0x408f00
mov eax, dword [esp + 0x58]
mov dword [esp + 0x50], eax
add dword [esp + 0x50], 0xfffffff6
jmp 0x408f08
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x58]
add eax, 0xa
cmp eax, 0x63
jge 0x408f23
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
add dword [esp + 4], 0xa
jmp 0x408f2b
mov dword [esp + 4], 0x63
fld dword [esp + 0x74]
fcomp dword [0x5ec2b4]
fnstsw ax
test ah, 0x45
jne 0x408f82
mov eax, dword [esp + 8]
add eax, 0xfffffff6
test eax, eax
jle 0x408f50
mov edi, dword [esp + 8]
add edi, 0xfffffff6
jmp 0x408f52
xor edi, edi
mov eax, dword [esp + 8]
add eax, 0xfffffffe
test eax, eax
jle 0x408f70
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
add dword [esp + 0x40], 0xfffffffe
jmp 0x408f78
mov dword [esp + 0x40], 0
mov dword [esp + 0x60], 1
jmp 0x408fca
mov eax, dword [esp + 8]
add eax, 2
cmp eax, 0x63
jge 0x408fa0
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
add dword [esp + 0x40], 2
jmp 0x408fa8
mov dword [esp + 0x40], 0x63
mov eax, dword [esp + 8]
add eax, 0xa
cmp eax, 0x63
jge 0x408fc0
mov edi, dword [esp + 8]
add edi, 0xa
jmp 0x408fc5
mov edi, 0x63
or dword [esp + 0x60], 0xffffffff
cmp edi, dword [esp + 0x40]
mov dword [esp + 0x30], edi
je 0x409330
lea eax, [edi + edi*2]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
shl dword [esp + 0x20], 5
mov ecx, dword [esp + 0x20]
lea eax, [ecx + edi*4]
mov dword [esp + 0x20], eax
lea eax, [edx + edx*2]
mov dword [esp + 0x48], eax
shl dword [esp + 0x48], 5
fcompp
mov ecx, dword [esp + 0x48]
lea eax, [ecx + edx*4]
mov dword [esp + 0x48], eax
lea eax, [eax]
mov ebp, dword [esp + 0x50]
mov eax, ebp
cmp eax, dword [esp + 4]
jg 0x409080
mov esi, ebp
add esi, dword [esp + 0x20]
mov edi, esi
push ebx
imul edi, edi, 0x28
add edi, 0x665608
mov eax, edi
push eax
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x409044
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
lea eax, [edi + 0x20]
push ebx
push eax
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x409060
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
add edi, 8
push ebx
push edi
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x409078
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
inc ebp
inc esi
cmp ebp, dword [esp + 4]
jle 0x409022
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
jne 0x409010
fld dword [esp + 0x74]
fcomp dword [0x5ec2b4]
fnstsw ax
test ah, 0x45
jne 0x409105
mov eax, dword [esp + 8]
add eax, 0xfffffffe
test eax, eax
jle 0x4090d0
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
add dword [esp + 0x64], 0xfffffffe
jmp 0x4090d8
mov dword [esp + 0x64], 0
mov eax, dword [esp + 8]
add eax, 0xa
cmp eax, 0x63
jge 0x4090f3
mov eax, dword [esp + 8]
mov dword [esp + 0x34], eax
add dword [esp + 0x34], 0xa
jmp 0x4090fb
mov dword [esp + 0x34], 0x63
mov dword [esp + 0x68], 1
jmp 0x40914f
mov eax, dword [esp + 8]
add eax, 2
cmp eax, 0x63
jge 0x409120
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
add dword [esp + 0x64], 2
jmp 0x409128
mov dword [esp + 0x64], 0x63
mov eax, dword [esp + 8]
add eax, 0xfffffff6
test eax, eax
jle 0x409142
mov eax, dword [esp + 8]
mov dword [esp + 0x34], eax
add dword [esp + 0x34], 0xfffffff6
jmp 0x40914a
mov dword [esp + 0x34], 0
or dword [esp + 0x68], 0xffffffff
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
je 0x40922a
mov edi, eax
mov edx, dword [esp + 0x68]
lea eax, [edi + edi*2]
mov dword [esp + 0x18], eax
shl dword [esp + 0x18], 5
mov ecx, dword [esp + 0x18]
lea eax, [ecx + edi*4]
mov dword [esp + 0x18], eax
lea eax, [edx + edx*2]
mov dword [esp + 0x44], eax
shl dword [esp + 0x44], 5
mov ecx, dword [esp + 0x44]
lea eax, [ecx + edx*4]
mov dword [esp + 0x44], eax
mov esi, dword [esp + 0x50]
mov eax, esi
cmp eax, dword [esp + 4]
jg 0x409208
mov ebp, esi
add ebp, dword [esp + 0x18]
mov edi, ebp
push ebx
imul edi, edi, 0x28
add edi, 0x665608
mov eax, edi
push eax
call fcn.004093c0
test al, al
pop ecx
pop ecx
je 0x4091d0
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
lea eax, [edi + 0x20]
push ebx
push eax
call fcn.004093c0
test al, al
pop ecx
pop ecx
je 0x4091e8
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
add edi, 8
push ebx
push edi
call fcn.004093c0
test al, al
pop ecx
pop ecx
je 0x409200
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
inc esi
inc ebp
cmp esi, dword [esp + 4]
jle 0x4091a7
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
jne 0x409195
push ebx
call fcn.00409450
test al, al
pop ecx
je 0x409240
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x24], eax
je 0x409322
mov ecx, eax
mov edx, eax
lea eax, [ecx + edx*2]
mov dword [esp + 0x1c], eax
shl dword [esp + 0x1c], 5
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + edx*4]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
lea eax, [edx + edx*2]
mov dword [esp + 0x38], eax
shl dword [esp + 0x38], 5
mov ecx, dword [esp + 0x38]
lea eax, [ecx + edx*4]
mov dword [esp + 0x38], eax
mov ebp, dword [esp + 0x50]
mov eax, ebp
cmp eax, dword [esp + 4]
jg 0x409300
mov esi, ebp
add esi, dword [esp + 0x1c]
lea eax, [eax]
mov edi, esi
push ebx
imul edi, edi, 0x28
add edi, 0x665608
mov eax, edi
push eax
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x4092c2
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
lea eax, [edi + 0x20]
push ebx
push eax
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x4092e0
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
add edi, 8
push ebx
push edi
call fcn.00409340
test al, al
pop ecx
pop ecx
je 0x4092f8
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
inc ebp
inc esi
cmp ebp, dword [esp + 4]
jle 0x4092a0
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x64]
mov dword [esp + 0x24], eax
jne 0x409288
sub esp, 0xffffff80
pop ebp
pop edi
pop esi
pop ebx
ret
fcompp
jmp 0x4090a2