Function at 0x100e6160
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xd4
mov eax, dword [0x1020f0c0]
xor eax, esp
mov dword [esp + 0xd0], eax
push ebx
push esi
mov esi, dword [0x10456c08]
push edi
mov eax, dword [esi + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [esi + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100e61b1
cmp dword [eax + 0x10], 2
jne 0x100e61ac
cmp dword [eax + 4], 1
je 0x100e61c5
call fcn.100cef70
push 1
mov edx, 2
xor ecx, ecx
call fcn.100ce6a0
mov esi, dword [0x10456c08]
movss xmm0, dword [0x102011c8]
mov ecx, 1
call fcn.100ce2d0
mov ecx, dword [esi + 0x1bec]
cmp byte [ecx + 0xab], 0
jne 0x100e61f8
mov ecx, dword [ecx + 0x1dc]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.101751f0
movss xmm0, dword [0x1020110c]
call fcn.101640b0
xor ecx, ecx
call fcn.10163c40
mov ecx, 0x18
lea edi, [esp + 0x70]
mov esi, 0x101f6240
xor ebx, ebx
cmp dword [0x1022e690], 2
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jl 0x100e6362
movaps xmm0, xmmword [0x10201550]
lea edx, [esp + 0x74]
movaps xmm4, xmmword [0x10201400]
movaps xmm3, xmmword [0x10201840]
movaps xmm5, xmmword [0x10201490]
movaps xmmword [esp + 0x20], xmm0
mov ecx, dword [esp + 0x20]
nop word [eax + eax]
movd xmm0, ebx
lea eax, [ebx + 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
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [esp + ebx + 0x70]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [esp + ebx + 0x70], xmm1
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
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 [0x10201520]
packuswb xmm1, xmm1
movd xmm0, ecx
paddb xmm1, xmm0
movd xmm0, dword [edx + ebx]
xorps xmm1, xmm0
movd dword [edx + ebx], xmm1
add ebx, 8
cmp ebx, 0x60
jl 0x100e6260
cmp ebx, 0x63
jge 0x100e638f
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x70], al
inc ebx
cmp ebx, 0x63
jl 0x100e6362
xor esi, esi
lea edx, [esp + 0x70]
cmp byte [esp + 0x70], 0
je 0x100e63b6
nop dword [eax]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e63a5
sub ecx, edi
inc edx
add edx, ecx
inc esi
cmp byte [edx], al
jne 0x100e63a0
push 0
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x7c]
mov edx, 0x10456a14
push eax
push 0x10176310
mov ecx, 0x101d84ee
call fcn.10176370
test al, al
je 0x100e63e5
mov esi, 1
mov dword [0x1022c778], esi
jmp 0x100e63eb
mov esi, dword [0x1022c778]
mov edi, dword [0x10456c08]
xorps xmm0, xmm0
movss xmm1, dword [0x10201264]
mov eax, dword [edi + 0x1bec]
dec dword [eax + 0xe0]
call fcn.10163ff0
xor edx, edx
mov ecx, str.left
cmp esi, 1
jg 0x100e6420
call fcn.100c3ff0
jmp 0x100e645d
movss xmm0, dword [edi + 0x159c]
addss xmm0, xmm0
push 0
addss xmm0, dword [edi + 0x1988]
movss dword [esp + 0x18], xmm0
movss xmm1, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x14]
call fcn.10173630
test al, al
je 0x100e645d
dec dword [0x1022c778]
movss xmm1, dword [0x10201264]
xorps xmm0, xmm0
call fcn.10163ff0
cmp byte [str.pVTUSU_], 0
mov ecx, dword [str.zVAHe]
mov edx, dword [0x101f7048]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
je 0x100e65c0
xor ebx, ebx
cmp dword [0x1022e690], 2
jl 0x100e6593
movaps xmm2, xmmword [0x10201400]
movaps xmm4, xmmword [0x10201840]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [0x10201550]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10201440]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x10], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, edx
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
jmp 0x100e65c0
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 8
jl 0x100e6593
lea eax, [esp + 0x10]
push eax
call fcn.101728b0
mov ax, word [0x101f67e8]
add esp, 4
movss xmm1, dword [0x10201264]
xorps xmm0, xmm0
mov word [esp + 0x10], ax
mov al, byte [0x101f67ea]
mov byte [esp + 0x12], al
call fcn.10163ff0
xor ebx, ebx
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 3
jl 0x100e65f3
push dword [0x1022c778]
lea eax, [esp + 0x14]
push eax
call fcn.101728b0
movss xmm1, dword [0x10201264]
add esp, 8
xorps xmm0, xmm0
mov dword [esp + 0x44], str.Allies
mov dword [esp + 0x48], str.Enemies
mov dword [esp + 0x4c], str.Local_player
mov dword [esp + 0x50], str.Weapons
mov dword [esp + 0x54], str.Hands
mov dword [esp + 0x58], str.Backtrack
mov dword [esp + 0x5c], str.Sleeves
mov dword [esp + 0x60], str.Desync
mov dword [esp + 0x64], str.Ragdolls
mov dword [esp + 0x68], str.Fake_lag
mov dword [esp + 0x6c], str.Attachements
call fcn.10163ff0
mov eax, dword [0x10456a14]
xorps xmm0, xmm0
mov edi, dword [0x1022ccc8]
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
mov esi, dword [esp + eax*4 + 0x44]
mov edx, esi
mov dword [esp + 0x34], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x100e66c6
sub edx, ecx
lea ecx, [esp + 0x20]
push edx
push esi
call fcn.10028880
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [edi + 0x102c]
call fcn.1009a330
cmp dword [0x1022c778], 7
mov ecx, dword [esp + 0x34]
setge bl
cmp ecx, 0xf
jbe 0x100e672f
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100e6725
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e6f40
push ecx
push edx
call fcn.101a201e
add esp, 8
mov dword [esp + 0x30], 0
mov edx, 1
mov dword [esp + 0x34], 0xf
mov ecx, str.right
mov byte [esp + 0x20], 0
test bl, bl
je 0x100e6759
call fcn.100c3ff0
jmp 0x100e679b
mov eax, dword [0x10456c08]
push 0
movss xmm0, dword [eax + 0x159c]
addss xmm0, xmm0
addss xmm0, dword [eax + 0x1988]
movss dword [esp + 0x18], xmm0
movss xmm1, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x14]
call fcn.10173630
test al, al
je 0x100e679b
inc dword [0x1022c778]
movss xmm1, dword [0x10201264]
xorps xmm0, xmm0
call fcn.10163ff0
mov eax, dword [0x10456a14]
xorps xmm0, xmm0
mov edi, dword [0x1022ccc8]
mov esi, dword [esp + eax*4 + 0x44]
mov edx, esi
movups xmmword [esp + 0x44], xmm0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x100e67d7
sub edx, ecx
lea ecx, [esp + 0x44]
push edx
push esi
call fcn.10028880
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x24]
push eax
lea ecx, [edi + 0x102c]
call fcn.1009a330
mov esi, dword [0x1022c778]
mov ecx, dword [esp + 0x58]
shl esi, 5
add esi, dword [eax]
cmp ecx, 0xf
jbe 0x100e6841
mov edx, dword [esp + 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100e6837
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100e6f45
push ecx
push edx
call fcn.101a201e
add esp, 8
cmp byte [0x101f7357], 0
mov ecx, dword [0x10456c08]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0xf
mov byte [esp + 0x44], 0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
mov ecx, dword [edx + 0x1f8]
mov eax, dword [edx + 0x200]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1f0], eax
lea eax, [ecx - 1]
mov ecx, dword [str.sYY_VXrEYN]
mov dword [edx + 0x1f8], eax
mov edx, dword [0x101f7354]
mov edi, dword [0x1022e690]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
je 0x100e69e3
xor ebx, ebx
cmp edi, 2
jl 0x100e69b6
movaps xmm2, xmmword [0x10201400]
movaps xmm4, xmmword [0x10201840]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [0x10201550]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10201440]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x10], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, edx
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
jmp 0x100e69e3
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 8
jl 0x100e69b6
lea edx, [esi + 0x15]
lea ecx, [esp + 0x10]
call fcn.101748d0
mov eax, dword [0x10456c08]
mov ecx, dword [eax + 0x1bec]
cmp byte [ecx + 0xab], 0
jne 0x100e6a15
mov ecx, dword [ecx + 0x1dc]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.101751f0
mov eax, dword [0x101f70f4]
xor ebx, ebx
movq xmm0, qword [str.RYUNS]
mov dword [esp + 0x18], eax
mov al, byte [0x101f70f8]
mov byte [esp + 0x1c], al
movq qword [esp + 0x10], xmm0
cmp edi, 2
jl 0x100e6b40
movaps xmm2, xmmword [0x10201400]
mov ebx, 8
movaps xmm4, xmmword [0x10201840]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [0x10201550]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10201440]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [str.RYUNS]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x10], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x14]
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
nop
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0xd
jl 0x100e6b40
lea edx, [esi + 0x16]
lea ecx, [esp + 0x10]
call fcn.101748d0
movq xmm0, qword [str.t_QWQRRZ_]
xor ebx, ebx
mov al, byte [0x101f77a8]
movq qword [esp + 0x10], xmm0
mov byte [esp + 0x18], al
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 9
jl 0x100e6b92
lea edx, [esi + 0x17]
lea ecx, [esp + 0x10]
call fcn.101748d0
movss xmm0, dword [0x10201120]
call fcn.101640b0
xor edi, edi
mov edx, str.Normal
nop
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e6be5
sub ecx, ebx
inc edx
add edx, ecx
inc edi
cmp byte [edx], al
jne 0x100e6be0
push 1
push 0xffffffffffffffff
push edi
push str.Normal
push 0x10176310
lea edx, [esi + 0x1c]
mov ecx, str.Material
call fcn.10176370
mov ecx, dword [0x10456c08]
movq xmm0, qword [str.aJI_P__]
movq qword [esp + 0x10], xmm0
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov edx, dword [ecx + 0x1bec]
mov ecx, dword [edx + 0x1f8]
mov eax, dword [edx + 0x200]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x1f0], eax
lea eax, [ecx - 1]
mov dword [edx + 0x1f8], eax
mov ax, word [0x101f6684]
mov word [esp + 0x18], ax
test ah, ah
je 0x100e6c9c
xor ebx, ebx
nop dword [eax]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0xa
jl 0x100e6c70
lea edx, [esi + 0x18]
lea ecx, [esp + 0x10]
call fcn.101748d0
mov eax, dword [0x101f7b78]
mov dword [esp + 0x10], eax
mov ax, word [0x101f7b7c]
mov word [esp + 0x14], ax
test ah, ah
je 0x100e6cee
xor ebx, ebx
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 6
jl 0x100e6cc2
lea edx, [esi + 0x19]
lea ecx, [esp + 0x10]
call fcn.101748d0
cmp byte [0x101f7693], 0
movq xmm0, qword [0x101f7688]
mov eax, dword [0x101f7690]
movq qword [esp + 0x10], xmm0
mov dword [esp + 0x18], eax
je 0x100e6e5d
xor ebx, ebx
cmp dword [0x1022e690], 2
jl 0x100e6e30
movaps xmm2, xmmword [0x10201400]
mov ebx, 8
movaps xmm4, xmmword [0x10201840]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
mov eax, dword [0x10201550]
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10201440]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [0x101f7688]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [esp + 0x10], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10201490]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10201520]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [esp + 0x14]
xorps xmm1, xmm0
movd dword [esp + 0x14], xmm1
nop dword [eax]
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0xc
jl 0x100e6e30
lea edx, [esi + 0x1a]
lea ecx, [esp + 0x10]
call fcn.101748d0
cmp dword [0x10456a14], 5
jne 0x100e6ed2
mov ax, word [0x101f60e8]
movq xmm0, qword [0x101f60e0]
mov edi, dword [0x1022ccc8]
movq qword [esp + 0x10], xmm0
mov word [esp + 0x18], ax
test ah, ah
je 0x100e6ec3
xor ebx, ebx
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
mov cl, al
shl cl, 3
sub cl, al
mov al, bl
shl cl, 3
sub al, cl
add al, 0x36
xor byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0xa
jl 0x100e6e97
lea edx, [edi + 0x101c]
lea ecx, [esp + 0x10]
call fcn.101748d0
push 0
push 0
push 0
push 0
lea eax, [esi + 0x10]
mov edx, esi
push eax
lea eax, [esi + 0x14]
mov ecx, str.Color
push eax
lea eax, [esi + 0xc]
push eax
call fcn.100c3320
call fcn.100cec90
mov ecx, dword [0x10456c08]
mov eax, dword [ecx + 0x1bec]
mov byte [eax + 0xa8], 1
mov eax, dword [ecx + 0x1bec]
mov eax, dword [eax + 0x1d0]
test eax, eax
je 0x100e6f2b
cmp dword [eax + 0x10], 1
jne 0x100e6f26
cmp dword [eax + 4], 0
je 0x100e6f2b
call fcn.100cef70
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101a1d25
mov esp, ebp
pop ebp
ret
call fcn.101a7156
call fcn.101a7156
int3