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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov ecx, dword [0x10249c14]
sub esp, 0xc4
push ebx
push esi
push edi
mov edi, ecx
test edi, edi
je 0x100188a6
mov eax, dword [0x10249c10]
test eax, eax
jne 0x10017f7c
mov edx, 0xe80c2f78
mov ecx, 0x101e7481
call fcn.10004820
mov edx, 0xc10bf213
mov ecx, 0x101e73a9
mov esi, eax
call fcn.10004820
mov edx, esi
mov ecx, eax
call fcn.10113840
mov ecx, dword [0x10249c14]
mov dword [0x10249c10], eax
cmp dword [edi + eax], 0
jle 0x100188a6
test ecx, ecx
je 0x100188a6
mov ecx, dword [0x10213bfc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x10018894
mov ecx, dword [0x10213bfc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x10018894
cmp byte [0x1024a254], 0
je 0x100188a6
mov ecx, dword [0x10213bfc]
lea edx, [esp + 0x24]
push edx
lea edx, [esp + 0x2c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
mov ebx, dword [0x102121a0]
mov eax, ebx
mov edx, dword [0x1021219c]
sub eax, edx
and eax, 0xfffffff8
cmp eax, 0x5c8
jne 0x100188a6
xor edi, edi
mov dword [esp + 0x64], 0xff
mov dword [esp + 0x60], edi
mov dword [esp + 0x70], 0x43e10000
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], 0x43e10000
mov dword [esp + 0x6c], edi
cmp byte [edx + edi*8 + 4], 0
xorps xmm2, xmm2
movss xmm1, dword [edx + edi*8 + 8]
movss xmm7, dword [edx + edi*8]
movss xmm3, dword [0x10209360]
movss xmm4, dword [0x10209354]
movss dword [esp + 0x18], xmm7
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x20], xmm1
jne 0x10018063
cmp byte [edx + edi*8 + 0xc], 0
mov byte [esp + 0xe], 1
jne 0x10018068
mov byte [esp + 0xe], 0
mov al, byte [edx + edi*8 + 5]
mov esi, 0xff
mov byte [esp + 0xf], al
mov al, byte [edx + edi*8 + 6]
mov byte [esp + 0x17], al
mov eax, dword [0x10210258]
dec eax
mov dword [esp + 0x10], 0xff
cmp eax, 3
ja case.default.0x10018094
jmp dword [eax*4 + 0x100188b0]
cmp edi, 0x46
jge 0x100180b3
lea eax, [edi + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
jmp 0x10018187
mov ecx, ebx
sub ecx, edx
sar ecx, 3
lea eax, [ecx - 0x47]
cmp edi, eax
jbe case.default.0x10018094
sub ecx, edi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
jmp 0x10018187
cmp edi, 0x41
jge 0x100180e5
lea eax, [edi + 1]
movd xmm0, eax
jmp 0x100180f9
mov ecx, ebx
sub ecx, edx
sar ecx, 3
lea eax, [ecx - 0x42]
cmp edi, eax
jbe 0x10018104
sub ecx, edi
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
cvttss2si esi, xmm0
movaps xmm0, xmm1
movss xmm3, dword [0x10209290]
addss xmm0, xmm7
mov dword [esp + 0x5c], 0x3f800000
lea eax, [esp + 0x58]
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x54]
mulss xmm0, dword [0x1020922c]
divss xmm0, dword [0x10210224]
comiss xmm0, xmm2
movss dword [esp + 0x58], xmm0
cmovae ecx, eax
lea eax, [esp + 0x5c]
comiss xmm3, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
cmovae eax, ecx
mulss xmm0, dword [eax]
jmp 0x10018187
mov ecx, ebx
sub ecx, edx
sar ecx, 3
lea eax, [ecx - 0x42]
cmp edi, eax
jbe case.default.0x10018094
sub ecx, edi
movd xmm0, ecx
jmp 0x10018180
cmp edi, 0x41
jge case.default.0x10018094
lea eax, [edi + 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
cvttss2si esi, xmm0
mov dword [esp + 0x10], esi
movss xmm0, dword [0x102102d8]
lea eax, [esp + 0x10]
movss dword [esp + 0x78], xmm0
lea ecx, [esp + 0x60]
movss xmm0, dword [0x102102dc]
test esi, esi
movss dword [esp + 0x7c], xmm0
cmovns ecx, eax
movss xmm0, dword [0x102102e0]
movss dword [esp + 0x80], xmm0
lea eax, [esp + 0x64]
cmp esi, 0xff
movss xmm5, dword [0x102102a8]
lea esi, [esp + 0x6c]
cmovle eax, ecx
lea ecx, [esp + 0x68]
comiss xmm1, xmm2
mov eax, dword [eax]
mov dword [esp + 0x10], eax
movd xmm0, eax
lea eax, [esp + 0x20]
cvtdq2ps xmm0, xmm0
cmovae ecx, eax
lea eax, [esp + 0x18]
push ecx
comiss xmm7, xmm2
mulss xmm0, dword [0x1020916c]
cmovae esi, eax
movd xmm2, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
sub ebx, edx
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x88], xmm0
sar ebx, 3
shr ebx, 1
cdq
sub eax, edx
sar eax, 1
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
shr ebx, 0x1f
cvtdq2ps xmm2, xmm2
addsd xmm0, qword [ebx*8 + 0x10209820]
mulss xmm2, dword [0x10210260]
lea ebx, [edi + 1]
mov dword [esp], 0
cvtpd2ps xmm6, xmm0
movd xmm0, eax
lea eax, [esp + 0x7c]
cvtdq2ps xmm0, xmm0
push eax
lea eax, [esp + 0x78]
push ecx
subss xmm2, dword [0x102093b8]
mulss xmm6, xmm5
addss xmm6, xmm0
movss xmm0, dword [0x102094f0]
comiss xmm0, xmm1
movaps xmm0, xmm2
movaps xmm3, xmm6
cmovae eax, ecx
movss xmm1, dword [eax]
lea eax, [esp + 0x80]
mulss xmm1, dword [0x102091e4]
mulss xmm1, dword [0x10210254]
subss xmm0, xmm1
movss dword [esp], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm5
subss xmm3, xmm0
movss xmm0, dword [0x102094f0]
comiss xmm0, xmm7
cmovae eax, esi
movss xmm0, dword [eax]
lea eax, [ebx - 2]
mulss xmm0, dword [0x102091e4]
mulss xmm0, dword [0x10210254]
subss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm5
subss xmm6, xmm0
movaps xmm1, xmm6
call fcn.10117040
cmp byte [esp + 0xe], 0
je 0x100186f0
cmp byte [0x1024a2c5], 0
je 0x100186f0
cmp byte [esp + 0xf], 0
jne 0x100186fb
movss xmm0, dword [esp + 0x1c]
fld dword [esp + 0x20]
push ecx
fstp dword [esp]
mov dword [esp + 0x8c], 0x3f800000
mov dword [esp + 0x90], 0x3f800000
mov dword [esp + 0x94], 0x3f800000
movss dword [esp + 0x98], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
call fcn.10178270
mov edx, eax
lea ecx, [esp + 0xb8]
call fcn.10012580
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x1001838a
mov edx, dword [edx]
mov ecx, edx
mov dword [esp + 0x40], 0
xorps xmm0, xmm0
mov dword [esp + 0x44], 0
movaps xmmword [esp + 0x30], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100183a7
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x38]
call fcn.10003790
movss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0x20]
movd xmm2, dword [esp + 0x24]
lea ecx, [esp + 0x1c]
xorps xmm1, xmm1
mov dword [esp + 0x18], 0x43e10000
comiss xmm0, xmm1
push 0
push 1
mov dword [esp + 0x24], 0
movss xmm1, dword [0x102094f0]
cvtdq2ps xmm2, xmm2
cmovae ecx, eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x3c]
push 1
movss xmm3, dword [0x102093a8]
mulss xmm2, dword [0x10210260]
push eax
comiss xmm1, xmm0
lea eax, [esp + 0x2c]
subss xmm2, dword [0x102093f0]
push dword [0x1024a328]
cmovae eax, ecx
movss xmm0, dword [eax]
mulss xmm0, dword [0x102091e4]
mov eax, dword [0x102121a0]
sub eax, dword [0x1021219c]
sar eax, 3
mulss xmm0, dword [0x10210254]
shr eax, 1
subss xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10209820]
mov eax, dword [esp + 0x40]
cdq
sub eax, edx
sar eax, 1
cvtpd2ps xmm1, xmm0
movd xmm0, eax
mulss xmm1, dword [0x102102a8]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102102a8]
subss xmm1, xmm0
call fcn.10117160
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x100184d8
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100184ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001888e
push ecx
push edx
call fcn.10177006
add esp, 8
mov ecx, dword [esp + 0xcc]
cmp ecx, 0xf
jbe 0x10018514
mov edx, dword [esp + 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001850a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001888e
push ecx
push edx
call fcn.10177006
add esp, 8
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0xf
mov byte [esp + 0xb8], 0
mov esi, dword [esp + 0x10]
cmp byte [esp + 0x17], 0
je 0x100186cb
cmp byte [0x1024a268], 0
je 0x100186cb
movd xmm0, esi
lea ecx, [esp + 0x1c]
cvtdq2ps xmm0, xmm0
mov eax, 0x626a
mov dword [esp + 0x18], 0x43e10000
push 0
push 1
mov dword [esp + 0x24], 0
movd xmm2, dword [esp + 0x2c]
xorps xmm1, xmm1
mulss xmm0, dword [0x1020916c]
mov dword [esp + 0xb0], 0x3f800000
cvtdq2ps xmm2, xmm2
mov dword [esp + 0xb4], 0x3f800000
mov dword [esp + 0xb8], 0x3f800000
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], 0xf
movss dword [esp + 0xbc], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm1
mov word [esp + 0x38], ax
lea eax, [esp + 0x28]
mov byte [esp + 0x3a], 0
movss xmm1, dword [0x102094f0]
mulss xmm2, dword [0x10210260]
cmovae ecx, eax
lea eax, [esp + 0xb0]
movss xmm3, dword [0x102093a8]
comiss xmm1, xmm0
push eax
push 1
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x2c]
subss xmm2, dword [0x102093a4]
push dword [0x1024a328]
cmovae eax, ecx
movss xmm0, dword [eax]
mulss xmm0, dword [0x102091e4]
mov eax, dword [0x102121a0]
sub eax, dword [0x1021219c]
sar eax, 3
mulss xmm0, dword [0x10210254]
shr eax, 1
subss xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10209820]
mov eax, dword [esp + 0x40]
cdq
sub eax, edx
sar eax, 1
cvtpd2ps xmm1, xmm0
movd xmm0, eax
mulss xmm1, dword [0x102102a8]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102102a8]
subss xmm1, xmm0
call fcn.10117160
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x100186cb
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100186c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001888e
push ecx
push edx
call fcn.10177006
add esp, 8
mov edx, dword [0x1021219c]
mov edi, ebx
mov ebx, dword [0x102121a0]
mov eax, ebx
sub eax, edx
sar eax, 3
sub eax, 2
cmp edi, eax
jae 0x100188a6
jmp 0x10018020
cmp byte [esp + 0xf], 0
je 0x10018532
cmp byte [0x1024a285], 0
mov esi, dword [esp + 0x10]
je 0x10018536
movd xmm0, esi
lea ecx, [esp + 0x1c]
cvtdq2ps xmm0, xmm0
mov eax, 0x6265
mov dword [esp + 0x18], 0x43e10000
push 0
push 1
mov dword [esp + 0x24], 0
movd xmm2, dword [esp + 0x2c]
xorps xmm1, xmm1
mulss xmm0, dword [0x1020916c]
mov dword [esp + 0xa0], 0x3f800000
cvtdq2ps xmm2, xmm2
mov dword [esp + 0xa4], 0x3f800000
mov dword [esp + 0xa8], 0x3f800000
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], 0xf
movss dword [esp + 0xac], xmm0
xorps xmm0, xmm0
movaps xmmword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x34]
comiss xmm0, xmm1
mov word [esp + 0x38], ax
lea eax, [esp + 0x28]
mov byte [esp + 0x3a], 0
movss xmm1, dword [0x102094f0]
mulss xmm2, dword [0x10210260]
cmovae ecx, eax
lea eax, [esp + 0xa0]
movss xmm3, dword [0x102093a8]
comiss xmm1, xmm0
push eax
push 1
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x2c]
subss xmm2, dword [0x102093a4]
push dword [0x1024a328]
cmovae eax, ecx
movss xmm0, dword [eax]
mulss xmm0, dword [0x102091e4]
mov eax, dword [0x102121a0]
sub eax, dword [0x1021219c]
sar eax, 3
mulss xmm0, dword [0x10210254]
shr eax, 1
subss xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10209820]
mov eax, dword [esp + 0x40]
cdq
sub eax, edx
sar eax, 1
cvtpd2ps xmm1, xmm0
movd xmm0, eax
mulss xmm1, dword [0x102102a8]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102102a8]
subss xmm1, xmm0
call fcn.10117160
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x10018536
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001887f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001888e
push ecx
push edx
call fcn.10177006
add esp, 8
jmp 0x10018536
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, dword [0x1021219c]
cmp eax, dword [0x102121a0]
je 0x100188a6
mov dword [0x102121a0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret