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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
cmp dword [eax + 0x484], 0
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x68], 0
mov ecx, dword [edi]
mov dword [esp + 0x3c], ecx
jle 0x439fdd
fldz
lea edx, [eax + 0x888]
mov eax, dword [ebp + 0x20]
sub eax, dword [ebp + 0x1c]
fld1
fld qword [0x4a3e00]
mov ebx, dword [ebp + 0x28]
mov dword [esp + 0x38], edx
mov dword [ebp + 0x20], eax
mov esi, dword [edx - 0x400]
cmp dword [ebx + esi*4], 0
jne 0x439b75
mov eax, dword [edx]
cmp dword [ebx + eax*4], 0
je 0x439fb4
mov ebx, dword [ebp + 0x18]
mov edi, dword [esp + 0x3c]
mov eax, dword [ebx + esi*4]
mov dword [esp + 0x50], eax
mov eax, dword [edx]
mov edx, dword [esp + 0x50]
mov ebx, dword [ebx + eax*4]
lea edx, [edx + edi*4]
mov dword [esp + 0x4c], ebx
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x34], edx
mov eax, dword [edi + eax*4]
mov edx, dword [edi + esi*4]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], edx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + eax*4 + 0xfc]
fld qword [eax*8 + 0x4f1948]
mov eax, dword [ebp + 8]
fstp dword [esp + 0x2c]
mov eax, dword [edx + eax*4 + 0x138]
fld qword [eax*8 + 0x4f1948]
mov eax, dword [edi + 4]
fstp dword [esp + 0x24]
cmp dword [eax + 0x1f8], 0
je 0x439bea
mov ecx, dword [eax + 0x200]
mov eax, dword [eax]
mov dword [esp + 0x28], ecx
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, dword [ebp + 8]
cmp dword [esp + 0x3c], 0x3e8
mov eax, dword [edx + ecx*4 + 0x84]
mov ecx, dword [ebp + 0x28]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + esi*4], 1
mov eax, dword [eax]
mov dword [ecx + eax*4], 1
jle 0x439c42
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + ecx*4 + 0x138]
fld qword [eax*8 + 0x4f1990]
fstp dword [esp + 0x24]
mov ecx, dword [edi]
xor eax, eax
mov dword [esp + 0x64], eax
test ecx, ecx
jle 0x439fe4
fld dword [esp + 0x2c]
xor edi, edi
mov esi, dword [esp + 0x28]
fld dword [esp + 0x24]
mov dword [esp + 0x48], edi
jmp 0x439c6e
fxch st(3)
fxch st(4)
fxch st(3)
fxch st(2)
fxch st(4)
fst dword [esp + 0x1c]
test esi, esi
jle 0x439e1a
mov ecx, dword [esp + 0x70]
mov esi, eax
mov eax, dword [esp + 0x6c]
add ebx, edi
sub eax, ecx
mov dword [esp + 0x20], edi
sub ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x4c]
sub edx, eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x54], edx
sub ecx, eax
lea edx, [eax + edi*4]
mov dword [esp + 0x44], esi
mov edi, dword [esp + 0x54]
sub edx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], edx
cmp esi, dword [ebp + 0x2c]
jge 0x439e9d
cmp esi, dword [esp + 0x60]
jl 0x439e43
fld dword [ecx + ebx]
fabs
fcomp st(5)
fnstsw ax
test ah, 5
jp 0x439e43
fld dword [ebx]
fabs
fcomp st(5)
fnstsw ax
fstp st(4)
test ah, 5
jp 0x439e45
fstp st(0)
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
add eax, ebx
xor ebx, ebx
mov edi, dword [eax + ecx]
mov ecx, 0x1f
mov esi, dword [eax]
cmp esi, edi
mov eax, esi
setg bl
sub eax, edi
cdq
dec ebx
xor eax, edx
sub eax, edx
sub ecx, eax
mov eax, ebx
not eax
and ebx, edi
and eax, esi
mov edi, dword [esp + 0x54]
or eax, ebx
mov ebx, dword [esp + 0x58]
fld dword [eax*4 + 0x4eba28]
xor eax, eax
test ecx, ecx
sets al
sub esp, 8
dec eax
and eax, ecx
mov ecx, dword [esp + 0x28]
fld dword [eax*4 + 0x4ebe28]
mov eax, dword [ebp + 0x1c]
faddp st(3)
fxch st(2)
mov eax, dword [eax]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fmul dword [ecx + eax]
mov eax, dword [esp + 0x38]
fstp dword [edi + ebx]
fxch st(1)
fstp dword [eax + ebx]
fadd dword [edi + ebx]
fstp qword [esp]
call sub.MSVCRT.dll_floor
fldz
add esp, 8
mov esi, dword [esp + 0x44]
fucompp
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
fnstsw ax
test ah, 0x44
mov eax, dword [esp + 0x20]
jp 0x439dd3
fld dword [edi + ebx]
fmul st(0), st(0)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x24]
fld dword [esp + 0x2c]
fld1
fld qword [0x4a3e00]
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(2)
fxch st(1)
add eax, 4
add ebx, 4
inc esi
mov dword [esp + 0x20], eax
dec dword [esp + 0x5c]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x44], esi
jne 0x439cd3
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x48]
mov ecx, dword [ebp + 0x10]
fstp st(0)
fstp st(3)
fstp st(2)
mov eax, dword [ecx + 4]
cmp dword [eax + 0x1f8], 0
je 0x439f60
xor ebx, ebx
test esi, esi
jle 0x439f60
fld dword [esp + 0x1c]
jmp 0x439eac
fstp st(4)
fld dword [ecx + ebx]
fabs
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x439e65
fld dword [ebx]
fabs
fcompp
fnstsw ax
test ah, 5
jp 0x439e67
jmp 0x439d0d
fstp st(3)
lea eax, [edx + ebx]
fstp st(2)
push eax
fstp st(0)
lea eax, [edi + ebx]
push eax
fstp st(0)
sub esp, 8
fld dword [ebx]
fstp dword [esp + 4]
fld dword [ecx + ebx]
fstp dword [esp]
call fcn.0043bd80
mov ecx, dword [esp + 0x50]
add esp, 0x10
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
jmp 0x439dd3
fst dword [edi + ebx]
fst dword [edx + ebx]
jmp 0x439df1
fxch st(2)
fxch st(1)
mov eax, dword [ecx + 4]
fcomp qword [eax + 0x208]
fnstsw ax
test ah, 1
jne 0x439f58
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov eax, dword [esi + eax]
mov esi, dword [edi + eax]
cmp esi, dword [ebp + 0x2c]
jge 0x439f50
cmp esi, dword [esp + 0x60]
jl 0x439f50
fstp st(0)
sub esp, 8
fadd dword [edx + esi*4]
fstp qword [esp]
call sub.MSVCRT.dll_floor
fldz
add esp, 8
mov edx, dword [esp + 0x34]
fucompp
mov ecx, dword [ebp + 0x10]
fnstsw ax
test ah, 0x44
jp 0x439f28
fld dword [edx + esi*4]
fstp dword [esp + 0x7c]
fld dword [esp + 0x1c]
fld1
mov eax, dword [esp + 0x7c]
fsub st(1), st(0)
and eax, 0xbf800000
fxch st(1)
or eax, 0x3f800000
mov dword [edx + esi*4], eax
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
jmp 0x439f30
fld dword [esp + 0x1c]
fld1
fxch st(1)
mov esi, dword [esp + 0x28]
inc ebx
fld qword [0x4a3e00]
add edi, 4
cmp ebx, esi
jl 0x439ea8
mov edi, dword [esp + 0x48]
fstp st(1)
fstp st(0)
jmp 0x439f62
fstp st(1)
fld dword [esp + 0x1c]
jmp 0x439f30
mov edi, dword [esp + 0x48]
fstp st(1)
jmp 0x439f62
fstp st(1)
mov eax, dword [esp + 0x64]
lea ebx, [esi*4]
fldz
add eax, esi
fld dword [esp + 0x24]
add edi, ebx
mov ecx, dword [ecx]
fld dword [esp + 0x2c]
fld qword [0x4a3e00]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x48], edi
cmp eax, ecx
jl 0x439c66
mov edx, dword [esp + 0x38]
fstp st(3)
mov ebx, dword [ebp + 0x28]
fstp st(1)
fstp st(0)
fstp st(0)
fldz
fld qword [0x4a3e00]
fxch st(1)
fxch st(2)
fxch st(1)
mov eax, dword [esp + 0x68]
add edx, 4
mov esi, dword [ebp + 0x14]
inc eax
add dword [ebp + 0x1c], 4
mov dword [esp + 0x68], eax
mov dword [esp + 0x38], edx
cmp eax, dword [esi + 0x484]
jl 0x439b5d
fstp st(2)
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x38]
mov ebx, dword [ebp + 0x28]
jmp 0x439fb4