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

Disassembly:
sub esp, 0x30
push ebx
mov ebx, dword [esp + 0x3c]
push ebp
push esi
mov esi, eax
test edi, edi
je 0x10001d94
mov eax, dword [esi + 0x98]
mov ecx, dword [eax]
lea edx, [esp + 0xc]
push edx
push eax
mov eax, dword [ecx + 0xa0]
call eax
push esi
mov eax, ebx
call fcn.10001a60
cmp dword [esi + 0x24], ebx
jl 0x10001d94
mov ecx, dword [edi + 4]
fld dword [ecx]
mov eax, dword [esp + 0xc]
fld qword [0x10016e18]
mov edx, dword [eax]
fmul st(1), st(0)
mov edx, dword [edx + 0x38]
fld dword [esp + 0x54]
lea ecx, [esp + 0x30]
push ecx
fdivp st(2)
mov ecx, dword [esi + 0x28]
push 0
push 4
lea ebp, [esi + 0x28]
push 0
push ecx
push eax
fxch st(1)
fstp dword [esp + 0x2c]
fldz
fmulp st(1)
fsub qword [0x10016e08]
fstp dword [esp + 0x5c]
fld1
fstp dword [esp + 0x28]
fld dword [esp + 0x5c]
fstp dword [esp + 0x30]
call edx
test eax, eax
jl 0x10001d38
xor esi, esi
test ebx, ebx
jle 0x10001d26
fld dword [esp + 0x14]
mov eax, dword [esp + 0x30]
fldz
add eax, 0x18
fld dword [esp + 0x10]
fld1
fld dword [esp + 0x44]
jmp 0x10001bbd
fxch st(2)
fxch st(1)
mov ecx, dword [esp + 0x40]
mov cl, byte [esi + ecx]
cmp cl, 0xa
jne 0x10001bea
fstp st(0)
fld dword [esp + 0x18]
fstp dword [esp + 0x44]
fld st(3)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x44]
fld dword [esp + 0x10]
jmp 0x10001d13
cmp cl, 0x20
jl 0x10001d9d
cmp cl, 0x7f
jg 0x10001d9d
movsx edx, cl
mov ecx, dword [edi + 4]
fld dword [ecx + edx*8 - 0xf4]
fadd st(0), st(0)
fdiv dword [esp + 0x50]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fadd st(1)
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fstp dword [esp + 0x20]
fld st(2)
fsubrp st(5)
fxch st(4)
fstp dword [esp + 0x24]
fld dword [ecx + edx*8 - 0xf8]
fdiv dword [ecx + 4]
fstp dword [esp + 0x1c]
fld dword [ecx + edx*8 - 0xf4]
fdiv dword [ecx + 4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fxch st(4)
fst dword [eax - 0x18]
fxch st(2)
fst dword [eax - 0x14]
fxch st(1)
fst dword [eax - 0x10]
fxch st(4)
fst dword [eax - 0xc]
fxch st(3)
fst dword [eax - 8]
fld dword [esp + 0x20]
fst dword [eax - 4]
fxch st(2)
fst dword [eax]
fxch st(5)
fst dword [eax + 4]
fld dword [esp + 0x1c]
fst dword [eax + 8]
fxch st(2)
fstp dword [eax + 0xc]
fxch st(3)
fst dword [eax + 0x10]
fld dword [esp + 0x24]
fst dword [eax + 0x14]
fxch st(4)
fst dword [eax + 0x18]
fst dword [eax + 0x20]
fxch st(5)
fst dword [eax + 0x1c]
fxch st(3)
fst dword [eax + 0x24]
fxch st(6)
fst dword [eax + 0x28]
fxch st(5)
fst dword [eax + 0x2c]
fxch st(2)
fst dword [eax + 0x30]
fldz
fstp dword [eax + 0x34]
fxch st(6)
fstp dword [eax + 0x38]
fxch st(3)
fst dword [eax + 0x3c]
fxch st(1)
fst dword [eax + 0x40]
fxch st(5)
fstp dword [eax + 0x44]
fxch st(4)
fst dword [eax + 0x48]
fxch st(2)
fstp dword [eax + 0x4c]
fxch st(3)
fstp dword [eax + 0x50]
fst dword [eax + 0x54]
fst dword [eax + 0x5c]
add eax, 0x78
fxch st(2)
fstp dword [eax - 0x20]
fld dword [esp + 0x44]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fldz
fld dword [esp + 0x14]
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(1)
fxch st(2)
fxch st(1)
inc esi
cmp esi, ebx
jl 0x10001bb9
fstp st(2)
fstp st(1)
fstp st(2)
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp]
mov edx, dword [eax]
mov edx, dword [edx + 0x3c]
push 0
push ecx
push eax
call edx
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x28]
push edx
lea edx, [esp + 0x30]
push edx
push ebp
push 1
mov dword [esp + 0x3c], 0x14
mov dword [esp + 0x38], 0
mov ecx, dword [eax]
push 0
push eax
mov eax, dword [ecx + 0x48]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
push edi
push 1
push 0
push eax
call edx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
push 0
lea edx, [ebx + ebx*2]
add edx, edx
push edx
push eax
mov eax, dword [ecx + 0x34]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 0x20
fxch st(1)
fxch st(2)
jmp 0x10001d13