Function at 0x140164f31
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x330
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x2a0], xmm8
movaps xmmword [rbp + 0x290], xmm7
movaps xmmword [rbp + 0x280], xmm6
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x200], rcx
mov eax, 0x10
mov qword [rbp + 0x220], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x220]
mov rcx, rsp
mov qword [rbp + 0x240], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x220]
mov rcx, rsp
mov qword [rbp + 0x208], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x210], rax
mov eax, 0x30
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x220]
mov rcx, rsp
mov qword [rbp + 0x218], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x220]
mov rcx, rsp
mov qword [rbp + 0x228], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x230], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x238]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x240]
mov qword [rbp + 0x250], rdx
add rdx, 0x60
mov qword [rbp + 0x248], rdx
movabs rdx, 0xc6ffc3404e93c7e3
movabs r8, 0xc6ffc3404e93c7e3
xor rdx, r8
mov qword [rcx], rdx
mov qword [rcx + 8], 0
mov qword [rax], 0
mov ecx, 0x10b
sub rsp, 0x20
call fcn.140063d47
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x258], rcx
cmp byte [rax + 0x60], 0
jne 0x140166948
xor eax, eax
mov cl, al
xor cl, 1
sub rsp, 0x20
and cl, 1
call fcn.14009c70c
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0x1fc], ecx
mov al, byte [rax]
mov cl, 0x6f
xor cl, 0x6f
cmp al, cl
jne 0x140166948
mov r8, qword [rbp + 0x240]
mov edx, dword [rbp + 0x1fc]
mov rcx, qword [rbp + 0x258]
sub rsp, 0x20
call fcn.1400aa67f
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0x1f8], ecx
cmp byte [rax], 0
jne 0x140166948
mov eax, dword [rbp + 0x1f8]
cmp eax, 0
je 0x1401651ad
movabs rcx, 0xd38eb0de5714e60f
movabs rax, 0xd38eb0de5714e64f
xor rcx, rax
movabs rdx, 0x64f16564f89f6a64
movabs rax, 0x64f16564f89f6a6c
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a15c8]
mov qword [rcx], rax
lea rax, [0x1401a09a0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401a09f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401a09f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401a09a0]
lea r8, [0x1401a09cd]
lea r9, [0x1401a09c2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffa44c8e08
call fcn.140019b17
add rsp, 0x30
jmp 0x140166948
sub rsp, 0x20
call fcn.1401636dc
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x1f0], rcx
cmp byte [rax], 0
jne 0x140166948
sub rsp, 0x20
call fcn.1400ab2d8
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x1e0], rcx
mov cl, byte [rax]
mov dl, 0xfc
xor dl, 0xfc
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
sub rsp, 0x20
call fcn.1400ab2f8
add rsp, 0x20
mov rax, qword [rbp + 0x248]
mov cl, byte [rax]
mov dl, 0x44
xor dl, 0x44
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov ecx, 0x509f7c1b
xor ecx, 0x509f7c55
sub rsp, 0x20
call fcn.1400ab318
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0x1dc], ecx
mov cl, byte [rax]
mov dl, 3
xor dl, 3
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov ecx, 0x82fa92d4
xor ecx, 0x82fa929b
sub rsp, 0x20
call fcn.1400ab318
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0x1d8], ecx
mov cl, byte [rax]
mov dl, 0xea
xor dl, 0xea
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov rcx, qword [rbp + 0x1e0]
sub rsp, 0x20
call fcn.1400ab340
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x1d0], rcx
mov cl, byte [rax]
mov dl, 0xd9
xor dl, 0xd9
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov rcx, qword [rbp + 0x1d0]
sub rsp, 0x20
call fcn.1400a784d
mov rcx, qword [rbp + 0x248]
add rsp, 0x20
mov qword [rbp + 0x1c8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov r8d, dword [rbp + 0x1d8]
mov edx, dword [rbp + 0x1dc]
mov rcx, qword [rbp + 0x1d0]
sub rsp, 0x20
call fcn.1400a7877
mov rcx, qword [rbp + 0x248]
add rsp, 0x20
mov qword [rbp + 0x1c0], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov rdx, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1c8]
sub rsp, 0x20
call fcn.1400a78b3
mov rcx, qword [rbp + 0x248]
add rsp, 0x20
mov qword [rbp + 0x1b8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov ecx, 0x153
sub rsp, 0x20
call fcn.140063ecb
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0x1b4], ecx
mov cl, byte [rax]
xor eax, eax
mov dl, al
xor dl, 0
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov ecx, 0x35e
sub rsp, 0x20
call fcn.140063ecb
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0x1b0], ecx
mov cl, byte [rax]
mov dl, 0xe0
xor dl, 0xe0
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov ecx, 0xb9
sub rsp, 0x20
call fcn.140063ecb
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0x1ac], ecx
mov cl, byte [rax]
mov dl, 0xd5
xor dl, 0xd5
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov cx, 0x39fa
xor cx, 0x39ac
sub rsp, 0x20
call fcn.140063ecb
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0x1a8], ecx
mov cl, byte [rax]
mov dl, 0x96
xor dl, 0x96
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov eax, dword [rbp + 0x1a8]
mov r10d, dword [rbp + 0x1ac]
mov r11, qword [rbp + 0x1d0]
mov esi, dword [rbp + 0x1d8]
mov r9d, dword [rbp + 0x1dc]
mov r8d, dword [rbp + 0x1b0]
mov edx, dword [rbp + 0x1b4]
mov rcx, qword [rbp + 0x1c8]
sub rsp, 0x50
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x40], 0xcc0020
call fcn.1400a78e7
add rsp, 0x50
mov rax, qword [rbp + 0x248]
mov cl, byte [rax]
mov dl, 0xc7
xor dl, 0xc7
mov al, 1
cmp cl, dl
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov qword [rbp + 0x278], 0
mov ecx, 0xca
sub rsp, 0x20
call fcn.140063d47
mov rcx, qword [rbp + 0x248]
add rsp, 0x20
mov qword [rbp + 0x1a0], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov rdx, qword [rbp + 0x1a0]
mov rcx, qword [rbp + 0x1c0]
lea r8, [rbp + 0x278]
sub rsp, 0x20
call fcn.1400a7945
mov rcx, qword [rbp + 0x248]
add rsp, 0x20
mov dword [rbp + 0x19c], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x1ef], al
jne 0x1401668ed
mov eax, dword [rbp + 0x19c]
mov ecx, 0x65bfbd91
xor ecx, 0x65bfbd91
cmp eax, ecx
je 0x14016563e
movabs rcx, 0x5682317e4332a20a
movabs rax, 0x5682317e4332a24a
xor rcx, rax
movabs rdx, 0x7b63cc87ad4d1d7b
movabs rax, 0x7b63cc87ad4d1d73
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a15c8]
mov qword [rcx], rax
lea rax, [0x1401a09a0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401a09f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401a09f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401a09a0]
lea r8, [0x1401a09cd]
lea r9, [0x1401a09c2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x102e651f
call fcn.140019b17
mov rax, qword [rbp + 0x248]
add rsp, 0x30
mov al, byte [rax]
mov byte [rbp + 0x1ef], al
jmp 0x1401668ed
xor eax, eax
mov qword [rbp + 0x268], rax
lea rcx, [rbp + 0x270]
mov qword [rbp + 0x188], rcx
mov qword [rbp + 0x270], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x210]
add rsp, 0x20
mov rax, qword [rbp + 0x208]
xorps xmm0, xmm0
movaps xmmword [rax], xmm0
mov ax, 0x2960
xor ax, 0x2ba6
mov word [rcx], ax
sub rsp, 0x20
call fcn.1400635f9
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x190], rcx
cmp byte [rax], 0
jne 0x14016683d
mov rdx, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x230]
mov rax, qword [rbp + 0x190]
mov r8, qword [rax]
mov qword [rcx], r8
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140163d1e
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0x184], ecx
cmp byte [rax], 0
jne 0x14016683d
mov eax, dword [rbp + 0x184]
cmp eax, 0
je 0x14016579f
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a15c8]
mov qword [rcx], rax
lea rax, [0x1401a09a0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401a09f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401a09f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x9d2159ed1c98e067
movabs rdx, 0x9d2159ed07ef14b0
xor rax, rdx
lea rdx, [0x1401a09a0]
lea r8, [0x1401a09cd]
lea r9, [0x1401a09c2]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
add rsp, 0x30
jmp 0x14016683d
mov dword [rbp + 0x264], 0x50
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x1401a0930]
movaps xmm1, xmmword [0x1401a0940]
movaps xmm2, xmmword [0x1401a0950]
movaps xmm3, xmmword [0x1401a0960]
xor eax, eax
mov qword [rbp + 0x138], rax
movaps xmmword [rbp + 0x140], xmm3
movaps xmmword [rbp + 0x150], xmm2
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x170], xmm0
jmp 0x140165805
mov rax, qword [rbp + 0x138]
movaps xmm2, xmmword [rbp + 0x140]
movaps xmm7, xmmword [rbp + 0x150]
movaps xmm8, xmmword [rbp + 0x160]
movaps xmm5, xmmword [rbp + 0x170]
movaps xmmword [rbp + 0xd0], xmm5
movaps xmmword [rbp + 0xe0], xmm8
movaps xmmword [rbp + 0xf0], xmm7
movaps xmmword [rbp + 0x100], xmm2
mov qword [rbp + 0x118], rax
movaps xmm6, xmmword [0x1401a0970]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0980]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm7
pshufd xmm7, xmm1, 0xa0
pand xmm2, xmm7
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm8, xmm6
pshufd xmm7, xmm8, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm7
movaps xmm7, xmm4
pcmpgtd xmm7, xmm8
pshufd xmm8, xmm7, 0xa0
pand xmm2, xmm8
pshufd xmm7, xmm7, 0xf5
por xmm2, xmm7
pxor xmm5, xmm6
pshufd xmm6, xmm5, 0xf5
pcmpeqd xmm3, xmm6
pcmpgtd xmm4, xmm5
pshufd xmm5, xmm4, 0xa0
pand xmm3, xmm5
pshufd xmm4, xmm4, 0xf5
por xmm3, xmm4
packssdw xmm2, xmm3
packssdw xmm1, xmm2
movaps xmmword [rbp + 0x120], xmm1
movd eax, xmm0
test al, 1
jne 0x14016592a
jmp 0x140165940
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x118]
mov dl, 0x23
xor dl, 0x23
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x120]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x14016595b
jmp 0x140165971
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x118]
or rcx, 1
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x120]
pextrw eax, xmm0, 2
test al, 1
jne 0x14016598a
jmp 0x1401659c0
mov rax, qword [rbp + 0x218]
mov rdx, qword [rbp + 0x118]
movabs r8, 0x86b3a28267aa1599
movabs rcx, 0x86b3a28267aa159b
xor r8, rcx
mov rcx, rdx
and rcx, r8
xor rdx, 2
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x120]
pextrw eax, xmm0, 3
test al, 1
jne 0x1401659d9
jmp 0x140165a1f
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x118]
mov r8, 0xffffffffffffffff
xor r8, 3
mov rdx, rcx
and rdx, r8
movabs r9, 0xf5c8b24792b1d883
movabs r8, 0xf5c8b24792b1d880
xor r9, r8
mov r8, rcx
xor r8, r9
add rcx, r8
sub rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x120]
pextrw eax, xmm0, 4
test al, 1
jne 0x140165a38
jmp 0x140165a4e
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x118]
or rcx, 4
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x120]
pextrw eax, xmm0, 5
test al, 1
jne 0x140165a67
jmp 0x140165a97
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x118]
movabs rdx, 0x211ed538b6073c94
movabs r8, 0x211ed538b6073c91
xor rdx, r8
or rcx, rdx
mov dl, 0x6d
xor dl, 0x6d
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x120]
pextrw eax, xmm0, 6
test al, 1
jne 0x140165ab0
jmp 0x140165aca
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x118]
or rcx, 6
mov dl, 0x65
xor dl, 0x65
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x120]
pextrw eax, xmm0, 7
test al, 1
jne 0x140165ae3
jmp 0x140165b9b
mov rax, qword [rbp + 0x218]
mov rsi, qword [rbp + 0x118]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
movabs r9, 0x5f477149d303fa4b
movabs rcx, 0x5f477149d303fa4c
xor r9, rcx
movabs rcx, 0xfbdb936004758826
movabs r8, 0x4246c9ffb8a77d9
xor rcx, r8
xor r9, rcx
mov r8, 0xffffffffffffffff
movabs rcx, 0x41b4e6354bdf87df
xor r8, rcx
movabs r10, 0x95a5ef65c099ba1
movabs rcx, 0x48eeb8c317d61c7e
xor r10, rcx
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0x41b4e6354bdf87df
mov r10, r9
and r10, r11
mov r11, r8
and r11, 7
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0x41b4e6354bdf87df
or r8, r9
and rdx, r8
or rcx, rdx
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0xd0]
movaps xmm1, xmmword [rbp + 0xe0]
movaps xmm2, xmmword [rbp + 0xf0]
movaps xmm3, xmmword [rbp + 0x100]
mov rcx, qword [rbp + 0x118]
mov eax, ecx
and eax, 8
or rcx, 8
add rax, rcx
movaps xmm4, xmmword [0x1401a0990]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x28
mov qword [rbp + 0x138], rax
movaps xmmword [rbp + 0x140], xmm3
movaps xmmword [rbp + 0x150], xmm2
movaps xmmword [rbp + 0x160], xmm1
movaps xmmword [rbp + 0x170], xmm0
jne 0x140165805
jmp 0x140165c16
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
movaps xmm0, xmmword [0x1401a0930]
movaps xmm1, xmmword [0x1401a0940]
movaps xmm2, xmmword [0x1401a0950]
movaps xmm3, xmmword [0x1401a0960]
xor eax, eax
mov qword [rbp + 0x88], rax
movaps xmmword [rbp + 0x90], xmm3
movaps xmmword [rbp + 0xa0], xmm2
movaps xmmword [rbp + 0xb0], xmm1
movaps xmmword [rbp + 0xc0], xmm0
jmp 0x140165c72
mov rax, qword [rbp + 0x88]
movaps xmm2, xmmword [rbp + 0x90]
movaps xmm7, xmmword [rbp + 0xa0]
movaps xmm8, xmmword [rbp + 0xb0]
movaps xmm5, xmmword [rbp + 0xc0]
movaps xmmword [rbp + 0x20], xmm5
movaps xmmword [rbp + 0x30], xmm8
movaps xmmword [rbp + 0x40], xmm7
movaps xmmword [rbp + 0x50], xmm2
mov qword [rbp + 0x68], rax
movaps xmm6, xmmword [0x1401a0970]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x1401a0980]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm7
pshufd xmm7, xmm1, 0xa0
pand xmm2, xmm7
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm8, xmm6
pshufd xmm7, xmm8, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm7
movaps xmm7, xmm4
pcmpgtd xmm7, xmm8
pshufd xmm8, xmm7, 0xa0
pand xmm2, xmm8
pshufd xmm7, xmm7, 0xf5
por xmm2, xmm7
pxor xmm5, xmm6
pshufd xmm6, xmm5, 0xf5
pcmpeqd xmm3, xmm6
pcmpgtd xmm4, xmm5
pshufd xmm5, xmm4, 0xa0
pand xmm3, xmm5
pshufd xmm4, xmm4, 0xf5
por xmm3, xmm4
packssdw xmm2, xmm3
packssdw xmm1, xmm2
movaps xmmword [rbp + 0x70], xmm1
movd eax, xmm0
test al, 1
jne 0x140165d85
jmp 0x140165d94
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x68]
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x70]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x140165dac
jmp 0x140165df8
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x68]
and rcx, rcx
movabs rdx, 0x3e16d28a4fb8e69e
movabs r8, 0xc1e92d75b0471961
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 1
mov r8, 0xffffffffffffffff
xor r8, 1
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x70]
pextrw eax, xmm0, 2
test al, 1
jne 0x140165e0e
jmp 0x140165e21
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x68]
or rcx, 2
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x70]
pextrw eax, xmm0, 3
test al, 1
jne 0x140165e37
jmp 0x140165e4a
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x68]
or rcx, 3
mov byte [rax + rcx], 0
movaps xmm0, xmmword [rbp + 0x70]
pextrw eax, xmm0, 4
test al, 1
jne 0x140165e60
jmp 0x140165e77
mov rax, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x68]
or rcx, 4
mov dl, 0x36
xor dl, 0x36
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x70]
pextrw eax, xmm0, 5
test al, 1
jne 0x140165e8d
jmp 0x140165f0e
mov rax, qword [rbp + 0x218]
mov rdx, qword [rbp + 0x68]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r8, 0xa268f61e8f529aa4
movabs r9, 0x5d9709e170ad655b
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0xe5b545d3356fe2d3
movabs r8, 0xe5b545d3356fe2d6
xor rdx, r8
movabs r8, 0x173a8da65741b503
movabs r9, 0xe8c57259a8be4afc
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 5
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov dl, 0x13
xor dl, 0x13
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x70]
pextrw eax, xmm0, 6
test al, 1
jne 0x140165f24
jmp 0x140165ff3
mov rax, qword [rbp + 0x218]
mov rsi, qword [rbp + 0x68]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
movabs r8, 0xca1a8496dd9a8e45
movabs rcx, 0xca1a8496dd9a8e43
xor r8, rcx
movabs rcx, 0xb3aab10c3cb0c9ac
movabs r9, 0x4c554ef3c34f3653
xor rcx, r9
xor r8, rcx
mov r9, 0xffffffffffffffff
movabs rcx, 0x167f86821a3fe245
xor r9, rcx
movabs r10, 0x167f86821a3fe245
mov rcx, rdx
and rcx, r10
and rsi, r9
movabs r11, 0x167f86821a3fe245
mov r10, r8
and r10, r11
mov r11, r9
and r11, 6
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r8
movabs r8, 0x6fde58fcd71775d9
movabs r10, 0x9021a70328e88a26
xor r8, r10
xor rdx, r8
movabs r8, 0xf8f4dfa63d674432
movabs r10, 0xee8b59242758a677
xor r8, r10
or r8, r9
and rdx, r8
or rcx, rdx
mov dl, 0xeb
xor dl, 0xeb
mov byte [rax + rcx], dl
movaps xmm0, xmmword [rbp + 0x70]
pextrw eax, xmm0, 7
test al, 1
jne 0x140166009
jmp 0x1401660b8
mov rax, qword [rbp + 0x218]
mov rsi, qword [rbp + 0x68]
mov rdx, rsi
xor rdx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 7
mov r8, 0xffffffffffffffff
movabs rcx, 0xb805a9f924813837
xor r8, rcx
movabs r10, 0xb805a9f924813837
mov rcx, rdx
and rcx, r10
and rsi, r8
movabs r11, 0xb805a9f924813837
mov r10, r9
and r10, r11
movabs r11, 0x107b00b2894146d5
movabs rdi, 0x107b00b2894146d2
xor r11, rdi
and r11, r8
or rcx, rsi
or r10, r11
xor rcx, r10
or rdx, r9
movabs r9, 0xe8069c7ae52e7cc9
movabs r10, 0x17f963851ad18336
xor r9, r10
xor rdx, r9
movabs r9, 0xb805a9f924813837
or r8, r9
and rdx, r8
or rcx, rdx
mov dl, 0x43
xor dl, 0x43
mov byte [rax + rcx], dl
movaps xmm7, xmmword [rbp + 0x50]
movaps xmm6, xmmword [rbp + 0x40]
movaps xmm5, xmmword [rbp + 0x30]
movaps xmm4, xmmword [rbp + 0x20]
mov rax, qword [rbp + 0x68]
add rax, 8
movaps xmm8, xmmword [0x1401a0990]
movaps xmmword [rbp + 0x10], xmm8
movaps xmm0, xmm4
pand xmm0, xmm8
movaps xmm1, xmm5
pand xmm1, xmm8
movaps xmm2, xmm6
pand xmm2, xmm8
movaps xmm3, xmm7
pand xmm3, xmm8
por xmm4, xmm8
por xmm5, xmm8
por xmm6, xmm8
por xmm7, xmm8
paddq xmm3, xmm7
paddq xmm2, xmm6
paddq xmm1, xmm5
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x28
mov qword [rbp + 0x88], rax
movaps xmmword [rbp + 0x90], xmm3
movaps xmmword [rbp + 0xa0], xmm2
movaps xmmword [rbp + 0xb0], xmm1
movaps xmmword [rbp + 0xc0], xmm0
jne 0x140165c72
jmp 0x140166156
mov ecx, 0x2a3
sub rsp, 0x20
call fcn.140063ecb
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp + 0xc], ecx
mov al, byte [rax]
mov cl, 0x44
xor cl, 0x44
cmp al, cl
jne 0x14016683d
mov rax, qword [rbp + 0x218]
mov ecx, dword [rbp + 0xc]
mov dword [rax], ecx
mov ecx, 0x3d
sub rsp, 0x20
call fcn.140063d47
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x248]
mov qword [rbp], rcx
mov al, byte [rax]
mov cl, 0x46
xor cl, 0x46
cmp al, cl
jne 0x14016683d
mov rax, qword [rbp]
movabs rcx, 0xb27c253505a824f6
movabs rdx, 0xb27c253505a824f6
xor rcx, rdx
cmp rax, rcx
je 0x1401661fc
mov rcx, qword [rbp]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x14016683d
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0x218]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x10], rcx
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
movups xmmword [rax + 0x18], xmm0
mov ecx, 0x34f
sub rsp, 0x20
call fcn.140063d47
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x248]
mov qword [rbp - 8], rcx
mov al, byte [rax]
mov cl, 0xe1
xor cl, 0xe1
cmp al, cl
jne 0x14016683d
mov rax, qword [rbp - 8]
movabs rcx, 0x4a4c77c51dee8fdd
movabs rdx, 0x4a4c77c51dee8fdd
xor rcx, rdx
cmp rax, rcx
je 0x14016629c
mov rcx, qword [rbp - 8]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x14016683d
mov cx, 0x4c46
xor cx, 0x4c90
sub rsp, 0x20
call fcn.140063ecb
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp - 0x14], ecx
mov al, byte [rax]
mov cl, 0xc
xor cl, 0xc
cmp al, cl
jne 0x14016683d
mov rax, qword [rbp + 0x218]
mov ecx, dword [rbp - 0x14]
mov dword [rax + 0x18], ecx
mov ecx, 0x28e
sub rsp, 0x20
call fcn.140063d47
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x248]
mov qword [rbp - 0x20], rcx
mov al, byte [rax]
mov cl, 0xf7
xor cl, 0xf7
cmp al, cl
jne 0x14016683d
mov rax, qword [rbp - 0x20]
cmp rax, 0
je 0x140166344
mov rcx, qword [rbp - 0x20]
movabs rdx, 0x73ab35112b7f3381
movabs rax, 0x73ab35112b7f3381
xor rdx, rax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x14016683d
mov rax, qword [rbp - 0x10]
mov rcx, qword [0x1401a1540]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov ecx, 0x16
sub rsp, 0x20
call fcn.140063d47
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x248]
mov qword [rbp - 0x28], rcx
mov al, byte [rax]
mov cl, 0xf7
xor cl, 0xf7
cmp al, cl
jne 0x14016683d
mov rax, qword [rbp - 0x28]
cmp rax, 0
je 0x1401663b4
mov rcx, qword [rbp - 0x28]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x14016683d
mov rax, qword [rbp + 0x218]
mov ecx, 0x944a596f
xor ecx, 0x944a596b
mov dword [rax + 0x1c], ecx
mov ecx, 0x1b6
sub rsp, 0x20
call fcn.140063d47
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x248]
mov qword [rbp - 0x30], rcx
mov al, byte [rax]
mov cl, 0xba
xor cl, 0xba
cmp al, cl
jne 0x14016683d
mov rax, qword [rbp - 0x30]
cmp rax, 0
je 0x140166433
mov rcx, qword [rbp - 0x30]
movabs rdx, 0x6e89c41c4a4eb9c4
movabs rax, 0x6e89c41c4a4eb9c4
xor rdx, rax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x14016683d
mov r9, qword [rbp + 0x218]
mov r8, qword [rbp + 0x208]
mov rax, qword [rbp + 0x240]
lea rcx, [rbp + 0x264]
mov qword [r9 + 0x20], rcx
mov rcx, qword [rbp + 0x278]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400a79f1
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x248]
mov dword [rbp - 0x34], ecx
cmp byte [rax], 0
jne 0x14016683d
mov eax, dword [rbp - 0x34]
mov ecx, 0xf3b6dbec
xor ecx, 0xf3b6dbec
cmp eax, ecx
je 0x140166536
movabs rcx, 0x87d421a2848660d5
movabs rax, 0x87d421a284866095
xor rcx, rax
movabs rdx, 0x5103758f4432e33c
movabs rax, 0x5103758f4432e334
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a15c8]
mov qword [rcx], rax
lea rax, [0x1401a09a0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1401a09f0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x1401a09f8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x1401a09a0]
lea r8, [0x1401a09cd]
lea r9, [0x1401a09c2]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x553ebf15
call fcn.140019b17
add rsp, 0x30
jmp 0x14016683d
mov rdx, qword [rbp + 0x228]
mov rax, qword [rbp + 0x240]
movabs rcx, 0x70ca99188c122fa1
movabs r8, 0x70ca99188c122fa1
xor rcx, r8
mov qword [rdx], rcx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400aa6bb
add rsp, 0x20
mov rax, qword [rbp + 0x248]
mov al, byte [rax]
mov cl, 0x7f
xor cl, 0x7f
cmp al, cl
jne 0x14016683d
mov rcx, qword [rbp + 0x228]
mov rax, qword [0x1401a1508]
mov rax, qword [rax]
mov rcx, qword [rcx]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x228]
add rsp, 0x20
mov qword [rbp - 0x48], rax
mov rax, qword [0x1401a1500]
mov rax, qword [rax]
mov rcx, qword [rcx]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [rbp - 0x40], rax
cmp rax, 0
jge 0x1401665f6
mov rcx, qword [rbp - 0x40]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14016683d
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp + 0x268]
sub rsp, 0x20
call fcn.14002129f
mov rax, qword [rbp + 0x188]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp - 0x58], rcx
xor eax, eax
cmp rcx, 0
mov qword [rbp - 0x50], rax
je 0x1401666aa
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
movabs r8, 0xa87e8e837744645c
movabs rdx, 0xa87e8e837744645d
xor r8, rdx
mov rdx, rcx
add rdx, r8
movabs r8, 0x9da10aa63aabbf79
movabs r9, 0x625ef559c5544086
xor r8, r9
xor rcx, r8
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x50], rax
je 0x1401666aa
lea rcx, [rbp + 0x268]
sub rsp, 0x20
call fcn.14001b1db
mov rax, qword [rbp + 0x188]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x248]
mov rcx, qword [rbp - 0x50]
mov r8, qword [rbp + 0x268]
movabs r9, 0x22ce96a5e645f9fb
movabs rdx, 0x22ce96a5e645f9fb
xor r9, rdx
add rcx, 8
lea rdx, [0x1401a0a10]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp - 0x60], rcx
mov al, byte [rax]
mov cl, 0x86
xor cl, 0x86
cmp al, cl
jne 0x14016683d
mov rcx, qword [rbp - 0x40]
xor eax, eax
cmp rcx, 0
mov qword [rbp - 0x68], rax
je 0x14016674b
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x60]
mov r8, qword [rbp - 0x48]
mov r8b, byte [r8 + rax]
mov byte [rdx + rax], r8b
movabs rdx, 0x7ebcf1a132efbc91
movabs r8, 0x7ebcf1a132efbc90
xor rdx, r8
add rax, rdx
cmp rax, rcx
mov qword [rbp - 0x68], rax
jne 0x14016670c
mov rax, qword [rbp + 0x238]
mov rcx, qword [rbp + 0x268]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x270]
mov qword [rax + 8], rcx
lea rcx, [rbp + 0x268]
sub rsp, 0x20
call fcn.1400143a4
mov rcx, qword [rbp + 0x228]
add rsp, 0x20
mov rax, qword [0x1401a1510]
mov rax, qword [rax]
mov rcx, qword [rcx]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x228]
add rsp, 0x20
mov rax, qword [0x1401a1518]
mov rax, qword [rax]
mov rcx, qword [rcx]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x1b8]
call fcn.1400a78b3
add rsp, 0x20
mov rax, qword [rbp + 0x248]
cmp byte [rax], 0
jne 0x14016683d
mov rcx, qword [rbp + 0x1c0]
sub rsp, 0x20
call fcn.1400a7a39
add rsp, 0x20
mov rax, qword [rbp + 0x248]
cmp byte [rax], 0
jne 0x14016683d
mov rcx, qword [rbp + 0x1c8]
sub rsp, 0x20
call fcn.1400a7a39
add rsp, 0x20
mov rax, qword [rbp + 0x248]
cmp byte [rax], 0
jne 0x14016683d
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x1e0]
sub rsp, 0x20
call fcn.1400ab36a
add rsp, 0x20
mov rax, qword [rbp + 0x188]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140166897
mov rcx, qword [rbp - 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x60ec3c8ff0a0a2d9
movabs rdx, 0x60ec3c8ff0a0a2d9
xor rcx, rdx
cmp rax, rcx
jne 0x140166897
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x248]
mov cl, byte [rax]
mov byte [rbp - 0x73], cl
mov cl, 0x2a
xor cl, 0x2a
mov byte [rax], cl
mov rcx, qword [rbp + 0x278]
sub rsp, 0x20
call fcn.1400a7a63
mov rcx, qword [rbp + 0x248]
add rsp, 0x20
mov al, byte [rbp - 0x73]
mov cl, byte [rcx]
mov dl, 0x49
xor dl, 0x48
mov byte [rbp - 0x72], dl
cmp cl, 0
mov byte [rbp - 0x71], al
je 0x1401668e4
mov al, byte [rbp - 0x72]
mov byte [rbp - 0x71], al
mov al, byte [rbp - 0x71]
mov byte [rbp + 0x1ef], al
mov rax, qword [rbp + 0x248]
mov cl, byte [rbp + 0x1ef]
mov byte [rbp - 0x74], cl
mov cl, 0xe4
xor cl, 0xe4
mov byte [rax], cl
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x1f0]
call fcn.1400a7a8d
mov rax, qword [rbp + 0x248]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x14
xor cl, 0x14
cmp al, cl
jne 0x140166948
mov rax, qword [rbp + 0x248]
mov cl, byte [rbp - 0x74]
mov byte [rax], cl
mov rax, qword [rbp + 0x200]
movaps xmm6, xmmword [rbp + 0x280]
movaps xmm7, xmmword [rbp + 0x290]
movaps xmm8, xmmword [rbp + 0x2a0]
lea rsp, [rbp + 0x2b0]
pop rdi
pop rsi
pop rbp
ret