Function at 0x1006ea90
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd8
mov eax, dword [0x10150380]
xor eax, esp
mov dword [esp + 0xd4], eax
push esi
mov esi, dword [0x1017bfd8]
push edi
mov edi, edx
mov dword [esp + 0x18], esi
mov edx, ecx
mov dword [esp + 0x30], edi
mov eax, dword [esi + 0x19e4]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
mov byte [eax + 0x7c], 1
mov eax, dword [esi + 0x19e4]
mov dword [esp + 0x20], eax
cmp byte [eax + 0x7f], 0
je 0x1006eaf9
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xd4]
xor ecx, esp
call fcn.1010fe2d
mov esp, ebp
pop ebp
ret
movss xmm1, dword [esi + 0x153c]
xorps xmm0, xmm0
addss xmm1, xmm1
addss xmm1, dword [esi + 0x1900]
movss dword [esp + 0x4c], xmm1
test cl, 0x10
je 0x1006eb20
xorps xmm2, xmm2
jmp 0x1006eb2b
movaps xmm2, xmm1
addss xmm2, dword [esi + 0x1550]
movss xmm3, dword [eax + 0x16c]
comiss xmm0, xmm3
jbe 0x1006ebb1
movss xmm4, dword [eax + 0xc8]
mov esi, dword [eax + 0x1bc]
movss xmm1, dword [eax + 0x214]
subss xmm4, dword [eax + 0xc]
subss xmm1, dword [eax + 0xc]
test esi, esi
je 0x1006eb9d
mov edx, dword [esi + 0xc]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
cmp edx, dword [esi + 0x2c]
jge 0x1006f4c4
movss xmm1, dword [esi + 0x18]
lea ecx, [edx*8]
subss xmm1, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
sub ecx, edx
mov edx, dword [esp + 0x34]
mulss xmm1, dword [eax + ecx*4]
mov eax, dword [esp + 0x20]
addss xmm1, dword [esi + 0x14]
subss xmm1, dword [eax + 0x3c]
mov esi, dword [esp + 0x18]
subss xmm1, xmm4
addss xmm3, xmm1
maxss xmm3, dword [0x10145040]
cvttss2si eax, xmm3
movd xmm0, eax
mov eax, edx
mov dword [esp + 0x48], eax
cvtdq2ps xmm0, xmm0
subss xmm0, xmm2
movss dword [esp + 0x1c], xmm0
cmp edx, 0xffffffff
jae 0x1006ebea
mov cl, byte [eax]
test cl, cl
je 0x1006ebea
inc eax
cmp cl, 0x23
jne 0x1006ebe1
cmp byte [eax], cl
je 0x1006ebea
mov dword [esp + 0x48], eax
cmp eax, 0xffffffff
jb 0x1006ebd1
call fcn.1004d760
mov ecx, dword [esp + 0x34]
call fcn.1004d6e0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
test cl, 0x20
je 0x1006ec15
and ecx, 0xff9fffff
or ecx, 0x100008
mov dword [esp + 0x14], ecx
test cl, 8
jne 0x1006ec27
mov edx, ecx
mov ecx, edi
call fcn.10071a50
mov ecx, dword [esp + 0x14]
test ecx, 0x700000
jne 0x1006ec3c
mov eax, dword [esi + 0x2c44]
and eax, 0x700000
or ecx, eax
test ecx, 0x1800000
jne 0x1006ec51
mov eax, dword [esi + 0x2c44]
and eax, 0x1800000
or ecx, eax
test ecx, 0x6000000
jne 0x1006ec66
mov eax, dword [esi + 0x2c44]
and eax, 0x6000000
or ecx, eax
test ecx, 0x18000000
jne 0x1006ec7b
mov eax, dword [esi + 0x2c44]
and eax, 0x18000000
or ecx, eax
mov eax, dword [esi + 0x2c44]
and eax, 0xe00fffff
or ecx, eax
mov edx, ecx
mov dword [esp + 0x14], ecx
and edx, 0x700000
je 0x1006f4c4
lea eax, [edx - 1]
test edx, eax
jne 0x1006f4c4
mov edx, ecx
and edx, 0x18000000
je 0x1006f4c4
lea eax, [edx - 1]
test edx, eax
jne 0x1006f4c4
movss xmm6, dword [edi]
mov edx, ecx
movss xmm1, dword [edi + 4]
mov eax, ecx
movss xmm3, dword [edi + 8]
shr edx, 1
shr eax, 0x13
not dl
and eax, 0xffffff01
movss dword [esp + 0x78], xmm6
and edx, 0xffffff01
mov dword [esp + 0x50], eax
movzx eax, dl
add eax, 3
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], eax
movss dword [esp + 0x7c], xmm1
movss dword [esp + 0x80], xmm3
test dl, dl
je 0x1006ed1d
movss xmm0, dword [edi + 0xc]
movss dword [esp + 0x84], xmm0
jmp 0x1006ed28
mov dword [esp + 0x84], 0x3f800000
movss xmm7, dword [0x10144eac]
mov eax, ecx
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1006ed74
movss xmm2, dword [esp + 0x80]
lea eax, [esp + 0x80]
movss xmm1, dword [esp + 0x7c]
lea edx, [esp + 0x7c]
movss xmm0, dword [esp + 0x78]
lea ecx, [esp + 0x78]
push eax
call fcn.100428a0
mov ecx, dword [esp + 0x18]
add esp, 4
jmp 0x1006ee0c
mov eax, ecx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1006ee0c
comiss xmm3, xmm1
xorps xmm5, xmm5
movaps xmm2, xmm1
jbe 0x1006ed9f
movss xmm5, dword [0x10145324]
movaps xmm2, xmm3
movaps xmm3, xmm1
comiss xmm2, xmm6
movaps xmm4, xmm6
jbe 0x1006edbc
movss xmm0, dword [0x10145310]
movaps xmm4, xmm2
subss xmm0, xmm5
movaps xmm2, xmm6
movaps xmm5, xmm0
movaps xmm0, xmm2
movss dword [esp + 0x80], xmm4
minss xmm0, xmm3
movaps xmm1, xmm4
subss xmm2, xmm3
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x10145108]
addss xmm0, xmm7
divss xmm2, xmm0
movaps xmm0, xmm4
addss xmm0, xmm7
addss xmm2, xmm5
divss xmm1, xmm0
andps xmm2, xmmword [0x10145710]
movss dword [esp + 0x78], xmm2
movss dword [esp + 0x7c], xmm1
movss xmm0, dword [esp + 0x78]
xorps xmm5, xmm5
comiss xmm0, xmm5
movss xmm2, dword [0x10145318]
movss xmm1, dword [0x10144fec]
jb 0x1006ee2f
movaps xmm4, xmm1
jmp 0x1006ee32
movaps xmm4, xmm2
movss xmm0, dword [esp + 0x78]
movss xmm3, dword [0x10145264]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si esi, xmm0
movss xmm0, dword [esp + 0x7c]
comiss xmm0, xmm5
mov dword [esp + 0x88], esi
jb 0x1006ee63
movaps xmm4, xmm1
jmp 0x1006ee66
movaps xmm4, xmm2
movss xmm0, dword [esp + 0x7c]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si edx, xmm0
movss xmm0, dword [esp + 0x80]
comiss xmm0, xmm5
mov dword [esp + 0x8c], edx
jb 0x1006ee92
movaps xmm4, xmm1
jmp 0x1006ee95
movaps xmm4, xmm2
movss xmm0, dword [esp + 0x80]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x84]
comiss xmm0, xmm5
mov dword [esp + 0x90], eax
jae 0x1006eec2
movaps xmm1, xmm2
movss xmm0, dword [esp + 0x84]
mulss xmm0, xmm3
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
addss xmm0, xmm1
cvttss2si edi, xmm0
mov dword [esp + 0x94], edi
test ecx, 0x300000
je 0x1006f269
test cl, 0x20
jne 0x1006f269
mov edx, dword [esp + 0x38]
test ecx, 0x1000000
movss xmm4, dword [esp + 0x1c]
mov ecx, str.M:000
movaps xmm1, xmm4
mov edi, dword [0x1017bfd8]
push ecx
lea eax, [edx - 1]
movd xmm2, eax
mov eax, dword [esp + 0x1c]
cvtdq2ps xmm2, xmm2
push 0
movss xmm3, dword [eax + 0x1550]
movaps xmm0, xmm2
mulss xmm0, xmm3
subss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm0, dword [0x10145040]
addss xmm3, xmm0
movss dword [esp + 0x24], xmm0
mulss xmm3, xmm2
movss xmm2, dword [edi + 0x1900]
subss xmm4, xmm3
cvttss2si eax, xmm4
movd xmm0, eax
mov eax, str.M:0.000
cvtdq2ps xmm0, xmm0
cmove eax, ecx
push eax
push ecx
mov ecx, dword [edi + 0x18fc]
lea eax, [esp + 0x38]
mov dword [esp], 0xbf800000
maxss xmm0, dword [0x10145040]
push eax
movss dword [esp + 0x70], xmm0
call fcn.1005fe90
movss xmm0, dword [esp + 0x28]
addss xmm0, dword [0x10145038]
movss xmm1, dword [esp + 0x1c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x1006efd9
xor esi, esi
jmp 0x1006efea
mov esi, dword [esp + 0x14]
and esi, 0x200000
neg esi
sbb esi, esi
neg esi
inc esi
mov eax, dword [edi + 0x19e4]
xorps xmm4, xmm4
ucomiss xmm1, xmm4
mov byte [eax + 0x7c], 1
mov ecx, dword [edi + 0x19e4]
mov dword [esp + 0x1c], ecx
lahf
test ah, 0x44
jp 0x1006f012
movss xmm1, dword [ecx + 0x220]
lea edi, [ecx + 0x180]
movss dword [ecx + 0x16c], xmm1
mov eax, dword [edi + 4]
mov ecx, dword [edi]
cmp ecx, eax
jne 0x1006f04d
inc ecx
test eax, eax
je 0x1006f038
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 4]
jmp 0x1006f03d
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.10053900
xorps xmm4, xmm4
mov edx, dword [edi]
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x16c]
mov dword [ecx + edx*4], eax
inc dword [edi]
xor edi, edi
cmp dword [esp + 0x38], edi
jbe 0x1006f25f
mov eax, dword [esp + 0x14]
mov ecx, eax
and ecx, 0x1000000
and eax, 8
shl esi, 4
mov dword [esp + 0x54], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], esi
nop dword [eax + eax]
test edi, edi
jle 0x1006f0a8
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x1550]
call fcn.1004da50
lea eax, [edi + 1]
cmp eax, dword [esp + 0x38]
jne 0x1006f13f
movss xmm0, dword [esp + 0x5c]
mov ecx, dword [0x1017bfd8]
ucomiss xmm0, xmm4
mov eax, dword [ecx + 0x19e4]
mov byte [eax + 0x7c], 1
mov ecx, dword [ecx + 0x19e4]
mov dword [esp + 0x24], ecx
lahf
test ah, 0x44
jp 0x1006f0e6
movss xmm0, dword [ecx + 0x220]
lea esi, [ecx + 0x180]
movss dword [ecx + 0x16c], xmm0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
cmp edx, ecx
jne 0x1006f127
inc edx
mov dword [esp + 0x3c], edx
test ecx, ecx
je 0x1006f115
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x3c]
sar eax, 1
add eax, ecx
jmp 0x1006f11a
mov eax, 8
cmp eax, edx
mov ecx, esi
cmovg edx, eax
push edx
call fcn.10053900
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x16c]
mov dword [ecx + edx*4], eax
inc dword [esi]
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x54], 0
je 0x1006f1b0
cmp byte [esp + 0x50], 0
je 0x1006f152
xorps xmm0, xmm0
jmp 0x1006f15a
movss xmm0, dword [0x10145040]
movss xmm3, dword [0x10144f04]
lea eax, [esp + 0x24]
push ecx
push dword [esi + 0x10142a90]
mov ecx, dword [edi*4 + 0x10142ac0]
mov edx, 4
push eax
lea eax, [esp + 0x48]
movss dword [esp + 0x30], xmm0
push eax
lea eax, [esp + 0x88]
mov dword [esp + 0x4c], 0
lea eax, [eax + edi*4]
push eax
call fcn.100671b0
mov cl, byte [esp + 0x26]
add esp, 0x14
or cl, al
or byte [esp + 0x13], cl
mov byte [esp + 0x12], cl
jmp 0x1006f1ff
movss xmm3, dword [0x10145040]
xor ecx, ecx
cmp byte [esp + 0x50], cl
mov eax, 0xff
push ecx
push dword [esi + 0x10142a38]
cmovne eax, ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [edi*4 + 0x10142ac0]
xor edx, edx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x98]
lea eax, [eax + edi*4]
push eax
call fcn.100671b0
add esp, 0x14
or byte [esp + 0x12], al
cmp dword [esp + 0x28], 0
jne 0x1006f24a
mov eax, dword [0x1017bfd8]
cmp byte [eax + 0x3db], 0
mov ecx, dword [eax + 0x19e4]
mov dword [esp + 0x24], ecx
je 0x1006f24a
mov ecx, 8
call fcn.10044fc0
test al, al
je 0x1006f24a
push ecx
mov ecx, dword [esp + 0x28]
push str.context
call fcn.100448e0
test eax, eax
je 0x1006f4c4
mov ecx, eax
call fcn.1004dde0
inc edi
add esi, 4
xorps xmm4, xmm4
mov dword [esp + 0x1c], esi
cmp edi, dword [esp + 0x38]
jl 0x1006f090
call fcn.1004d110
jmp 0x1006f4d3
test ecx, 0x400000
je 0x1006f4dc
test cl, 0x20
jne 0x1006f4dc
cmp byte [esp + 0x40], 0
mov ecx, 0xff
je 0x1006f2de
test edi, edi
jns 0x1006f292
xor edi, edi
jmp 0x1006f297
cmp edi, ecx
cmovg edi, ecx
test eax, eax
jns 0x1006f29f
xor eax, eax
jmp 0x1006f2a7
cmp eax, 0xff
cmovg eax, ecx
test edx, edx
jns 0x1006f2af
xor edx, edx
jmp 0x1006f2b4
cmp edx, ecx
cmovg edx, ecx
test esi, esi
jns 0x1006f2bc
xor esi, esi
jmp 0x1006f2c1
cmp esi, ecx
cmovg esi, ecx
push edi
push eax
push edx
push esi
push 0x101428b8
lea eax, [esp + 0xac]
push 0x40
push eax
call fcn.100421a0
add esp, 0x1c
jmp 0x1006f322
test eax, eax
jns 0x1006f2e6
xor eax, eax
jmp 0x1006f2ee
cmp eax, 0xff
cmovg eax, ecx
test edx, edx
jns 0x1006f2f6
xor edx, edx
jmp 0x1006f2fb
cmp edx, ecx
cmovg edx, ecx
test esi, esi
jns 0x1006f303
xor esi, esi
jmp 0x1006f308
cmp esi, ecx
cmovg esi, ecx
push eax
push edx
push esi
push 0x101428dc
lea eax, [esp + 0xa8]
push 0x40
push eax
call fcn.100421a0
add esp, 0x18
movss xmm4, dword [esp + 0x1c]
ucomiss xmm4, dword [0x10144e98]
mov ecx, dword [0x1017bfd8]
mov eax, dword [ecx + 0x19e4]
mov byte [eax + 0x7c], 1
mov ecx, dword [ecx + 0x19e4]
lahf
mov dword [esp + 0x28], ecx
test ah, 0x44
jp 0x1006f357
movss xmm4, dword [ecx + 0x220]
lea esi, [ecx + 0x180]
movss dword [ecx + 0x16c], xmm4
mov edi, dword [esi + 4]
mov ecx, dword [esi]
cmp ecx, edi
jne 0x1006f390
inc ecx
test edi, edi
je 0x1006f37e
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1006f383
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.10053900
mov edx, dword [esi]
mov eax, dword [esp + 0x28]
mov ecx, dword [esi + 8]
push 0
push 0
mov eax, dword [eax + 0x16c]
mov dword [ecx + edx*4], eax
lea eax, [esp + 0x30]
inc dword [esi]
lea edx, [esp + 0xa0]
push 6
push eax
push 0x40
mov ecx, str.Text
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call fcn.1006ad90
add esp, 0x14
test al, al
je 0x1006f48a
mov byte [esp + 0x12], 1
lea ecx, [esp + 0x98]
nop dword [eax]
mov al, byte [ecx]
cmp al, 0x23
je 0x1006f3fe
cmp al, 0x20
je 0x1006f3fe
cmp al, 9
jne 0x1006f401
inc ecx
jmp 0x1006f3f0
cmp byte [esp + 0x40], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
je 0x1006f464
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x94]
push eax
push str._02X_02X_02X_02X
push ecx
call fcn.100409d0
add esp, 0x18
jmp 0x1006f48a
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x90]
push eax
push str._02X_02X_02X
push ecx
call fcn.100409d0
add esp, 0x14
test byte [esp + 0x14], 8
jne 0x1006f4d3
mov eax, dword [0x1017bfd8]
cmp byte [eax + 0x3db], 0
mov esi, dword [eax + 0x19e4]
je 0x1006f4d3
mov ecx, 8
call fcn.10044fc0
test al, al
je 0x1006f4d3
push ecx
push str.context
mov ecx, esi
call fcn.100448e0
test eax, eax
jne 0x1006f4cc
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov ecx, eax
call fcn.1004dde0
call fcn.1004d110
mov ecx, dword [esp + 0x14]
xor esi, esi
test cl, 0x10
jne 0x1006f765
mov edi, dword [esp + 0x18]
test cl, 0x20
jne 0x1006f504
movss xmm1, dword [edi + 0x1550]
xorps xmm0, xmm0
call fcn.1004da50
mov ecx, dword [esp + 0x14]
cmp byte [esp + 0x40], 0
mov eax, dword [esp + 0x30]
je 0x1006f516
movss xmm1, dword [eax + 0xc]
jmp 0x1006f51e
movss xmm1, dword [0x10145040]
movss xmm0, dword [eax]
lea edx, [esp + 0x60]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [eax + 4]
push esi
movss dword [esp + 0x68], xmm0
movss xmm0, dword [eax + 8]
push esi
push ecx
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x78], xmm1
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
call fcn.10070e20
add esp, 0xc
test al, al
je 0x1006f5e4
test byte [esp + 0x14], 4
jne 0x1006f5e4
movups xmm0, xmmword [esp + 0x60]
mov eax, dword [0x1017bfd8]
push ecx
movups xmmword [edi + 0x2c48], xmm0
push str.picker
mov ecx, dword [eax + 0x19e4]
call fcn.100448e0
mov ecx, eax
call fcn.1004dde0
mov eax, dword [esp + 0x20]
movss xmm1, dword [eax + 0x114]
movss xmm0, dword [eax + 0x120]
addss xmm0, dword [edi + 0x154c]
mov eax, dword [0x1017bfd8]
subss xmm1, dword [0x10145040]
movss dword [eax + 0x1aa8], xmm0
mov dword [eax + 0x1aac], esi
movss dword [eax + 0x1aa4], xmm1
mov dword [eax + 0x1ab0], esi
mov dword [eax + 0x1a88], 1
jmp 0x1006f5e9
mov eax, dword [0x1017bfd8]
test byte [esp + 0x14], 8
jne 0x1006f62c
cmp byte [eax + 0x3db], 0
mov edi, dword [eax + 0x19e4]
je 0x1006f62c
mov ecx, 8
call fcn.10044fc0
test al, al
je 0x1006f62c
push ecx
push str.context
mov ecx, edi
call fcn.100448e0
test eax, eax
jne 0x1006f625
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov ecx, eax
call fcn.1004dde0
mov ecx, str.picker
call fcn.1004e330
test al, al
je 0x1006f761
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + 0x19e4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
cmp ecx, eax
je 0x1006f693
push ecx
mov edx, eax
call fcn.1006e570
mov ecx, dword [0x1017bfd8]
add esp, 4
mov eax, dword [ecx + 0x19e4]
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x19e4]
cmp byte [eax + 0x7f], 0
jne 0x1006f693
xorps xmm1, xmm1
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], esi
call fcn.10044ce0
movss xmm0, dword [esp + 0x4c]
mov eax, dword [esp + 0x44]
mulss xmm0, dword [0x10145134]
and eax, 0x1f890002
mov ecx, dword [0x1017bfd8]
or eax, 0x240080
mov dword [esp + 0x44], eax
ucomiss xmm0, dword [0x10144e98]
mov eax, dword [ecx + 0x19e4]
mov byte [eax + 0x7c], 1
mov ecx, dword [ecx + 0x19e4]
mov dword [esp + 0x4c], ecx
lahf
test ah, 0x44
jp 0x1006f6e2
movss xmm0, dword [ecx + 0x220]
lea esi, [ecx + 0x180]
movss dword [ecx + 0x16c], xmm0
mov edi, dword [esi + 4]
mov ecx, dword [esi]
cmp ecx, edi
jne 0x1006f71b
inc ecx
test edi, edi
je 0x1006f709
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1006f70e
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.10053900
mov edx, dword [esi]
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x16c]
mov dword [ecx + edx*4], eax
mov ecx, 0x10142288
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
add eax, 0x2c48
inc dword [esi]
push eax
mov eax, dword [esp + 0x48]
push eax
call fcn.1006fe80
or byte [esp + 0x1a], al
add esp, 8
call fcn.1004d110
call fcn.1004e3b0
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x48]
cmp dword [esp + 0x34], edi
je 0x1006f796
test cl, cl
js 0x1006f796
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x1550]
call fcn.1004da50
push ecx
mov ecx, dword [esp + 0x38]
mov edx, edi
call fcn.1006e570
add esp, 4
cmp byte [esp + 0x12], 0
je 0x1006f8f9
test esi, esi
jne 0x1006f8f9
cmp byte [esp + 0x13], 0
jne 0x1006f7c7
movups xmm0, xmmword [esp + 0x88]
cvtdq2ps xmm0, xmm0
mulps xmm0, xmmword [0x10145460]
movups xmmword [esp + 0x78], xmm0
mov eax, dword [esp + 0x14]
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1006f804
movss xmm2, dword [esp + 0x80]
lea eax, [esp + 0x80]
movss xmm1, dword [esp + 0x7c]
lea edx, [esp + 0x7c]
movss xmm0, dword [esp + 0x78]
lea ecx, [esp + 0x78]
push eax
call fcn.100428a0
add esp, 4
mov eax, dword [esp + 0x14]
and eax, 0x10100000
cmp eax, 0x10100000
jne 0x1006f8bb
movss xmm2, dword [esp + 0x7c]
xorps xmm5, xmm5
movss xmm4, dword [esp + 0x80]
movaps xmm0, xmm2
comiss xmm4, xmm0
movss xmm3, dword [esp + 0x78]
movaps xmm1, xmm3
jbe 0x1006f849
movss xmm5, dword [0x10145324]
movaps xmm2, xmm4
movaps xmm4, xmm0
comiss xmm2, xmm1
jbe 0x1006f863
movss xmm0, dword [0x10145310]
movaps xmm3, xmm2
subss xmm0, xmm5
movaps xmm2, xmm1
movaps xmm5, xmm0
movaps xmm0, xmm2
movss dword [esp + 0x80], xmm3
minss xmm0, xmm4
movaps xmm1, xmm3
subss xmm2, xmm4
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x10145108]
addss xmm0, dword [0x10144eac]
divss xmm2, xmm0
movaps xmm0, xmm3
addss xmm0, dword [0x10144eac]
addss xmm2, xmm5
divss xmm1, xmm0
andps xmm2, xmmword [0x10145710]
movss dword [esp + 0x78], xmm2
movss dword [esp + 0x7c], xmm1
cmp byte [esp + 0x40], 0
mov edi, dword [esp + 0x30]
movss xmm0, dword [esp + 0x78]
movss dword [edi], xmm0
movss xmm0, dword [esp + 0x7c]
movss dword [edi + 4], xmm0
movss xmm0, dword [esp + 0x80]
movss dword [edi + 8], xmm0
je 0x1006f8fd
movss xmm0, dword [esp + 0x84]
movss dword [edi + 0xc], xmm0
jmp 0x1006f8fd
mov edi, dword [esp + 0x30]
mov eax, dword [0x1017bfd8]
mov ecx, dword [eax + 0x19e4]
mov eax, dword [ecx + 0x1c0]
test eax, eax
jle 0x1006f4c4
dec eax
mov dword [ecx + 0x1c0], eax
call fcn.1004d8b0
mov eax, dword [esp + 0x20]
test byte [eax + 0x110], 1
je 0x1006fa7e
test dword [esp + 0x14], 0x200
jne 0x1006fa7e
call fcn.100521b0
test al, al
je 0x1006fa7e
mov ecx, str._COL3F
mov byte [esp + 0x13], 0
call fcn.10052250
test eax, eax
je 0x1006f97b
mov eax, dword [eax]
mov byte [esp + 0x13], 1
mov byte [esp + 0x12], 1
movq xmm0, qword [eax]
movq qword [edi], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
mov ecx, str._COL4F
call fcn.10052250
mov ecx, eax
test ecx, ecx
je 0x1006f9a5
mov eax, dword [esp + 0x38]
shl eax, 2
push eax
push dword [ecx]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esp + 0x12], 1
jmp 0x1006f9b0
cmp byte [esp + 0x13], 0
je 0x1006fa55
test dword [esp + 0x14], 0x10000000
je 0x1006fa55
movss xmm2, dword [edi + 4]
movss xmm4, dword [edi + 8]
comiss xmm4, xmm2
movss xmm3, dword [edi]
jbe 0x1006f9e4
movss xmm5, dword [0x10145324]
movaps xmm0, xmm2
movaps xmm2, xmm4
movaps xmm4, xmm0
jmp 0x1006f9e7
xorps xmm5, xmm5
comiss xmm2, xmm3
jbe 0x1006fa04
movaps xmm0, xmm3
movaps xmm3, xmm2
movaps xmm2, xmm0
movss xmm0, dword [0x10145310]
subss xmm0, xmm5
movaps xmm5, xmm0
movaps xmm0, xmm4
movss dword [edi + 8], xmm3
minss xmm0, xmm2
movaps xmm1, xmm3
subss xmm2, xmm4
subss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x10145108]
addss xmm0, dword [0x10144eac]
divss xmm2, xmm0
movaps xmm0, xmm3
addss xmm0, dword [0x10144eac]
addss xmm2, xmm5
divss xmm1, xmm0
andps xmm2, xmmword [0x10145710]
movss dword [edi], xmm2
movss dword [edi + 4], xmm1
mov ecx, dword [0x1017bfd8]
cmp byte [ecx + 0x1cc0], 0
je 0x1006f4c4
cmp byte [ecx + 0x1cc1], 0
je 0x1006f4c4
mov byte [ecx + 0x1cc1], 0
jmp 0x1006fa84
mov ecx, dword [0x1017bfd8]
test esi, esi
je 0x1006faaa
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x1a04]
test eax, eax
je 0x1006faaa
cmp dword [edx + 0x1a2c], esi
mov esi, dword [esp + 0x20]
jne 0x1006faae
mov dword [esi + 0x10c], eax
jmp 0x1006faae
mov esi, dword [esp + 0x20]
mov dl, byte [esp + 0x12]
test dl, dl
je 0x1006fae9
mov eax, dword [ecx + 0x1a04]
cmp eax, dword [esi + 0x10c]
je 0x1006fad5
test eax, eax
je 0x1006fad5
cmp byte [ecx + 0x1cc0], 0
je 0x1006f4c4
mov byte [ecx + 0x1a17], 1
mov ecx, dword [ecx + 0x19e4]
or dword [ecx + 0x110], 4
mov ecx, dword [esp + 0xdc]
mov al, dl
pop edi
pop esi
xor ecx, esp
call fcn.1010fe2d
mov esp, ebp
pop ebp
ret