Function at 0x100f2103
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, dword [0x1021663c]
sub esp, 0x84
mov ecx, dword [eax + 0x10]
push ebx
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je case.0x100f4939.0
mov eax, dword [0x10216634]
cmp byte [eax + 0x34a8], 0
je case.0x100f4939.0
mov eax, dword [0x1021663c]
lea edx, [esp + 0x20]
push edx
lea edx, [esp + 0x34]
push edx
mov ecx, dword [eax + 0x5c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xb0]
call eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10217cb0]
mov dword [esp + 0x1c], 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x104eea24]
cmp eax, dword [ecx + 4]
jle 0x100f189b
push 0x104eea24
call fcn.1015fec1
add esp, 4
cmp dword [0x104eea24], 0xffffffff
jne 0x100f189b
push 0x104eea24
call fcn.1015fe70
add esp, 4
mov eax, dword [0x10216634]
test byte [eax + 0x34ac], 4
je 0x100f1c26
imul ecx, dword [0x104237e0], 0x54
cmp byte [ecx + eax + 0xb38], 0
je 0x100f1c26
mov ax, word [0x101e5304]
xor ebx, ebx
mov word [esp + 0x18], ax
mov al, byte [0x101e5306]
mov byte [esp + 0x1a], al
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 3
jl 0x100f18e0
xorps xmm0, xmm0
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x18]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x44], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f1920
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.100291a0
cmp dword [esp + 0x44], 0xf
lea edx, [esp + 0x30]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x30]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f1963
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x44]
cmp ecx, 0xf
jbe 0x100f19ad
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f19a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f19e1
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [esp + 0x20]
xorps xmm0, xmm0
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ecx - 0x157]
push 0x21
sar eax, 1
mov ecx, 0xe
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f1a52
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov ebx, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x34], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f1ab0
sub edx, dword [esp + 0x34]
push edx
push esi
call fcn.100291a0
mov ecx, ebx
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
cdq
push 0
sub eax, edx
push 0xa5000000
sar eax, 1
lea edx, [ebx - 0x157]
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f1b40
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8000000
call fcn.1014f520
mov eax, dword [esp + 0x20]
lea esi, [esp + 0x50]
add eax, 0xfffffeac
mov dword [esp + 0x30], 0x41b80000
cmp dword [esp + 0x64], 0xf
cmova esi, dword [esp + 0x50]
sub esp, 0x18
movd xmm0, eax
mov ecx, esp
mov eax, dword [0x10216968]
mov edx, esi
cvtdq2ps xmm0, xmm0
mov edi, dword [eax + 0x18]
lea ebx, [edx + 1]
movss dword [esp + 0x4c], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f1bc0
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc800f0d2
call fcn.1014f520
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x1c], 0x24
cmp ecx, 0xf
jbe 0x100f1c26
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f1c1c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
mov edx, dword [0x10217ca4]
test byte [eax + 0x34ac], 0x10
je case.0x100f2988.3460
mov ecx, dword [eax + 0xd60]
add eax, 0xd60
cmp ecx, 3
ja case.0x100f1c52.0
jmp dword [ecx*4 + 0x100f4cc8]
mov ecx, eax
call fcn.100be310
mov edx, dword [0x10217ca4]
jmp 0x100f1c6b
mov al, byte [eax + 0x20]
test al, al
je case.0x100f1c52.0
cmp byte [0x101e4dd7], 0
movq xmm0, qword [0x101e4dcc]
mov eax, dword [0x101e4dd4]
movq qword [esp + 0x30], xmm0
mov dword [esp + 0x38], eax
je 0x100f1dca
xor ebx, ebx
cmp edx, 2
jl 0x100f1da0
movaps xmm2, xmmword [0x101ed000]
mov ebx, 8
movaps xmm3, xmmword [0x101ed410]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ed0c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ed030]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
movd xmm0, dword [0x101e4dcc]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x30], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ed0c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
movd xmm0, dword [esp + 0x34]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444]
xorps xmm1, xmm0
movd dword [esp + 0x34], xmm1
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xc
jl 0x100f1da0
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f1df0
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f1e36
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f1e83
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f1e79
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f1eb7
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x30], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100f1f30
sub edx, dword [esp + 0x30]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x24], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x30], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f1f90
sub edx, dword [esp + 0x30]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x3c]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2020
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f20a0
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f1c52.0
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f20f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
add eax, 0xd3c
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x100f2118.3388
jmp dword [ecx*4 + 0x100f4cd8]
mov ecx, eax
call fcn.100be310
jmp 0x100f212b
mov al, byte [eax + 0x20]
test al, al
je case.0x100f2118.3388
mov ax, word [0x101e4ef8]
xor ebx, ebx
movq xmm0, qword [0x101e4ef0]
mov word [esp + 0x38], ax
mov al, byte [0x101e4efa]
mov byte [esp + 0x3a], al
movq qword [esp + 0x30], xmm0
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 0xb
jl 0x100f2157
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f21a0
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f21e6
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f2233
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f2229
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2267
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x3c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100f22e0
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x18], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x3c], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2340
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x30]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f23d0
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2450
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f2118.3388
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f24a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
add eax, 0xda8
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x100f24c8.3496
jmp dword [ecx*4 + 0x100f4ce8]
mov ecx, eax
call fcn.100be310
jmp 0x100f24db
mov al, byte [eax + 0x20]
test al, al
je case.0x100f24c8.3496
cmp byte [0x101e5447], 0
mov ecx, dword [0x101e5440]
mov edx, dword [0x101e5444]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
je 0x100f263a
xor ebx, ebx
cmp dword [0x10217ca4], 2
jl 0x100f2610
movaps xmm2, xmmword [0x101ed000]
movaps xmm4, xmmword [0x101ed410]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [str.4444444444444444]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ed0c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ed030]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x30], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ed0c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, edx
xorps xmm1, xmm0
movd dword [esp + 0x34], xmm1
jmp 0x100f263a
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 8
jl 0x100f2610
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f2660
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f26a6
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f26f3
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f26e9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2727
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x3c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100f27a0
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x18], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x3c], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2800
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x30]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2890
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2910
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f24c8.3496
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f2969
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
add eax, 0xd84
mov ecx, dword [eax]
cmp ecx, 3
ja case.0x100f2988.3460
jmp dword [ecx*4 + 0x100f4cf8]
mov ecx, eax
call fcn.100be310
jmp 0x100f299b
mov al, byte [eax + 0x20]
test al, al
je case.0x100f2988.3460
mov al, byte [0x101e543c]
xor ebx, ebx
movq xmm0, qword [0x101e5434]
mov byte [esp + 0x38], al
movq qword [esp + 0x30], xmm0
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 9
jl 0x100f29c0
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f2a06
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f2a50
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f2a9d
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f2a93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2ad1
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x3c], eax
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2b50
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x18], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x3c], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2bb0
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x30]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x3c], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2c40
sub edx, dword [esp + 0x3c]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2cc0
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f2988.3460
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f2d19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
test byte [eax + 0x34ac], 1
je case.0x100f2d49.0
mov ecx, dword [eax + 0xe5c]
add eax, 0xe5c
cmp ecx, 3
ja case.0x100f2d49.0
jmp dword [ecx*4 + 0x100f4d08]
mov ecx, eax
call fcn.100be310
jmp 0x100f2d5c
mov al, byte [eax + 0x20]
test al, al
je case.0x100f2d49.0
mov ax, word [0x101e5520]
xor ebx, ebx
mov word [esp + 0x18], ax
mov al, byte [0x101e5522]
mov byte [esp + 0x1a], al
nop word [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 3
jl 0x100f2d80
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x18]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f2dc6
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f2e10
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f2e5d
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f2e53
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216630]
mov eax, dword [eax + 0xc]
movss xmm0, dword [eax]
subss xmm0, dword [0x102187cc]
comiss xmm0, dword [0x101ecaf0]
jbe case.0x100f2f25.1
mov eax, dword [0x102187c8]
mov ecx, dword [eax]
test ecx, ecx
je case.0x100f2f25.1
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je case.0x100f2f25.1
mov eax, dword [0x102187c8]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x430]
call eax
test eax, eax
je case.0x100f2f25.1
mov eax, dword [0x102187c8]
mov ecx, 0x8d4eb58d
mov esi, dword [eax]
call fcn.100c3de0
mov edx, dword [esi]
mov ecx, esi
lea edi, [esi + eax]
mov edx, dword [edx + 0x430]
call edx
mov ecx, 0xb439d47
mov esi, eax
call fcn.100c3de0
mov ecx, dword [edi]
sub ecx, dword [0x102187f8]
movd xmm0, ecx
mov ecx, dword [0x10216630]
cvtdq2ps xmm0, xmm0
mov ecx, dword [ecx + 0xc]
mulss xmm0, dword [ecx + 0x20]
comiss xmm0, dword [eax + esi]
jb case.0x100f2f25.1
mov eax, dword [0x10216634]
cmp byte [eax + 0x3640], 0
je case.0x100f2f25.1
mov ecx, dword [eax + 0x3644]
add eax, 0x3644
cmp ecx, 3
ja case.0x100f2f25.0
jmp dword [ecx*4 + 0x100f4d18]
mov ecx, eax
call fcn.100be310
jmp 0x100f2f38
mov al, byte [eax + 0x20]
test al, al
jne case.0x100f2f25.1
mov esi, 0xc8ffffff
jmp 0x100f2f48
mov esi, 0xc80000ff
cmp dword [esp + 0x64], 0xf
lea edi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova edi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, edi
mov ebx, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x3c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100f2f80
sub edx, dword [esp + 0x3c]
push edx
push edi
call fcn.100291a0
mov ecx, ebx
call fcn.1014fae0
mov ecx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ecx, dword [esp + 0x1c]
push 0xa5000000
cdq
mov dword [esp + 0x1c], ecx
sub eax, edx
add ecx, 0xfffffea9
sar eax, 1
push 0
push 0x21
mov dword [esp + 0x3c], ecx
mov edx, ecx
push eax
mov ecx, 0xe
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea edi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova edi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, edi
mov ebx, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x3c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3005
sub edx, dword [esp + 0x3c]
push edx
push edi
call fcn.100291a0
mov ecx, ebx
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea edi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov ebx, eax
mov eax, dword [ecx + 0x1c]
sar ebx, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x28], eax
cmova edi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, edi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x3c], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3062
sub edx, dword [esp + 0x3c]
push edx
push edi
call fcn.100291a0
mov ecx, dword [esp + 0x40]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
mov edx, dword [esp + 0x34]
push 0xa5000000
sar eax, 1
push 0x21
push ebx
lea ecx, [eax + 0xe]
call fcn.1014f880
mov eax, dword [esp + 0x18]
lea edi, [esp + 0x50]
add eax, 0xfffffead
mov dword [esp + 0x28], 0x41c00000
cmp dword [esp + 0x64], 0xf
cmova edi, dword [esp + 0x50]
sub esp, 0x18
movd xmm0, eax
mov ecx, esp
mov eax, dword [0x10216968]
mov edx, edi
cvtdq2ps xmm0, xmm0
mov ebx, dword [eax + 0x1c]
lea eax, [edx + 1]
mov dword [esp + 0x48], eax
movss dword [esp + 0x44], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f30f1
sub edx, dword [esp + 0x48]
push edx
push edi
call fcn.100291a0
movss xmm0, dword [esp + 0x40]
mov ecx, ebx
movss xmm1, dword [esp + 0x44]
push 0xc8000000
call fcn.1014f520
mov eax, dword [esp + 0x18]
lea edi, [esp + 0x50]
add eax, 0xfffffeac
mov dword [esp + 0x28], 0x41b80000
cmp dword [esp + 0x64], 0xf
cmova edi, dword [esp + 0x50]
sub esp, 0x18
movd xmm0, eax
mov ecx, esp
mov eax, dword [0x10216968]
mov edx, edi
cvtdq2ps xmm0, xmm0
mov ebx, dword [eax + 0x18]
lea eax, [edx + 1]
mov dword [esp + 0x48], eax
movss dword [esp + 0x44], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3171
sub edx, dword [esp + 0x48]
push edx
push edi
call fcn.100291a0
movss xmm0, dword [esp + 0x40]
mov ecx, ebx
movss xmm1, dword [esp + 0x44]
push esi
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f2d49.0
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f31c8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
test byte [eax + 0x34ac], 2
je case.0x100f31f8.0
mov ecx, dword [eax + 0xe80]
add eax, 0xe80
cmp ecx, 3
ja case.0x100f31f8.0
jmp dword [ecx*4 + 0x100f4d28]
mov ecx, eax
call fcn.100be310
jmp 0x100f320b
mov al, byte [eax + 0x20]
test al, al
je case.0x100f31f8.0
mov ax, word [0x101e5174]
xor ebx, ebx
mov word [esp + 0x18], ax
mov al, byte [0x101e5176]
mov byte [esp + 0x1a], al
nop dword [eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 3
jl 0x100f3230
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x18]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f3276
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f32c0
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f330d
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f3303
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3341
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f33c0
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x28], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3420
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x40]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x40], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x44], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f34b0
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x40]
mov ecx, edi
movss xmm1, dword [esp + 0x44]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3530
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f31f8.0
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f3589
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
test byte [eax + 0x34ac], 0x20
je case.0x100f35b9.0
mov ecx, dword [eax + 0xdcc]
add eax, 0xdcc
cmp ecx, 3
ja case.0x100f35b9.0
jmp dword [ecx*4 + 0x100f4d38]
mov ecx, eax
call fcn.100be310
jmp 0x100f35cc
mov al, byte [eax + 0x20]
test al, al
je case.0x100f35b9.0
imul ecx, dword [0x102226f4], 0x54
mov eax, dword [0x10216634]
cmp byte [ecx + eax + 0xb40], 0
je case.0x100f35b9.0
mov ax, word [0x101e52a4]
xor ebx, ebx
mov word [esp + 0x18], ax
mov al, byte [0x101e52a6]
mov byte [esp + 0x1a], al
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 3
jl 0x100f3604
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x18]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f3650
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f3696
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f36e3
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f36d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3717
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3790
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x28], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f37f0
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x40]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x40], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x44], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3880
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x40]
mov ecx, edi
movss xmm1, dword [esp + 0x44]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3900
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f35b9.0
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f3959
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
test byte [eax + 0x34ac], 0x40
je case.0x100f3989.0
mov ecx, dword [eax + 0xa94]
add eax, 0xa94
cmp ecx, 3
ja case.0x100f3989.0
jmp dword [ecx*4 + 0x100f4d48]
mov ecx, eax
call fcn.100be310
jmp 0x100f399c
mov al, byte [eax + 0x20]
test al, al
je case.0x100f3989.0
mov eax, dword [0x101e50c8]
xor ebx, ebx
mov dword [esp + 0x30], eax
mov al, byte [0x101e50cc]
mov byte [esp + 0x34], al
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 5
jl 0x100f39c0
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f3a06
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f3a50
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f3a9d
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f3a93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3ad1
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3b50
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x28], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3bb0
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x40]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x40], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x44], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3c40
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x40]
mov ecx, edi
movss xmm1, dword [esp + 0x44]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3cc0
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f3989.0
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f3d19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
test byte [eax + 0x34ac], 0x40
je case.0x100f3d49.0
mov ecx, dword [eax + 0xa94]
add eax, 0xa94
cmp ecx, 3
ja case.0x100f3d49.0
jmp dword [ecx*4 + 0x100f4d58]
mov ecx, eax
call fcn.100be310
jmp 0x100f3d5c
mov al, byte [eax + 0x20]
test al, al
je case.0x100f3d49.0
mov eax, dword [0x101e50c8]
xor ebx, ebx
mov dword [esp + 0x30], eax
mov al, byte [0x101e50cc]
mov byte [esp + 0x34], al
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 5
jl 0x100f3d80
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f3dc6
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f3e10
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f3e5d
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f3e53
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3e91
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3f10
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x28], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f3f70
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x40]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x40], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x44], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4000
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x40]
mov ecx, edi
movss xmm1, dword [esp + 0x44]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4080
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f3d49.0
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f40d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
test byte [eax + 0x34ac], 8
je case.0x100f4109.0
mov ecx, dword [eax + 0xa70]
add eax, 0xa70
cmp ecx, 3
ja case.0x100f4109.0
jmp dword [ecx*4 + 0x100f4d68]
mov ecx, eax
call fcn.100be310
jmp 0x100f411c
mov al, byte [eax + 0x20]
test al, al
je case.0x100f4109.0
cmp byte [0x101e5533], 0
mov eax, dword [str.pxq7mZCE]
mov dword [esp + 0x18], eax
je 0x100f41f1
xor ebx, ebx
cmp dword [0x10217ca4], 2
jl 0x100f41c7
movaps xmm3, xmmword [0x101ed000]
movaps xmm2, xmm3
movaps xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmmword [0x101ed410]
punpckldq xmm2, xmm3
pmuldq xmm2, xmmword [0x101ed410]
shufps xmm2, xmm0, 0xdd
paddd xmm2, xmm3
psrad xmm2, 5
movaps xmm0, xmm2
psrld xmm0, 0x1f
paddd xmm0, xmm2
pmulld xmm0, xmmword [0x101ed0c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ed130]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444]
movd xmm0, eax
xorps xmm1, xmm0
movd dword [esp + 0x18], xmm1
jmp 0x100f41f1
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x18], cl
inc ebx
cmp ebx, 4
jl 0x100f41c7
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x18]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f4216
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f4260
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f42ad
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f42a3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f42e1
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4360
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x28], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f43c0
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x40]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x40], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x44], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4450
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x40]
mov ecx, edi
movss xmm1, dword [esp + 0x44]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f44d0
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f4109.0
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f4529
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
test dword [eax + 0x34ac], 0x100
je case.0x100f4569.0
cmp byte [eax + 0x367d], 0
je case.0x100f4569.0
mov ecx, dword [eax + 0x3680]
add eax, 0x3680
cmp ecx, 3
ja case.0x100f4569.0
jmp dword [ecx*4 + 0x100f4d78]
mov ecx, eax
call fcn.100be310
jmp 0x100f457c
mov al, byte [eax + 0x20]
test al, al
je case.0x100f4569.0
mov eax, dword [str.dps8]
xor ebx, ebx
mov dword [esp + 0x30], eax
mov al, byte [0x101e551c]
mov byte [esp + 0x34], al
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 5
jl 0x100f45a0
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f45e6
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f4630
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f467d
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f4673
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f46b1
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ebx, dword [esp + 0x1c]
mov ecx, 0xe
push 0xa5000000
cdq
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0x21
sar eax, 1
push eax
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4730
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov eax, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
mov dword [esp + 0x28], eax
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4790
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, dword [esp + 0x40]
call fcn.1014fae0
cdq
xorps xmm0, xmm0
push 0
sub eax, edx
lea edx, [ebx - 0x157]
push 0xa5000000
sar eax, 1
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x40], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x44], xmm0
lea eax, [edx + 1]
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4820
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x40]
mov ecx, edi
movss xmm1, dword [esp + 0x44]
push 0xc8000000
call fcn.1014f520
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x154]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41b80000
mov edi, dword [eax + 0x18]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f48a0
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
add dword [esp + 0x1c], 0x24
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f4569.0
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f48f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
mov eax, dword [0x10216634]
test dword [eax + 0x34ac], 0x200
je case.0x100f4939.0
cmp byte [eax + 0x3640], 0
je case.0x100f4939.0
mov ecx, dword [eax + 0x3644]
add eax, 0x3644
cmp ecx, 3
ja case.0x100f4939.0
jmp dword [ecx*4 + 0x100f4d88]
mov ecx, eax
call fcn.100be310
jmp 0x100f494c
mov al, byte [eax + 0x20]
test al, al
je case.0x100f4939.0
mov eax, dword [str.p_u8]
xor ebx, ebx
mov dword [esp + 0x30], eax
mov al, byte [0x101e52ac]
mov byte [esp + 0x34], al
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
mul ebx
shr edx, 5
movsx eax, dl
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [esp + ebx + 0x30], cl
inc ebx
cmp ebx, 5
jl 0x100f4970
xorps xmm0, xmm0
mov dword [esp + 0x80], 0
lea ecx, [esp + 0x30]
movaps xmmword [esp + 0x70], xmm0
mov dword [esp + 0x84], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f49b6
sub ecx, edx
lea eax, [esp + 0x30]
push ecx
push eax
lea ecx, [esp + 0x78]
call fcn.100291a0
cmp dword [esp + 0x84], 0xf
lea edx, [esp + 0x70]
xorps xmm0, xmm0
mov dword [esp + 0x60], 0
cmova edx, dword [esp + 0x70]
mov ecx, edx
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x64], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100f4a00
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.100291a0
mov ecx, dword [esp + 0x84]
cmp ecx, 0xf
jbe 0x100f4a4d
mov edx, dword [esp + 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f4a43
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4a81
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [esp + 0x20]
xorps xmm0, xmm0
sub ecx, dword [esp + 0x1c]
push 0xa5000000
cdq
push 0
sub eax, edx
mov dword [esp + 0x28], ecx
push 0x21
sar eax, 1
lea edx, [ecx - 0x157]
push eax
mov ecx, 0xe
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
xorps xmm0, xmm0
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
mov edi, dword [eax + 0x1c]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
lea ebx, [edx + 1]
mov dword [ecx + 0x14], 0
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4b00
sub edx, ebx
push edx
push esi
call fcn.100291a0
mov ecx, edi
call fcn.1014fae0
mov ecx, dword [0x10216968]
lea esi, [esp + 0x50]
cdq
xorps xmm0, xmm0
sub eax, edx
mov edi, eax
mov ebx, dword [ecx + 0x1c]
sar edi, 1
cmp dword [esp + 0x64], 0xf
cmova esi, dword [esp + 0x50]
sub esp, 0x18
mov ecx, esp
mov edx, esi
movups xmmword [ecx], xmm0
lea eax, [edx + 1]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [esp + 0x48], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4b57
sub edx, dword [esp + 0x48]
push edx
push esi
call fcn.100291a0
mov ecx, ebx
call fcn.1014fae0
mov ebx, dword [esp + 0x20]
xorps xmm0, xmm0
cdq
push 0
sub eax, edx
push 0xa5000000
sar eax, 1
lea edx, [ebx - 0x157]
push 0x21
push edi
lea ecx, [eax + 0xe]
call fcn.1014f880
cmp dword [esp + 0x64], 0xf
lea eax, [ebx - 0x153]
movd xmm0, eax
lea esi, [esp + 0x50]
mov eax, dword [0x10216968]
cmova esi, dword [esp + 0x50]
sub esp, 0x18
cvtdq2ps xmm0, xmm0
mov ecx, esp
mov dword [esp + 0x48], 0x41c00000
mov edi, dword [eax + 0x1c]
mov edx, esi
movss dword [esp + 0x4c], xmm0
lea ebx, [edx + 1]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4be3
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8000000
call fcn.1014f520
mov eax, dword [esp + 0x20]
lea esi, [esp + 0x50]
add eax, 0xfffffeac
mov dword [esp + 0x30], 0x41b80000
cmp dword [esp + 0x64], 0xf
cmova esi, dword [esp + 0x50]
sub esp, 0x18
movd xmm0, eax
mov ecx, esp
mov eax, dword [0x10216968]
mov edx, esi
cvtdq2ps xmm0, xmm0
mov edi, dword [eax + 0x18]
lea ebx, [edx + 1]
movss dword [esp + 0x4c], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100f4c60
sub edx, ebx
push edx
push esi
call fcn.100291a0
movss xmm0, dword [esp + 0x48]
mov ecx, edi
movss xmm1, dword [esp + 0x4c]
push 0xc8ffffff
call fcn.1014f520
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe case.0x100f4939.0
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100f4cb0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100f4cc1
push ecx
push edx
call fcn.1015fe24
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10164f66
nop
add esp, dword [ecx]
movups xmm6, xmmword [ebx + 28]
movups xmm3, xmmword [ecx + 0x1c]
movups xmm5, xmmword [eax + 0x1c]
movups xmm6, xmmword [ebx + 0x33100f24]
and dword [edi], ecx
adc byte [edi], bl
and dword [edi], ecx
adc byte [eax], ch
and dword [edi], ecx
adc byte [ebx + 0x29], dh
movups xmm4, xmm3
and al, 0xf
adc bh, cl
and al, 0xf
adc al, bl
and al, 0xf
adc byte [ebx], ah
sub eax, 0x29a3100f
movups xmm1, xmmword [edi - 0x67eff0d7]
sub dword [edi], ecx
adc dl, dl
xor dword [edi], ecx
adc byte [ebp + ebp + 0xf], ah
adc byte [eax + 0x2d], dl
movups xmm3, xmmword [ecx + 0x2d]
movups xmm7, xmmword [edi + ebp]
movups xmm0, xmmword [ebx + 0x2f]
movups xmm5, xmmword [edi + ebp]
movups xmm6, xmmword [0x93100f2f]
xor eax, 0x3213100f
movups xmm7, xmm7
xor dword [edi], ecx
adc byte [eax], cl
xor cl, byte [edi]
adc byte [ebx + 0x39], ah
movups xmm2, xmm4
xor eax, 0x35c0100f
movups xmm1, xmm1
xor eax, 0x3d23100f
movups xmm4, xmmword [ecx + edi + 0x3990100f]
movups xmm3, xmmword [ecx - 0x1ceff0c7]
inc eax
movups xmm4, xmmword [ebp + edi + 0xf]
adc byte [eax + 0x3d], dl
movups xmm3, xmmword [ecx + 0x3d]
movups xmm6, xmmword [ebx]
inc ebp
movups xmm4, xmmword [ecx + eax*2]
movups xmm2, xmmword [eax]
inc ecx
movups xmm3, xmmword [ecx]
inc ecx
movups xmm0, xmmword [ebx]
dec ecx
movups xmm0, xmmword [ebp + eax*2 + 0x4570100f]
movups xmm7, xmmword [ecx + 0x45]
movups xmm7, xmmword [edx + 0x54100f4c]
dec ecx
movups xmm0, xmmword [eax + 0x49]
movups xmm1, xmmword [ecx + 0x49]
movups xmm1, xmm4
int3