Function at 0x1015e8f0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xf8
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x83d64]
test eax, eax
je 0x1015e91f
push 2
push 0
push 0x200
push dword [ebx + 0x83d68]
call eax
add esp, 0x10
test eax, eax
jne 0x1015f6cf
movss xmm0, dword [ebx + 0xe68]
xorps xmm5, xmm5
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x1015e941
movups xmm0, xmmword [ebx + 0xe68]
movups xmmword [ebx + 0x25004], xmm0
mov eax, dword [ebx + 0xe90]
movss xmm3, dword [0x102c6198]
mov dword [esp + 0x40], eax
push ebp
push esi
push edi
test eax, eax
jne 0x1015e97c
cmp dword [ebx + 0xe94], 0
je 0x1015edd4
movss xmm0, dword [ebx + 0x24ff4]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1015edd4
push 0x40
lea eax, [esp + 0xbc]
push 0
push eax
call fcn.1026c8e0
mov ebp, dword [ebx + 0xdfc]
lea ecx, [ebx + 0x25004]
mov edi, dword [ebx + 0xe04]
add esp, 0xc
movzx eax, word [ebx + 0x14]
add edi, ebp
mov esi, dword [ebx + 0xe00]
cmp edi, eax
movzx edx, word [ebx + 0x16]
movups xmm2, xmmword [esp + 0xe8]
cmovae edi, eax
add esi, dword [ebx + 0xdf8]
movups xmm5, xmmword [esp + 0xd8]
cmp esi, edx
mov dword [esp + 0x1c], ebp
movups xmm7, xmmword [esp + 0xc8]
cmovae esi, edx
mov dword [esp + 0x58], edi
mov dword [esp + 0x14], esi
movups xmm6, xmmword [esp + 0xb8]
cmp ebp, edi
jae 0x1015ed38
mov ecx, dword [ebx + 0xdfc]
mov ebp, edx
imul ebp, ecx
shl edx, 3
mov dword [esp + 0x5c], edx
lea eax, [ecx + 8]
mov dword [esp + 0x6c], 6
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
movups xmmword [esp + 0xf8], xmm2
movups xmmword [esp + 0x98], xmm5
movups xmmword [esp + 0x88], xmm7
movups xmmword [esp + 0x78], xmm6
nop dword [eax + eax]
mov edx, dword [ebx + 0xdf8]
mov dword [esp + 0x18], edx
cmp edx, esi
jae 0x1015ed14
xorps xmm0, xmm0
mov ebp, ecx
mov dword [esp + 0x10], ebp
movups xmmword [esp + 0x28], xmm0
movups xmmword [esp + 0x38], xmm0
cmp ecx, eax
jae 0x1015ec2b
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x54], ecx
cmp ebp, edi
jae 0x1015ec16
lea eax, [edx + 8]
mov edi, edx
mov dword [esp + 0x48], eax
cmp edx, eax
jae 0x1015ebc8
lea eax, [ebp + 6]
cdq
idiv dword [esp + 0x6c]
lea eax, [edx + 0x44]
lea eax, [eax + eax*2]
lea eax, [ebx + eax*2]
mov dword [esp + 0x70], eax
mov eax, ebp
and eax, 7
add eax, eax
mov dword [esp + 0x74], eax
nop
cmp edi, esi
jae 0x1015ebc0
lea eax, [edi + 6]
mov ebp, dword [ebx + 0x194]
cdq
mov esi, 6
idiv esi
mov eax, dword [esp + 0x70]
xor esi, esi
add eax, edx
mov dword [esp + 0x60], eax
mov eax, edi
and eax, 1
or eax, dword [esp + 0x74]
add eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x24f58]
add eax, 0xffffffe7
mov dword [esp + 0x68], eax
test ebp, ebp
je 0x1015eb72
push edi
push dword [esp + 0x14]
mov ecx, ebx
call fcn.10130e90
mov esi, eax
cmp ebp, 1
jne 0x1015eb2a
movzx edx, word [ebx + 0x18]
mov eax, dword [esp + 0x10]
add edx, eax
movzx ecx, word [ebx + 0x1a]
and edx, 0xf
add edx, edx
add ecx, edi
and ecx, 0xf
movsx ebp, byte [ecx + edx*8 + 0x102b1928]
jmp 0x1015eb45
cmp ebp, 9
jne 0x1015eb38
mov eax, dword [esp + 0x60]
movsx ebp, byte [eax]
jmp 0x1015eb41
mov ecx, dword [esp + 0x50]
shr ebp, cl
and ebp, 3
mov eax, dword [esp + 0x10]
movzx ecx, word [ebx + 0x5483c]
mov edx, eax
movzx eax, word [ebx + 0x1e]
shr edx, cl
imul edx, eax
mov eax, edi
shr eax, cl
add edx, eax
lea ecx, [edx*4]
mov edx, dword [esp + 0x68]
add ecx, ebp
mov ebp, dword [ebx + 0x194]
jmp 0x1015eb7a
mov edx, eax
lea eax, [ecx + edi]
lea ecx, [esi + eax*4]
mov eax, dword [ebx + 8]
movzx eax, word [eax + ecx*2]
movzx ecx, ax
cmp ecx, edx
ja 0x1015ebe8
sub ecx, dword [ebx + esi*4 + 0x20f38]
mov eax, 0
cmovns eax, ecx
inc dword [esp + esi*4 + 0x38]
add dword [esp + esi*4 + 0x28], eax
test ebp, ebp
jne 0x1015ebad
mov ecx, dword [esp + 0x54]
inc esi
cmp esi, 4
jb 0x1015eb74
mov ecx, dword [esp + 0x54]
inc edi
mov esi, dword [esp + 0x14]
cmp edi, dword [esp + 0x48]
jb 0x1015eab0
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
movzx eax, word [ebx + 0x16]
inc ebp
add ecx, eax
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], ecx
cmp ebp, eax
jae 0x1015ec16
mov edi, dword [esp + 0x58]
jmp 0x1015ea75
mov edx, dword [esp + 0x48]
movups xmm2, xmmword [esp + 0xf8]
mov esi, dword [esp + 0x14]
movups xmm5, xmmword [esp + 0x98]
mov eax, dword [esp + 0x20]
movups xmm6, xmmword [esp + 0x78]
movups xmm7, xmmword [esp + 0x88]
jmp 0x1015ecfb
movups xmm7, xmmword [esp + 0x88]
movups xmm6, xmmword [esp + 0x78]
movups xmm5, xmmword [esp + 0x98]
movups xmm2, xmmword [esp + 0x28]
add edx, 8
movaps xmm4, xmmword [0x103f03a0]
xorps xmm3, xmm3
movq xmm0, xmm2
unpckhpd xmm2, xmm2
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm0
cmpltpd xmm1, xmm3
andps xmm1, xmm4
addpd xmm1, xmm0
movq xmm0, xmm2
movups xmm2, xmmword [esp + 0x38]
cvtdq2pd xmm0, xmm0
addpd xmm6, xmm1
movaps xmm1, xmm0
cmpltpd xmm1, xmm3
movups xmmword [esp + 0x78], xmm6
andps xmm1, xmm4
addpd xmm1, xmm0
movq xmm0, xmm2
unpckhpd xmm2, xmm2
cvtdq2pd xmm0, xmm0
addpd xmm7, xmm1
movaps xmm1, xmm0
cmpltpd xmm1, xmm3
movups xmmword [esp + 0xb8], xmm6
andps xmm1, xmm4
addpd xmm1, xmm0
movq xmm0, xmm2
cvtdq2pd xmm0, xmm0
addpd xmm5, xmm1
movaps xmm2, xmm0
cmpltpd xmm2, xmm3
movups xmmword [esp + 0x88], xmm7
andps xmm2, xmm4
addpd xmm2, xmm0
movups xmm0, xmmword [esp + 0xf8]
movups xmmword [esp + 0xc8], xmm7
addpd xmm2, xmm0
movups xmmword [esp + 0x98], xmm5
movups xmmword [esp + 0xd8], xmm5
movups xmmword [esp + 0xf8], xmm2
movups xmmword [esp + 0xe8], xmm2
mov dword [esp + 0x18], edx
nop
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x1c]
cmp edx, esi
jb 0x1015ea52
mov ebp, dword [esp + 0x24]
add ebp, dword [esp + 0x5c]
add ecx, 8
add eax, 8
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
cmp ecx, edi
jb 0x1015ea40
lea ecx, [ebx + 0x25004]
xorps xmm4, xmm4
ucomisd xmm6, xmm4
lahf
test ah, 0x44
jnp 0x1015ed54
divsd xmm5, xmm6
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm5
movss dword [ecx], xmm0
movsd xmm1, qword [esp + 0xc0]
ucomisd xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1015ed80
movsd xmm0, qword [esp + 0xe0]
divsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebx + 0x25008], xmm0
ucomisd xmm7, xmm4
lahf
test ah, 0x44
jnp 0x1015ed9d
divsd xmm2, xmm7
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm2
movss dword [ebx + 0x2500c], xmm0
movsd xmm1, qword [esp + 0xd0]
xorps xmm5, xmm5
movss xmm3, dword [0x102c6198]
ucomisd xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1015edd4
movsd xmm0, qword [esp + 0xf0]
divsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebx + 0x25010], xmm0
mov eax, dword [ebx + 0xe94]
movss xmm2, dword [0x103ef910]
test eax, eax
je 0x1015f095
movss xmm1, dword [ebx + 0x24ff4]
ucomiss xmm1, xmm3
lahf
test ah, 0x44
jnp 0x1015f08f
mov esi, dword [ebx + 0x194]
lea edi, [ebx + 0x24f76]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x48], eax
movups xmmword [esp + 0x38], xmm0
nop
and eax, 7
mov edx, esi
lea ecx, [eax*4]
movzx eax, word [edi - 2]
shr edx, cl
and edx, 3
mov ebp, dword [ebx + edx*4 + 0x20f38]
sub eax, ebp
test eax, eax
jle 0x1015ee46
add dword [esp + edx*4 + 0x28], eax
movzx eax, word [edi]
or ecx, 2
inc dword [esp + edx*4 + 0x38]
shr esi, cl
and esi, 3
mov ecx, dword [ebx + esi*4 + 0x20f38]
sub eax, ecx
mov dword [esp + 0x14], ecx
test eax, eax
jle 0x1015ee6a
add dword [esp + esi*4 + 0x28], eax
movzx ecx, word [edi + 2]
inc dword [esp + esi*4 + 0x38]
sub ecx, ebp
test ecx, ecx
jle 0x1015ee7c
add dword [esp + edx*4 + 0x28], ecx
movzx ecx, word [edi + 4]
sub ecx, dword [esp + 0x14]
inc dword [esp + edx*4 + 0x38]
test ecx, ecx
jle 0x1015ee90
add dword [esp + esi*4 + 0x28], ecx
movzx eax, word [edi + 6]
inc dword [esp + esi*4 + 0x38]
sub eax, ebp
test eax, eax
jle 0x1015eea2
add dword [esp + edx*4 + 0x28], eax
movzx eax, word [edi + 8]
mov ecx, dword [esp + 0x14]
sub eax, ecx
inc dword [esp + edx*4 + 0x38]
test eax, eax
jle 0x1015eeb8
add dword [esp + esi*4 + 0x28], eax
movzx eax, word [edi + 0xa]
inc dword [esp + esi*4 + 0x38]
sub eax, ebp
test eax, eax
jle 0x1015eeca
add dword [esp + edx*4 + 0x28], eax
movzx eax, word [edi + 0xc]
inc dword [esp + edx*4 + 0x38]
sub eax, ecx
test eax, eax
jle 0x1015eedc
add dword [esp + esi*4 + 0x28], eax
mov eax, dword [esp + 0x48]
add edi, 0x10
inc dword [esp + esi*4 + 0x38]
inc eax
mov esi, dword [ebx + 0x194]
mov dword [esp + 0x48], eax
cmp eax, 8
jb 0x1015ee20
cmp dword [ebx + 0x83dac], 0x1016c260
jne 0x1015ef34
mov dword [ebx + 0x25010], 0x3f800000
mov dword [ebx + 0x2500c], 0x3f800000
mov dword [ebx + 0x25008], 0x3f800000
mov dword [ebx + 0x25004], 0x3f800000
jmp 0x1015f08f
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x1015f05e
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x1015f05e
mov esi, dword [esp + 0x30]
test esi, esi
je 0x1015f05e
mov edi, dword [esp + 0x34]
test edi, edi
je 0x1015f05e
mov eax, dword [esp + 0x38]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
mov eax, dword [esp + 0x3c]
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
movss dword [ebx + 0x25004], xmm1
addsd xmm0, qword [eax*8 + 0x103f0390]
mov eax, dword [esp + 0x40]
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edx
shr edx, 0x1f
addsd xmm0, qword [edx*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
movss dword [ebx + 0x25008], xmm1
addsd xmm0, qword [eax*8 + 0x103f0390]
mov eax, dword [esp + 0x44]
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, esi
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
movss dword [ebx + 0x2500c], xmm1
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtpd2ps xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, edi
shr edi, 0x1f
addsd xmm0, qword [edi*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebx + 0x25010], xmm1
jmp 0x1015f08f
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jnp 0x1015f088
movss xmm0, dword [ebx + 0x24ffc]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x1015f088
movups xmm0, xmmword [ebx + 0x24ff4]
movups xmmword [ebx + 0x25004], xmm0
jmp 0x1015f08f
or dword [ebx + 0xf34], 4
mov eax, dword [ebx + 0xe94]
cmp dword [ebx + 0x83dac], 0x1016c260
jne 0x1015f116
test eax, eax
jne 0x1015f116
cmp dword [esp + 0x4c], eax
jne 0x1015f116
movss xmm1, dword [ebx + 0x24ff4]
movss xmm0, dword [0x102c5f9c]
comiss xmm1, xmm0
jbe 0x1015f116
movss xmm3, dword [ebx + 0x24ff8]
comiss xmm3, xmm0
jbe 0x1015f116
movss xmm4, dword [ebx + 0x24ffc]
comiss xmm4, xmm0
jbe 0x1015f116
movss xmm0, dword [ebx + 0x25004]
divss xmm0, xmm1
movss dword [ebx + 0x25004], xmm0
movss xmm0, dword [ebx + 0x25008]
divss xmm0, xmm3
movss dword [ebx + 0x25008], xmm0
movss xmm0, dword [ebx + 0x2500c]
divss xmm0, xmm4
movss dword [ebx + 0x2500c], xmm0
movss xmm1, dword [ebx + 0x25008]
ucomiss xmm1, xmm5
lahf
test ah, 0x44
jp 0x1015f134
mov dword [ebx + 0x25008], 0x3f800000
movaps xmm1, xmm2
movss xmm0, dword [ebx + 0x25010]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x1015f159
cmp dword [ebx + 0x190], 4
jl 0x1015f151
movaps xmm1, xmm2
movss dword [ebx + 0x25010], xmm1
movss xmm0, dword [ebx + 0xe80]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x1015f171
mov ecx, ebx
call fcn.10162fc0
mov eax, dword [ebx + 0x24f58]
sub eax, dword [ebx + 0x24f50]
cmp dword [ebx + 0xe8c], 0
mov dword [ebx + 0x24f58], eax
movss xmm4, dword [ebx + 0x25004]
movss xmm5, dword [ebx + 0x25008]
movss xmm6, dword [ebx + 0x2500c]
movss xmm7, dword [ebx + 0x25010]
cvtps2pd xmm4, xmm4
cvtps2pd xmm5, xmm5
movaps xmm0, xmm4
minsd xmm0, qword [0x102aa978]
cvtps2pd xmm6, xmm6
movaps xmm1, xmm5
minsd xmm1, xmm0
movaps xmm0, xmm6
cvtps2pd xmm7, xmm7
minsd xmm0, xmm1
xorps xmm1, xmm1
movaps xmm2, xmm7
movaps xmm3, xmm7
minsd xmm2, xmm0
movaps xmm0, xmm4
maxsd xmm0, xmm1
movaps xmm1, xmm5
maxsd xmm1, xmm0
movaps xmm0, xmm6
maxsd xmm0, xmm1
maxsd xmm3, xmm0
jne 0x1015f1fa
movaps xmm3, xmm2
divsd xmm4, xmm3
movsd xmm1, qword [0x103efc40]
xorps xmm2, xmm2
cvtpd2ps xmm0, xmm4
cvtsi2sd xmm2, eax
shr eax, 0x1f
movss dword [ebx + 0x25004], xmm0
cvtps2pd xmm0, xmm0
addsd xmm2, qword [eax*8 + 0x103f0390]
mulsd xmm0, xmm1
divsd xmm5, xmm3
divsd xmm0, xmm2
divsd xmm6, xmm3
cvtpd2ps xmm0, xmm0
divsd xmm7, xmm3
movss dword [esp + 0xa8], xmm0
cvtpd2ps xmm0, xmm5
movss dword [ebx + 0x25008], xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
divsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp + 0xac], xmm0
cvtpd2ps xmm0, xmm6
movss dword [ebx + 0x2500c], xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
divsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp + 0xb0], xmm0
cvtpd2ps xmm0, xmm7
movss dword [ebx + 0x25010], xmm0
cvtps2pd xmm0, xmm0
mov ecx, dword [ebx + 0x194]
mulsd xmm0, xmm1
divsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp + 0xb4], xmm0
cmp ecx, 0x3e8
jbe 0x1015f3a3
mov eax, dword [ebx + 0x20f48]
inc eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x1015f3a3
mov eax, dword [ebx + 0x20f4c]
inc eax
and eax, 0xfffffffe
cmp eax, 2
jne 0x1015f3a3
mov eax, dword [ebx + 0x20f50]
and ecx, 3
xor edx, edx
add dword [ebx + ecx*4 + 0x20f38], eax
mov eax, 1
div dword [ebx + 0x20f4c]
mov ecx, dword [ebx + 0x194]
shr ecx, 2
and ecx, 3
mov eax, dword [ebx + edx*4 + 0x20f50]
xor edx, edx
add dword [ebx + ecx*4 + 0x20f38], eax
mov eax, 1
div dword [ebx + 0x20f48]
mov ecx, dword [ebx + 0x194]
imul edx, dword [ebx + 0x20f4c]
shr ecx, 4
and ecx, 3
mov eax, dword [ebx + edx*4 + 0x20f50]
xor edx, edx
add dword [ebx + ecx*4 + 0x20f38], eax
mov eax, 1
div dword [ebx + 0x20f48]
mov esi, dword [ebx + 0x20f4c]
mov eax, 1
mov ecx, edx
mov edi, dword [ebx + 0x194]
xor edx, edx
imul ecx, esi
div esi
shr edi, 6
add ecx, edx
and edi, 3
mov eax, dword [ebx + ecx*4 + 0x20f50]
add dword [ebx + edi*4 + 0x20f38], eax
mov dword [ebx + 0x20f4c], 0
mov dword [ebx + 0x20f48], 0
movzx eax, word [ebx + 0x1c]
lea ecx, [esp + 0xa8]
movzx ebp, word [ebx + 0x1e]
imul ebp, eax
mov eax, dword [ebx]
push ecx
mov ecx, ebx
mov dword [esp + 0x54], ebp
call dword [eax + 0x40]
movsd xmm0, qword [ebx + 0xe18]
lea esi, [ebx + 0xe18]
movsd xmm1, qword [0x103efa68]
ucomisd xmm0, xmm1
mov dword [esp + 0x18], esi
lahf
test ah, 0x44
jp 0x1015f3fb
movsd xmm0, qword [ebx + 0xe28]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1015f6a2
cmp dword [ebx + 0x190], 3
jne 0x1015f6a2
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], edx
movsd xmm0, qword [esi]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1015f684
lea eax, [ebp*2]
mov ecx, ebx
push eax
call fcn.1016c170
mov edi, eax
mov ecx, ebx
push str.scale_colors__
push edi
mov dword [esp + 0x1c], edi
call fcn.1016c200
xor ecx, ecx
test ebp, ebp
je 0x1015f466
mov edx, dword [esp + 0x1c]
mov eax, dword [ebx + 8]
lea edx, [edx + 8]
mov ax, word [edx + eax - 8]
mov word [edi + ecx*2], ax
inc ecx
cmp ecx, ebp
jb 0x1015f452
movzx eax, word [ebx + 0x1c]
xor ecx, ecx
xor ebp, ebp
cmp cx, ax
jae 0x1015f668
mov ecx, eax
nop dword [eax]
mov eax, dword [esp + 0x18]
movzx esi, cx
movd xmm0, ebp
cvtdq2pd xmm0, xmm0
movsd xmm2, qword [eax]
mov eax, ebp
movd xmm1, esi
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
mulsd xmm1, qword [0x103efa18]
movsd qword [esp + 0x60], xmm2
subsd xmm0, xmm1
mulsd xmm0, xmm2
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x24], xmm0
call fcn.1026acc0
lea ecx, [esi - 2]
mov dword [esp + 0x5c], eax
cmp eax, ecx
ja 0x1015f651
movss xmm1, dword [esp + 0x24]
mov ecx, eax
movd xmm0, eax
xor edi, edi
movzx eax, word [ebx + 0x1e]
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x103f0390]
xor ecx, ecx
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [esp + 0x24], xmm1
cmp cx, ax
jae 0x1015f651
mov ecx, eax
nop
movzx esi, cx
mov eax, edi
movd xmm0, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
movd xmm1, esi
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtdq2pd xmm1, xmm1
mulsd xmm1, qword [0x103efa18]
subsd xmm0, xmm1
mulsd xmm0, qword [esp + 0x60]
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x4c], xmm0
call fcn.1026acc0
movsd xmm0, qword [esp + 0x60]
lea ecx, [esi - 2]
mov edx, eax
movsd qword [esp + 0x60], xmm0
cmp edx, ecx
ja 0x1015f642
mov ecx, dword [esp + 0x14]
shr eax, 0x1f
movd xmm0, edx
cvtdq2pd xmm0, xmm0
movss xmm4, dword [esp + 0x4c]
addsd xmm0, qword [eax*8 + 0x103f0390]
movss xmm3, dword [0x103ef910]
mov eax, esi
imul eax, dword [esp + 0x5c]
cvtpd2ps xmm0, xmm0
add eax, edx
lea ecx, [ecx + eax*2]
movzx eax, word [ecx + 2]
subss xmm4, xmm0
movd xmm2, eax
movzx eax, word [ecx]
subss xmm3, xmm4
cvtdq2ps xmm2, xmm2
movd xmm0, eax
movzx eax, word [ecx + esi*2 + 2]
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm4
mulss xmm0, xmm3
movd xmm1, eax
movzx eax, word [ecx + esi*2]
addss xmm2, xmm0
imul esi, ebp
movss xmm0, dword [0x103ef910]
subss xmm0, dword [esp + 0x24]
cvtdq2ps xmm1, xmm1
add esi, edi
mulss xmm2, xmm0
movd xmm0, eax
mov eax, dword [esp + 0x20]
cvtdq2ps xmm0, xmm0
lea ecx, [eax + esi*4]
mov eax, dword [ebx + 8]
mulss xmm1, xmm4
mulss xmm0, xmm3
addss xmm1, xmm0
mulss xmm1, dword [esp + 0x24]
addss xmm2, xmm1
cvttss2si edx, xmm2
mov word [eax + ecx*2], dx
mov eax, dword [esp + 0x18]
movsd xmm0, qword [eax]
movsd qword [esp + 0x60], xmm0
movzx eax, word [ebx + 0x1e]
inc edi
mov ecx, eax
cmp edi, eax
jb 0x1015f520
movzx eax, word [ebx + 0x1c]
inc ebp
mov ecx, eax
cmp ebp, eax
jb 0x1015f480
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push edi
mov ecx, ebx
call fcn.10168850
movsd xmm1, qword [0x103efa68]
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
add edx, 4
add ecx, 2
add esi, 0x10
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edx
cmp edx, 8
jb 0x1015f414
mov eax, dword [ebx + 0x83d64]
pop edi
pop esi
pop ebp
test eax, eax
je 0x1015f6c7
push 2
push 1
push 0x200
push dword [ebx + 0x83d68]
call eax
add esp, 0x10
test eax, eax
jne 0x1015f6e6
pop ebx
add esp, 0xf8
ret
push 0x103fa020
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 6
push eax
call fcn.1026cad5
push 0x103fa020
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 6
push eax
call fcn.1026cad5
int3