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

Disassembly:
push ebx
push esi
mov ebx, ecx
push edi
push ebp
sub esp, 0x90
cmp dword [ebx + 0x33c], 0
jne 0x51433c
mov al, byte [ebx + 0x14f]
shr al, 5
and al, 1
je 0x51433c
mov dword [esp + 0x10], ebx
add dword [esp + 0x10], 4
add dword [esp + 0x10], 0x30
mov eax, dword [esp + 0x10]
mov ecx, 0x9b6e5c
push 0
push 0
push 0
push 0
push dword [0x692814]
push 1
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.00437150
fld dword [ebx + 0x398]
fstp dword [esp + 0x6c]
fld dword [ebx + 0x39c]
fstp dword [esp + 0x70]
fld dword [0x6927b0]
fadd dword [ebx + 0x3a0]
mov edi, eax
lea eax, [esp + 0x6c]
push 0
fstp dword [esp + 0x78]
push 0
push 0
push 1
push 0
push 0
push 1
push eax
push dword [esp + 0x30]
call fcn.004da560
add esp, 0x24
test al, al
fldz
fldz
fldz
fldz
je 0x513eb2
fcompp
fcompp
xor al, al
add esp, 0x90
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
lea edi, [edi + edi*4]
lea edi, [edi*4]
mov dword [ebx + 0x33c], 0
fld dword [ebx + 0x39c]
fstp st(3)
mov eax, dword [esp + 0x10]
add edi, 0x9b6e5c
fld st(2)
fsub dword [eax + 4]
mov dword [esp + 0xc], 0
fstp dword [esp + 0x5c]
fld dword [ebx + 0x398]
fstp st(2)
fld st(1)
fsub dword [eax]
mov eax, dword [esp + 0x5c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
mov dword [esp + 0x14], eax
movsx eax, word [edi + 4]
fstp st(4)
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fmul dword [0x692818]
fsubr st(2)
fstp dword [esp + 0x18]
movsx eax, word [edi + 6]
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fmul dword [0x692818]
fsubr st(3)
fstp dword [esp + 0x1c]
jmp 0x514253
movsx edx, word [edi + 0xc]
add edx, dword [esp + 0xc]
movzx eax, word [edx*2 + 0x9f17dc]
and eax, 0x3fff
movsx ecx, ax
lea ecx, [ecx + ecx*4]
lea ecx, [ecx*4]
add ecx, 0x9b6e5c
test ecx, ecx
je 0x51424f
movsx eax, word [ecx + 6]
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fmul dword [0x692818]
fstp dword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x54], eax
movsx ebp, word [ecx + 4]
mov dword [esp + 0x60], ebp
fild dword [esp + 0x60]
fmul dword [0x692818]
fstp dword [esp + 0x48]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x50], eax
fld dword [ebx + 0x39c]
fsub dword [esp + 0x54]
fstp dword [esp + 0x40]
fld dword [ebx + 0x398]
fsub dword [esp + 0x50]
fstp dword [esp + 0x3c]
fld dword [esp + 0x14]
fmul st(0)
fld st(4)
fmul st(0)
faddp st(1)
fld dword [esp + 0x40]
fmul st(0)
fld dword [esp + 0x3c]
fmul st(0)
faddp st(1)
fstp dword [esp + 0x4c]
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 0x45
jne 0x514036
fld dword [esp + 0x1c]
fmul st(0)
fld dword [esp + 0x18]
fmul st(0)
faddp st(1)
fcomp dword [esp + 0x4c]
fnstsw ax
test ah, 0x45
jne 0x514020
mov dword [ebx + 0x33c], ecx
mov eax, dword [esp + 0x40]
fld dword [esp + 0x3c]
fstp st(4)
mov dword [esp + 0x14], eax
jmp 0x514036
mov dword [ebx + 0x33c], edi
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 8], 0
jmp 0x51423c
movsx edx, word [ecx + 0xc]
add edx, dword [esp + 8]
movzx eax, word [edx*2 + 0x9f17dc]
and eax, 0x3fff
movsx ebp, ax
lea ebp, [ebp + ebp*4]
lea ebp, [ebp*4]
add ebp, 0x9b6e5c
test ebp, ebp
je 0x514238
cmp ebp, edi
je 0x514238
movsx eax, word [ebp + 6]
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
fmul dword [0x692818]
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x38], eax
movsx edx, word [ebp + 4]
mov dword [esp + 0x60], edx
fild dword [esp + 0x60]
fmul dword [0x692818]
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
fld dword [ebx + 0x39c]
fsub dword [esp + 0x38]
fstp dword [esp + 0x24]
fld dword [ebx + 0x398]
fsub dword [esp + 0x34]
fstp dword [esp + 0x20]
fld dword [esp + 0x14]
fmul st(0)
fld st(4)
fmul st(0)
faddp st(1)
fld dword [esp + 0x24]
fmul st(0)
fld dword [esp + 0x20]
fmul st(0)
faddp st(1)
fstp dword [esp + 0x30]
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 0x45
jne 0x514146
fld dword [esp + 0x1c]
fmul st(0)
fld dword [esp + 0x18]
fmul st(0)
faddp st(1)
fcomp dword [esp + 0x30]
fnstsw ax
test ah, 0x45
jne 0x514130
mov dword [ebx + 0x33c], ecx
mov eax, dword [esp + 0x24]
fld dword [esp + 0x20]
fstp st(4)
mov dword [esp + 0x14], eax
jmp 0x514146
mov dword [ebx + 0x33c], edi
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
xor esi, esi
jmp 0x514227
movsx edx, word [ebp + 0xc]
add edx, esi
movzx eax, word [edx*2 + 0x9f17dc]
and eax, 0x3fff
movsx edx, ax
lea edx, [edx + edx*4]
lea edx, [edx*4]
add edx, 0x9b6e5c
test edx, edx
je 0x514226
cmp edx, ecx
je 0x514226
movsx eax, word [edx + 6]
mov dword [esp + 0x60], eax
fild dword [esp + 0x60]
movsx eax, word [edx + 4]
fmul dword [0x692818]
mov dword [esp + 0x60], eax
fstp st(3)
fld st(2)
fstp st(2)
fild dword [esp + 0x60]
fmul dword [0x692818]
fstp st(3)
fld st(2)
fstp st(3)
fld dword [ebx + 0x39c]
fsub st(2)
fstp st(2)
fld dword [ebx + 0x398]
fsub st(3)
fstp st(3)
fld dword [esp + 0x14]
fmul st(0)
fld st(4)
fmul st(0)
faddp st(1)
fld st(2)
fmul st(0)
fld st(4)
fmul st(0)
faddp st(1)
fstp st(2)
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x514226
fld dword [esp + 0x1c]
fmul st(0)
fld dword [esp + 0x18]
fmul st(0)
faddp st(1)
fcomp st(1)
fnstsw ax
test ah, 0x45
jne 0x514214
fld st(2)
fstp st(4)
fld st(1)
mov dword [ebx + 0x33c], ecx
fstp dword [esp + 0x14]
jmp 0x514226
fld st(2)
mov dword [ebx + 0x33c], edi
fstp dword [esp + 0x18]
fld st(1)
fstp dword [esp + 0x1c]
inc esi
mov dl, byte [ebp + 0x10]
and dl, 0xf
movzx eax, dl
cmp esi, eax
jl 0x514150
inc dword [esp + 8]
mov dl, byte [ecx + 0x10]
and dl, 0xf
movzx eax, dl
cmp dword [esp + 8], eax
jl 0x514043
inc dword [esp + 0xc]
mov dl, byte [edi + 0x10]
and dl, 0xf
movzx eax, dl
cmp dword [esp + 0xc], eax
jl 0x513f40
mov ebp, dword [ebx + 0x33c]
test ebp, ebp
je 0x514350
mov ax, word [ebx + 0x5a]
fcompp
fcompp
push eax
lea eax, [esp + 0x7c]
push ebp
push eax
call fcn.004351c0
mov eax, dword [esp + 0x1c]
add esp, 0xc
fldz
fldz
fld dword [esp + 0x7c]
fsub dword [eax + 4]
mov eax, dword [esp + 0x10]
fstp st(1)
fld dword [esp + 0x78]
fsub dword [eax]
fstp st(2)
fld dword [esp + 0x5c]
fmul st(0)
fld dword [esp + 0x58]
fmul st(0)
faddp st(1)
fld st(1)
fmul st(0)
fld st(3)
fmul st(0)
faddp st(1)
fcompp
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x514330
mov ax, word [ebx + 0x5a]
mov ebx, dword [ebx + 0x33c]
fcompp
push eax
lea eax, [esp + 0x88]
push ebx
push eax
call fcn.004351c0
mov eax, dword [esp + 0xbc]
add esp, 0xc
fld dword [esp + 0x84]
fstp dword [eax]
mov eax, dword [esp + 0xb0]
fld dword [esp + 0x88]
fstp dword [eax + 4]
mov eax, dword [esp + 0xb0]
fld dword [esp + 0x8c]
fstp dword [eax + 8]
add esp, 0x90
mov al, 1
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
fcompp
mov dword [ebx + 0x33c], 0
xor al, al
add esp, 0x90
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
fcompp
fcompp
jmp 0x51433c