Function at 0x100a1ce0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x38a8
call fcn.1018ef20
mov eax, dword [0x101f90c0]
xor eax, esp
mov dword [esp + 0x38a4], eax
mov eax, dword [0x10215cf4]
push esi
push edi
cmp dword [eax], 0
jne 0x100a1d28
mov ecx, 0x102fc120
call fcn.100a4830
pop edi
pop esi
mov ecx, dword [esp + 0x38a4]
xor ecx, esp
call fcn.1018e0ca
mov esp, ebp
pop ebp
ret
cmp dword [0x102fc130], 0
je 0x100a4005
mov ecx, dword [0x102fc128]
mov eax, dword [0x102fc124]
dec ecx
and ecx, dword [0x102fc12c]
mov ecx, dword [eax + ecx*4]
movss xmm0, dword [ecx + 0x3664]
ucomiss xmm0, dword [0x101eb704]
lahf
test ah, 0x44
jnp 0x100a4005
push ecx
lea ecx, [esp + 0x24]
call fcn.100a4030
mov ecx, dword [0x102fc128]
mov eax, dword [0x102fc124]
dec ecx
and ecx, dword [0x102fc12c]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.1008d1b0
mov eax, dword [esi]
push 8
push eax
mov dword [esi], 0
call fcn.1018e3c3
add esp, 8
add dword [0x102fc130], 0xffffffff
jne 0x100a1db1
mov dword [0x102fc12c], 0
jmp 0x100a1db7
inc dword [0x102fc12c]
mov eax, dword [0x10215cf4]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x100a1df5
mov ecx, 0x8d4eb58d
call fcn.100c68e0
mov ecx, dword [0x10215cf4]
mov ecx, dword [ecx]
movd xmm0, dword [eax + ecx]
mov eax, dword [0x10214404]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10]
mulss xmm0, dword [eax + 0x20]
jmp 0x100a1e02
mov eax, dword [0x10214404]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [esp + 0x3684]
andps xmm0, xmmword [0x101ebc40]
comiss xmm0, dword [0x101eb354]
jbe 0x100a2317
cmp byte [esp + 0x3680], 0
je 0x100a2086
cmp byte [0x101dd423], 0
movups xmm0, xmmword [0x101dd40c]
movups xmmword [esp + 0x3690], xmm0
movq xmm0, qword [0x101dd41c]
movq qword [esp + 0x36a0], xmm0
je 0x100a1fd3
xor edx, edx
cmp dword [0x10215510], 2
mov dword [esp + 0x14], edx
jl 0x100a1fa0
movaps xmm0, xmmword [str.4444444444444444]
lea esi, [esp + 0x3694]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov edx, dword [esp + 0x36c0]
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 [0x101eb990]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + esi]
xorps xmm1, xmm0
movd dword [ecx + esi], xmm1
add ecx, 8
cmp ecx, 0x18
jl 0x100a1ea1
jmp 0x100a1fd3
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x18
jl 0x100a1fa0
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 0x100a2000
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x36d8]
call fcn.10026930
cmp dword [esp + 0x36e4], 0xf
lea edx, [esp + 0x36d0]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x36d0]
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 0x100a2053
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10026930
call fcn.100c4640
mov ecx, dword [esp + 0x36e4]
cmp ecx, 0xf
jbe 0x100a2308
mov edx, dword [esp + 0x36d0]
jmp 0x100a22df
movups xmm0, xmmword [str.YED__]
mov eax, dword [0x101dd458]
xor edx, edx
cmp dword [0x10215510], 2
movups xmmword [esp + 0x3750], xmm0
mov dword [esp + 0x3770], eax
movups xmm0, xmmword [0x101dd448]
mov dword [esp + 0x18], edx
movups xmmword [esp + 0x3760], xmm0
jl 0x100a2204
movaps xmm0, xmmword [str.4444444444444444]
lea esi, [esp + 0x3754]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov ecx, dword [esp + 0x36c0]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3750]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3750], 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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esi + edx]
xorps xmm1, xmm0
movd dword [esi + edx], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100a2100
mov dword [esp + 0x18], edx
cmp edx, 0x24
jge 0x100a2237
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3750], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x24
jl 0x100a2204
xorps xmm0, xmm0
mov dword [esp + 0x36a0], 0
lea ecx, [esp + 0x3750]
movaps xmmword [esp + 0x3690], xmm0
mov dword [esp + 0x36a4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2262
sub ecx, edx
lea eax, [esp + 0x3750]
push ecx
push eax
lea ecx, [esp + 0x3698]
call fcn.10026930
cmp dword [esp + 0x36a4], 0xf
lea edx, [esp + 0x3690]
xorps xmm0, xmm0
cmova edx, dword [esp + 0x3690]
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 0x100a22b5
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.10026930
call fcn.100c4640
mov ecx, dword [esp + 0x36a4]
cmp ecx, 0xf
jbe 0x100a2308
mov edx, dword [esp + 0x3690]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a22fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, 0x102fc120
call fcn.100a4830
jmp 0x100a3fe5
cmp byte [esp + 0x3648], 0
je 0x100a3fe5
mov eax, dword [0x10214410]
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 0x100a3fe5
mov edx, dword [esp + 0x3664]
test edx, edx
je 0x100a3fe5
mov ecx, dword [0x10214410]
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 0x100a3fe5
cmp dword [ecx + 0xac], 0
jle 0x100a3fe5
mov eax, dword [ecx + 0xb0]
add eax, ecx
mov dword [esp + 0x1c], eax
je 0x100a3fe5
movss xmm0, dword [esp + 0x3674]
lea eax, [esp + 0x36c0]
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.10087660
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.10087750
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [esp + 0x36d0], xmm0
movss xmm0, dword [esp + 0x36d0]
mulss xmm0, dword [0x101eb244]
mov dword [esp + 0x36d8], eax
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x3690], xmm0
call fcn.101b5030
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x36d4]
mulss xmm0, dword [0x101eb244]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x36d0], xmm0
call fcn.101b5030
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x36d0]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x101eb6a4]
addss xmm1, dword [esp + 0x3674]
movss dword [esp + 0x36c0], xmm1
call fcn.101b62b0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x3690]
mulss xmm1, dword [esp + 0x14]
mulss xmm1, dword [0x101eb6a4]
addss xmm1, dword [esp + 0x3678]
movss dword [esp + 0x36c4], xmm1
call fcn.101b62b0
mov ecx, dword [esp + 0x368c]
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x101ebc70]
mulss xmm0, dword [0x101eb6a4]
addss xmm0, dword [esp + 0x367c]
movss dword [esp + 0x36c8], xmm0
cmp ecx, 0xffffffff
jg 0x100a2542
lea edi, [esp + 0x34]
jmp 0x100a256f
cmp dword [esp + 0x30], ecx
jbe 0x100a4019
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
add edx, ecx
test eax, eax
je 0x100a255e
mov eax, dword [eax]
jmp 0x100a2560
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov edi, dword [eax + ecx*4]
add edi, 0x54
xor esi, esi
lea eax, [esp + 0x36c0]
mov edx, esi
push eax
lea eax, [esp + 0x366c]
mov ecx, edi
push eax
push dword [esp + 0x24]
call fcn.10088a10
test al, al
jne 0x100a27a3
inc esi
cmp esi, 0x13
jl 0x100a2571
movups xmm0, xmmword [0x101dd3cc]
mov ax, word [0x101dd3e4]
mov word [esp + 0x3768], ax
movups xmmword [esp + 0x3750], xmm0
movq xmm0, qword [0x101dd3dc]
movq qword [esp + 0x3760], xmm0
test ah, ah
je 0x100a2757
xor edx, edx
cmp dword [0x10215510], 2
mov dword [esp + 0x18], edx
jl 0x100a2724
movaps xmm0, xmmword [str.4444444444444444]
lea esi, [esp + 0x3754]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov ecx, dword [esp + 0x36c0]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + edx + 0x3750]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + edx + 0x3750], 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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esi + edx]
xorps xmm1, xmm0
movd dword [esi + edx], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100a2620
mov dword [esp + 0x18], edx
cmp edx, 0x1a
jge 0x100a2757
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3750], cl
inc edx
mov dword [esp + 0x18], edx
cmp edx, 0x1a
jl 0x100a2724
sub esp, 0x18
lea ecx, [esp + 0x3768]
mov edx, esp
lea esi, [ecx + 1]
xorps xmm0, xmm0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2780
sub ecx, esi
lea eax, [esp + 0x3768]
push ecx
push eax
mov ecx, edx
call fcn.10026930
call fcn.100c4640
jmp 0x100a3fe5
movups xmm0, xmmword [0x101dd3f8]
mov al, byte [0x101dd408]
xor edx, edx
mov esi, dword [0x10215510]
mov byte [esp + 0x36a0], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3690], xmm0
cmp esi, 2
jl 0x100a2914
movaps xmm0, xmmword [str.4444444444444444]
lea edi, [esp + 0x3694]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov ecx, dword [esp + 0x36c0]
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 [0x101eb990]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + edi]
xorps xmm1, xmm0
movd dword [edx + edi], xmm1
add edx, 8
cmp edx, 0x10
jl 0x100a2810
mov dword [esp + 0x14], edx
cmp edx, 0x11
jge 0x100a2947
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x11
jl 0x100a2914
xorps xmm0, xmm0
mov dword [esp + 0x3720], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x3710], xmm0
mov dword [esp + 0x3724], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2972
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x3718]
call fcn.10026930
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x3828]
push eax
call fcn.101823a0
xorps xmm0, xmm0
mov dword [esp + 0x3700], 0
lea ecx, [esp + 0x3828]
movaps xmmword [esp + 0x36f0], xmm0
mov dword [esp + 0x3704], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a29d0
sub ecx, edx
lea eax, [esp + 0x3828]
push ecx
push eax
lea ecx, [esp + 0x36f8]
call fcn.10026930
movups xmm0, xmmword [0x101dd3e8]
movups xmmword [esp + 0x3690], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a2b83
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a2b50
movaps xmm0, xmmword [str.4444444444444444]
lea edi, [esp + 0x3694]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov edx, dword [esp + 0x36c0]
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 [0x101eb990]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + edi]
xorps xmm1, xmm0
movd dword [ecx + edi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a2a51
jmp 0x100a2b83
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100a2b50
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 0x100a2bb0
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x36d8]
call fcn.10026930
lea eax, [esp + 0x36f0]
push eax
lea eax, [esp + 0x36d4]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x373c]
call fcn.10028920
lea eax, [esp + 0x3710]
push eax
lea eax, [esp + 0x3734]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x381c]
call fcn.10028920
mov ecx, dword [esp + 0x3744]
cmp ecx, 0xf
jbe 0x100a2c4a
mov edx, dword [esp + 0x3730]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2c40
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x36e4]
cmp ecx, 0xf
jbe 0x100a2c86
mov edx, dword [esp + 0x36d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2c7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3704]
cmp ecx, 0xf
jbe 0x100a2cc2
mov edx, dword [esp + 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2cb8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3724]
cmp ecx, 0xf
jbe 0x100a2cfe
mov edx, dword [esp + 0x3710]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a2cf4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov edx, dword [esp + 0x368c]
lea ecx, [esp + 0x3780]
call fcn.10003bf0
movups xmm0, xmmword [0x101dd3a8]
mov cl, byte [0x101dd3c8]
xor edx, edx
mov byte [esp + 0x36b0], cl
mov edi, eax
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3690], xmm0
movups xmm0, xmmword [0x101dd3b8]
movups xmmword [esp + 0x36a0], xmm0
cmp esi, 2
jl 0x100a2e90
movaps xmm0, xmmword [str.4444444444444444]
lea esi, [esp + 0x3694]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov ecx, dword [esp + 0x36c0]
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 [0x101eb990]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + esi]
xorps xmm1, xmm0
movd dword [edx + esi], xmm1
add edx, 8
cmp edx, 0x20
jl 0x100a2d80
mov esi, dword [0x10215510]
mov dword [esp + 0x14], edx
cmp edx, 0x21
jge 0x100a2ec3
nop word [eax + eax]
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x21
jl 0x100a2e90
xorps xmm0, xmm0
mov dword [esp + 0x3740], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x3730], xmm0
mov dword [esp + 0x3744], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2ef0
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x3738]
call fcn.10026930
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x3828]
push eax
call fcn.101823a0
xorps xmm0, xmm0
mov dword [esp + 0x3700], 0
lea ecx, [esp + 0x3828]
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 0x100a2f50
sub ecx, edx
lea eax, [esp + 0x3828]
push ecx
push eax
lea ecx, [esp + 0x36f8]
call fcn.10026930
movups xmm0, xmmword [0x101dd3e8]
movups xmmword [esp + 0x3690], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a3107
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a30d4
movaps xmm0, xmmword [str.4444444444444444]
lea esi, [esp + 0x3694]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov edx, dword [esp + 0x36c0]
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 [0x101eb990]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [esi + ecx]
xorps xmm1, xmm0
movd dword [esi + ecx], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a2fd1
mov esi, dword [0x10215510]
jmp 0x100a3107
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100a30d4
xorps xmm0, xmm0
mov dword [esp + 0x3720], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x3710], xmm0
mov dword [esp + 0x3724], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3132
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x3718]
call fcn.10026930
lea eax, [esp + 0x36f0]
push eax
lea eax, [esp + 0x3714]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x37b4]
call fcn.10028920
lea eax, [esp + 0x3730]
push eax
lea eax, [esp + 0x37ac]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x37ec]
call fcn.10028920
push edi
lea eax, [esp + 0x37e4]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x36dc]
call fcn.10028920
mov edx, dword [esp + 0x36e4]
mov eax, edx
mov ecx, dword [esp + 0x36e0]
sub eax, ecx
cmp eax, 1
jb 0x100a31eb
lea eax, [ecx + 1]
cmp edx, 0xf
mov dword [esp + 0x36e0], eax
lea eax, [esp + 0x36d0]
cmova eax, dword [esp + 0x36d0]
mov word [eax + ecx], 0x5d
lea eax, [esp + 0x36d0]
jmp 0x100a3204
push 1
push 0x101dc5dc
push dword [esp + 0x24]
lea ecx, [esp + 0x36dc]
push 1
call fcn.10027540
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x37c0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x37d0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [esp + 0x36e4]
cmp ecx, 0xf
jbe 0x100a326a
mov edx, dword [esp + 0x36d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3260
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a401e
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x37f4]
mov dword [esp + 0x36e0], 0
mov dword [esp + 0x36e4], 0xf
mov byte [esp + 0x36d0], 0
cmp ecx, 0xf
jbe 0x100a32c4
mov edx, dword [esp + 0x37e0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a32ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a401e
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x37bc]
cmp ecx, 0xf
jbe 0x100a3300
mov edx, dword [esp + 0x37a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a32f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a401e
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3724]
cmp ecx, 0xf
jbe 0x100a333c
mov edx, dword [esp + 0x3710]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3332
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a401e
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3704]
cmp ecx, 0xf
jbe 0x100a3378
mov edx, dword [esp + 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a336e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a401e
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3744]
cmp ecx, 0xf
jbe 0x100a33b4
mov edx, dword [esp + 0x3730]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a33aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a401e
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3794]
cmp ecx, 0xf
jbe 0x100a33f0
mov edx, dword [esp + 0x3780]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a33e6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a401e
push ecx
push edx
call fcn.1018e3c3
add esp, 8
movups xmm0, xmmword [0x101dd468]
mov al, byte [0x101dd480]
xor edx, edx
mov byte [esp + 0x3798], al
mov dword [esp + 0x14], edx
movups xmmword [esp + 0x3780], xmm0
movq xmm0, qword [0x101dd478]
movq qword [esp + 0x3790], xmm0
cmp esi, 2
jl 0x100a3564
movaps xmm0, xmmword [str.4444444444444444]
lea edi, [esp + 0x3784]
movaps xmm4, xmmword [0x101eb880]
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov ecx, dword [esp + 0x36c0]
nop dword [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 [0x101eb990]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edi + edx]
xorps xmm1, xmm0
movd dword [edi + edx], xmm1
add edx, 8
cmp edx, 0x18
jl 0x100a3460
mov dword [esp + 0x14], edx
cmp edx, 0x19
jge 0x100a3597
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3780], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x19
jl 0x100a3564
xorps xmm0, xmm0
mov dword [esp + 0x3700], 0
lea ecx, [esp + 0x3780]
movaps xmmword [esp + 0x36f0], xmm0
mov dword [esp + 0x3704], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a35c2
sub ecx, edx
lea eax, [esp + 0x3780]
push ecx
push eax
lea ecx, [esp + 0x36f8]
call fcn.10026930
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x3828]
push eax
mov ecx, edi
call fcn.101823a0
xorps xmm0, xmm0
mov dword [esp + 0x3720], 0
lea ecx, [esp + 0x3828]
movaps xmmword [esp + 0x3710], xmm0
mov dword [esp + 0x3724], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3620
sub ecx, edx
lea eax, [esp + 0x3828]
push ecx
push eax
lea ecx, [esp + 0x3718]
call fcn.10026930
movups xmm0, xmmword [0x101dd3e8]
movups xmmword [esp + 0x3690], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a37d5
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a37a2
movaps xmm0, xmmword [str.4444444444444444]
lea edi, [esp + 0x3694]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov edx, dword [esp + 0x36c0]
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 [0x101eb990]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + edi]
xorps xmm1, xmm0
movd dword [ecx + edi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a36a1
mov edi, dword [esp + 0x18]
jmp 0x100a37d5
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100a37a2
xorps xmm0, xmm0
mov dword [esp + 0x3740], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x3730], xmm0
mov dword [esp + 0x3744], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3800
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x3738]
call fcn.10026930
lea eax, [esp + 0x3710]
push eax
lea eax, [esp + 0x3734]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x37b4]
call fcn.10028920
lea eax, [esp + 0x36f0]
push eax
lea eax, [esp + 0x37ac]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x375c]
call fcn.10028920
mov ecx, dword [esp + 0x37bc]
cmp ecx, 0xf
jbe 0x100a389a
mov edx, dword [esp + 0x37a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3890
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3744]
cmp ecx, 0xf
jbe 0x100a38d6
mov edx, dword [esp + 0x3730]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a38cc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3724]
cmp ecx, 0xf
jbe 0x100a3912
mov edx, dword [esp + 0x3710]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3908
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3704]
cmp ecx, 0xf
jbe 0x100a394e
mov edx, dword [esp + 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3944
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov eax, dword [0x101dd48c]
xor edx, edx
movq xmm0, qword [0x101dd484]
mov dword [esp + 0x36c8], eax
mov ax, word [0x101dd490]
mov word [esp + 0x36cc], ax
mov al, byte [0x101dd492]
movq qword [esp + 0x36c0], xmm0
mov byte [esp + 0x36ce], al
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a3aa0
movaps xmm2, xmmword [0x101eb880]
mov edx, 8
movaps xmm4, xmmword [0x101ebc10]
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.4444444444444444]
movaps xmm0, xmm1
mov dword [esp + 0x14], edx
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x101eb900]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x101eb8c0]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101dd484]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x36c0], 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 [0x101eb900]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x36c4]
xorps xmm1, xmm0
movd dword [esp + 0x36c4], xmm1
nop dword [eax + eax]
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x36c0], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0xf
jl 0x100a3aa0
xorps xmm0, xmm0
mov dword [esp + 0x3700], 0
lea ecx, [esp + 0x36c0]
movaps xmmword [esp + 0x36f0], xmm0
mov dword [esp + 0x3704], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3b00
sub ecx, edx
lea eax, [esp + 0x36c0]
push ecx
push eax
lea ecx, [esp + 0x36f8]
call fcn.10026930
lea eax, [esp + 0x3828]
mov ecx, edi
push eax
call fcn.101823a0
xorps xmm0, xmm0
mov dword [esp + 0x3720], 0
lea ecx, [esp + 0x3828]
movaps xmmword [esp + 0x3710], xmm0
mov dword [esp + 0x3724], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3b58
sub ecx, edx
lea eax, [esp + 0x3828]
push ecx
push eax
lea ecx, [esp + 0x3718]
call fcn.10026930
movups xmm0, xmmword [0x101dd3e8]
movups xmmword [esp + 0x3690], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x100a3d13
xor edx, edx
mov dword [esp + 0x14], edx
cmp esi, 2
jl 0x100a3ce0
movaps xmm0, xmmword [str.4444444444444444]
lea esi, [esp + 0x3694]
movaps xmm4, xmmword [0x101eb880]
xor ecx, ecx
movaps xmm3, xmmword [0x101ebc10]
movaps xmm5, xmmword [0x101eb900]
movaps xmmword [esp + 0x36c0], xmm0
mov edx, dword [esp + 0x36c0]
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 [0x101eb990]
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 [0x101eb990]
packuswb xmm1, xmm1
movd xmm0, edx
paddb xmm1, xmm0
movd xmm0, dword [ecx + esi]
xorps xmm1, xmm0
movd dword [ecx + esi], xmm1
add ecx, 8
cmp ecx, 0x10
jl 0x100a3be0
jmp 0x100a3d13
mov eax, 0x4bda12f7
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, 0x36
sub cl, al
add cl, 0x34
xor byte [esp + edx + 0x3690], cl
inc edx
mov dword [esp + 0x14], edx
cmp edx, 0x10
jl 0x100a3ce0
xorps xmm0, xmm0
mov dword [esp + 0x3740], 0
lea ecx, [esp + 0x3690]
movaps xmmword [esp + 0x3730], xmm0
mov dword [esp + 0x3744], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a3d40
sub ecx, edx
lea eax, [esp + 0x3690]
push ecx
push eax
lea ecx, [esp + 0x3738]
call fcn.10026930
lea eax, [esp + 0x3710]
push eax
lea eax, [esp + 0x3734]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x37b4]
call fcn.10028920
lea eax, [esp + 0x36f0]
push eax
lea eax, [esp + 0x37ac]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x3804]
call fcn.10028920
mov ecx, dword [esp + 0x37bc]
cmp ecx, 0xf
jbe 0x100a3dda
mov edx, dword [esp + 0x37a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3dd0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3744]
cmp ecx, 0xf
jbe 0x100a3e16
mov edx, dword [esp + 0x3730]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3e0c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3724]
cmp ecx, 0xf
jbe 0x100a3e52
mov edx, dword [esp + 0x3710]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3e48
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3704]
cmp ecx, 0xf
jbe 0x100a3e8e
mov edx, dword [esp + 0x36f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3e84
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
cmp dword [esp + 0x368c], 1
jne 0x100a3eaf
mov eax, dword [0x10214408]
cmp byte [eax + 0xe28], 0
je 0x100a3ec6
lea eax, [esp + 0x37f8]
jmp 0x100a3ecd
jle 0x100a3ec6
mov eax, dword [0x10214408]
cmp byte [eax + 0xe28], 0
lea eax, [esp + 0x37c0]
jne 0x100a3ecd
lea eax, [esp + 0x3810]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.1001fc30
call fcn.100c4640
mov eax, dword [esp + 0x3688]
cmp eax, 0x41
jae 0x100a4023
mov ecx, dword [esp + 0x380c]
imul eax, eax, 0x3644
inc dword [eax + 0x10222f64]
cmp ecx, 0xf
jbe 0x100a3f35
mov edx, dword [esp + 0x37f8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3f2b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3764]
cmp ecx, 0xf
jbe 0x100a3f71
mov edx, dword [esp + 0x3750]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3f67
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x37d4]
cmp ecx, 0xf
jbe 0x100a3fad
mov edx, dword [esp + 0x37c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3fa3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x3824]
cmp ecx, 0xf
jbe 0x100a3fe5
mov edx, dword [esp + 0x3810]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a3fdb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a4028
push ecx
push edx
call fcn.1018e3c3
add esp, 8
lea ecx, [esp + 0x20]
call fcn.1008d1b0
mov eax, dword [esp + 0x20]
push 8
push eax
mov dword [esp + 0x28], 0
call fcn.1018e3c3
add esp, 8
mov ecx, dword [esp + 0x38ac]
pop edi
pop esi
xor ecx, esp
call fcn.1018e0ca
mov esp, ebp
pop ebp
ret
call fcn.10090ab0
call fcn.101934f6
call fcn.1008d1a0
call fcn.101934f6
int3