Function at 0x14000944c
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x1d0
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x1f0], rsi
mov qword [rbp + 0x1f8], rdi
mov rax, qword [0x1405fa008]
xor rax, rbp
mov qword [rbp + 0x1a8], rax
mov r14d, dword [rcx + 0x1c]
mov esi, 0xfffffff
mov al, byte [rcx + 0x18]
mov r12, rcx
mov edx, dword [rcx + 8]
and r14d, esi
mov edi, dword [rcx]
and edx, esi
mov rbx, qword [rcx + 0x10]
and edi, esi
mov qword [rbp + 0x40], rcx
lea rcx, [0x140000000]
mov r13d, r14d
add r13, rcx
mov byte [rbp], al
call fcn.14000df14
mov ecx, edi
mov r15, rax
mov qword [rbp + 0x58], rax
mov edi, 8
mov qword [rbp + 0x30], rcx
test rcx, rcx
je 0x1400380aa
and ecx, 7
mov dword [rbp + 0x10], ecx
je 0x14000998d
movzx r11d, bx
mov r9, rbx
shr r9, 0x30
mov rax, rbx
shr rax, 0x10
mov ecx, r9d
movzx r10d, ax
xor ecx, r14d
rol ecx, 3
mov eax, r14d
shr eax, 1
mov esi, r14d
imul ecx, r10d
not esi
mov rdx, rbx
mov qword [rbp + 0xd8], rbx
shr rdx, 0x20
movzx r8d, dx
mov qword [rbp + 0x78], rbx
add ecx, eax
mov qword [rbp + 0x158], rbx
xor esi, ecx
mov qword [rbp + 0x88], rbx
mov edi, esi
mov qword [rbp + 0x118], rbx
ror edi, 5
mov eax, r10d
xor eax, esi
mov qword [rbp + 0x98], rbx
imul eax, r11d
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0x128], rbx
mov qword [rbp + 0xb8], rbx
add edi, eax
mov qword [rbp + 0x168], rbx
xor edi, r14d
mov qword [rbp + 0xc8], rbx
mov ecx, edi
mov qword [rbp + 0x138], rbx
sub ecx, r11d
mov qword [rbp + 0x68], rbx
imul ecx, r9d
mov eax, edi
shr eax, 4
mov qword [rbp + 0x188], rbx
mov qword [rbp + 0xe8], rbx
mov qword [rbp + 0x148], rbx
sub ecx, eax
mov qword [rbp + 0xf8], rbx
xor esi, ecx
mov ecx, edx
mov eax, esi
sub eax, ebx
sub eax, r8d
xor edi, eax
xor ecx, edi
mov eax, edi
shr eax, 9
rol ecx, 2
imul ecx, r10d
sub ecx, eax
xor esi, ecx
mov ecx, esi
mov eax, esi
ror eax, 0x1a
sub ecx, edx
ror ecx, 3
imul ecx, r11d
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 0xd
add eax, r9d
imul eax, r8d
xor esi, eax
mov eax, ebx
xor eax, esi
sub edx, eax
xor edi, edx
mov ecx, r11d
mov qword [rbp + 0x178], rbx
xor ecx, edi
mov qword [rbp + 0x108], rbx
rol ecx, 3
mov eax, edi
imul ecx, r10d
movsxd r10, dword [rbp + 0x10]
ror eax, 5
mov rdx, r10
mov r9, r10
sub ecx, eax
xor esi, ecx
mov ecx, esi
mov dword [rbp + 8], esi
sub ecx, r8d
mov eax, esi
rol ecx, 1
mov r8, r13
imul ecx, r11d
shr eax, 6
xor ecx, eax
xor edi, ecx
xor ecx, ecx
mov dword [rbp + 0xc], edi
mov qword [rbp + 0x18], rcx
test r10d, r10d
je 0x14000967f
lea rcx, [rbp + 0x18]
sub rcx, r13
mov al, byte [r8]
mov byte [rcx + r8], al
inc r8
sub r9, 1
jne 0x140009665
mov edi, dword [rbp + 0xc]
mov esi, dword [rbp + 8]
mov rcx, qword [rbp + 0x18]
xor edi, dword [rbp + 0x1c]
lea r8, [rbp + 8]
xor esi, ecx
mov dword [rbp + 0xc], edi
mov eax, 8
mov dword [rbp + 8], esi
mov qword [rbp + 0x20], rcx
lea r8, [r8 + r10]
sub rax, rdx
je 0x1400096b3
mov byte [r8], 0
inc r8
sub rax, 1
jne 0x1400096a0
mov edi, dword [rbp + 0xc]
mov esi, dword [rbp + 8]
lea r8, [rbp + 8]
test r10d, r10d
je 0x1400096dc
lea rax, [rbp + 8]
mov r9, r15
sub r9, rax
mov al, byte [r8]
mov byte [r9 + r8], al
inc r8
sub rdx, 1
jne 0x1400096c6
mov edi, dword [rbp + 0xc]
mov esi, dword [rbp + 8]
movsxd rax, r10d
add rax, r15
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x30]
mov r14, rax
shr r14, 3
test r14, r14
je 0x1400098e8
mov r12, qword [rbp + 0x38]
mov rax, rbx
shr rax, 0x20
mov r8, rbx
mov qword [rbp + 0x18], rax
mov r9, rbx
shr r8, 0x30
shr r9, 0x10
movzx eax, bx
sub r13, r15
mov r15, qword [rbp + 0x18]
mov dword [rbp + 0x10], eax
mov qword [rbp + 0x70], rbx
mov qword [rbp + 0x80], rbx
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xe0], rbx
mov qword [rbp + 0xf0], rbx
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x120], rbx
mov qword [rbp + 0x130], rbx
mov qword [rbp + 0x140], rbx
mov qword [rbp + 0x48], r8
mov qword [rbp + 0x150], rbx
mov qword [rbp + 0x160], rbx
mov qword [rbp + 0x170], rbx
mov qword [rbp + 0x180], rbx
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x190], rbx
mov qword [rbp + 0x1a0], rbx
mov rax, qword [r13 + r12]
movzx r10d, r8w
xor esi, eax
movzx r11d, r9w
mov rdx, rax
shr rdx, 0x20
mov r8d, r10d
xor edi, edx
movzx r9d, r15w
xor r8d, edi
shr rcx, 0x20
rol r8d, 3
mov edx, edi
imul r8d, r11d
shr edx, 1
mov qword [rbp + 0x18], rax
add r8d, edx
mov edx, r11d
xor esi, r8d
xor edx, esi
mov r8d, esi
imul edx, dword [rbp + 0x10]
ror r8d, 5
add r8d, edx
xor edi, r8d
mov r8d, edi
mov edx, edi
sub r8d, dword [rbp + 0x10]
imul r8d, r10d
shr edx, 4
sub r8d, edx
xor esi, r8d
mov r8d, r15d
mov edx, esi
sub edx, ebx
sub edx, r9d
xor edi, edx
xor r8d, edi
mov edx, edi
rol r8d, 2
imul r8d, r11d
shr edx, 9
sub r8d, edx
xor esi, r8d
mov r8d, esi
mov edx, esi
sub r8d, r15d
ror edx, 0x1a
ror r8d, 3
imul r8d, dword [rbp + 0x10]
xor r8d, edx
xor edi, r8d
mov r8d, ebx
mov edx, edi
not edx
ror edx, 0xd
add edx, r10d
imul edx, r9d
xor esi, edx
mov edx, r15d
xor r8d, esi
sub edx, r8d
mov r8d, dword [rbp + 0x10]
xor edi, edx
xor r8d, edi
mov edx, edi
rol r8d, 3
imul r8d, r11d
ror edx, 5
sub r8d, edx
xor esi, r8d
mov r8d, esi
mov edx, esi
xor esi, dword [rbp + 0x20]
sub r8d, r9d
rol r8d, 1
imul r8d, dword [rbp + 0x10]
shr edx, 6
xor r8d, edx
xor edi, r8d
xor edi, ecx
mov r8, qword [rbp + 0x48]
mov rcx, rax
mov r9, qword [rbp + 0x28]
mov dword [r12], esi
mov dword [r12 + 4], edi
lea r12, [r12 + 8]
mov qword [rbp + 0x20], rax
sub r14, 1
jne 0x1400097b5
mov r15, qword [rbp + 0x58]
mov r12, qword [rbp + 0x40]
mov rax, qword [rbp + 0x30]
mov dword [rbp + 0xc], edi
mov dword [rbp + 8], esi
mov cl, byte [rax + r15 - 1]
mov edi, 8
mov esi, 0xfffffff
cmp cl, byte [rbp]
jne 0x1400380b2
mov ecx, dword [r12 + 0xc]
test esi, ecx
je 0x14000992e
lea rax, [0x140000000]
and rcx, rsi
mov qword [rbp + 0x28], rax
lea rdx, [rbp + 0x28]
add rcx, r15
mov al, byte [rdx]
inc rdx
mov byte [rcx], al
inc rcx
sub rdi, 1
jne 0x14000991e
mov ecx, dword [r12 + 4]
test esi, ecx
jne 0x1400380bd
and qword [rbp + 0x60], 0
lea r9, [rbp + 0x50]
and qword [rbp + 0x50], 0
lea r8, [rbp + 0x60]
mov rdx, r15
call fcn.14000dcc0
mov rax, r15
mov rcx, qword [rbp + 0x1a8]
xor rcx, rbp
call fcn.14001af10
mov rbx, qword [rbp + 0x1e8]
mov rsi, qword [rbp + 0x1f0]
mov rdi, qword [rbp + 0x1f8]
lea rsp, [rbp + 0x1b0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov r10d, dword [rbp + 0x10]
xor esi, esi
mov dword [rbp + 0x24], r14d
xor edi, edi
not r14d
mov qword [rbp + 8], rsi
mov dword [rbp + 0x20], r14d
mov rcx, qword [rbp + 0x20]
jmp 0x1400096dc
mov cl, byte [rbp]
jmp 0x1400098f7
call fcn.140108d08
nop
jmp 0x140009900
and rcx, rsi
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1400380d3
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14001bab0
sub rsp, rax
jmp 0x14000993b