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

Disassembly:
sub esp, 0x54
mov ecx, dword [esp + 0x64]
push ebx
mov ebx, dword [esp + 0x74]
push ebp
push esi
mov esi, dword [esp + 0x64]
mov eax, dword [esi + 4]
fld dword [eax + ecx*4 + 0xc]
mov ebp, dword [esi]
mov eax, dword [esp + 0x74]
fstp dword [esp + 0x34]
fld dword [esi + 0x30]
mov ecx, dword [esp + 0x6c]
fstp dword [esp + 0x64]
xor edx, edx
cmp ebp, 4
fld dword [esp + 0x64]
fld qword [0x4fc0e0]
push edi
fld qword [0x4fc0d8]
mov edi, dword [esp + 0x7c]
fld1
mov dword [esp + 0x28], ebp
fldz
mov dword [esp + 0x1c], edx
jl 0x41b063
mov ebp, dword [esp + 0x6c]
fld dword [esp + 0x38]
sub ebp, ecx
fstp qword [esp + 0x5c]
mov dword [esp + 0x3c], ebp
mov ebp, eax
sub ebp, ecx
mov dword [esp + 0x20], ebp
mov ebp, ebx
sub ebp, ecx
mov dword [esp + 0x24], ebp
mov ebp, edi
sub ebp, ecx
mov dword [esp + 0x40], ebp
mov ebp, 4
sub ebp, ecx
mov dword [esp + 0x44], ebp
mov ebp, 8
sub ebp, ecx
mov dword [esp + 0x58], ebp
mov ebp, 0xfffffffc
sub ebp, ecx
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x6c]
sub ebp, eax
mov dword [esp + 0x48], ebp
lea edx, [edi + 0xc]
mov ebp, ebx
sub ebp, eax
mov dword [esp + 0x4c], ebp
mov ebp, edi
sub ebp, eax
mov dword [esp + 0x14], edx
lea edx, [eax + 8]
mov eax, ebx
sub eax, edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x6c]
add edi, 0xfffffffc
sub eax, ebx
shr edi, 2
add edi, 1
mov dword [esp + 0x30], eax
lea eax, [edi*4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x18], ebx
lea edx, [ecx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
mov ebp, dword [eax + ebp*4]
mov eax, dword [esp + 0x2c]
add eax, edx
fld dword [eax + ebp]
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
fadd dword [eax + ebp]
mov ebp, dword [esi + 4]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [ebp + 0x6c]
fcompp
fnstsw ax
test ah, 5
jp 0x41ad4a
fld dword [ebp + 0x6c]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [edx - 4]
fadd qword [esp + 0x5c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41ad62
fstp st(0)
fld st(0)
mov ebp, dword [esp + 0x74]
cmp ebp, 1
mov eax, dword [esp + 0x10]
fstp dword [eax - 8]
jne 0x41add8
mov eax, dword [esp + 0x18]
fsub dword [eax]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fcom st(4)
fnstsw ax
fsub st(4)
test ah, 0x41
jne 0x41adba
fmul st(3)
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
fcom dword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x41adc8
fld dword [0x4fc0d0]
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x68]
fld dword [eax - 0xc]
fmul dword [esp + 0x68]
fstp dword [eax - 0xc]
jmp 0x41adda
fmul qword [str.a2U0]
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x14]
fld dword [eax - 0xc]
fmul dword [esp + 0x68]
fstp dword [eax - 0xc]
jmp 0x41adda
fstp st(0)
mov eax, dword [esi + 0xc]
mov ebp, dword [eax + ebp*4]
mov eax, dword [esp + 0x2c]
add eax, edx
fld dword [eax + ebp + 4]
mov eax, dword [esp + 0x3c]
fadd dword [eax + edx]
mov ebp, dword [esi + 4]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [ebp + 0x6c]
fcompp
fnstsw ax
test ah, 5
jp 0x41ae0f
fld dword [ebp + 0x6c]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [edx]
fadd qword [esp + 0x5c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41ae26
fstp st(0)
fld st(0)
mov ebp, dword [esp + 0x74]
cmp ebp, 1
mov eax, dword [esp + 0x20]
fstp dword [eax + edx]
jne 0x41ae9d
mov eax, dword [esp + 0x24]
fsub dword [eax + edx]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fcom st(4)
fnstsw ax
fsub st(4)
test ah, 0x41
jne 0x41ae7f
fmul st(3)
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
fcom dword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x41ae8d
fld dword [0x4fc0d0]
mov eax, dword [esp + 0x40]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fmul dword [eax + edx]
fstp dword [eax + edx]
jmp 0x41ae9f
fmul qword [str.a2U0]
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x40]
fld dword [esp + 0x68]
fmul dword [eax + edx]
fstp dword [eax + edx]
jmp 0x41ae9f
fstp st(0)
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ebp*4]
add eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x10]
fld dword [eax + edx]
mov eax, dword [esp + 0x48]
fadd dword [eax + ebp]
mov ebp, dword [esi + 4]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [ebp + 0x6c]
fcompp
fnstsw ax
test ah, 5
jp 0x41aed5
fld dword [ebp + 0x6c]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [edx + 4]
fadd qword [esp + 0x5c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41aeed
fstp st(0)
fld st(0)
cmp dword [esp + 0x74], 1
mov ebp, dword [esp + 0x10]
fstp dword [ebp]
jne 0x41af62
mov eax, dword [esp + 0x4c]
fsub dword [eax + ebp]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fcom st(4)
fnstsw ax
fsub st(4)
test ah, 0x41
jne 0x41af44
fmul st(3)
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
fcom dword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x41af52
fld dword [0x4fc0d0]
mov eax, dword [esp + 0x50]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fmul dword [eax + ebp]
fstp dword [eax + ebp]
jmp 0x41af64
fmul qword [str.a2U0]
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x50]
fld dword [esp + 0x68]
fmul dword [eax + ebp]
fstp dword [eax + ebp]
jmp 0x41af64
fstp st(0)
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
add eax, ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ebp*4]
add eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x34]
fld dword [eax + edx]
mov eax, dword [esp + 0x30]
fadd dword [eax + ebp]
mov ebp, dword [esi + 4]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [ebp + 0x6c]
fcompp
fnstsw ax
test ah, 5
jp 0x41afac
fld dword [ebp + 0x6c]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [edx + 8]
fadd qword [esp + 0x5c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41afc4
fstp st(0)
fld st(0)
mov ebp, dword [esp + 0x74]
cmp ebp, 1
mov eax, dword [esp + 0x10]
fstp dword [eax + 4]
jne 0x41b036
mov eax, dword [esp + 0x34]
fsub dword [eax]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fcom st(4)
fnstsw ax
fsub st(4)
test ah, 0x41
jne 0x41b01a
fmul st(3)
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
fcom dword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x41b028
fld dword [0x4fc0d0]
mov eax, dword [esp + 0x14]
fstp dword [esp + 0x68]
fld dword [eax]
fmul dword [esp + 0x68]
fstp dword [eax]
jmp 0x41b038
fmul qword [str.a2U0]
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x14]
fld dword [eax]
fmul dword [esp + 0x68]
fstp dword [eax]
jmp 0x41b038
fstp st(0)
add dword [esp + 0x18], 0x10
add dword [esp + 0x10], 0x10
add dword [esp + 0x14], 0x10
add edx, 0x10
sub edi, 1
jne 0x41ad12
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
cmp edx, ebp
fstp st(0)
jge 0x41b164
mov ebp, dword [esp + 0x6c]
fld dword [esp + 0x38]
sub ebx, ecx
mov dword [esp + 0x24], ebx
sub eax, ecx
mov ebx, edi
mov edi, dword [esp + 0x1c]
sub ebp, ecx
lea edx, [ecx + edx*4]
mov dword [esp + 0x20], eax
sub ebx, ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + eax*4]
fld dword [ecx + edi*4]
mov ecx, dword [esi + 4]
fadd dword [edx + ebp]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [ecx + 0x6c]
fcompp
fnstsw ax
test ah, 5
jp 0x41b0bc
fld dword [ecx + 0x6c]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fld dword [edx]
fadd st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x41b0d1
fstp st(0)
fld st(0)
cmp dword [esp + 0x74], 1
mov eax, dword [esp + 0x20]
fstp dword [eax + edx]
jne 0x41b140
mov ecx, dword [esp + 0x24]
fsub dword [ecx + edx]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fcom st(4)
fnstsw ax
fsub st(4)
test ah, 0x41
jne 0x41b126
fmul st(3)
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
fldz
fcomp dword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x41b134
fld dword [0x4fc0d0]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fmul dword [ebx + edx]
fstp dword [ebx + edx]
jmp 0x41b142
fmul qword [str.a2U0]
fmul st(5)
fsubr st(2)
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fmul dword [ebx + edx]
fstp dword [ebx + edx]
jmp 0x41b142
fstp st(0)
add edi, 1
add edx, 4
cmp edi, dword [esp + 0x28]
jl 0x41b08e
fstp st(3)
pop edi
fstp st(3)
pop esi
fstp st(2)
pop ebp
fstp st(0)
pop ebx
fstp st(0)
add esp, 0x54
ret
fstp st(2)
pop edi
fstp st(2)
pop esi
fstp st(0)
pop ebp
fstp st(0)
pop ebx
add esp, 0x54
ret