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

Disassembly:
sub esp, 0xa4
push esi
mov esi, ecx
mov dword [esp + 0x20], 0x3f800000
lea eax, [esp + 0x30]
mov edx, 4
mov ecx, 0x437f0000
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax - 4], ecx
mov dword [eax + 8], ecx
add eax, 0x24
dec edx
jne 0x41339f
mov ecx, dword [esi + 0x14]
push ebx
push ebp
push edi
test ecx, ecx
jle 0x413464
mov eax, ecx
mov edi, 0xa
cdq
idiv edi
mov dword [esp + 0x24], 0x3d888889
mov dword [esp + 0x28], 0x3f733333
mov dword [esp + 0x58], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0xa0], 0xbf480000
mov dword [esp + 0x7c], 0xbf480000
test edx, edx
jne 0x41342a
cmp ecx, edi
jl 0x413428
mov edx, edi
test edx, edx
jle 0x413464
mov edi, edx
mov eax, dword [esi + 0x15c]
mov ecx, dword [esi + 4]
push 0
push eax
push 0x3dcf5c29
push 2
push 3
push ecx
mov ecx, dword [esi + 8]
lea edx, [esp + 0x3c]
push 4
push edx
call fcn.00433cb0
fld dword [esp + 0x28]
fsub dword [esi + 0x160]
dec edi
fstp dword [esp + 0x28]
jne 0x41342e
mov ecx, dword [esi + 0x10]
test ecx, ecx
jle 0x413515
mov eax, ecx
mov edi, 0xa
cdq
idiv edi
mov dword [esp + 0x24], 0x3f6eeeef
mov dword [esp + 0x28], 0x3f733333
mov dword [esp + 0x9c], 0x3edc0000
mov dword [esp + 0x30], 0x3edc0000
mov dword [esp + 0x58], 0x3ef00000
mov dword [esp + 0x34], 0x3ef00000
mov dword [esp + 0x78], 0xbd800000
mov dword [esp + 0x54], 0xbd800000
mov dword [esp + 0xa0], 0xbed00000
mov dword [esp + 0x7c], 0xbed00000
test edx, edx
jne 0x4134db
cmp ecx, edi
jl 0x4134d9
mov edx, edi
test edx, edx
jle 0x413515
mov edi, edx
mov eax, dword [esi + 0x164]
mov ecx, dword [esi + 4]
push 0
push eax
push 0x3d947ae1
push 2
push 3
push ecx
mov ecx, dword [esi + 8]
lea edx, [esp + 0x3c]
push 4
push edx
call fcn.00433cb0
fld dword [esp + 0x28]
fsub dword [esi + 0x168]
dec edi
fstp dword [esp + 0x28]
jne 0x4134df
mov edi, dword [esi + 0x18]
test edi, edi
jle 0x4135ee
cmp edi, 0xa
jle 0x41352a
mov edi, 0xa
lea eax, [edi - 1]
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], 0x3f6eeeef
fild dword [esp + 0x20]
test edi, edi
mov dword [esp + 0x9c], 0
mov dword [esp + 0x30], 0
fmul dword [0x47d6cc]
fild dword [esp + 0x10]
mov dword [esp + 0x58], 0x3f1e0000
mov dword [esp + 0x34], 0x3f1e0000
fmul dword [0x47d6c8]
mov dword [esp + 0x78], 0xbeec0000
mov dword [esp + 0x54], 0xbeec0000
mov dword [esp + 0xa0], 0xbd200000
mov dword [esp + 0x7c], 0xbd200000
faddp st(1)
fsubr dword [0x47d334]
fmul dword [0x47d414]
fstp dword [esp + 0x24]
jle 0x4135ee
mov ecx, dword [esi + 0x16c]
mov edx, dword [0x47d6c8]
mov eax, dword [esi + 4]
push 0x42b40000
push ecx
push edx
push 2
push 3
push eax
lea ecx, [esp + 0x3c]
push 4
push ecx
mov ecx, dword [esi + 8]
call fcn.00433cb0
fld dword [0x47d6cc]
fadd dword [0x47d6c8]
dec edi
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
jne 0x4135ad
mov edx, dword [esi + 0x170]
mov eax, dword [esi + 4]
push 0
push edx
push 0x3e23d70a
push 2
push 3
push eax
lea ecx, [esp + 0x3c]
push 4
push ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x44], 0x3f000000
mov dword [esp + 0x48], 0x3d4ccccd
mov dword [esp + 0xbc], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x78], 0x3e800000
mov dword [esp + 0x54], 0x3e800000
mov dword [esp + 0x98], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0xc0], 0xbf120000
mov dword [esp + 0x9c], 0xbf120000
call fcn.00433cb0
fld dword [esi + 0xc]
fmul dword [0x47d728]
mov dword [esp + 0x9c], 0x3f2c0000
mov dword [esp + 0x30], 0x3f2c0000
mov dword [esp + 0x58], 0x3f480000
mov dword [esp + 0x34], 0x3f480000
mov dword [esp + 0x78], 0xbe980000
mov dword [esp + 0x54], 0xbe980000
fst dword [esp + 0x10]
fmul dword [0x47d414]
mov dword [esp + 0xa0], 0xbe400000
mov dword [esp + 0x7c], 0xbe400000
fadd dword [0x47d724]
fstp dword [esp + 0x24]
fld dword [esi + 0xc]
fcomp dword [0x47d414]
fnstsw ax
test ah, 5
jp 0x4136f9
fld dword [esi + 0xc]
fmul dword [0x47d720]
mov dword [esp + 0x38], 0x437f0000
fstp dword [esp + 0x3c]
jmp 0x413714
fld dword [0x47d334]
fsub dword [esi + 0xc]
mov dword [esp + 0x3c], 0x437f0000
fmul dword [0x47d720]
fstp dword [esp + 0x38]
mov dword [esp + 0x40], 0
lea eax, [esp + 0x60]
mov ecx, 3
mov edx, dword [esp + 0x38]
mov dword [eax - 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 4], edx
add eax, 0x24
dec ecx
jne 0x413725
mov eax, dword [esi + 0x174]
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 4]
push 0
push eax
push ecx
mov ecx, dword [esi + 8]
push 2
push 3
push edx
lea eax, [esp + 0x3c]
push 4
push eax
call fcn.00433cb0
lea edx, [esi + 0x20]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
fld dword [esi + 0x178]
not ecx
dec ecx
push 0x3f800000
push ecx
push edx
push ecx
mov ecx, dword [esi + 8]
fstp dword [esp]
push 0x3ca3d70a
push 0x3cda740e
push 0x3ca3d70a
push ecx
lea ecx, [esi + 0x190]
call fcn.00439d00
mov eax, dword [esi + 0x14]
test eax, eax
jle 0x4137fa
lea edx, [esp + 0x14]
push 0xa
push edx
push eax
call fcn.0046c80d
lea edi, [esp + 0x20]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
fld dword [esi + 0x178]
not ecx
dec ecx
push 0x3f800000
lea eax, [esp + 0x18]
push ecx
push eax
push ecx
mov ecx, dword [esi + 8]
fstp dword [esp]
push 0x3ca3d70a
push 0x3f6aaaab
push 0x3e000000
push ecx
lea ecx, [esi + 0x2e8]
call fcn.00439d00
mov eax, dword [esi + 0x10]
test eax, eax
jle 0x413852
lea edx, [esp + 0x14]
push 0xa
push edx
push eax
call fcn.0046c80d
lea edi, [esp + 0x20]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
fld dword [esi + 0x178]
not ecx
dec ecx
push 0x3f800000
lea eax, [esp + 0x18]
push ecx
push eax
push ecx
mov ecx, dword [esi + 8]
fstp dword [esp]
push 0x3ca3d70a
push 0x3f6aaaab
push 0x3f500000
push ecx
lea ecx, [esi + 0x23c]
call fcn.00439d00
mov al, byte [0x493d68]
test al, al
je 0x4138ae
mov edx, dword [0x495810]
push 0x3f800000
fld dword [esi + 0x178]
mov eax, dword [edx + 0x54]
mov ecx, dword [eax + 0x50]
mov edx, dword [eax + 0x1c]
xor eax, eax
mov edx, dword [edx + ecx*4]
or ecx, 0xffffffff
add edx, 0x1ec
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, dword [esi + 8]
push ecx
push edx
push ecx
lea ecx, [esi + 0x2e8]
fstp dword [esp]
push 0x3ca3d70a
push 0x3da3d70a
push 0x3ca3d70a
push eax
call fcn.00439d00
fld dword [esi + 0x184]
fadd dword [esi + 0x188]
lea ebx, [esi + 0x50]
mov ebp, 0xa
fmul dword [0x47d71c]
fadd dword [0x47d6d8]
fstp dword [esp + 0x10]
mov edx, dword [ebx]
test edx, edx
je 0x413933
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
push 0x3f800000
repne scasb al, byte es:[edi]
fld dword [esi + 0x188]
not ecx
dec ecx
push ecx
push edx
mov ecx, dword [esp + 0x1c]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x47d6d0]
mov edx, dword [esi + 8]
fstp dword [esp]
fld dword [0x47d6d4]
push ecx
push ecx
fstp dword [esp]
push edx
lea ecx, [esi + 0x4f0]
call fcn.00439d00
fld dword [esi + 0x184]
fadd dword [esi + 0x188]
fsubr dword [esp + 0x10]
fstp dword [esp + 0x10]
sub ebx, 4
dec ebp
jne 0x4138d2
mov al, byte [esi + 0x54]
pop edi
pop ebp
pop ebx
test al, al
je 0x413987
mov eax, dword [esi + 0x17c]
mov ecx, dword [0x47d6e0]
mov edx, dword [esi + 0x180]
push 0x41200000
push 0x3e
push eax
mov eax, dword [0x47d6dc]
push ecx
mov ecx, dword [esi + 8]
push edx
push eax
push ecx
lea ecx, [esi + 0x444]
call fcn.00439e60
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xbc]
lea ecx, [esi + 0xbc]
push eax
call dword [edx + 0x3c]
pop esi
add esp, 0xa4
ret 4