Function at 0x140015464
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x1e0
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x1f8], rbx
mov qword [rbp + 0x200], rsi
mov qword [rbp + 0x208], rdi
mov rax, qword [0x1405f8008]
xor rax, rbp
mov qword [rbp + 0x1b0], rax
mov r14d, dword [rcx + 0x18]
mov esi, 0xfffffff
mov al, byte [rcx]
mov r12, rcx
mov edx, dword [rcx + 4]
and r14d, esi
mov edi, dword [rcx + 8]
and edx, esi
mov rbx, qword [rcx + 0x10]
and edi, esi
mov qword [rbp + 0x48], rcx
lea rcx, [0x140000000]
mov r13d, r14d
add r13, rcx
mov byte [rbp], al
call fcn.14000df34
mov ecx, edi
mov r15, rax
mov qword [rbp + 0x40], rax
mov edi, 8
mov qword [rbp + 0x30], rcx
test rcx, rcx
je 0x140038df8
and ecx, 7
mov dword [rbp + 0x10], ecx
je 0x1400159be
mov r11, rbx
movzx edx, bx
shr r11, 0x20
mov rax, rbx
shr rax, 0x10
mov ecx, r14d
ror ecx, 9
mov edi, r14d
movzx r10d, ax
not edi
movzx r9d, r11w
mov esi, r11d
xor esi, ebx
mov qword [rbp + 0x140], rbx
mov eax, r9d
mov qword [rbp + 0x80], rbx
xor eax, r14d
mov qword [rbp + 0x160], rbx
imul eax, r10d
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x120], rbx
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0x1a0], rbx
sub eax, ecx
mov qword [rbp + 0xb0], rbx
xor edi, eax
mov qword [rbp + 0x130], rbx
xor esi, edi
mov qword [rbp + 0xc0], rbx
xor esi, r14d
mov qword [rbp + 0x170], rbx
mov ecx, r9d
mov qword [rbp + 0xd0], rbx
xor ecx, esi
mov qword [rbp + 0x70], rbx
rol ecx, 7
mov rax, rbx
shr rax, 0x30
imul ecx, eax
mov r8d, eax
mov eax, esi
mov qword [rbp + 0xe0], rbx
shr eax, 1
mov qword [rbp + 0x190], rbx
mov qword [rbp + 0xf0], rbx
add ecx, eax
xor edi, ecx
mov ecx, ebx
sub ecx, edi
mov eax, edi
ror ecx, 0xf
imul ecx, r9d
ror eax, 1
sub ecx, eax
xor esi, ecx
mov ecx, r8d
xor ecx, esi
mov eax, esi
rol ecx, 3
imul ecx, r10d
ror eax, 0x1a
xor ecx, eax
xor edi, ecx
mov ecx, r11d
sub ecx, edi
mov eax, edi
ror ecx, 6
imul ecx, edx
ror eax, 0x17
xor ecx, eax
xor esi, ecx
mov ecx, esi
mov eax, esi
sub ecx, edx
shr eax, 2
imul ecx, r8d
sub ecx, eax
xor edi, ecx
mov ecx, r8d
xor ecx, edi
imul ecx, r9d
mov eax, edi
mov qword [rbp + 0x150], rbx
shr eax, 1
xor ecx, eax
mov qword [rbp + 0x100], rbx
xor esi, ecx
mov qword [rbp + 0x180], rbx
mov eax, esi
mov qword [rbp + 0x110], rbx
not eax
xor ecx, ecx
ror eax, 0xf
add eax, r10d
mov qword [rbp + 0x18], rcx
movsxd r10, dword [rbp + 0x10]
imul eax, r8d
mov r9, r10
mov r8, r13
xor edi, eax
xor r11d, edi
mov dword [rbp + 8], edi
ror r11d, 4
mov eax, edi
imul r11d, edx
mov rdx, r10
ror eax, 0x11
add r11d, eax
xor esi, r11d
mov dword [rbp + 0xc], esi
test r10d, r10d
je 0x1400156a4
lea rcx, [rbp + 0x18]
sub rcx, r13
mov al, byte [r8]
mov byte [rcx + r8], al
inc r8
sub r9, 1
jne 0x14001568a
mov esi, dword [rbp + 0xc]
mov edi, dword [rbp + 8]
mov rcx, qword [rbp + 0x18]
xor esi, dword [rbp + 0x1c]
lea r8, [rbp + 8]
xor edi, ecx
mov dword [rbp + 0xc], esi
mov eax, 8
mov dword [rbp + 8], edi
mov qword [rbp + 0x20], rcx
lea r8, [r8 + r10]
sub rax, rdx
je 0x1400156d8
mov byte [r8], 0
inc r8
sub rax, 1
jne 0x1400156c5
mov esi, dword [rbp + 0xc]
mov edi, dword [rbp + 8]
lea r8, [rbp + 8]
test r10d, r10d
je 0x140015701
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 0x1400156eb
mov esi, dword [rbp + 0xc]
mov edi, dword [rbp + 8]
mov r14, qword [rbp + 0x30]
movsxd rax, r10d
add rax, r15
mov qword [rbp + 0x50], rax
mov rax, r14
shr rax, 3
mov qword [rbp + 0x38], rax
test rax, rax
je 0x140015919
mov r14, qword [rbp + 0x38]
mov rax, rbx
mov r12, qword [rbp + 0x50]
mov r8, rbx
shr rax, 0x20
mov r9, rbx
mov qword [rbp + 0x18], rax
shr r8, 0x10
shr r9, 0x30
movzx eax, bx
sub r13, r15
mov r15, qword [rbp + 0x18]
mov dword [rbp + 0x10], eax
mov qword [rbp + 0x78], rbx
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xd8], rbx
mov qword [rbp + 0xe8], rbx
mov qword [rbp + 0xf8], rbx
mov qword [rbp + 0x108], rbx
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x128], rbx
mov qword [rbp + 0x138], rbx
mov qword [rbp + 0x148], rbx
mov qword [rbp + 0x158], rbx
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x178], rbx
mov qword [rbp + 0x188], rbx
mov qword [rbp + 0x60], r8
mov qword [rbp + 0x28], r9
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x1a8], rbx
movzx r11d, r8w
mov rax, qword [r13 + r12]
xor edi, eax
movzx r9d, r9w
movzx r10d, r15w
mov rdx, rax
shr rdx, 0x20
xor esi, edx
mov qword [rbp + 0x18], rax
mov r8d, esi
mov edx, r10d
ror r8d, 9
xor edx, esi
imul edx, r11d
sub edx, r8d
mov r8d, r10d
xor edi, edx
mov edx, r15d
xor edx, ebx
xor esi, edx
xor esi, edi
xor r8d, esi
mov edx, esi
rol r8d, 7
imul r8d, r9d
shr edx, 1
add r8d, edx
xor edi, r8d
mov r8d, ebx
sub r8d, edi
mov edx, edi
ror r8d, 0xf
imul r8d, r10d
ror edx, 1
sub r8d, edx
xor esi, r8d
mov r8d, r9d
xor r8d, esi
mov edx, esi
rol r8d, 3
imul r8d, r11d
ror edx, 0x1a
xor r8d, edx
xor edi, r8d
mov r8d, r15d
sub r8d, edi
mov edx, edi
ror r8d, 6
imul r8d, dword [rbp + 0x10]
ror edx, 0x17
xor r8d, edx
xor esi, r8d
mov r8d, esi
mov edx, esi
sub r8d, dword [rbp + 0x10]
imul r8d, r9d
shr edx, 2
sub r8d, edx
xor edi, r8d
mov r8d, r9d
xor r8d, edi
mov edx, edi
shr edx, 1
imul r8d, r10d
xor r8d, edx
xor esi, r8d
mov r8d, r15d
mov edx, esi
not edx
ror edx, 0xf
add edx, r11d
imul edx, r9d
xor edi, edx
xor r8d, edi
mov edx, edi
ror r8d, 4
imul r8d, dword [rbp + 0x10]
ror edx, 0x11
add r8d, edx
xor esi, r8d
xor edi, dword [rbp + 0x20]
mov r8, qword [rbp + 0x60]
mov r9, qword [rbp + 0x28]
shr rcx, 0x20
xor esi, ecx
mov dword [r12], edi
mov dword [r12 + 4], esi
lea r12, [r12 + 8]
mov qword [rbp + 0x20], rax
mov rcx, rax
sub r14, 1
jne 0x1400157e2
mov r15, qword [rbp + 0x40]
mov r12, qword [rbp + 0x48]
mov r14, qword [rbp + 0x30]
mov dword [rbp + 8], edi
mov dword [rbp + 0xc], esi
mov al, byte [r14 + r15 - 1]
mov edi, 8
mov esi, 0xfffffff
cmp al, byte [rbp]
jne 0x140038e00
mov ecx, dword [r12 + 0x20]
test esi, ecx
je 0x14001595f
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 0x14001594f
mov ecx, dword [r12 + 0x1c]
test esi, ecx
jne 0x140038e0b
and qword [rbp + 0x68], 0
lea r9, [rbp + 0x58]
and qword [rbp + 0x58], 0
lea r8, [rbp + 0x68]
mov rdx, r15
call fcn.14000dce0
mov rax, r15
mov rcx, qword [rbp + 0x1b0]
xor rcx, rbp
call fcn.14001af80
mov rbx, qword [rbp + 0x1f8]
mov rsi, qword [rbp + 0x200]
mov rdi, qword [rbp + 0x208]
lea rsp, [rbp + 0x1c0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov r10d, dword [rbp + 0x10]
xor edi, edi
mov dword [rbp + 0x24], r14d
xor esi, esi
not r14d
mov qword [rbp + 8], rdi
mov dword [rbp + 0x20], r14d
mov rcx, qword [rbp + 0x20]
jmp 0x140015701
mov al, byte [rbp]
jmp 0x140015928
call fcn.140108048
nop
jmp 0x140015931
and rcx, rsi
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x140038e21
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14001bb20
sub rsp, rax
jmp 0x14001596c