Function at 0x1800bf560
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov rax, qword [0x1801bc0c0]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov r14, r9
mov r12, r8
mov esi, ecx
xor edi, edi
mov rdx, qword [r8 + 8]
test rdx, rdx
jne 0x1800bf5aa
xor al, al
jmp 0x1800bf91a
mov r8, qword [r8]
mov ebx, 0xffffffff
lea r9, [0x180000000]
nop dword [rax]
movzx ecx, byte [r8]
mov eax, ebx
xor rcx, rax
movzx eax, cl
shr ebx, 8
xor ebx, dword [r9 + rax*4 + 0x19c6e0]
lea r8, [r8 + 1]
sub rdx, 1
jne 0x1800bf5c0
not ebx
mov ecx, dword [0x1801be9a4]
mov rax, qword gs:[0x58]
mov edx, 0x10
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1801cbe18], ecx
jle 0x1800bf639
lea rcx, [0x1801cbe18]
call fcn.1800fce80
cmp dword [0x1801cbe18], 0xffffffff
jne 0x1800bf639
call fcn.1800befd0
lea rcx, [0x1801299f0]
call fcn.1800fcdc0
nop
lea rcx, [0x1801cbe18]
call fcn.1800fce14
mov r8d, ebx
mov edx, esi
lea rcx, [rbp + 0x90]
call fcn.1800bf2e0
nop
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp + 0xa0]
sub rax, rcx
cmp rax, 8
jb 0x1800bf94a
lea r9, [rbp + 0x90]
cmp qword [rbp + 0xa8], 0xf
cmova r9, qword [rbp + 0x90]
mov qword [rsp + 0x30], 8
lea rax, str..nve_bin
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x70]
call fcn.1800c2d70
nop
lea rax, [rbp + 0x70]
cmp qword [rbp + 0x88], 0xf
cmova rax, qword [rbp + 0x70]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x48], rax
call fcn.1800fb9c8
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
lea r8, [rsp + 0x40]
mov edx, eax
lea rcx, [rbp + 0xb0]
call fcn.1800c2190
nop
lea r8, [rbp + 0xb0]
lea rcx, [rbp + 0xd0]
call fcn.1800c37f0
nop
lea rcx, [rbp + 0xb0]
call fcn.1800c50a0
nop
lea rcx, [rbp + 0x70]
call fcn.1800b5e30
lea rcx, [rbp + 0xd0]
call fcn.1800c4b30
test al, al
jne 0x1800bf72b
xor bl, bl
jmp 0x1800bf8fe
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x60]
call fcn.1800c1480
nop
mov r8d, 2
lea rcx, [rsp + 0x60]
call fcn.1800c08d0
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x60]
call fcn.1800c07f0
mov rsi, qword [rax + 8]
add rsi, qword [rax]
mov rbx, rdi
mov qword [rsp + 0x40], rbx
mov r15, rdi
mov qword [rsp + 0x48], rdi
mov r13, rdi
mov qword [rsp + 0x50], rdi
je 0x1800bf7a9
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.1800c2310
mov r8, rsi
xor edx, edx
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.180125170
lea r15, [rbx + rsi]
mov qword [rsp + 0x48], r15
mov r13, qword [rsp + 0x50]
xor r8d, r8d
lea rcx, [rsp + 0x60]
call fcn.1800c08d0
mov rsi, r15
sub rsi, rbx
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call fcn.1800c0ac0
mov r8d, edi
test rsi, rsi
je 0x1800bf804
mov rdx, rbx
lea r9, [0x180000000]
nop dword [rax]
movzx ecx, byte [rdx]
mov eax, r8d
not eax
and eax, 1
xor cl, byte [r9 + rax*4 + 0x19c668]
mov byte [rdx], cl
inc r8d
lea rdx, [rdx + 1]
movsxd rax, r8d
cmp rax, rsi
jb 0x1800bf7e0
mov rdx, qword [r14 + 8]
cmp rdx, qword [r14 + 0x10]
je 0x1800bf823
mov r8, rdi
mov qword [rdx], rbx
mov qword [rdx + 8], r15
mov qword [rdx + 0x10], r13
add qword [r14 + 8], 0x18
jmp 0x1800bf83a
lea r8, [rsp + 0x40]
mov rcx, r14
call fcn.1800c1cd0
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x40]
mov rax, qword [r14 + 8]
mov rcx, qword [rax - 0x18]
mov qword [r12], rcx
mov rcx, qword [r14 + 8]
mov rax, qword [rcx - 0x10]
sub rax, qword [rcx - 0x18]
mov qword [r12 + 8], rax
mov bl, 1
test r8, r8
je 0x1800bf892
sub rdi, r8
mov rax, r8
cmp rdi, 0x1000
jb 0x1800bf886
add rdi, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800bf944
mov rdx, rdi
mov rcx, r8
call fcn.1800fc920
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [0x18019c660]
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.1800c0690
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [0x18019c658]
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, [0x18019c678]
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800fc038
nop
lea rcx, [rbp + 0xd0]
call fcn.1800c50a0
nop
lea rcx, [rbp + 0x90]
call fcn.1800b5e30
movzx eax, bl
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.1800fc900
mov rbx, qword [rsp + 0x248]
add rsp, 0x200
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180102e04
nop
call fcn.1800b6690
int3