Function at 0x63a040
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb50
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xdc], eax
mov edi, dword [ebp + 8]
mov byte [esp + 0xe0], 0x10
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x170], 0
mov dword [esp + 0x130], 0
nop
mov dword [esp + 0x140], esi
mov edx, ecx
mov esi, edx
and esi, 1
xor esi, edx
cmp esi, 0xffffffff
setne al
movzx eax, al
test edx, eax
mov ebx, 0
mov eax, dword [esp + 0x130]
je 0x63a0d0
mov cl, al
shr cl, 4
jmp 0x63a0d4
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add ebx, eax
mov eax, edx
shr eax, 1
mov al, byte [edi + eax]
mov cl, al
and cl, 0xf
test ebx, ebx
je 0x63a0b0
mov dword [esp + 0x130], eax
cmp esi, 0xffffffff
setne al
movzx eax, al
mov dword [esp + 0x120], eax
movzx eax, cl
movzx esi, byte [esp + 0xe0]
mov dword [esp + 0x110], esi
cmp eax, esi
jne 0x63a113
mov edi, 3
sub edi, eax
xor edi, eax
mov esi, dword [esp + 0x170]
jne 0x63a16b
mov ebx, 0xffffffff
cmp eax, 0xf
je 0x63a166
mov esi, dword [esp + 0x140]
mov dword [esp + esi*8 + 0x350], eax
inc esi
mov dword [esp + 0x170], 1
mov byte [esp + 0xe0], cl
mov edi, dword [ebp + 8]
jmp 0x63a2fa
mov esi, dword [esp + 0x170]
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne cl
shl esi, cl
add ebx, 1
jb 0x63a150
test esi, esi
je 0x63a29c
mov dword [esp + 0xfc], edx
cmp esi, 4
mov ecx, esi
mov dword [esp + 0x100], esi
mov esi, dword [esp + 0x140]
mov edx, esi
mov edi, dword [esp + 0x110]
jb 0x63a260
mov ecx, dword [esp + 0x100]
mov eax, ecx
and eax, 0xfffffffc
mov ebx, ecx
and ebx, 0xfffffffc
mov edx, esi
je 0x63a260
mov ecx, dword [esp + 0x100]
sub ecx, eax
add eax, esi
mov dword [esp + 0xc0], eax
mov eax, esi
mov dword [esp + 0xbc], ebx
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmmword [0x7e2120]
pshufd xmm1, xmm0, 0xe5
movd dword [esp + 0x160], xmm1
pshufd xmm1, xmm0, 0x4e
movd dword [esp + 0x150], xmm1
pshufd xmm0, xmm0, 0xe7
movd edx, xmm0
mov dword [esp + eax*8 + 0x350], edi
mov esi, dword [esp + 0x160]
mov dword [esp + esi*8 + 0x350], edi
mov esi, dword [esp + 0x150]
mov dword [esp + esi*8 + 0x350], edi
mov dword [esp + edx*8 + 0x350], edi
add eax, 4
add ebx, 0xfffffffc
jne 0x63a1d0
mov eax, dword [esp + 0xbc]
cmp dword [esp + 0x100], eax
mov esi, dword [esp + 0x140]
mov edx, dword [esp + 0xc0]
je 0x63a287
nop word cs:[eax + eax]
dec ecx
lea eax, [esp + 0x350]
lea eax, [eax + edx*8]
nop dword [eax + eax]
mov dword [eax], edi
test ecx, ecx
je 0x63a287
mov edx, ecx
imul edx, edx
and edx, 3
dec ecx
add eax, 8
cmp edx, 3
jne 0x63a270
add esi, dword [esp + 0x100]
mov dword [esp + 0x140], esi
mov edx, dword [esp + 0xfc]
mov edi, dword [ebp + 8]
xor esi, esi
jmp 0x63a2d9
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
mov ebx, dword [esp + 0x170]
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
setb cl
shl ebx, cl
mov ecx, 3
sub ecx, esi
xor ecx, esi
setne cl
movzx ecx, cl
cmp esi, ecx
jb 0x63a2b0
mov dword [esp + 0x170], ebx
mov esi, dword [esp + 0x140]
mov ecx, dword [esp + 0x120]
add ecx, edx
cmp esi, 0x100
jb 0x63a080
xor eax, eax
test al, al
jne 0x63a080
add edx, 2
mov eax, edx
not eax
and eax, 1
add eax, edx
setne cl
shr edx, cl
inc edx
and edx, 0xfe
mov eax, 0xe0
cmp edx, 2
jb 0x63b172
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
mov esi, ecx
sub esi, edx
mov dword [esp + 0xbc], esi
jbe 0x63b172
mov dword [esp + 0xfc], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 1
ja 0x63b172
xor esi, esi
shr dword [esp + 0xbc], 1
lea edi, [esp + 0x30c]
jmp 0x63a39e
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov dword [esp], edi
mov dword [esp + 4], 0x40
call fcn.007cbac0
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp esi, eax
jb 0x63a380
xor eax, eax
nop word cs:[eax + eax]
mov edx, dword [esp + eax*8 + 0x350]
mov esi, edx
and esi, 1
inc esi
xor esi, edx
sete bl
movzx esi, bl
cmp edx, esi
je 0x63a415
lea esi, [esp + eax*8 + 0x34c]
xor ebx, ebx
jmp 0x63a411
mov edi, 3
sub edi, ebx
xor edi, ebx
setne cl
movzx ecx, cl
add ebx, ecx
mov ecx, dword [esp + edx*4 + 0x30c]
mov dword [esi], ecx
mov dword [esp + edx*4 + 0x30c], esi
test ebx, ebx
je 0x63a3f0
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
cmp eax, 0x100
je 0x63a433
xor ecx, ecx
test cl, cl
je 0x63a3c0
mov eax, dword [esp + 0xfc]
mov esi, dword [ebp + 8]
add esi, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x160], 0
mov edx, 0xf
lea ecx, [esp + 0x34c]
xor edi, edi
nop dword [eax]
mov dword [esp + 0x170], edx
mov ebx, dword [esp + edx*4 + 0x30c]
test ebx, ebx
je 0x63a570
mov dword [esp + 0x140], edi
mov eax, dword [esp + 0x160]
lea esi, [esp + eax + 0x20c]
xor edi, edi
nop dword [eax]
mov eax, ebx
sub eax, ecx
shr eax, 3
mov byte [esi + edi], al
inc edi
mov ebx, dword [ebx]
test ebx, ebx
je 0x63a4ab
mov eax, ebx
and eax, 1
inc eax
xor eax, ebx
jne 0x63a490
mov eax, dword [esp + 0x140]
mov dword [esp + edx*8 + 0x180], eax
mov eax, edi
and eax, 1
inc eax
xor eax, edi
sete al
movzx eax, al
add dword [esp + 0x160], edi
xor ebx, ebx
cmp eax, edi
mov ecx, 0
jne 0x63a523
mov eax, dword [esp + 0xfc]
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x34c]
mov edi, dword [esp + 0x140]
jmp 0x63a579
add eax, edx
setne al
movzx eax, al
add ecx, eax
mov eax, dword [esp + 0x160]
sub eax, edi
mov edx, dword [esp + 0x170]
mov dword [esp + edx*8 + 0x184], eax
mov ebx, edi
mov dword [esp + 0x150], ebx
mov eax, ecx
or eax, 2
mov edx, ecx
xor edx, 2
mov esi, eax
add esi, edx
setne bl
movzx esi, bl
cmp ecx, esi
jb 0x63a500
mov eax, dword [esp + 0xfc]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x170]
lea ecx, [esp + 0x34c]
mov edi, dword [esp + 0x140]
mov ebx, dword [esp + 0x150]
jmp 0x63a579
mov dword [esp + edx*8 + 0x180], edi
xor ebx, ebx
add ebx, edi
shr ebx, 1
dec edx
mov edi, ebx
jne 0x63a460
mov dword [esp + 0xfc], eax
pshufd xmm2, xmmword [esp + 0x180], 0xaa
movdqa xmm0, xmmword [esp + 0x190]
movdqa xmm1, xmmword [esp + 0x1a0]
pshufd xmm3, xmm0, 0
pshufd xmm4, xmm0, 0xaa
pshufd xmm5, xmm1, 0
pshufd xmm1, xmm1, 0xaa
movdqa xmm0, xmmword [esp + 0x1b0]
pshufd xmm6, xmm0, 0
pshufd xmm0, xmm0, 0xaa
xor eax, eax
movdqa xmm7, xmmword [0x7e2160]
pxor xmm2, xmm7
movdqa xmmword [esp + 0xa0], xmm2
pxor xmm3, xmm7
movdqa xmmword [esp + 0x90], xmm3
pxor xmm4, xmm7
movdqa xmmword [esp + 0x80], xmm4
pxor xmm5, xmm7
movdqa xmmword [esp + 0x70], xmm5
pxor xmm1, xmm7
movdqa xmmword [esp + 0x60], xmm1
pxor xmm6, xmm7
movdqa xmmword [esp + 0x50], xmm6
pxor xmm0, xmm7
movdqa xmmword [esp + 0x40], xmm0
pshufd xmm0, xmmword [esp + 0x1c0], 0
pxor xmm0, xmm7
movdqa xmmword [esp + 0x30], xmm0
xor ecx, ecx
nop
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqa xmm5, xmm0
paddd xmm5, xmmword [0x7e2130]
movdqa xmmword [esp + 0x140], xmm5
movdqa xmm3, xmm0
paddd xmm3, xmmword [str._b_t_n_v]
movdqa xmmword [esp + 0x160], xmm3
movdqa xmm1, xmm0
paddd xmm1, xmmword [0x7e2150]
movdqa xmmword [esp + 0x170], xmm1
movdqa xmm2, xmm1
paddd xmm0, xmmword [0x7e2120]
movdqa xmmword [esp + 0x150], xmm0
movdqa xmm1, xmm0
psrld xmm1, 7
psrld xmm3, 7
movdqa xmm6, xmm5
psrld xmm6, 7
movdqa xmm4, xmmword [0x7e2160]
pxor xmm6, xmm4
movdqa xmm0, xmmword [esp + 0xa0]
movdqa xmm7, xmm0
pcmpgtd xmm7, xmm6
pxor xmm3, xmm4
movdqa xmm6, xmm0
pcmpgtd xmm6, xmm3
movdqa xmm3, xmm2
psrld xmm3, 7
pshuflw xmm7, xmm7, 0xe8
pshufhw xmm7, xmm7, 0xe8
pshufd xmm7, xmm7, 0xe8
pshuflw xmm6, xmm6, 0xe8
pshufhw xmm6, xmm6, 0xe8
pshufd xmm6, xmm6, 0xe8
punpcklqdq xmm6, xmm7
psllw xmm6, 0xf
psraw xmm6, 0xf
movdqa xmm2, xmmword [0x7e2170]
pand xmm6, xmm2
pxor xmm3, xmm4
movdqa xmm7, xmm0
pcmpgtd xmm7, xmm3
pshuflw xmm3, xmm7, 0xe8
pshufhw xmm3, xmm3, 0xe8
pshufd xmm3, xmm3, 0xe8
pxor xmm1, xmm4
movdqa xmm7, xmm0
pcmpgtd xmm7, xmm1
pshuflw xmm1, xmm7, 0xe8
pshufhw xmm1, xmm1, 0xe8
pshufd xmm1, xmm1, 0xe8
punpcklqdq xmm1, xmm3
psllw xmm1, 0xf
psraw xmm1, 0xf
pand xmm1, xmm2
packuswb xmm1, xmm6
psllw xmm1, 7
movdqa xmm0, xmmword [0x7e2180]
pand xmm1, xmm0
pxor xmm0, xmm0
pcmpgtb xmm0, xmm1
movdqa xmmword [esp + 0x130], xmm0
movdqa xmm1, xmmword [esp + 0x160]
psrld xmm1, 6
movdqa xmm3, xmm5
psrld xmm3, 6
pxor xmm3, xmm4
movdqa xmm0, xmmword [esp + 0x90]
movdqa xmm6, xmm0
pcmpgtd xmm6, xmm3
pxor xmm1, xmm4
movdqa xmm3, xmm0
pcmpgtd xmm3, xmm1
movdqa xmm1, xmmword [esp + 0x170]
psrld xmm1, 6
pshuflw xmm6, xmm6, 0xe8
pshufhw xmm6, xmm6, 0xe8
pshufd xmm6, xmm6, 0xe8
pshuflw xmm3, xmm3, 0xe8
pshufhw xmm3, xmm3, 0xe8
pshufd xmm3, xmm3, 0xe8
punpcklqdq xmm3, xmm6
pxor xmm1, xmm4
movdqa xmm6, xmm0
pcmpgtd xmm6, xmm1
movdqa xmm2, xmmword [esp + 0x150]
movdqa xmm1, xmm2
psrld xmm1, 6
pxor xmm1, xmm4
movdqa xmm7, xmm0
pcmpgtd xmm7, xmm1
psllw xmm3, 0xf
psraw xmm3, 0xf
movdqa xmm0, xmmword [0x7e2170]
pand xmm3, xmm0
pshuflw xmm1, xmm6, 0xe8
pshufhw xmm1, xmm1, 0xe8
pshufd xmm1, xmm1, 0xe8
pshuflw xmm6, xmm7, 0xe8
pshufhw xmm6, xmm6, 0xe8
pshufd xmm6, xmm6, 0xe8
punpcklqdq xmm6, xmm1
psllw xmm6, 0xf
psraw xmm6, 0xf
pand xmm6, xmm0
packuswb xmm6, xmm3
psllw xmm6, 7
pand xmm6, xmmword [0x7e2180]
pxor xmm3, xmm3
pcmpgtb xmm3, xmm6
movdqa xmm1, xmm5
psrld xmm1, 5
pxor xmm1, xmm4
movdqa xmm0, xmmword [esp + 0x80]
movdqa xmm6, xmm0
pcmpgtd xmm6, xmm1
movdqa xmm1, xmmword [esp + 0x160]
psrld xmm1, 5
pxor xmm1, xmm4
movdqa xmm7, xmm0
pcmpgtd xmm7, xmm1
pshuflw xmm1, xmm6, 0xe8
pshufhw xmm1, xmm1, 0xe8
pshufd xmm1, xmm1, 0xe8
pshuflw xmm6, xmm7, 0xe8
pshufhw xmm6, xmm6, 0xe8
pshufd xmm6, xmm6, 0xe8
punpcklqdq xmm6, xmm1
movdqa xmm1, xmmword [esp + 0x170]
psrld xmm1, 5
pxor xmm1, xmm4
movdqa xmm7, xmm0
pcmpgtd xmm7, xmm1
movdqa xmm1, xmm2
psrld xmm1, 5
pxor xmm1, xmm4
pcmpgtd xmm0, xmm1
pshuflw xmm1, xmm7, 0xe8
pshufhw xmm1, xmm1, 0xe8
pshufd xmm1, xmm1, 0xe8
pshuflw xmm0, xmm0, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
punpcklqdq xmm0, xmm1
psllw xmm6, 0xf
psraw xmm6, 0xf
movdqa xmm1, xmmword [0x7e2170]
pand xmm6, xmm1
psllw xmm0, 0xf
psraw xmm0, 0xf
pand xmm0, xmm1
packuswb xmm0, xmm6
psllw xmm0, 7
pand xmm0, xmmword [0x7e2180]
pxor xmm1, xmm1
pcmpgtb xmm1, xmm0
movdqa xmmword [esp + 0x120], xmm1
psrld xmm5, 4
pxor xmm5, xmm4
movdqa xmm2, xmmword [esp + 0x70]
movdqa xmm1, xmm2
pcmpgtd xmm1, xmm5
movdqa xmm5, xmmword [esp + 0x160]
movdqa xmm0, xmm5
psrld xmm0, 4
pxor xmm0, xmm4
movdqa xmm6, xmm2
pcmpgtd xmm6, xmm0
pshuflw xmm0, xmm1, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm1, xmm6, 0xe8
pshufhw xmm1, xmm1, 0xe8
pshufd xmm1, xmm1, 0xe8
punpcklqdq xmm1, xmm0
movdqa xmm0, xmmword [esp + 0x170]
psrld xmm0, 4
pxor xmm0, xmm4
movdqa xmm6, xmm2
pcmpgtd xmm6, xmm0
movdqa xmm0, xmmword [esp + 0x150]
psrld xmm0, 4
pxor xmm0, xmm4
movdqa xmm7, xmm2
pcmpgtd xmm7, xmm0
pshuflw xmm0, xmm6, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm6, xmm7, 0xe8
pshufhw xmm6, xmm6, 0xe8
pshufd xmm6, xmm6, 0xe8
punpcklqdq xmm6, xmm0
psllw xmm1, 0xf
psraw xmm1, 0xf
movdqa xmm0, xmmword [0x7e2170]
pand xmm1, xmm0
psllw xmm6, 0xf
psraw xmm6, 0xf
pand xmm6, xmm0
packuswb xmm6, xmm1
psllw xmm6, 7
pand xmm6, xmmword [0x7e2180]
pxor xmm0, xmm0
pcmpgtb xmm0, xmm6
movdqa xmmword [esp + 0x110], xmm0
movdqa xmm0, xmmword [esp + 0x140]
psrld xmm0, 3
pxor xmm0, xmm4
movdqa xmm2, xmmword [esp + 0x60]
movdqa xmm1, xmm2
pcmpgtd xmm1, xmm0
movdqa xmm0, xmm5
psrld xmm0, 3
pxor xmm0, xmm4
movdqa xmm6, xmm2
pcmpgtd xmm6, xmm0
pshuflw xmm0, xmm1, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm1, xmm6, 0xe8
pshufhw xmm1, xmm1, 0xe8
pshufd xmm1, xmm1, 0xe8
punpcklqdq xmm1, xmm0
movdqa xmm0, xmmword [esp + 0x170]
psrld xmm0, 3
pxor xmm0, xmm4
movdqa xmm6, xmm2
pcmpgtd xmm6, xmm0
movdqa xmm0, xmmword [esp + 0x150]
psrld xmm0, 3
pxor xmm0, xmm4
movdqa xmm7, xmm2
pcmpgtd xmm7, xmm0
pshuflw xmm0, xmm6, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm6, xmm7, 0xe8
pshufhw xmm6, xmm6, 0xe8
pshufd xmm6, xmm6, 0xe8
punpcklqdq xmm6, xmm0
psllw xmm1, 0xf
psraw xmm1, 0xf
movdqa xmm0, xmmword [0x7e2170]
pand xmm1, xmm0
psllw xmm6, 0xf
psraw xmm6, 0xf
pand xmm6, xmm0
packuswb xmm6, xmm1
psllw xmm6, 7
pand xmm6, xmmword [0x7e2180]
pxor xmm0, xmm0
pcmpgtb xmm0, xmm6
movdqa xmmword [esp + 0x100], xmm0
movdqa xmm5, xmmword [esp + 0x140]
movdqa xmm0, xmm5
psrld xmm0, 2
pxor xmm0, xmm4
movdqa xmm2, xmmword [esp + 0x50]
movdqa xmm1, xmm2
pcmpgtd xmm1, xmm0
movdqa xmm0, xmmword [esp + 0x160]
psrld xmm0, 2
pxor xmm0, xmm4
movdqa xmm6, xmm2
pcmpgtd xmm6, xmm0
pshuflw xmm0, xmm1, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm1, xmm6, 0xe8
pshufhw xmm1, xmm1, 0xe8
pshufd xmm1, xmm1, 0xe8
punpcklqdq xmm1, xmm0
movdqa xmm0, xmmword [esp + 0x170]
psrld xmm0, 2
pxor xmm0, xmm4
movdqa xmm6, xmm2
pcmpgtd xmm6, xmm0
movdqa xmm0, xmmword [esp + 0x150]
psrld xmm0, 2
pxor xmm0, xmm4
movdqa xmm7, xmm2
pcmpgtd xmm7, xmm0
pshuflw xmm0, xmm6, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm6, xmm7, 0xe8
pshufhw xmm6, xmm6, 0xe8
pshufd xmm7, xmm6, 0xe8
punpcklqdq xmm7, xmm0
psllw xmm1, 0xf
psraw xmm1, 0xf
movdqa xmm0, xmmword [0x7e2170]
pand xmm1, xmm0
psllw xmm7, 0xf
psraw xmm7, 0xf
pand xmm7, xmm0
packuswb xmm7, xmm1
psllw xmm7, 7
movdqa xmm0, xmmword [0x7e2180]
pand xmm7, xmm0
pxor xmm0, xmm0
pcmpgtb xmm0, xmm7
movdqa xmmword [esp + 0xe0], xmm0
psrld xmm5, 1
pxor xmm5, xmm4
movdqa xmm2, xmmword [esp + 0x40]
movdqa xmm1, xmm2
pcmpgtd xmm1, xmm5
movdqa xmm0, xmmword [esp + 0x160]
psrld xmm0, 1
pxor xmm0, xmm4
movdqa xmm7, xmm2
pcmpgtd xmm7, xmm0
pshuflw xmm0, xmm1, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm1, xmm7, 0xe8
pshufhw xmm1, xmm1, 0xe8
pshufd xmm1, xmm1, 0xe8
punpcklqdq xmm1, xmm0
movdqa xmm6, xmmword [esp + 0x170]
movdqa xmm0, xmm6
psrld xmm0, 1
pxor xmm0, xmm4
movdqa xmm7, xmm2
pcmpgtd xmm7, xmm0
movdqa xmm5, xmmword [esp + 0x150]
movdqa xmm0, xmm5
psrld xmm0, 1
pxor xmm0, xmm4
pcmpgtd xmm2, xmm0
pshuflw xmm0, xmm7, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm2, xmm2, 0xe8
pshufhw xmm2, xmm2, 0xe8
pshufd xmm2, xmm2, 0xe8
punpcklqdq xmm2, xmm0
psllw xmm1, 0xf
psraw xmm1, 0xf
movdqa xmm0, xmmword [0x7e2170]
pand xmm1, xmm0
psllw xmm2, 0xf
psraw xmm2, 0xf
pand xmm2, xmm0
packuswb xmm2, xmm1
psllw xmm2, 7
movdqa xmm0, xmmword [0x7e2180]
pand xmm2, xmm0
pxor xmm0, xmm0
pcmpgtb xmm0, xmm2
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmm1, xmmword [esp + 0x140]
pxor xmm1, xmm4
movdqa xmm7, xmmword [esp + 0x30]
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x160]
pxor xmm1, xmm4
movdqa xmm2, xmm7
pcmpgtd xmm2, xmm1
pshuflw xmm0, xmm0, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm2, xmm2, 0xe8
pshufhw xmm2, xmm2, 0xe8
pshufd xmm2, xmm2, 0xe8
punpcklqdq xmm2, xmm0
pxor xmm6, xmm4
movdqa xmm0, xmm7
pcmpgtd xmm0, xmm6
pxor xmm5, xmm4
pcmpgtd xmm7, xmm5
pshuflw xmm0, xmm0, 0xe8
pshufhw xmm0, xmm0, 0xe8
pshufd xmm0, xmm0, 0xe8
pshuflw xmm4, xmm7, 0xe8
pshufhw xmm4, xmm4, 0xe8
pshufd xmm4, xmm4, 0xe8
punpcklqdq xmm4, xmm0
psllw xmm2, 0xf
psraw xmm2, 0xf
movdqa xmm0, xmmword [0x7e2170]
pand xmm2, xmm0
psllw xmm4, 0xf
psraw xmm4, 0xf
pand xmm4, xmm0
packuswb xmm4, xmm2
psllw xmm4, 7
movdqa xmm6, xmmword [0x7e2180]
pand xmm4, xmm6
pxor xmm0, xmm0
pcmpgtb xmm0, xmm4
movdqa xmm2, xmm0
pandn xmm2, xmmword [str._b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_b_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t]
pand xmm0, xmmword [0x7e21a0]
por xmm0, xmm2
movdqa xmm2, xmm3
movdqa xmm7, xmmword [0x7e21b0]
pxor xmm2, xmm7
movdqa xmm5, xmmword [esp + 0x130]
pand xmm2, xmm5
psllw xmm2, 7
pand xmm2, xmm6
pxor xmm4, xmm4
pcmpgtb xmm4, xmm2
movdqa xmm2, xmm4
pandn xmm2, xmm7
pand xmm4, xmmword [0x7e21c0]
por xmm4, xmm2
pand xmm3, xmm5
movdqa xmm1, xmmword [esp + 0x120]
movdqa xmm2, xmm1
pxor xmm2, xmm7
pand xmm2, xmm3
psllw xmm2, 7
pand xmm2, xmm6
pxor xmm5, xmm5
pcmpgtb xmm5, xmm2
movdqa xmm2, xmm5
pandn xmm2, xmm4
pand xmm5, xmmword [0x7e21d0]
por xmm5, xmm2
pand xmm3, xmm1
movdqa xmm1, xmmword [esp + 0x110]
movdqa xmm2, xmm1
pxor xmm2, xmm7
pand xmm2, xmm3
psllw xmm2, 7
pand xmm2, xmm6
pxor xmm4, xmm4
pcmpgtb xmm4, xmm2
movdqa xmm2, xmm4
pandn xmm2, xmm5
pand xmm4, xmmword [0x7e21e0]
por xmm4, xmm2
pand xmm3, xmm1
movdqa xmm1, xmmword [esp + 0x100]
movdqa xmm2, xmm1
pxor xmm2, xmm7
pand xmm2, xmm3
psllw xmm2, 7
pand xmm2, xmm6
pxor xmm5, xmm5
pcmpgtb xmm5, xmm2
movdqa xmm2, xmm5
pandn xmm2, xmm4
pand xmm5, xmmword [0x7e21f0]
por xmm5, xmm2
pand xmm3, xmm1
movdqa xmm1, xmmword [esp + 0xe0]
movdqa xmm2, xmm1
pxor xmm2, xmm7
pand xmm2, xmm3
psllw xmm2, 7
pand xmm2, xmm6
pxor xmm4, xmm4
pcmpgtb xmm4, xmm2
movdqa xmm2, xmm4
pandn xmm2, xmm5
pand xmm4, xmmword [0x7e2200]
por xmm4, xmm2
pand xmm3, xmm1
movdqa xmm1, xmmword [esp + 0xc0]
movdqa xmm2, xmm1
pxor xmm2, xmm7
pand xmm2, xmm3
psllw xmm2, 7
pand xmm2, xmm6
pxor xmm5, xmm5
pcmpgtb xmm5, xmm2
movdqa xmm2, xmm5
pandn xmm2, xmm4
pand xmm5, xmmword [str._a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_acafg7d68]
por xmm5, xmm2
pand xmm3, xmm1
psllw xmm3, 7
pand xmm3, xmm6
pxor xmm1, xmm1
pcmpgtb xmm1, xmm3
pand xmm0, xmm1
pandn xmm1, xmm5
por xmm1, xmm0
movdqu xmmword [esp + ecx + 0x34c], xmm1
add ecx, 0x10
cmp ecx, 0x100
jne 0x63a640
mov ecx, 3
jmp 0x63afe8
inc eax
movzx ebx, word [esi]
shl ebx, 0x10
dec ecx
mov edx, eax
xor edx, ecx
setne dl
movzx edx, dl
cmp eax, edx
jb 0x63afe0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x170], 1
mov esi, 0x10
mov edi, dword [ebp + 0x14]
jmp 0x63b050
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x170]
movzx eax, word [eax + edx*2]
mov ecx, 0x10
sub ecx, esi
shl eax, cl
or ebx, eax
mov eax, edx
and eax, 1
xor eax, edx
cmp eax, 0xffffffff
setne al
movzx eax, al
add edx, eax
mov dword [esp + 0x170], edx
add esi, 0x10
nop word cs:[eax + eax]
test edi, edi
je 0x63b12a
mov dword [esp + 0x160], esi
mov eax, ebx
shr eax, 0x18
movzx eax, byte [esp + eax + 0x34c]
xor ecx, ecx
cmp eax, 9
jb 0x63b0b8
mov ecx, 0x20
sub ecx, eax
dec eax
nop dword [eax + eax]
mov edx, ebx
shr edx, cl
mov esi, dword [esp + eax*8 + 0x188]
inc eax
dec ecx
cmp edx, esi
jb 0x63b080
xor edx, edx
test dl, dl
jne 0x63b080
jmp 0x63b0bc
mov esi, ecx
not esi
and esi, 1
add esi, ecx
setne dl
movzx edx, dl
add ecx, edx
mov esi, dword [esp + eax*8 + 0x180]
test ecx, ecx
je 0x63b0a0
mov ecx, 0x20
sub ecx, eax
mov edx, ebx
shr edx, cl
sub edx, esi
add edx, dword [esp + eax*8 + 0x184]
mov cl, byte [esp + edx + 0x20c]
mov edx, dword [esp + 0xdc]
mov byte [edx], cl
mov esi, dword [esp + 0x160]
sub esi, eax
mov cl, al
shl ebx, cl
dec edi
inc edx
mov dword [esp + 0xdc], edx
mov eax, dword [esp + 0x170]
cmp eax, dword [esp + 0xbc]
jae 0x63b050
cmp esi, 0xf
ja 0x63b050
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
je 0x63b050
jmp 0x63b00f
xor edx, edx
mov esi, dword [esp + 0x170]
not esi
and esi, 1
mov ch, 1
mov edi, dword [ebp + 0xc]
jmp 0x63b168
inc edx
mov ebx, dword [esp + 0x170]
mov eax, ebx
add eax, esi
setne cl
mov eax, ebx
shl eax, cl
mov ebx, dword [esp + 0xfc]
lea eax, [ebx + eax + 0xffff]
and eax, 0xfffe
mov dword [edi], eax
test edx, edx
je 0x63b140
xor eax, eax
test ch, ch
je 0x63b140
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret