Function at 0x100a8f10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x40f8
call fcn.101b7630
mov eax, dword [0x102230c0]
xor eax, esp
mov dword [esp + 0x40f4], eax
mov eax, dword [0x10242574]
push esi
push edi
cmp dword [eax], 0
jne 0x100a8f58
mov ecx, 0x1035ad60
call fcn.100aba60
pop edi
pop esi
mov ecx, dword [esp + 0x40f4]
xor ecx, esp
call fcn.101b67d9
mov esp, ebp
pop ebp
ret
cmp dword [0x1035ad70], 0
je 0x100ab1ba
mov ecx, dword [0x1035ad68]
mov eax, dword [0x1035ad64]
dec ecx
and ecx, dword [0x1035ad6c]
mov ecx, dword [eax + ecx*4]
movss xmm0, dword [ecx + 0x3f10]
ucomiss xmm0, dword [0x1021567c]
lahf
test ah, 0x44
jnp 0x100ab1ba
push ecx
lea ecx, [esp + 0x24]
call fcn.100ab1f0
call fcn.100ab950
mov eax, dword [0x10242574]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a9034
mov eax, dword [0x10242574]
mov ecx, dword [0x10241d9c]
mov esi, dword [eax]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x104691f4]
cmp eax, dword [ecx + 4]
jle 0x100a9018
push 0x104691f4
call fcn.101b6d6c
add esp, 4
cmp dword [0x104691f4], 0xffffffff
jne 0x100a9018
mov edx, 0xc60bf9f2
mov ecx, 0x10205f61
call fcn.1007d620
mov ecx, eax
call fcn.100ced60
push 0x104691f4
mov dword [0x104691ec], eax
call fcn.101b6d1b
add esp, 4
mov eax, dword [0x104691ec]
movd xmm0, dword [esi + eax]
mov eax, dword [0x10240c7c]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0xc]
mulss xmm0, dword [eax + 0x20]
jmp 0x100a9041
mov eax, dword [0x10240c7c]
mov eax, dword [eax + 0xc]
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [esp + 0x3f30]
andps xmm0, xmmword [0x10215be0]
comiss xmm0, dword [0x102152ac]
jbe 0x100a9535
cmp byte [esp + 0x3f2c], 0
je 0x100a92a2
cmp byte [0x102063c7], 0
movups xmm0, xmmword [0x102063b0]
movups xmmword [esp + 0x3f40], xmm0
movq xmm0, qword [0x102063c0]
movq qword [esp + 0x3f50], xmm0
je 0x100a9218
xor edx, edx
cmp dword [0x10241d90], 2
mov dword [esp + 0x18], edx
jl 0x100a91e5
movaps xmm0, xmmword [str.2222222222222222]
xor ecx, ecx
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov edx, dword [esp + 0x3f60]
nop dword [eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f40]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f40], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f44]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f44], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x100a90e0
jmp 0x100a9218
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3f40], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x18
jl 0x100a91e5
xorps xmm0, xmm0
mov dword [esp + 0x3f70], 0
lea ecx, [esp + 0x3f40]
movaps xmmword [esp + 0x3f60], xmm0
mov dword [esp + 0x3f74], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9243
sub ecx, edx
lea eax, [esp + 0x3f40]
push ecx
push eax
lea ecx, [esp + 0x3f68]
call fcn.10027a90
cmp dword [esp + 0x3f74], 0xf
lea edx, [esp + 0x3f60]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x3f60]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9296
jmp 0x100a94da
movups xmm0, xmmword [str._ZGFSS]
mov eax, dword [0x102063fc]
xor edx, edx
cmp dword [0x10241d90], 2
movups xmmword [esp + 0x3fa0], xmm0
mov dword [esp + 0x3fc0], eax
movups xmm0, xmmword [0x102063ec]
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3fb0], xmm0
jl 0x100a9420
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov ecx, dword [esp + 0x3f60]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3fa0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3fa0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3fa4]
xorps xmm1, xmm0
movd dword [esp + edx + 0x3fa4], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100a9310
mov dword [esp + 0x14], edx
cmp edx, 0x24
jge 0x100a9453
nop dword [eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3fa0], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x24
jl 0x100a9420
xorps xmm0, xmm0
mov dword [esp + 0x3f70], 0
lea ecx, [esp + 0x3fa0]
movaps xmmword [esp + 0x3f60], xmm0
mov dword [esp + 0x3f74], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9480
sub ecx, edx
lea eax, [esp + 0x3fa0]
push ecx
push eax
lea ecx, [esp + 0x3f68]
call fcn.10027a90
cmp dword [esp + 0x3f74], 0xf
lea edx, [esp + 0x3f60]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x3f60]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 1]
mov dword [esi + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a94d3
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10027a90
call fcn.100cc9f0
mov ecx, dword [esp + 0x3f74]
cmp ecx, 0xf
jbe 0x100a9526
mov edx, dword [esp + 0x3f60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a951c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, 0x1035ad60
call fcn.100aba60
jmp 0x100ab185
cmp byte [esp + 0x3ee4], 0
je 0x100ab185
mov eax, dword [0x10240c88]
push dword [esp + 0x3f34]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov dword [esp + 0x18], eax
test eax, eax
je 0x100ab185
mov edx, dword [esp + 0x3f10]
test edx, edx
je 0x100ab185
mov ecx, dword [0x10240c88]
push edx
mov ecx, dword [ecx + 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
mov ecx, eax
test ecx, ecx
je 0x100ab185
cmp dword [ecx + 0xac], 0
jle 0x100ab185
mov eax, dword [ecx + 0xb0]
add eax, ecx
mov dword [esp + 0x1c], eax
je 0x100ab185
movss xmm0, dword [esp + 0x3f20]
lea eax, [esp + 0x3f60]
subss xmm0, dword [esp + 0x3f14]
push eax
lea ecx, [esp + 0x3f44]
movss dword [esp + 0x3f44], xmm0
movss xmm0, dword [esp + 0x3f28]
subss xmm0, dword [esp + 0x3f1c]
movss dword [esp + 0x3f48], xmm0
movss xmm0, dword [esp + 0x3f2c]
subss xmm0, dword [esp + 0x3f20]
movss dword [esp + 0x3f4c], xmm0
call fcn.10089e60
xorps xmm1, xmm1
lea ecx, [esp + 0x3f40]
movss xmm0, dword [eax]
subss xmm0, xmm1
movss dword [esp + 0x3f40], xmm0
movss xmm0, dword [eax + 4]
subss xmm0, xmm1
movss dword [esp + 0x3f44], xmm0
movss xmm0, dword [eax + 8]
subss xmm0, xmm1
movss dword [esp + 0x3f48], xmm0
call fcn.10089f50
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x3fd0], xmm0
movss xmm0, dword [esp + 0x3fd0]
mulss xmm0, dword [0x1021519c]
mov dword [esp + 0x3fd8], eax
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x3f40], xmm0
call fcn.101dd740
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x3fd4]
mulss xmm0, dword [0x1021519c]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x3fd0], xmm0
call fcn.101dd740
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x3fd0]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x1021561c]
addss xmm1, dword [esp + 0x3f20]
movss dword [esp + 0x3f60], xmm1
call fcn.101de9c0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x3f40]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x1021561c]
addss xmm1, dword [esp + 0x3f24]
movss dword [esp + 0x3f64], xmm1
call fcn.101de9c0
mov ecx, dword [esp + 0x3f38]
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x10215c10]
mulss xmm0, dword [0x1021561c]
addss xmm0, dword [esp + 0x3f28]
movss dword [esp + 0x3f68], xmm0
cmp ecx, 0xffffffff
jg 0x100a9763
lea edi, [esp + 0x8bc]
jmp 0x100a978e
cmp dword [esp + 0x8b8], ecx
jbe 0x100ab1ce
mov eax, dword [esp + 0x8b0]
add ecx, dword [esp + 0x8b4]
dec eax
and ecx, eax
mov eax, dword [esp + 0x8ac]
mov edi, dword [eax + ecx*4]
add edi, 0x68
xor esi, esi
lea eax, [esp + 0x3f60]
mov edx, esi
push eax
lea eax, [esp + 0x3f18]
mov ecx, edi
push eax
push dword [esp + 0x24]
call fcn.1008b560
test al, al
jne 0x100a99b9
inc esi
cmp esi, 0x13
jl 0x100a9790
movups xmm0, xmmword [0x10206378]
mov ax, word [0x10206390]
mov word [esp + 0x3fb8], ax
movups xmmword [esp + 0x3fa0], xmm0
movq xmm0, qword [0x10206388]
movq qword [esp + 0x3fb0], xmm0
test ah, ah
je 0x100a9973
xor edx, edx
cmp dword [0x10241d90], 2
mov dword [esp + 0x14], edx
jl 0x100a9940
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov ecx, dword [esp + 0x3f60]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3fa0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3fa0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3fa4]
xorps xmm1, xmm0
movd dword [esp + edx + 0x3fa4], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100a9830
mov dword [esp + 0x14], edx
cmp edx, 0x1a
jge 0x100a9973
nop dword [eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3fa0], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x1a
jl 0x100a9940
sub esp, 0x18
lea ecx, [esp + 0x3fb8]
mov edx, esp
lea esi, [ecx + 1]
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9996
sub ecx, esi
lea eax, [esp + 0x3fb8]
push ecx
push eax
mov ecx, edx
call fcn.10027a90
call fcn.100cc9f0
jmp 0x100ab185
movups xmm0, xmmword [0x10206400]
mov al, byte [0x10206410]
xor edx, edx
mov esi, dword [0x10241d90]
mov byte [esp + 0x3f50], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3f40], xmm0
cmp esi, 2
jl 0x100a9b20
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov ecx, dword [esp + 0x3f60]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3f40]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3f40], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3f44]
xorps xmm1, xmm0
movd dword [esp + edx + 0x3f44], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100a9a14
mov dword [esp + 0x14], edx
cmp edx, 0x11
jge 0x100a9b53
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3f40], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x11
jl 0x100a9b20
xorps xmm0, xmm0
mov dword [esp + 0x3f90], 0
lea ecx, [esp + 0x3f40]
movaps xmmword [esp + 0x3f80], xmm0
mov dword [esp + 0x3f94], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9b80
sub ecx, edx
lea eax, [esp + 0x3f40]
push ecx
push eax
lea ecx, [esp + 0x3f88]
call fcn.10027a90
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x4078]
push eax
call fcn.101aa4f0
xorps xmm0, xmm0
mov dword [esp + 0x3fe0], 0
lea ecx, [esp + 0x4078]
movaps xmmword [esp + 0x3fd0], xmm0
mov dword [esp + 0x3fe4], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9be0
sub ecx, edx
lea eax, [esp + 0x4078]
push ecx
push eax
lea ecx, [esp + 0x3fd8]
call fcn.10027a90
movups xmm0, xmmword [0x10206368]
movups xmmword [esp + 0x3f40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a9d98
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a9d65
movaps xmm0, xmmword [str.2222222222222222]
xor ecx, ecx
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov edx, dword [esp + 0x3f60]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f40]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f40], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f44]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f44], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a9c60
jmp 0x100a9d98
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3f40], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100a9d65
xorps xmm0, xmm0
mov dword [esp + 0x3f70], 0
lea ecx, [esp + 0x3f40]
movaps xmmword [esp + 0x3f60], xmm0
mov dword [esp + 0x3f74], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a9dc3
sub ecx, edx
lea eax, [esp + 0x3f40]
push ecx
push eax
lea ecx, [esp + 0x3f68]
call fcn.10027a90
lea eax, [esp + 0x3fd0]
push eax
lea eax, [esp + 0x3f64]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x403c]
call fcn.10029a90
lea eax, [esp + 0x3f80]
push eax
lea eax, [esp + 0x4034]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x406c]
call fcn.10029a90
mov ecx, dword [esp + 0x4044]
cmp ecx, 0xf
jbe 0x100a9e5d
mov edx, dword [esp + 0x4030]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9e53
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x3f74]
cmp ecx, 0xf
jbe 0x100a9e99
mov edx, dword [esp + 0x3f60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9e8f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x3fe4]
cmp ecx, 0xf
jbe 0x100a9ed5
mov edx, dword [esp + 0x3fd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9ecb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x3f94]
cmp ecx, 0xf
jbe 0x100a9f11
mov edx, dword [esp + 0x3f80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a9f07
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov edx, dword [esp + 0x3f38]
lea ecx, [esp + 0x3fa0]
call fcn.10003e70
movups xmm0, xmmword [0x10206338]
mov cl, byte [0x10206358]
xor edx, edx
mov byte [esp + 0x4050], cl
mov edi, eax
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x4030], xmm0
movups xmm0, xmmword [0x10206348]
movups xmmword [esp + 0x4040], xmm0
cmp esi, 2
jl 0x100aa0a0
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov ecx, dword [esp + 0x3f60]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x4030]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x4030], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x4034]
xorps xmm1, xmm0
movd dword [esp + edx + 0x4034], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100a9f90
mov dword [esp + 0x14], edx
cmp edx, 0x21
jge 0x100aa0d3
nop dword [eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x4030], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x21
jl 0x100aa0a0
xorps xmm0, xmm0
mov dword [esp + 0x4020], 0
lea ecx, [esp + 0x4030]
movaps xmmword [esp + 0x4010], xmm0
mov dword [esp + 0x4024], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa100
sub ecx, edx
lea eax, [esp + 0x4030]
push ecx
push eax
lea ecx, [esp + 0x4018]
call fcn.10027a90
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x4078]
push eax
call fcn.101aa4f0
xorps xmm0, xmm0
mov dword [esp + 0x4000], 0
lea ecx, [esp + 0x4078]
movaps xmmword [esp + 0x3ff0], xmm0
mov dword [esp + 0x4004], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa160
sub ecx, edx
lea eax, [esp + 0x4078]
push ecx
push eax
lea ecx, [esp + 0x3ff8]
call fcn.10027a90
movups xmm0, xmmword [0x10206368]
movups xmmword [esp + 0x3f40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100aa318
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100aa2e5
movaps xmm0, xmmword [str.2222222222222222]
xor ecx, ecx
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov edx, dword [esp + 0x3f60]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f40]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f40], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f44]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f44], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100aa1e0
jmp 0x100aa318
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3f40], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100aa2e5
xorps xmm0, xmm0
mov dword [esp + 0x3f90], 0
lea ecx, [esp + 0x3f40]
movaps xmmword [esp + 0x3f80], xmm0
mov dword [esp + 0x3f94], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa343
sub ecx, edx
lea eax, [esp + 0x3f40]
push ecx
push eax
lea ecx, [esp + 0x3f88]
call fcn.10027a90
lea eax, [esp + 0x3ff0]
push eax
lea eax, [esp + 0x3f84]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x3f4c]
call fcn.10029a90
lea eax, [esp + 0x4010]
push eax
lea eax, [esp + 0x3f44]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x3f6c]
call fcn.10029a90
push edi
lea eax, [esp + 0x3f64]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x3fdc]
call fcn.10029a90
cmp dword [esp + 0x3fe4], 0xf
lea ecx, [esp + 0x3fd0]
mov eax, dword [esp + 0x3fe0]
cmova ecx, dword [esp + 0x3fd0]
mov byte [ecx + eax], 0
movaps xmm0, xmmword [esp + 0x3fd0]
mov ecx, dword [esp + 0x3f74]
movaps xmmword [esp + 0x4030], xmm0
movq xmm0, qword [esp + 0x3fe0]
movq qword [esp + 0x4040], xmm0
mov dword [esp + 0x3fe0], 0
mov dword [esp + 0x3fe4], 0xf
mov byte [esp + 0x3fd0], 0
cmp ecx, 0xf
jbe 0x100aa458
mov edx, dword [esp + 0x3f60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa44e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1d3
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x3f54]
cmp ecx, 0xf
jbe 0x100aa494
mov edx, dword [esp + 0x3f40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa48a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1d3
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x3f94]
cmp ecx, 0xf
jbe 0x100aa4d0
mov edx, dword [esp + 0x3f80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa4c6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1d3
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x4004]
cmp ecx, 0xf
jbe 0x100aa50c
mov edx, dword [esp + 0x3ff0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa502
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1d3
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x4024]
cmp ecx, 0xf
jbe 0x100aa548
mov edx, dword [esp + 0x4010]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa53e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1d3
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x3fb4]
cmp ecx, 0xf
jbe 0x100aa584
mov edx, dword [esp + 0x3fa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aa57a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1d3
push ecx
push edx
call fcn.101b6ad2
add esp, 8
movups xmm0, xmmword [0x10206394]
mov al, byte [0x102063ac]
xor edx, edx
mov byte [esp + 0x3fb8], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3fa0], xmm0
movq xmm0, qword [0x102063a4]
movq qword [esp + 0x3fb0], xmm0
cmp esi, 2
jl 0x100aa700
movaps xmm0, xmmword [str.2222222222222222]
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov ecx, dword [esp + 0x3f60]
nop word [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3fa0]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3fa0], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3fa4]
xorps xmm1, xmm0
movd dword [esp + edx + 0x3fa4], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100aa5f0
mov dword [esp + 0x14], edx
cmp edx, 0x19
jge 0x100aa733
nop dword [eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3fa0], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x19
jl 0x100aa700
xorps xmm0, xmm0
mov dword [esp + 0x3f90], 0
lea ecx, [esp + 0x3fa0]
movaps xmmword [esp + 0x3f80], xmm0
mov dword [esp + 0x3f94], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa760
sub ecx, edx
lea eax, [esp + 0x3fa0]
push ecx
push eax
lea ecx, [esp + 0x3f88]
call fcn.10027a90
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x4078]
push eax
mov ecx, edi
call fcn.101aa4f0
xorps xmm0, xmm0
mov dword [esp + 0x4000], 0
lea ecx, [esp + 0x4078]
movaps xmmword [esp + 0x3ff0], xmm0
mov dword [esp + 0x4004], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa7c0
sub ecx, edx
lea eax, [esp + 0x4078]
push ecx
push eax
lea ecx, [esp + 0x3ff8]
call fcn.10027a90
movups xmm0, xmmword [0x10206368]
movups xmmword [esp + 0x3f40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100aa978
xor edx, edx
mov dword [esp + 0x18], edx
cmp esi, 2
jl 0x100aa945
movaps xmm0, xmmword [str.2222222222222222]
xor ecx, ecx
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov edx, dword [esp + 0x3f60]
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f40]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f40], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f44]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f44], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100aa840
jmp 0x100aa978
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3f40], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x10
jl 0x100aa945
xorps xmm0, xmm0
mov dword [esp + 0x4020], 0
lea ecx, [esp + 0x3f40]
movaps xmmword [esp + 0x4010], xmm0
mov dword [esp + 0x4024], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aa9a3
sub ecx, edx
lea eax, [esp + 0x3f40]
push ecx
push eax
lea ecx, [esp + 0x4018]
call fcn.10027a90
lea eax, [esp + 0x3ff0]
push eax
lea eax, [esp + 0x4014]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x3f6c]
call fcn.10029a90
lea eax, [esp + 0x3f80]
push eax
lea eax, [esp + 0x3f64]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x3fac]
call fcn.10029a90
mov ecx, dword [esp + 0x3f74]
cmp ecx, 0xf
jbe 0x100aaa3d
mov edx, dword [esp + 0x3f60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aaa33
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x4024]
cmp ecx, 0xf
jbe 0x100aaa79
mov edx, dword [esp + 0x4010]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aaa6f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x4004]
cmp ecx, 0xf
jbe 0x100aaab5
mov edx, dword [esp + 0x3ff0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aaaab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x3f94]
cmp ecx, 0xf
jbe 0x100aaaf1
mov edx, dword [esp + 0x3f80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aaae7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov eax, dword [str.PRHI_M_]
xor edx, edx
movq xmm0, qword [0x10206328]
mov dword [esp + 0x3f68], eax
mov ax, word [0x10206334]
mov word [esp + 0x3f6c], ax
mov al, byte [0x10206336]
movq qword [esp + 0x3f60], xmm0
mov byte [esp + 0x3f6e], al
mov dword [esp + 0x18], edx
cmp esi, 2
jl 0x100aac40
movaps xmm2, xmmword [0x102157f0]
mov edx, 8
movaps xmm4, xmmword [0x10215bc0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
mov eax, dword [str.2222222222222222]
movaps xmm0, xmm1
mov dword [esp + 0x18], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215860]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10215830]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x10206328]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x3f60], xmm1
movaps xmm1, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10215860]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x3f64]
xorps xmm1, xmm0
movd dword [esp + 0x3f64], xmm1
nop dword [eax + eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3f60], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0xf
jl 0x100aac40
xorps xmm0, xmm0
mov dword [esp + 0x3f90], 0
lea ecx, [esp + 0x3f60]
movaps xmmword [esp + 0x3f80], xmm0
mov dword [esp + 0x3f94], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aaca0
sub ecx, edx
lea eax, [esp + 0x3f60]
push ecx
push eax
lea ecx, [esp + 0x3f88]
call fcn.10027a90
lea eax, [esp + 0x4078]
mov ecx, edi
push eax
call fcn.101aa4f0
xorps xmm0, xmm0
mov dword [esp + 0x4000], 0
lea ecx, [esp + 0x4078]
movaps xmmword [esp + 0x3ff0], xmm0
mov dword [esp + 0x4004], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aacf8
sub ecx, edx
lea eax, [esp + 0x4078]
push ecx
push eax
lea ecx, [esp + 0x3ff8]
call fcn.10027a90
movups xmm0, xmmword [0x10206368]
movups xmmword [esp + 0x3f40], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100aaeb3
xor edx, edx
mov dword [esp + 0x18], edx
cmp esi, 2
jl 0x100aae80
movaps xmm0, xmmword [str.2222222222222222]
xor ecx, ecx
movaps xmm4, xmmword [0x102157f0]
movaps xmm3, xmmword [0x10215bc0]
movaps xmm5, xmmword [0x10215860]
movaps xmmword [esp + 0x3f60], xmm0
mov edx, dword [esp + 0x3f60]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f40]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3f40], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10215920]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3f44]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3f44], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100aad72
jmp 0x100aaeb3
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x32
xor byte [esp + edx + 0x3f40], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x10
jl 0x100aae80
xorps xmm0, xmm0
mov dword [esp + 0x4020], 0
lea ecx, [esp + 0x3f40]
movaps xmmword [esp + 0x4010], xmm0
mov dword [esp + 0x4024], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100aaee0
sub ecx, edx
lea eax, [esp + 0x3f40]
push ecx
push eax
lea ecx, [esp + 0x4018]
call fcn.10027a90
lea eax, [esp + 0x3ff0]
push eax
lea eax, [esp + 0x4014]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x3f6c]
call fcn.10029a90
lea eax, [esp + 0x3f80]
push eax
lea eax, [esp + 0x3f64]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x3f4c]
call fcn.10029a90
mov ecx, dword [esp + 0x3f74]
cmp ecx, 0xf
jbe 0x100aaf7a
mov edx, dword [esp + 0x3f60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aaf70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x4024]
cmp ecx, 0xf
jbe 0x100aafb6
mov edx, dword [esp + 0x4010]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aafac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x4004]
cmp ecx, 0xf
jbe 0x100aaff2
mov edx, dword [esp + 0x3ff0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100aafe8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x3f94]
cmp ecx, 0xf
jbe 0x100ab02e
mov edx, dword [esp + 0x3f80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ab024
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
cmp dword [esp + 0x3f38], 1
jne 0x100ab04f
mov eax, dword [0x10240c80]
cmp byte [eax + 0xf24], 0
je 0x100ab066
lea eax, [esp + 0x3f40]
jmp 0x100ab06d
jle 0x100ab066
mov eax, dword [0x10240c80]
cmp byte [eax + 0xf24], 0
lea eax, [esp + 0x4030]
jne 0x100ab06d
lea eax, [esp + 0x4060]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.10020db0
call fcn.100cc9f0
mov eax, dword [esp + 0x3f34]
cmp eax, 0x41
jae 0x100ab1d8
mov ecx, dword [esp + 0x3f54]
imul eax, eax, 0x3ef0
inc dword [eax + 0x10253700]
cmp ecx, 0xf
jbe 0x100ab0d5
mov edx, dword [esp + 0x3f40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ab0cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x3fb4]
cmp ecx, 0xf
jbe 0x100ab111
mov edx, dword [esp + 0x3fa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ab107
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x4044]
cmp ecx, 0xf
jbe 0x100ab14d
mov edx, dword [esp + 0x4030]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ab143
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x4074]
cmp ecx, 0xf
jbe 0x100ab185
mov edx, dword [esp + 0x4060]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ab17b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ab1dd
push ecx
push edx
call fcn.101b6ad2
add esp, 8
lea ecx, [esp + 0x3e6c]
call fcn.1002c150
lea ecx, [esp + 0x8a8]
call fcn.10090ac0
mov eax, dword [esp + 0x8a8]
push 8
push eax
mov dword [esp + 0x8b0], 0
call fcn.101b6ad2
add esp, 8
mov ecx, dword [esp + 0x40fc]
pop edi
pop esi
xor ecx, esp
call fcn.101b67d9
mov esp, ebp
pop ebp
ret
call fcn.10094c40
call fcn.101bbc06
call fcn.10090ab0
call fcn.101bbc06
int3