Function at 0x1801957d0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
mov eax, 0x60
call fcn.18014c9d0
sub rsp, rax
mov rax, qword [rcx + 0x178]
mov r14, qword [rcx + 0x160]
mov rbx, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rcx + 0x180]
mov rdi, r9
mov qword [rsp + 0x20], rax
mov rax, qword [rcx + 0x168]
mov rsi, r8
mov qword [rsp + 0x38], rax
mov rax, qword [rcx + 0x38]
mov rbp, rdx
lea rcx, [r9 + rax]
movabs rax, 0xfffffffe0
cmp rcx, rax
ja 0x180195acc
cmp rcx, r9
jb 0x180195acc
cmp dword [rbx + 0x174], 0
mov qword [rsp + 0x98], r12
mov qword [rbx + 0x38], rcx
mov qword [rsp + 0x58], r13
je 0x18019586e
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call r14
mov dword [rbx + 0x174], 0
mov r13d, dword [rbx + 0xc]
lea rax, [rbx + 0x170]
mov r12d, dword [rax]
bswap r13d
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x90], r12d
test r12d, r12d
je 0x1801958d8
test rdi, rdi
je 0x1801958c4
mov ecx, r12d
inc rsi
inc rbp
movzx eax, byte [rcx + rbx + 0x10]
dec rdi
xor al, byte [rbp - 1]
mov byte [rsi - 1], al
xor byte [rcx + rbx + 0x40], al
inc r12d
and r12d, 0xf
mov dword [rsp + 0x90], r12d
jne 0x180195891
jmp 0x1801958cd
test r12d, r12d
jne 0x180195aaa
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
call r14
mov qword [rsp + 0x50], r15
cmp rdi, 0xc00
jb 0x1801959ad
mov r12, qword [rsp + 0x28]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
mov rcx, rdx
shr rcx, 0xb
mov rax, rcx
mov qword [rsp + 0x30], rcx
imul rax, rax, 0xfffffffffffff400
add rdi, rax
mov qword [rsp + 0xa8], rdi
mov rdi, qword [rsp + 0x20]
nop word [rax + rax]
mov r14d, 0xc0
nop word [rax + rax]
lea rdx, [rbx + 0x10]
mov r8, rdi
mov rcx, rbx
call r12
inc r13d
add rsi, 0x10
mov eax, r13d
add rbp, 0x10
bswap eax
mov dword [rbx + 0xc], eax
mov rax, qword [rbp - 0x10]
xor rax, qword [rbx + 0x10]
mov qword [rsi - 0x10], rax
mov rax, qword [rbp - 8]
xor rax, qword [rbx + 0x18]
dec r14
mov qword [rsi - 8], rax
jne 0x180195940
lea r8, [rsi - 0xc00]
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
mov r9d, 0xc00
call qword [rsp + gethostname]
dec qword [rsp + 0x30]
jne 0x180195930
mov rdi, qword [rsp + 0xa8]
mov r12d, dword [rsp + 0x90]
mov rax, rdi
and rax, 0xfffffffffffffff0
mov qword [rsp + 0x30], rax
je 0x180195a57
cmp rdi, 0x10
jb 0x180195a42
mov r12, qword [rsp + 0x28]
mov r14, rdi
shr r14, 4
mov rax, r14
imul rax, rax, 0xfffffffffffffff0
add rdi, rax
mov qword [rsp + 0xa8], rdi
mov rdi, qword [rsp + 0x20]
nop dword [rax]
lea rdx, [rbx + 0x10]
mov r8, rdi
mov rcx, rbx
call r12
inc r13d
add rsi, 0x10
mov eax, r13d
add rbp, 0x10
bswap eax
mov dword [rbx + 0xc], eax
mov rax, qword [rbp - 0x10]
xor rax, qword [rbx + 0x10]
mov qword [rsi - 0x10], rax
mov rax, qword [rbp - 8]
xor rax, qword [rbx + 0x18]
dec r14
mov qword [rsi - 8], rax
jne 0x1801959f0
mov rdi, qword [rsp + 0xa8]
mov r12d, dword [rsp + 0x90]
mov rax, qword [rsp + 0x30]
mov r8, rsi
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x40]
sub r8, rax
mov r9, rax
call qword [rsp + gethostname]
mov r15, qword [rsp + 0x50]
test rdi, rdi
je 0x180195aaa
mov r8, qword [rsp + 0x20]
lea rdx, [rbx + 0x10]
mov rcx, rbx
call qword [rsp + 0x28]
inc r13d
movsxd rdx, r12d
bswap r13d
add rdx, rbp
sub rsi, rbp
mov dword [rbx + 0xc], r13d
sub rbx, rbp
add r12d, edi
nop word [rax + rax]
movzx eax, byte [rdx]
movzx ecx, byte [rbx + rdx + 0x10]
inc rdx
xor ecx, eax
mov byte [rsi + rdx - 1], cl
xor byte [rbx + rdx + 0x3f], cl
dec rdi
jne 0x180195a90
mov rax, qword [rsp + 0x40]
mov r13, qword [rsp + 0x58]
mov dword [rax], r12d
mov r12, qword [rsp + 0x98]
xor eax, eax
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
or eax, 0xffffffff
add rsp, 0x60
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret