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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x334
mov eax, dword [0x4881810]
xor eax, esp
mov dword [esp + 0x330], eax
fld dword [0x4886310]
fldz
fucompp
fnstsw ax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0x30], ebx
test ah, 0x44
jp 0x10017bad
fld qword [0x4880d20]
xor esi, esi
fld qword [0x4880c30]
mov eax, esi
sub esp, 8
and eax, 0x1f
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fmulp st(2)
fmulp st(1)
fstp qword [esp]
call fcn.10007b00
fmul qword [0x48791e8]
add esp, 8
fstp dword [esi*4 + 0x4886310]
fld qword [0x4880d20]
inc esi
fld qword [0x4880c30]
cmp esi, 0x6a
jl 0x10017b63
fstp st(1)
fstp st(0)
push 0x300
lea eax, [esp + 0x3c]
push 0
push eax
call fcn.10003da1
mov ecx, dword [ebx + 0x138]
lea eax, [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
call fcn.1000f960
mov edi, eax
add esp, 0x14
cmp edi, 0x10
jne 0x10017bf2
mov eax, dword [0x498d130]
test eax, eax
je 0x10017beb
cmp eax, 0x1010000
jb 0x10017bf2
mov esi, 0xffff8000
jmp 0x10017c1f
push 0
push edi
call fcn.1000f960
lea ecx, [edi - 1]
mov edx, 1
mov esi, eax
shl edx, cl
add esp, 8
test esi, edx
jne 0x10017c1f
mov edx, 1
mov ecx, edi
shl edx, cl
mov eax, 1
sub eax, edx
add esi, eax
movzx eax, word [ebx + 0x38]
imul eax, esi
mov esi, 1
add dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [esp + 0x38]
jmp 0x10017c44
mov ebx, dword [esp + 0x30]
mov ecx, dword [ebx + 0x178]
lea eax, [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
call fcn.1000f960
mov edi, eax
add esp, 8
sar eax, 4
add esi, eax
and edi, 0xf
jne 0x10017c6b
cmp eax, 0xf
jl 0x10017cbd
push 0
push edi
call fcn.1000f960
lea ecx, [edi - 1]
mov edx, 1
mov ebx, eax
shl edx, cl
add esp, 8
test ebx, edx
jne 0x10017c98
mov edx, 1
mov ecx, edi
shl edx, cl
mov eax, 1
sub eax, edx
add ebx, eax
mov eax, dword [esp + 0x30]
movzx eax, word [eax + esi*2 + 0x38]
imul eax, ebx
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
movzx eax, byte [esi + 0x487fec0]
inc esi
fstp dword [esp + eax*4 + 0x38]
cmp esi, 0x40
jl 0x10017c40
fld dword [esp + 0x38]
lea eax, [esp + 0x138]
fld qword [0x4880cb0]
lea ecx, [esp + 0x3c]
fmul st(1), st(0)
fxch st(1)
mov dword [esp + 0x20], 8
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fmul st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x40]
fmul st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x44]
fmul st(1)
fstp dword [esp + 0x44]
fld dword [esp + 0x48]
fmul st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fmul st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x50]
fmul st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fmul st(1)
fstp dword [esp + 0x54]
fld dword [esp + 0x38]
fmul st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x58]
fmul st(1)
fstp dword [esp + 0x58]
fld dword [esp + 0x78]
fmul st(1)
fstp dword [esp + 0x78]
fld dword [esp + 0x98]
fmul st(1)
fstp dword [esp + 0x98]
fld dword [esp + 0xb8]
fmul st(1)
fstp dword [esp + 0xb8]
fld dword [esp + 0xd8]
fmul st(1)
fstp dword [esp + 0xd8]
fld dword [esp + 0xf8]
fmul st(1)
fstp dword [esp + 0xf8]
fmul dword [esp + 0x118]
fstp dword [esp + 0x118]
fld dword [0x4886310]
mov edi, 0x4886314
mov dword [esp + 0x18], 0x4886328
mov esi, dword [esp + 0x18]
mov ebx, 0x488632c
mov dword [esp + 0x34], edi
mov edx, 0x4886318
mov dword [esp + 0x2c], 0x4886324
mov dword [esp + 0x24], 0x4886320
mov dword [esp + 0x28], 0x488631c
fld dword [ecx - 4]
fmul st(1)
fadd dword [eax]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [edi]
fmul dword [ecx]
mov edi, dword [esp + 0x28]
add dword [esp + 0x28], 0x18
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [edx]
add edx, 0x10
fmul dword [ecx + 4]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [edi]
fmul dword [ecx + 8]
mov edi, dword [esp + 0x24]
add dword [esp + 0x24], 0x20
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [edi]
fmul dword [ecx + 0xc]
mov edi, dword [esp + 0x2c]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [edi]
add edi, 0x28
fmul dword [ecx + 0x10]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x34]
add edi, 8
mov dword [esp + 0x34], edi
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [esi]
add esi, 0x30
fmul dword [ecx + 0x14]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [ebx]
add ebx, 0x38
fmul dword [ecx + 0x18]
faddp st(1)
fstp dword [eax]
add eax, 4
cmp edx, 0x4886398
jl 0x10017dd1
add ecx, 0x20
dec dword [esp + 0x20]
jne 0x10017d9a
mov edi, 0x488632c
mov dword [esp + 0x2c], 0x4886324
lea eax, [esp + 0x238]
mov dword [esp + 0x20], edi
mov esi, 0x4886314
mov dword [esp + 0x28], 0x4886320
mov ebx, 0x4886328
mov dword [esp + 0x24], 0x488631c
mov edx, 0x4886318
xor ecx, ecx
fld dword [esp + ecx*4 + 0x138]
fmul st(1)
mov edi, dword [esp + 0x24]
fadd dword [eax]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [esp + ecx*4 + 0x158]
fmul dword [esi]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [esp + ecx*4 + 0x178]
fmul dword [edx]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [esp + ecx*4 + 0x198]
fmul dword [edi]
mov edi, dword [esp + 0x28]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [esp + ecx*4 + 0x1b8]
fmul dword [edi]
mov edi, dword [esp + 0x2c]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [esp + ecx*4 + 0x1d8]
fmul dword [edi]
mov edi, dword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [esp + ecx*4 + 0x1f8]
fmul dword [ebx]
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [eax]
fld dword [esp + ecx*4 + 0x218]
inc ecx
fmul dword [edi]
faddp st(1)
fstp dword [eax]
add eax, 4
cmp ecx, 8
jl 0x10017ed6
add dword [esp + 0x24], 0x18
add edx, 0x10
add dword [esp + 0x28], 0x20
add edi, 0x38
add dword [esp + 0x2c], 0x28
add ebx, 0x30
add esi, 8
mov dword [esp + 0x20], edi
cmp edx, 0x4886398
jl 0x10017ed4
mov edi, dword [esp + 0x30]
xor esi, esi
fstp st(0)
add edi, 0xb8
lea esp, [esp]
fld dword [esp + esi*4 + 0x238]
fadd qword [0x48791e8]
call 0x10039a60
cmp eax, 0xffff
jge 0x10017ff8
test eax, eax
jns 0x10017ff1
xor eax, eax
jmp 0x10017ffd
cmp eax, 0xffff
jl 0x10017ffd
mov eax, 0xffff
mov word [edi], ax
inc esi
add edi, 2
cmp esi, 0x40
jl 0x10017fd0
mov ecx, dword [esp + 0x33c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10007d50
mov esp, ebp
pop ebp
ret