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

Disassembly:
sub esp, 0x6c
push edi
mov edi, dword [ecx + 8]
lea eax, [edi - 1]
test eax, eax
mov dword [esp + 8], 0x7f7fffff
jle 0x46734c
mov edx, dword [ecx + 0x14]
push ebx
push ebp
push esi
xor ebx, ebx
mov dword [esp + 0x24], eax
fld dword [edx + 0x10]
mov eax, edx
mov esi, dword [eax]
mov dword [esp + 0x34], esi
mov esi, dword [eax + 4]
mov dword [esp + 0x38], esi
fsub dword [esp + 0x38]
mov eax, dword [eax + 8]
mov dword [esp + 0x3c], eax
fstp dword [esp + 0x18]
mov dword [esp + 0x30], ebx
fld dword [edx + 0xc]
fsub dword [esp + 0x34]
fstp dword [esp + 0x40]
fld dword [esp + 0x84]
fsub dword [esp + 0x38]
fstp dword [esp + 0x20]
fld dword [esp + 0x80]
mov eax, dword [esp + 0x20]
fsub dword [esp + 0x34]
mov dword [esp + 0x2c], eax
fstp dword [esp + 0x4c]
mov esi, dword [esp + 0x4c]
fld dword [esp + 0x4c]
mov dword [esp + 0x28], esi
fmul dword [esp + 0x40]
fld dword [esp + 0x20]
fmul dword [esp + 0x18]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcomp dword [0x4fd1ec]
fnstsw ax
test ah, 0x41
jne 0x467300
fld dword [esp + 0x40]
fmul dword [esp + 0x40]
fld dword [esp + 0x18]
fmul dword [esp + 0x18]
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4672d2
fld dword [esp + 0x10]
fdiv dword [esp + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [0x4fd1ec]
fstp dword [esp + 0x1c]
fld dword [esp + 0x18]
fmul dword [esp + 0x10]
fstp dword [esp + 0x18]
fld dword [esp + 0x40]
fmul dword [esp + 0x10]
fstp dword [esp + 0x58]
fld dword [esp + 0x1c]
fchs
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
fsub dword [esp + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x4c]
fsub dword [esp + 0x58]
fstp dword [esp + 0x64]
mov ebp, dword [esp + 0x64]
jmp 0x4672f0
fld dword [esp + 0x20]
xor esi, esi
fsub dword [esp + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x4c]
fsub dword [esp + 0x40]
fstp dword [esp + 0x70]
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], esi
fld dword [esp + 0x30]
fmul dword [esp + 0x30]
fld dword [esp + 0x2c]
fmul dword [esp + 0x2c]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [esp + 0x28]
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x467337
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
add edx, 0xc
dec eax
mov dword [esp + 0x24], eax
jne 0x4671c6
pop esi
pop ebp
pop ebx
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4674cb
mov eax, dword [ecx + 0x14]
fld dword [eax + 4]
lea ecx, [edi + edi*2]
lea edx, [eax + ecx*4 - 0xc]
mov ecx, dword [edx]
mov dword [esp + 0x28], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x2c], ecx
fsub dword [esp + 0x2c]
mov edx, dword [edx + 8]
mov dword [esp + 0x30], edx
fstp dword [esp + 0x18]
xor ecx, ecx
fld dword [eax]
mov eax, dword [esp + 0x18]
fsub dword [esp + 0x28]
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], ecx
fstp dword [esp + 0x34]
fld dword [esp + 0x78]
fsub dword [esp + 0x2c]
fstp dword [esp + 0x78]
fld dword [esp + 0x74]
mov eax, dword [esp + 0x78]
fsub dword [esp + 0x28]
mov dword [esp + 0x20], eax
fstp dword [esp + 0x40]
mov edx, dword [esp + 0x40]
fld dword [esp + 0x38]
mov dword [esp + 0x1c], edx
fmul dword [esp + 0x78]
fld dword [esp + 0x40]
fmul dword [esp + 0x34]
faddp st(1)
fstp dword [esp + 4]
fld dword [esp + 4]
fcomp dword [0x4fd1ec]
fnstsw ax
test ah, 0x41
jne 0x467494
fld dword [esp + 0x38]
fmul dword [esp + 0x38]
fld dword [esp + 0x34]
fmul dword [esp + 0x34]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 4]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 5
jp 0x467466
fld dword [esp + 4]
fdiv dword [esp + 0x10]
fstp dword [esp + 4]
fld dword [esp + 4]
fmul dword [0x4fd1ec]
fstp dword [esp + 0x74]
fld dword [esp + 0x38]
fmul dword [esp + 4]
fstp dword [esp + 0x18]
fld dword [esp + 0x34]
fmul dword [esp + 4]
fstp dword [esp + 0x64]
fld dword [esp + 0x74]
fchs
fstp dword [esp + 0x74]
fld dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
fsub dword [esp + 0x18]
fstp dword [esp + 0x78]
fld dword [esp + 0x40]
fsub dword [esp + 0x64]
jmp 0x46747c
fld dword [esp + 0x78]
xor ecx, ecx
fsub dword [esp + 0x38]
fstp dword [esp + 0x78]
fld dword [esp + 0x40]
fsub dword [esp + 0x34]
mov eax, dword [esp + 0x78]
fstp dword [esp + 0x64]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fld dword [esp + 0x1c]
fmul dword [esp + 0x1c]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcomp dword [esp + 8]
fnstsw ax
test ah, 5
jp 0x4674cb
mov eax, dword [esp + 0x10]
mov dword [esp + 8], eax
fld dword [esp + 8]
pop edi
add esp, 0x6c
ret 8