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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb8
push esi
mov esi, ecx
mov dword [esp + 0xc], edx
push edi
mov eax, 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x58], eax
mov edi, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x94], edi
xor edi, edi
mov dword [esp + 0x90], ecx
mov dword [esp + 0x30], edi
cmp dword [ebp + 0xc], edi
jle 0x1001eb61
mov ecx, dword [ebp + 8]
mov eax, 0x100
movss xmm5, dword [0x10042c90]
add ecx, 8
movss xmm4, dword [0x10042c70]
mov dword [esp + 0x2c], ecx
movss xmm2, dword [ecx - 8]
xorps xmm3, xmm3
comiss xmm2, xmm3
jbe 0x1001e390
mov edi, dword [edx + 0x1c]
mov esi, dword [edx + 4]
cwde
movzx ecx, byte [edi + esi + 4]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edi + esi + 5]
add cx, ax
mov eax, 0x100
movsx edx, cx
movzx ecx, byte [edi + esi + 6]
cwde
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edi + esi + 7]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
add cx, ax
movsx eax, cx
sub edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
jmp 0x1001e3bb
mov eax, dword [esp + 0x10]
mov edx, dword [edx + 0x14]
mov eax, dword [eax + 4]
movzx ecx, byte [edx + eax + 0x13]
movzx eax, byte [edx + eax + 0x12]
shl eax, 8
add ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
xorps xmm2, xmmword [0x10043240]
mov ecx, dword [esp + 0x2c]
xorps xmm0, xmm0
movaps xmmword [esp + 0xb0], xmm0
movss dword [esp + 0x3c], xmm2
mov al, byte [ecx + 0xd]
mov cl, byte [ecx + 0xc]
mov byte [esp + 0xb1], al
mov byte [esp + 0xb0], cl
movaps xmm1, xmmword [esp + 0xb0]
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
movd ecx, xmm1
psrldq xmm1, 4
movd edx, xmm1
movaps xmm1, xmm5
mov eax, ecx
mov dword [esi + 0x18], ecx
shr eax, 0x1f
mov dword [esp + 0x18], edx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov dword [esi + 0x1c], edx
addsd xmm0, qword [eax*8 + 0x10043210]
mov eax, edx
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movd xmm0, edx
movss dword [esp + 0x88], xmm1
movaps xmm1, xmm5
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x10043210]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [esp + 0x8c], xmm1
test ecx, ecx
jne 0x1001e46b
movss dword [esp + 0x50], xmm3
jmp 0x1001e494
movd xmm0, ecx
movaps xmm3, xmm4
cvtdq2ps xmm0, xmm0
mov eax, 1
sub eax, ecx
divss xmm3, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm3, xmm0
movss dword [esp + 0x50], xmm3
xorps xmm3, xmm3
test edx, edx
jne 0x1001e4a0
movss dword [esp + 0x54], xmm3
jmp 0x1001e4c6
movd xmm0, edx
movaps xmm1, xmm4
cvtdq2ps xmm0, xmm0
mov eax, 1
sub eax, edx
divss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movss dword [esp + 0x54], xmm1
mov ecx, dword [esp + 0x2c]
xor edx, edx
mov dword [esp + 0x40], edx
cmp dword [ecx + 4], edx
jle 0x1001eb38
mov eax, edi
mov dword [esp + 0x44], edx
mov edi, dword [ebp + 0x10]
shl eax, 4
add edi, 8
add edi, eax
mov eax, dword [esp + 0x10]
add eax, 0x1c
mov dword [esp + 0x78], eax
cmp dword [edi + 4], 0
je 0x1001eaff
mov eax, dword [ecx + 8]
add eax, dword [esp + 0x44]
mov dword [esp + 0x80], eax
mov eax, dword [ecx]
test eax, eax
jne 0x1001e51c
mov edx, dword [ecx - 4]
add edx, dword [esp + 0x40]
jmp 0x1001e51f
mov edx, dword [eax + edx*4]
mov ecx, dword [esp + 0x10]
call fcn.10018f10
movzx ecx, word [esi + 0x14]
add word [edi], cx
add word [edi + 2], cx
sub word [edi - 4], cx
sub word [edi - 2], cx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
movzx ecx, byte [edx + eax + 0x22]
movzx eax, byte [edx + eax + 0x23]
shl ecx, 8
add ecx, eax
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x20]
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jge 0x1001e584
lea edx, [edx + eax*4]
mov eax, 0x100
add edx, esi
cwde
movzx ecx, byte [edx]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edx + 1]
jmp 0x1001e5a1
mov eax, esi
lea edx, [edx + ecx*4]
movzx ecx, byte [edx + eax - 4]
mov eax, 0x100
cwde
movsx ecx, cx
imul ecx, eax
mov eax, esi
movzx eax, byte [edx + eax - 3]
mov esi, dword [esp + 0x28]
add cx, ax
movzx eax, cx
cwde
mov dword [esp + 0x84], eax
mov eax, dword [esi + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], 0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov dword [esp + 0x34], 0
addsd xmm0, qword [eax*8 + 0x10043210]
mov eax, dword [esp + 0x18]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [esp + 0x20], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10043210]
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0xac]
push eax
cvtpd2ps xmm0, xmm0
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x30]
push eax
mulss xmm0, xmm2
movss dword [esp + 0x24], xmm0
call fcn.10019310
add esp, 0x10
test eax, eax
jne 0x1001e646
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], eax
jmp 0x1001e708
xorps xmm0, xmm0
movsd xmm3, qword [0x10042d38]
cvtsi2ss xmm0, dword [esp + 0x24]
movsd xmm5, qword [0x10042d20]
mulss xmm0, dword [esp + 0x20]
movaps xmm1, xmm5
movsd xmm7, qword [0x10042ca8]
cvtps2pd xmm4, xmm0
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltsd xmm0, xmm5
andps xmm1, xmm0
orps xmm1, xmm3
addsd xmm2, xmm1
subsd xmm2, xmm1
movaps xmm1, xmm5
movaps xmm0, xmm2
subsd xmm0, xmm4
cmpnlesd xmm0, xmm3
movsd xmm3, qword [0x10042d38]
andps xmm0, xmm7
subsd xmm2, xmm0
xorps xmm0, xmm0
cvttsd2si eax, xmm2
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
neg eax
cvtsi2ss xmm0, eax
mulss xmm0, dword [esp + 0x14]
cvtps2pd xmm4, xmm0
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltsd xmm0, xmm5
andps xmm1, xmm0
orps xmm1, xmm3
addsd xmm2, xmm1
subsd xmm2, xmm1
movaps xmm0, xmm2
subsd xmm0, xmm4
cmpnlesd xmm0, xmm3
andps xmm0, xmm7
subsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x10]
movzx ecx, word [edi + 2]
imul ecx, eax
mov dword [esp + 0x74], eax
movzx eax, word [edi]
movzx edx, word [edi - 2]
add ecx, eax
mov eax, dword [esi + 0x18]
add ecx, dword [esi + 0x20]
mov dword [esp + 0x68], ecx
movzx ecx, word [edi - 4]
movd xmm0, eax
sub ecx, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
inc ecx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esi + 0x1c]
sub edx, ecx
inc edx
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x1c]
addsd xmm0, qword [eax*8 + 0x10043210]
lea eax, [esp + 0x38]
push eax
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x40]
movss dword [esp + 0x1c], xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x10043210]
mov ecx, dword [esp + 0x14]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x40]
movss dword [esp + 0x18], xmm0
call fcn.1001b570
mov edx, dword [esp + 0x20]
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0xb0]
mov dword [esp + 0x64], 0
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10019310
movss xmm5, dword [esp + 0x28]
add esp, 0x10
movss xmm6, dword [esp + 0x14]
test eax, eax
jne 0x1001e7f3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
jmp 0x1001e8b9
xorps xmm0, xmm0
movsd xmm3, qword [0x10042d38]
cvtsi2ss xmm0, dword [esp + 0x20]
movsd xmm7, qword [0x10042d20]
mulss xmm0, xmm5
movaps xmm1, xmm7
cvtps2pd xmm4, xmm0
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltsd xmm0, xmm7
andps xmm1, xmm0
orps xmm1, xmm3
addsd xmm2, xmm1
subsd xmm2, xmm1
movsd xmm1, qword [0x10042ca8]
movaps xmm0, xmm2
subsd xmm0, xmm4
cmpnlesd xmm0, xmm3
movsd xmm3, qword [0x10042d38]
andps xmm0, xmm1
movaps xmm1, xmm7
subsd xmm2, xmm0
xorps xmm0, xmm0
cvttsd2si eax, xmm2
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x64]
neg eax
cvtsi2ss xmm0, eax
mulss xmm0, xmm6
cvtps2pd xmm4, xmm0
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltsd xmm0, xmm7
andps xmm1, xmm0
orps xmm1, xmm3
addsd xmm2, xmm1
subsd xmm2, xmm1
movsd xmm1, qword [0x10042ca8]
movaps xmm0, xmm2
subsd xmm0, xmm4
cmpnlesd xmm0, xmm3
andps xmm0, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], edx
je 0x1001e9a6
test eax, eax
je 0x1001e9a6
movss xmm2, dword [0x10042c68]
minss xmm6, xmm5
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x7c]
push ecx
push eax
lea eax, [esp + 0x54]
divss xmm2, xmm6
push eax
call fcn.1001d380
add esp, 0xc
mov dword [esp + 0x48], eax
test eax, eax
je 0x1001e9a2
movss xmm0, dword [esp + 0x14]
lea ecx, [esp + 0x98]
sub esp, 8
mov edx, eax
push dword [esp + 0x28]
push dword [esp + 0x28]
sub esp, 0x10
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp], xmm0
push dword [esp + 0x9c]
push dword [esp + 0x70]
call fcn.1001cba0
mov ecx, dword [esp + 0x74]
add esp, 0x28
mov eax, dword [0x10047020]
test ecx, ecx
je 0x1001e97c
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov eax, dword [0x10047020]
add esp, 4
dec dword [eax + 0x310]
push dword [esp + 0x48]
mov eax, dword [eax + 0xc0]
call eax
add esp, 4
mov ecx, dword [esp + 0x38]
mov eax, dword [0x10047020]
test ecx, ecx
je 0x1001e9b5
dec dword [eax + 0x310]
mov eax, dword [eax + 0xc0]
push ecx
call eax
mov eax, dword [esi + 0x18]
add esp, 4
cmp eax, 1
jbe 0x1001e9f2
mov esi, dword [esi + 0x10]
movzx ecx, word [edi + 2]
movzx edx, word [edi - 4]
push eax
movzx eax, word [edi - 2]
imul ecx, esi
push esi
mov esi, dword [esp + 0x30]
push eax
movzx eax, word [edi]
add ecx, eax
add ecx, dword [esi + 0x20]
call fcn.1001dad0
add esp, 0xc
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x18], edx
cmp edx, 1
jbe 0x1001ea2e
mov esi, dword [esi + 0x10]
movzx ecx, word [edi + 2]
movzx eax, word [edi - 2]
push edx
movzx edx, word [edi - 4]
imul ecx, esi
push esi
mov esi, dword [esp + 0x30]
push eax
movzx eax, word [edi]
add ecx, eax
add ecx, dword [esi + 0x20]
call fcn.1001dd20
mov eax, dword [esi + 0x1c]
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x80]
movzx eax, word [edi]
movd xmm0, dword [esp + 0x84]
movss xmm2, dword [esp + 0x3c]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
movzx eax, word [edi + 2]
mov word [ecx + 2], ax
movzx eax, word [edi - 4]
add ax, word [edi]
mulss xmm0, xmm2
mov edx, dword [esp + 0x34]
mov word [ecx + 4], ax
movzx eax, word [edi + 2]
add ax, word [edi - 2]
movss dword [ecx + 0x10], xmm0
movd xmm0, dword [esp + 0x24]
cvtdq2ps xmm0, xmm0
mov word [ecx + 6], ax
mulss xmm0, dword [esp + 0x88]
addss xmm0, dword [esp + 0x50]
movss dword [ecx + 8], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x8c]
addss xmm0, dword [esp + 0x54]
movss dword [ecx + 0xc], xmm0
movzx eax, word [edi - 4]
add eax, dword [esp + 0x24]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x88]
addss xmm0, dword [esp + 0x50]
movss dword [ecx + 0x14], xmm0
movzx eax, word [edi - 2]
add eax, edx
mov edx, dword [esp + 0x40]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esp + 0x8c]
addss xmm0, dword [esp + 0x54]
movss dword [ecx + 0x18], xmm0
mov ecx, dword [esp + 0x2c]
jmp 0x1001eb0e
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x58], 0
mov dword [esp + 0x18], eax
inc dword [esp + 0x30]
inc edx
add dword [esp + 0x44], 0x1c
add edi, 0x10
mov dword [esp + 0x40], edx
cmp edx, dword [ecx + 4]
jl 0x1001e4f5
movss xmm4, dword [0x10042c70]
movss xmm5, dword [0x10042c90]
mov edx, dword [esp + 0x10]
add ecx, 0x18
sub dword [ebp + 0xc], 1
mov eax, 0x100
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
jne 0x1001e333
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x90]
mov dword [esi + 0x18], ecx
mov ecx, dword [esp + 0x94]
pop edi
mov dword [esi + 0x1c], ecx
pop esi
mov esp, ebp
pop ebp
ret