Function at 0x1800b4690
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
movsxd r15, dword [rdx]
lea rbx, [rdx + 0x10]
xor r12d, r12d
mov qword [rbp + 0x48], rbx
mov r13, rdx
mov r9, rcx
cmp r15d, 0x12
jne 0x1800b492b
mov ecx, dword [rbx]
mov r8d, dword [rdx + 0x14]
xor rcx, 0x2b5a5
mov rax, qword [rdx + 0x18]
cmp r8d, 1
jb 0x1800b46f1
mov edx, r8d
nop
imul rcx, rcx, 0x21
xor rcx, qword [rax]
lea rax, [rax + 8]
sub rdx, 1
jne 0x1800b46e0
mov qword [rbp - 0x20], 0xffffffffffffffff
cmp dword [r9 + 0x18], r12d
jne 0x1800b4704
mov rcx, r12
jmp 0x1800b4729
mov rax, qword [r9 + 0x10]
lea r8, [rbp + 0x48]
mov qword [rbp + 0x48], rax
lea rdx, [rbp + 0x50]
lea rax, [rbp - 0x28]
mov r9d, ecx
mov qword [rsp + 0x20], rax
call fcn.1800b4dd0
mov rcx, qword [rbp + 0x50]
mov r9b, 1
mov edx, 8
movzx r8d, r9b
call fcn.180025540
mov qword [rbp + 0x50], rax
mov rbx, rax
test rax, rax
je 0x1800b4c5f
movsxd rdx, dword [r13]
lea r8, [0x18010d650]
mov esi, dword [r13 + 0x14]
mov r15, qword [r13 + 0x18]
cmp edx, 0x12
jne 0x1800b477b
mov rcx, qword [r13 + 8]
mov dl, 1
mov qword [rbp + 0x48], 0xffffffffffffffff
call fcn.180026630
mov qword [rbp + 0x48], rax
jmp 0x1800b47f1
cmp edx, 0x22
jl 0x1800b4789
lea rax, [0x18010d660]
jmp 0x1800b4795
lea rax, [rdx + 1]
lea rax, [rdx + rax*2]
lea rax, [r8 + rax*8]
test dword [rax], 0x400000
jne 0x1800b47ab
cmp edx, 0x11
je 0x1800b47ab
mov qword [rbp + 0x48], r12
mov rax, r12
jmp 0x1800b47f1
mov rcx, qword [r13 + 8]
mov r9b, 1
movzx r8d, r9b
test cl, 2
je 0x1800b47d7
add rcx, 0xfffffffffffffffe
mov edx, 4
call fcn.180025540
mov rcx, rax
lea rdx, [rbp + 0x48]
call fcn.1800af190
jmp 0x1800b47ed
mov edx, 0x40
call fcn.180025540
mov rcx, rax
lea rdx, [rbp + 0x48]
call fcn.180096c40
mov rax, qword [rbp + 0x48]
mov r8b, 1
mov edx, 0x3b0
mov rcx, rax
call fcn.180025770
mov rbx, qword [rbx]
mov r12, rax
mov r14d, dword [r13 + 0x10]
and rbx, 0xfffffffffffffffe
test bl, 2
jne 0x1800b4913
mov r9b, 1
mov edx, 0x40
movzx r8d, r9b
mov rcx, rbx
call fcn.180025540
mov rdi, rax
mov eax, dword [rax]
test eax, eax
js 0x1800b4858
test al, 0x30
je 0x1800b4858
mov rcx, qword [rdi + 0x30]
mov r9b, 1
sub rcx, 8
movzx r8d, r9b
mov edx, 8
call fcn.180025540
movzx ecx, word [rax + 6]
jmp 0x1800b485a
xor ecx, ecx
cmp ecx, esi
jne 0x1800b4913
mov rcx, rdi
call fcn.180097540
bts eax, 0x19
cmp eax, r14d
jne 0x1800b4913
lea rdx, [rbp + 0x58]
mov rcx, rdi
call fcn.180096c40
mov rcx, qword [rbp + 0x58]
mov r8b, 1
mov edx, 0x3b0
call fcn.180025770
test rax, rax
je 0x1800b4913
mov dl, 1
mov rcx, rax
call fcn.180026630
mov dl, 1
mov rcx, r12
mov rdi, rax
call fcn.180026630
cmp rdi, rax
jne 0x1800b4913
mov r9b, 1
mov edx, 0x40
movzx r8d, r9b
mov rcx, rbx
call fcn.180025540
mov rcx, rax
lea rdx, [rbp - 0x18]
call fcn.1800971f0
xor r12d, r12d
mov edx, r12d
test esi, esi
je 0x1800b490a
mov r8, qword [rbp - 0x18]
nop dword [rax]
nop word [rax + rax]
mov eax, edx
lea rcx, [rax*8]
mov rax, qword [r15 + rax*8]
cmp qword [r8 + rcx], rax
jne 0x1800b4916
inc edx
cmp edx, esi
jb 0x1800b48f0
mov r12, qword [rbp + 0x50]
jmp 0x1800b4c5f
xor r12d, r12d
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x30]
call fcn.1800b4c80
mov rcx, qword [rax]
jmp 0x1800b4729
cmp r15d, 0x1b
jne 0x1800b4a0c
movzx eax, byte [rdx + 8]
mov ecx, dword [rdx + 0xc]
xor rax, 0x596d7e
mov r8, qword [rbx]
imul rdx, rax, 0x21
xor rdx, rcx
inc ecx
nop
imul rdx, rdx, 0x21
xor rdx, qword [r8]
lea r8, [r8 + 8]
sub rcx, 1
jne 0x1800b4950
mov qword [rbp - 0x20], 0xffffffffffffffff
cmp dword [r9 + 0x18], r12d
jne 0x1800b4974
mov rcx, r12
jmp 0x1800b4999
mov rax, qword [r9 + 0x10]
lea r8, [rbp + 0x48]
mov qword [rbp + 0x48], rax
mov r9d, edx
lea rax, [rbp - 0x28]
lea rdx, [rbp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.1800b4dd0
mov rcx, qword [rbp + 0x50]
mov r9b, 1
mov edx, 8
movzx r8d, r9b
call fcn.180025540
test rax, rax
je 0x1800b4c5f
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rax]
and rax, 0xfffffffffffffffe
mov qword [rbp + 0x48], rax
test al, 2
je 0x1800b49e1
lea rcx, [rbp + 0x48]
call fcn.180092db0
cmp eax, 0x1b
je 0x1800b4c7a
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x50]
call fcn.1800b4c80
mov r9b, 1
mov edx, 8
movzx r8d, r9b
mov rcx, qword [rax]
call fcn.180025540
test rax, rax
jne 0x1800b49c0
jmp 0x1800b4c5f
mov rax, r15
mov qword [rbp - 0x20], 0xffffffffffffffff
xor rax, 0x2b5a5
mov rcx, rax
shl rcx, 5
add ecx, eax
xor ecx, dword [rdx + 8]
cmp dword [r9 + 0x18], r12d
jne 0x1800b4a34
mov rcx, r12
jmp 0x1800b4a59
mov rax, qword [r9 + 0x10]
lea r8, [rbp + 0x50]
mov qword [rbp + 0x50], rax
lea rdx, [rbp + 0x58]
lea rax, [rbp - 0x28]
mov r9d, ecx
mov qword [rsp + 0x20], rax
call fcn.1800b4dd0
mov rcx, qword [rbp + 0x58]
mov r9b, 1
mov edx, 8
movzx r8d, r9b
call fcn.180025540
mov rsi, rax
test rax, rax
je 0x1800b4c5f
nop word [rax + rax]
mov rcx, qword [rsi]
mov r9b, 1
and rcx, 0xfffffffffffffffe
movzx r8d, r9b
test cl, 2
jne 0x1800b4ab9
mov edx, 0x40
call fcn.180025540
mov r9b, 1
mov edx, 0x10
movzx r8d, r9b
mov rcx, qword [rax + 0x20]
call fcn.180025540
mov ecx, dword [rax]
shr ecx, 2
jmp 0x1800b4acc
add rcx, 0xfffffffffffffffe
mov edx, 4
call fcn.180025540
mov ecx, dword [rax]
shr ecx, 0xa
not ecx
test cl, 1
jne 0x1800b4adc
test byte [rsi], 2
je 0x1800b4c2d
mov rax, qword [rsi]
lea rcx, [rbp + 0x50]
and rax, 0xfffffffffffffffe
mov qword [rbp + 0x50], rax
call fcn.180092db0
cmp eax, r15d
jne 0x1800b4c2d
mov rbx, qword [rsi]
mov r9b, 1
mov rdi, qword [r13 + 8]
and rbx, 0xfffffffffffffffe
movzx r8d, r9b
test bl, 2
jne 0x1800b4b4b
mov edx, 0x40
mov rcx, rbx
call fcn.180025540
mov ecx, dword [rax]
and ecx, 0xc0000
cmp ecx, 0x80000
jne 0x1800b4bb3
mov r9b, 1
mov edx, 0x40
movzx r8d, r9b
mov rcx, rbx
call fcn.180025540
mov rax, qword [rax + 0x30]
jmp 0x1800b4bb6
lea rcx, [rbx - 2]
mov edx, 4
call fcn.180025540
mov r8, rax
mov edx, dword [rax]
movzx edx, dl
cmp edx, 0x22
jb 0x1800b4b6f
lea rax, [0x18010d660]
jmp 0x1800b4b82
lea rcx, [rdx + rdx*2]
lea rax, [0x18010d650]
lea rax, [rax + rcx*8]
add rax, 0x10
test dword [rax], 0x800000
jne 0x1800b4bb3
cmp edx, 0x1b
je 0x1800b4bb3
mov dl, 1
mov rcx, r8
call fcn.180026630
mov r9b, 1
mov edx, 0x18
movzx r8d, r9b
mov rcx, rax
call fcn.180025540
mov rax, qword [rax + 8]
jmp 0x1800b4bb6
mov rax, r12
mov rbx, qword [rbp + 0x48]
mov qword [rbp + 0x48], rbx
cmp rax, rdi
jne 0x1800b4c2d
cmp r15d, 0x14
jne 0x1800b4c5c
mov rcx, qword [rsi]
lea edx, [r15 + 0x2c]
mov r9b, 1
and rcx, 0xfffffffffffffffe
movzx r8d, r9b
call fcn.180025540
test dword [rax], 0x20000
je 0x1800b4bf2
lea eax, [r15 - 0x13]
jmp 0x1800b4c29
mov rcx, qword [rax + 0x28]
test cl, 1
je 0x1800b4c14
mov r9b, 1
and rcx, 0xfffffffffffffffe
movzx r8d, r9b
mov edx, 0x40
call fcn.180025540
mov rcx, qword [rax + 0x28]
mov r9b, 1
mov edx, 0x50
movzx r8d, r9b
call fcn.180025540
movzx eax, byte [rax + 0x48]
cmp eax, dword [rbx]
je 0x1800b4c5c
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x58]
call fcn.1800b4c80
mov r9b, 1
mov edx, 8
movzx r8d, r9b
mov rcx, qword [rax]
call fcn.180025540
mov rsi, rax
test rax, rax
jne 0x1800b4a80
jmp 0x1800b4c5f
mov r12, rsi
mov rbx, qword [rsp + 0xa0]
mov rax, r12
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180025270
int3