Function at 0x100a1d40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x3848
call fcn.1018e900
mov eax, dword [0x101f80c0]
xor eax, esp
mov dword [esp + 0x3844], eax
mov eax, dword [0x10214cf4]
push esi
push edi
cmp dword [eax], 0
jne 0x100a1d88
mov ecx, 0x102fb120
call fcn.100a4860
pop edi
pop esi
mov ecx, dword [esp + 0x3844]
xor ecx, esp
call fcn.1018daa9
mov esp, ebp
pop ebp
ret
cmp dword [0x102fb130], 0
je 0x100a4035
mov ecx, dword [0x102fb128]
mov eax, dword [0x102fb124]
dec ecx
and ecx, dword [0x102fb12c]
mov ecx, dword [eax + ecx*4]
movss xmm0, dword [ecx + 0x3664]
ucomiss xmm0, dword [0x101ea68c]
lahf
test ah, 0x44
jnp 0x100a4035
push ecx
lea ecx, [esp + 0x24]
call fcn.100a4060
mov ecx, dword [0x102fb128]
mov eax, dword [0x102fb124]
dec ecx
and ecx, dword [0x102fb12c]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.1008d350
mov eax, dword [esi]
push 8
push eax
mov dword [esi], 0
call fcn.1018dda2
add esp, 8
add dword [0x102fb130], 0xffffffff
jne 0x100a1e11
mov dword [0x102fb12c], 0
jmp 0x100a1e17
inc dword [0x102fb12c]
mov eax, dword [0x10214cf4]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a1e55
mov ecx, 0x8d4eb58d
call fcn.100c6820
mov ecx, dword [0x10214cf4]
mov ecx, dword [ecx]
movd xmm0, dword [eax + ecx]
mov eax, dword [0x10213404]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0xc]
mulss xmm0, dword [eax + 0x20]
jmp 0x100a1e62
mov eax, dword [0x10213404]
mov eax, dword [eax + 0xc]
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [esp + 0x3684]
andps xmm0, xmmword [0x101eac00]
comiss xmm0, dword [0x101ea2dc]
jbe 0x100a2355
cmp byte [esp + 0x3680], 0
je 0x100a20c2
cmp byte [0x101dc477], 0
movups xmm0, xmmword [str.YED__]
movups xmmword [esp + 0x3690], xmm0
movq xmm0, qword [0x101dc470]
movq qword [esp + 0x36a0], xmm0
je 0x100a2038
xor edx, edx
cmp dword [0x10214510], 2
mov dword [esp + 0x18], edx
jl 0x100a2005
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov edx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3690]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3690], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3694]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3694], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x100a1f00
jmp 0x100a2038
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x18
jl 0x100a2005
xorps xmm0, xmm0
mov dword [esp + 0x36c0], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x36b0], xmm0
mov dword [esp + 0x36c4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2063
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x36b8]
call fcn.10026920
cmp dword [esp + 0x36c4], 0xf
lea edx, [esp + 0x36b0]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x36b0]
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 0x100a20b6
jmp 0x100a22fa
movups xmm0, xmmword [0x101dc3d4]
mov eax, dword [0x101dc3f4]
xor edx, edx
cmp dword [0x10214510], 2
movups xmmword [esp + 0x3710], xmm0
mov dword [esp + 0x3730], eax
movups xmm0, xmmword [0x101dc3e4]
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3720], xmm0
jl 0x100a2240
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov ecx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3710]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3710], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3714]
xorps xmm1, xmm0
movd dword [esp + edx + 0x3714], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100a2130
mov dword [esp + 0x14], edx
cmp edx, 0x24
jge 0x100a2273
nop dword [eax]
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3710], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x24
jl 0x100a2240
xorps xmm0, xmm0
mov dword [esp + 0x36c0], 0
lea ecx, [esp + 0x3710]
movaps xmmword [esp + 0x36b0], xmm0
mov dword [esp + 0x36c4], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a22a0
sub ecx, edx
lea eax, [esp + 0x3710]
push ecx
push eax
lea ecx, [esp + 0x36b8]
call fcn.10026920
cmp dword [esp + 0x36c4], 0xf
lea edx, [esp + 0x36b0]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x36b0]
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 0x100a22f3
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10026920
call fcn.100c4560
mov ecx, dword [esp + 0x36c4]
cmp ecx, 0xf
jbe 0x100a2346
mov edx, dword [esp + 0x36b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a233c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, 0x102fb120
call fcn.100a4860
jmp 0x100a4015
cmp byte [esp + 0x3648], 0
je 0x100a4015
mov eax, dword [0x10213410]
push dword [esp + 0x3688]
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 0x100a4015
mov edx, dword [esp + 0x3664]
test edx, edx
je 0x100a4015
mov ecx, dword [0x10213410]
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 0x100a4015
cmp dword [ecx + 0xac], 0
jle 0x100a4015
mov eax, dword [ecx + 0xb0]
add eax, ecx
mov dword [esp + 0x1c], eax
je 0x100a4015
movss xmm0, dword [esp + 0x3674]
lea eax, [esp + 0x36b0]
subss xmm0, dword [esp + 0x3668]
push eax
lea ecx, [esp + 0x3694]
movss dword [esp + 0x3694], xmm0
movss xmm0, dword [esp + 0x367c]
subss xmm0, dword [esp + 0x3670]
movss dword [esp + 0x3698], xmm0
movss xmm0, dword [esp + 0x3680]
subss xmm0, dword [esp + 0x3674]
movss dword [esp + 0x369c], xmm0
call fcn.10087790
xorps xmm1, xmm1
lea ecx, [esp + 0x3690]
movss xmm0, dword [eax]
subss xmm0, xmm1
movss dword [esp + 0x3690], xmm0
movss xmm0, dword [eax + 4]
subss xmm0, xmm1
movss dword [esp + 0x3694], xmm0
movss xmm0, dword [eax + 8]
subss xmm0, xmm1
movss dword [esp + 0x3698], xmm0
call fcn.10087880
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x36f0], xmm0
movss xmm0, dword [esp + 0x36f0]
mulss xmm0, dword [0x101ea1cc]
mov dword [esp + 0x36f8], eax
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x3690], xmm0
call fcn.101b4a10
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x36f4]
mulss xmm0, dword [0x101ea1cc]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x36f0], xmm0
call fcn.101b4a10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x36f0]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x101ea62c]
addss xmm1, dword [esp + 0x3674]
movss dword [esp + 0x36b0], xmm1
call fcn.101b5c90
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x3690]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x101ea62c]
addss xmm1, dword [esp + 0x3678]
movss dword [esp + 0x36b4], xmm1
call fcn.101b5c90
mov ecx, dword [esp + 0x368c]
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x101eac30]
mulss xmm0, dword [0x101ea62c]
addss xmm0, dword [esp + 0x367c]
movss dword [esp + 0x36b8], xmm0
cmp ecx, 0xffffffff
jg 0x100a2580
lea edi, [esp + 0x34]
jmp 0x100a259f
cmp dword [esp + 0x30], ecx
jbe 0x100a4049
mov eax, dword [esp + 0x28]
add ecx, dword [esp + 0x2c]
dec eax
and ecx, eax
mov eax, dword [esp + 0x24]
mov edi, dword [eax + ecx*4]
add edi, 0x54
xor esi, esi
lea eax, [esp + 0x36b0]
mov edx, esi
push eax
lea eax, [esp + 0x366c]
mov ecx, edi
push eax
push dword [esp + 0x24]
call fcn.10088b40
test al, al
jne 0x100a27c9
inc esi
cmp esi, 0x13
jl 0x100a25a1
movups xmm0, xmmword [0x101dc3f8]
mov ax, word [0x101dc410]
mov word [esp + 0x3728], ax
movups xmmword [esp + 0x3710], xmm0
movq xmm0, qword [0x101dc408]
movq qword [esp + 0x3720], xmm0
test ah, ah
je 0x100a2783
xor edx, edx
cmp dword [0x10214510], 2
mov dword [esp + 0x14], edx
jl 0x100a2750
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov ecx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3710]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3710], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3714]
xorps xmm1, xmm0
movd dword [esp + edx + 0x3714], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100a2640
mov dword [esp + 0x14], edx
cmp edx, 0x1a
jge 0x100a2783
nop dword [eax]
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3710], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x1a
jl 0x100a2750
sub esp, 0x18
lea ecx, [esp + 0x3728]
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 0x100a27a6
sub ecx, esi
lea eax, [esp + 0x3728]
push ecx
push eax
mov ecx, edx
call fcn.10026920
call fcn.100c4560
jmp 0x100a4015
movups xmm0, xmmword [0x101dc38c]
mov al, byte [0x101dc39c]
xor edx, edx
mov esi, dword [0x10214510]
mov byte [esp + 0x36a0], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3690], xmm0
cmp esi, 2
jl 0x100a2930
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov ecx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3690]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3690], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3694]
xorps xmm1, xmm0
movd dword [esp + edx + 0x3694], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100a2824
mov dword [esp + 0x14], edx
cmp edx, 0x11
jge 0x100a2963
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x11
jl 0x100a2930
xorps xmm0, xmm0
mov dword [esp + 0x36e0], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x36d0], xmm0
mov dword [esp + 0x36e4], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2990
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x36d8]
call fcn.10026920
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x37c8]
push eax
call fcn.10181f80
xorps xmm0, xmm0
mov dword [esp + 0x3700], 0
lea ecx, [esp + 0x37c8]
movaps xmmword [esp + 0x36f0], xmm0
mov dword [esp + 0x3704], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a29f0
sub ecx, edx
lea eax, [esp + 0x37c8]
push ecx
push eax
lea ecx, [esp + 0x36f8]
call fcn.10026920
movups xmm0, xmmword [0x101dc3a8]
movups xmmword [esp + 0x3690], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a2ba8
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a2b75
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov edx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3690]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3690], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3694]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3694], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a2a70
jmp 0x100a2ba8
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100a2b75
xorps xmm0, xmm0
mov dword [esp + 0x36c0], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x36b0], xmm0
mov dword [esp + 0x36c4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2bd3
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x36b8]
call fcn.10026920
lea eax, [esp + 0x36f0]
push eax
lea eax, [esp + 0x36b4]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x378c]
call fcn.10028910
lea eax, [esp + 0x36d0]
push eax
lea eax, [esp + 0x3784]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x37bc]
call fcn.10028910
mov ecx, dword [esp + 0x3794]
cmp ecx, 0xf
jbe 0x100a2c6d
mov edx, dword [esp + 0x3780]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2c63
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x36c4]
cmp ecx, 0xf
jbe 0x100a2ca9
mov edx, dword [esp + 0x36b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2c9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3704]
cmp ecx, 0xf
jbe 0x100a2ce5
mov edx, dword [esp + 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2cdb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x36e4]
cmp ecx, 0xf
jbe 0x100a2d21
mov edx, dword [esp + 0x36d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2d17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov edx, dword [esp + 0x368c]
lea ecx, [esp + 0x3710]
call fcn.10003c20
movups xmm0, xmmword [0x101dc43c]
mov cl, byte [0x101dc45c]
xor edx, edx
mov byte [esp + 0x37a0], cl
mov edi, eax
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3780], xmm0
movups xmm0, xmmword [0x101dc44c]
movups xmmword [esp + 0x3790], xmm0
cmp esi, 2
jl 0x100a2eb0
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov ecx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3780]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3780], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3784]
xorps xmm1, xmm0
movd dword [esp + edx + 0x3784], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100a2da0
mov dword [esp + 0x14], edx
cmp edx, 0x21
jge 0x100a2ee3
nop dword [eax]
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3780], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x21
jl 0x100a2eb0
xorps xmm0, xmm0
mov dword [esp + 0x3770], 0
lea ecx, [esp + 0x3780]
movaps xmmword [esp + 0x3760], xmm0
mov dword [esp + 0x3774], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2f10
sub ecx, edx
lea eax, [esp + 0x3780]
push ecx
push eax
lea ecx, [esp + 0x3768]
call fcn.10026920
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x37c8]
push eax
call fcn.10181f80
xorps xmm0, xmm0
mov dword [esp + 0x3750], 0
lea ecx, [esp + 0x37c8]
movaps xmmword [esp + 0x3740], xmm0
mov dword [esp + 0x3754], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2f70
sub ecx, edx
lea eax, [esp + 0x37c8]
push ecx
push eax
lea ecx, [esp + 0x3748]
call fcn.10026920
movups xmm0, xmmword [0x101dc3a8]
movups xmmword [esp + 0x3690], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a3128
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a30f5
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov edx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3690]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3690], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3694]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3694], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a2ff0
jmp 0x100a3128
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100a30f5
xorps xmm0, xmm0
mov dword [esp + 0x36e0], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x36d0], xmm0
mov dword [esp + 0x36e4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3153
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x36d8]
call fcn.10026920
lea eax, [esp + 0x3740]
push eax
lea eax, [esp + 0x36d4]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x369c]
call fcn.10028910
lea eax, [esp + 0x3760]
push eax
lea eax, [esp + 0x3694]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x36bc]
call fcn.10028910
push edi
lea eax, [esp + 0x36b4]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x36fc]
call fcn.10028910
mov edx, dword [esp + 0x3704]
mov eax, edx
mov ecx, dword [esp + 0x3700]
sub eax, ecx
cmp eax, 1
jb 0x100a320c
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0x3700], eax
lea eax, [esp + 0x36f0]
cmova eax, dword [esp + 0x36f0]
mov word [eax + ecx], 0x5d
lea eax, [esp + 0x36f0]
jmp 0x100a3225
push 1
push 0x101db5c0
push dword [esp + 0x24]
lea ecx, [esp + 0x36fc]
push 1
call fcn.10027530
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x3780], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x3790], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x3704]
cmp ecx, 0xf
jbe 0x100a328b
mov edx, dword [esp + 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3281
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a404e
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x36c4]
mov dword [esp + 0x3700], 0
mov dword [esp + 0x3704], 0xf
mov byte [esp + 0x36f0], 0
cmp ecx, 0xf
jbe 0x100a32e5
mov edx, dword [esp + 0x36b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a32db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a404e
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x36a4]
cmp ecx, 0xf
jbe 0x100a3321
mov edx, dword [esp + 0x3690]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3317
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a404e
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x36e4]
cmp ecx, 0xf
jbe 0x100a335d
mov edx, dword [esp + 0x36d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3353
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a404e
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3754]
cmp ecx, 0xf
jbe 0x100a3399
mov edx, dword [esp + 0x3740]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a338f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a404e
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3774]
cmp ecx, 0xf
jbe 0x100a33d5
mov edx, dword [esp + 0x3760]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a33cb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a404e
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3724]
cmp ecx, 0xf
jbe 0x100a3411
mov edx, dword [esp + 0x3710]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3407
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a404e
push ecx
push edx
call fcn.1018dda2
add esp, 8
movups xmm0, xmmword [0x101dc3b8]
mov al, byte [0x101dc3d0]
xor edx, edx
mov byte [esp + 0x3728], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3710], xmm0
movq xmm0, qword [0x101dc3c8]
movq qword [esp + 0x3720], xmm0
cmp esi, 2
jl 0x100a3590
movaps xmm0, xmmword [str.44444444444444447777777777777777]
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov ecx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3710]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3710], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3714]
xorps xmm1, xmm0
movd dword [esp + edx + 0x3714], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100a3480
mov dword [esp + 0x14], edx
cmp edx, 0x19
jge 0x100a35c3
nop dword [eax]
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3710], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x19
jl 0x100a3590
xorps xmm0, xmm0
mov dword [esp + 0x36e0], 0
lea ecx, [esp + 0x3710]
movaps xmmword [esp + 0x36d0], xmm0
mov dword [esp + 0x36e4], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a35f0
sub ecx, edx
lea eax, [esp + 0x3710]
push ecx
push eax
lea ecx, [esp + 0x36d8]
call fcn.10026920
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x37c8]
push eax
mov ecx, edi
call fcn.10181f80
xorps xmm0, xmm0
mov dword [esp + 0x3750], 0
lea ecx, [esp + 0x37c8]
movaps xmmword [esp + 0x3740], xmm0
mov dword [esp + 0x3754], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3650
sub ecx, edx
lea eax, [esp + 0x37c8]
push ecx
push eax
lea ecx, [esp + 0x3748]
call fcn.10026920
movups xmm0, xmmword [0x101dc3a8]
movups xmmword [esp + 0x3690], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a3808
xor edx, edx
mov dword [esp + 0x18], edx
cmp esi, 2
jl 0x100a37d5
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov edx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3690]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3690], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3694]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3694], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a36d0
jmp 0x100a3808
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x10
jl 0x100a37d5
xorps xmm0, xmm0
mov dword [esp + 0x3770], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x3760], xmm0
mov dword [esp + 0x3774], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3833
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x3768]
call fcn.10026920
lea eax, [esp + 0x3740]
push eax
lea eax, [esp + 0x3764]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x36bc]
call fcn.10028910
lea eax, [esp + 0x36d0]
push eax
lea eax, [esp + 0x36b4]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x371c]
call fcn.10028910
mov ecx, dword [esp + 0x36c4]
cmp ecx, 0xf
jbe 0x100a38cd
mov edx, dword [esp + 0x36b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a38c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3774]
cmp ecx, 0xf
jbe 0x100a3909
mov edx, dword [esp + 0x3760]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a38ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3754]
cmp ecx, 0xf
jbe 0x100a3945
mov edx, dword [esp + 0x3740]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a393b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x36e4]
cmp ecx, 0xf
jbe 0x100a3981
mov edx, dword [esp + 0x36d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3977
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov eax, dword [0x101dc428]
xor edx, edx
movq xmm0, qword [0x101dc420]
mov dword [esp + 0x36b8], eax
mov ax, word [0x101dc42c]
mov word [esp + 0x36bc], ax
mov al, byte [0x101dc42e]
movq qword [esp + 0x36b0], xmm0
mov byte [esp + 0x36be], al
mov dword [esp + 0x18], edx
cmp esi, 2
jl 0x100a3ad0
movaps xmm2, xmmword [0x101ea800]
mov edx, 8
movaps xmm4, xmmword [0x101eabf0]
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.44444444444444447777777777777777]
movaps xmm0, xmm1
mov dword [esp + 0x18], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101ea860]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101ea840]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101dc420]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x36b0], 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 [0x101ea860]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x36b4]
xorps xmm1, xmm0
movd dword [esp + 0x36b4], xmm1
nop dword [eax + eax]
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x36b0], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0xf
jl 0x100a3ad0
xorps xmm0, xmm0
mov dword [esp + 0x36e0], 0
lea ecx, [esp + 0x36b0]
movaps xmmword [esp + 0x36d0], xmm0
mov dword [esp + 0x36e4], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3b30
sub ecx, edx
lea eax, [esp + 0x36b0]
push ecx
push eax
lea ecx, [esp + 0x36d8]
call fcn.10026920
lea eax, [esp + 0x37c8]
mov ecx, edi
push eax
call fcn.10181f80
xorps xmm0, xmm0
mov dword [esp + 0x3750], 0
lea ecx, [esp + 0x37c8]
movaps xmmword [esp + 0x3740], xmm0
mov dword [esp + 0x3754], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3b88
sub ecx, edx
lea eax, [esp + 0x37c8]
push ecx
push eax
lea ecx, [esp + 0x3748]
call fcn.10026920
movups xmm0, xmmword [0x101dc3a8]
movups xmmword [esp + 0x3690], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a3d43
xor edx, edx
mov dword [esp + 0x18], edx
cmp esi, 2
jl 0x100a3d10
movaps xmm0, xmmword [str.44444444444444447777777777777777]
xor ecx, ecx
movaps xmm4, xmmword [0x101ea800]
movaps xmm3, xmmword [0x101eabf0]
movaps xmm5, xmmword [0x101ea860]
movaps xmmword [esp + 0x36b0], xmm0
mov edx, dword [esp + 0x36b0]
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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3690]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ecx + 0x3690], 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 [0x101ea930]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esp + ecx + 0x3694]
xorps xmm1, xmm0
movd dword [esp + ecx + 0x3694], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a3c02
jmp 0x100a3d43
mov eax, 0x5397829d
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, 0x31
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x10
jl 0x100a3d10
xorps xmm0, xmm0
mov dword [esp + 0x3770], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x3760], xmm0
mov dword [esp + 0x3774], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3d70
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x3768]
call fcn.10026920
lea eax, [esp + 0x3740]
push eax
lea eax, [esp + 0x3764]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x36bc]
call fcn.10028910
lea eax, [esp + 0x36d0]
push eax
lea eax, [esp + 0x36b4]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x369c]
call fcn.10028910
mov ecx, dword [esp + 0x36c4]
cmp ecx, 0xf
jbe 0x100a3e0a
mov edx, dword [esp + 0x36b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3e00
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3774]
cmp ecx, 0xf
jbe 0x100a3e46
mov edx, dword [esp + 0x3760]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3e3c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3754]
cmp ecx, 0xf
jbe 0x100a3e82
mov edx, dword [esp + 0x3740]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3e78
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x36e4]
cmp ecx, 0xf
jbe 0x100a3ebe
mov edx, dword [esp + 0x36d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3eb4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
cmp dword [esp + 0x368c], 1
jne 0x100a3edf
mov eax, dword [0x10213408]
cmp byte [eax + 0xe28], 0
je 0x100a3ef6
lea eax, [esp + 0x3690]
jmp 0x100a3efd
jle 0x100a3ef6
mov eax, dword [0x10213408]
cmp byte [eax + 0xe28], 0
lea eax, [esp + 0x3780]
jne 0x100a3efd
lea eax, [esp + 0x37b0]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.1001fd50
call fcn.100c4560
mov eax, dword [esp + 0x3688]
cmp eax, 0x41
jae 0x100a4053
mov ecx, dword [esp + 0x36a4]
imul eax, eax, 0x3644
inc dword [eax + 0x10221f64]
cmp ecx, 0xf
jbe 0x100a3f65
mov edx, dword [esp + 0x3690]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3f5b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3724]
cmp ecx, 0xf
jbe 0x100a3fa1
mov edx, dword [esp + 0x3710]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3f97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x3794]
cmp ecx, 0xf
jbe 0x100a3fdd
mov edx, dword [esp + 0x3780]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3fd3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x37c4]
cmp ecx, 0xf
jbe 0x100a4015
mov edx, dword [esp + 0x37b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a400b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4058
push ecx
push edx
call fcn.1018dda2
add esp, 8
lea ecx, [esp + 0x20]
call fcn.1008d350
mov eax, dword [esp + 0x20]
push 8
push eax
mov dword [esp + 0x28], 0
call fcn.1018dda2
add esp, 8
mov ecx, dword [esp + 0x384c]
pop edi
pop esi
xor ecx, esp
call fcn.1018daa9
mov esp, ebp
pop ebp
ret
call fcn.10090c50
call fcn.10192ed6
call fcn.1008d340
call fcn.10192ed6
int3