Function at 0x140002790
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x310
xor eax, eax
lea r13, [rsp + 0x100]
mov rbx, rcx
mov ecx, 0x41
mov dword [rsp + 0x58], 0xc7bfbfe6
mov rdi, r13
rep stosq qword [rdi], rax
mov rax, qword [0x140251190]
lea rcx, [0x14024eee0]
mov qword [rsp + 0x50], rax
call fcn.14000fff0
lea rcx, [0x14024eec0]
mov rsi, rax
call fcn.14000fff0
cmp byte [rsi], 0
mov r12, rax
jne 0x140002818
mov byte [rax + 0xc], 1
mov rax, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, r12
mov dword [r12 + 8], 0xc7bfbfe6
lea rcx, [0x140022d30]
mov qword [r12], rax
mov byte [rsi], 1
call fcn.14000ed00
cmp byte [r12 + 0xc], 0
je 0x14000283d
movabs rax, 0x81a1a1d5d57373c5
xor qword [r12], rax
xor dword [r12 + 8], 0xc7bfbf81
mov byte [r12 + 0xc], 0
mov r8, r12
mov rdx, rbx
mov rcx, r13
movabs rdi, 0x27d9d91f3d623160
call fcn.140003700
movdqa xmm0, xmmword [0x1402511a0]
lea rcx, [0x14024ef20]
mov qword [rsp + 0xf0], rdi
movaps xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x1402511b0]
movaps xmmword [rsp + 0x60], xmm0
movdqa xmm0, xmmword [0x1402511c0]
movaps xmmword [rsp + 0x70], xmm0
movdqa xmm0, xmmword [0x1402511d0]
movaps xmmword [rsp + 0x80], xmm0
movdqa xmm0, xmmword [0x1402511e0]
movaps xmmword [rsp + 0x90], xmm0
movdqa xmm0, xmmword [0x1402511f0]
movaps xmmword [rsp + 0xa0], xmm0
movdqa xmm0, xmmword [0x140251200]
movaps xmmword [rsp + 0xb0], xmm0
movdqa xmm0, xmmword [0x140251210]
movaps xmmword [rsp + 0xc0], xmm0
movdqa xmm0, xmmword [0x140251220]
movaps xmmword [rsp + 0xd0], xmm0
movdqa xmm0, xmmword [0x140251230]
movaps xmmword [rsp + 0xe0], xmm0
call fcn.14000fff0
lea rcx, [0x14024ef00]
mov rsi, rax
call fcn.14000fff0
cmp byte [rsi], 0
mov r12, rax
jne 0x1400029bc
movdqa xmm2, xmmword [rsp + 0x50]
movdqa xmm3, xmmword [rsp + 0x60]
mov byte [rax + 0xa8], 1
xor r8d, r8d
movdqa xmm4, xmmword [rsp + 0x70]
mov qword [rax + 0xa0], rdi
mov rdx, rax
lea rcx, [0x140022d70]
movdqa xmm5, xmmword [rsp + 0x80]
movups xmmword [rax], xmm2
movdqa xmm1, xmmword [rsp + 0x90]
movdqa xmm2, xmmword [rsp + 0xa0]
movups xmmword [rax + 0x10], xmm3
movdqa xmm3, xmmword [rsp + 0xb0]
movups xmmword [rax + 0x20], xmm4
movdqa xmm4, xmmword [rsp + 0xc0]
movups xmmword [rax + 0x30], xmm5
movdqa xmm5, xmmword [rsp + 0xd0]
movups xmmword [rax + 0x40], xmm1
movdqa xmm1, xmmword [rsp + 0xe0]
movups xmmword [rax + 0x50], xmm2
movups xmmword [rax + 0x60], xmm3
movups xmmword [rax + 0x70], xmm4
movups xmmword [rax + 0x80], xmm5
movups xmmword [rax + 0x90], xmm1
mov byte [rsi], 1
call fcn.14000ed00
cmp byte [r12 + 0xa8], 0
je 0x140002a00
movabs r8, 0xe7bf0d27d93d3145
xor eax, eax
nop dword [rax + rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r12 + rax*2], dx
add rax, 1
cmp rax, 0x54
jne 0x1400029d8
mov byte [r12 + 0xa8], 0
mov rdx, r12
mov r9, r13
mov r8, rbx
mov ecx, 1
call fcn.140002660
lea rdx, [rsp + 0x2c]
mov rcx, r13
call fcn.140004180
mov r12, rax
xor eax, eax
test r12, r12
je 0x140002a32
mov ebx, dword [rsp + 0x2c]
test ebx, ebx
jne 0x140002a41
add rsp, 0x310
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret
lea rsi, [rsp + 0x40]
mov rcx, r12
lea r13, [rsp + 0x30]
mov qword [rsp + 0x30], rsi
call fcn.1400213f0
lea rbx, [rax + rax]
mov rdi, rbx
sar rdi, 1
mov qword [rsp + 0x50], rdi
cmp rbx, 0xe
ja 0x140002b9d
mov rcx, qword [rsp + 0x30]
mov rax, rdi
cmp rdi, 1
je 0x140002bc4
test rdi, rdi
je 0x140002a9d
mov r8, rbx
mov rdx, r12
call fcn.140021458
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
xor r10d, r10d
mov qword [rsp + 0x38], rax
mov r11d, 0xffff9bd5
mov word [rcx + rax*2], r10w
mov rax, qword [0x140251240]
lea rcx, [0x14024ef60]
mov word [rsp + 0x5c], r11w
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], 0xd5d495e6
call fcn.14000fff0
lea rcx, [0x14024ef40]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r12, rax
jne 0x140002b24
mov byte [rax + 0xe], 1
mov rax, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, r12
mov r9d, 0xffff9bd5
lea rcx, [0x140022d40]
mov dword [r12 + 8], 0xd5d495e6
mov qword [r12], rax
mov word [r12 + 0xc], r9w
mov byte [rbx], 1
call fcn.14000ed00
cmp byte [r12 + 0xe], 0
je 0x140002b51
movabs rax, 0xaf85851d1d8b8be7
xor word [r12 + 0xc], 0x9bd5
xor qword [r12], rax
xor dword [r12 + 8], 0xd59595af
mov byte [r12 + 0xe], 0
mov rcx, r12
call fcn.1400213f0
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025d20
cmp rax, 0xffffffffffffffff
je 0x140002bd1
mov rcx, qword [rsp + 0x30]
cmp rcx, rsi
je 0x140002b89
mov rax, qword [rsp + 0x40]
lea rdx, [rax + rax + 2]
call fcn.140031660
mov eax, 1
add rsp, 0x310
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret
mov rcx, r13
lea rdx, [rsp + 0x50]
xor r8d, r8d
call fcn.14002fc60
mov qword [rsp + 0x30], rax
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
jmp 0x140002a79
movzx edx, word [r12]
mov word [rcx], dx
jmp 0x140002a9d
mov rax, qword [0x140251248]
mov r8d, 0x39e3
lea rcx, [0x14024efa0]
mov dword [rsp + 0x58], 0xe3a0c1f2
mov word [rsp + 0x5c], r8w
mov qword [rsp + 0x50], rax
call fcn.14000fff0
lea rcx, [0x14024ef80]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r12, rax
jne 0x140002c4a
mov byte [rax + 0xe], 1
mov rax, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, r12
mov dword [r12 + 8], 0xe3a0c1f2
mov ecx, 0x39e3
mov word [r12 + 0xc], cx
lea rcx, [0x140022d50]
mov qword [r12], rax
mov byte [rbx], 1
call fcn.14000ed00
cmp byte [r12 + 0xe], 0
je 0x140002c77
movabs rax, 0x9bbbbb9393535373
xor word [r12 + 0xc], 0x39e3
xor qword [r12], rax
xor dword [r12 + 8], 0xe3c1c19b
mov byte [r12 + 0xe], 0
mov rcx, r12
call fcn.1400213f0
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025d20
cmp rax, 0xffffffffffffffff
jne 0x140002b70
lea rcx, [0x14024efe0]
call fcn.14000fff0
lea rcx, [0x14024efc0]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r12, rax
jne 0x140002ce4
mov byte [rax + 8], 1
xor r8d, r8d
movabs rax, 0xd90d0d3b7faae776
mov rdx, r12
mov qword [r12], rax
lea rcx, [0x140022cf0]
mov byte [rbx], 1
call fcn.14000ed00
cmp byte [r12 + 8], 0
je 0x140002d0a
movq xmm0, qword [r12]
mov byte [r12 + 8], 0
movq xmm1, qword [0x140251250]
pxor xmm0, xmm1
movq qword [r12], xmm0
mov rcx, r12
call fcn.1400213f0
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025d20
cmp rax, 0xffffffffffffffff
jne 0x140002b70
lea rcx, [0x14024f020]
call fcn.14000fff0
lea rcx, [0x14024f000]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r12, rax
jne 0x140002d77
mov byte [rax + 8], 1
xor r8d, r8d
movabs rax, 0x236b6bc4ad1347d8
mov rdx, r12
mov qword [r12], rax
lea rcx, [0x140022d00]
mov byte [rbx], 1
call fcn.14000ed00
cmp byte [r12 + 8], 0
je 0x140002d9d
movq xmm0, qword [r12]
mov byte [r12 + 8], 0
movq xmm1, qword [0x140251258]
pxor xmm0, xmm1
movq qword [r12], xmm0
mov rcx, r12
call fcn.1400213f0
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025d20
cmp rax, 0xffffffffffffffff
jne 0x140002b70
movdqa xmm0, xmmword [0x140251260]
mov edx, 0xffffc977
lea rcx, [0x14024f060]
movabs rdi, 0x459af9f8914d3be2
mov word [rsp + 0x7c], dx
movaps xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x140251270]
mov qword [rsp + 0x70], rdi
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x78], 0x77681b20
call fcn.14000fff0
lea rcx, [0x14024f040]
mov rbx, rax
call fcn.14000fff0
cmp byte [rbx], 0
mov r12, rax
jne 0x140002e60
movdqa xmm2, xmmword [rsp + 0x50]
mov byte [rax + 0x2e], 1
xor r8d, r8d
mov rdx, r12
movdqa xmm3, xmmword [rsp + 0x60]
mov qword [rax + 0x20], rdi
lea rcx, [0x140022cb0]
mov dword [rax + 0x28], 0x77681b20
movups xmmword [rax], xmm2
movups xmmword [rax + 0x10], xmm3
mov eax, 0xffffc977
mov word [r12 + 0x2c], ax
mov byte [rbx], 1
call fcn.14000ed00
cmp byte [r12 + 0x2e], 0
je 0x140002e99
movabs rdx, 0xc9771b45f9913b87
xor eax, eax
mov rcx, rax
mov rbx, rdx
and ecx, 7
shl rcx, 3
shr rbx, cl
xor word [r12 + rax*2], bx
add rax, 1
cmp rax, 0x17
jne 0x140002e74
mov byte [r12 + 0x2e], 0
mov rcx, r12
call fcn.1400213f0
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025d20
cmp rax, 0xffffffffffffffff
jne 0x140002b70
mov rcx, qword [rsp + 0x30]
cmp rcx, rsi
je 0x140002ed7
mov rax, qword [rsp + 0x40]
lea rdx, [rax + 1]
add rdx, rdx
call fcn.140031660
xor eax, eax
jmp 0x140002a32