Function at 0x1800e1970
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov rax, qword [0x1801c6b80]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r15, rdx
mov rsi, rcx
mov rax, qword [rdx]
lea rdx, [rsp + 0x30]
mov rcx, r15
call qword [rax + 0x78]
mov r12, qword [rax + 8]
xor ebx, ebx
mov edi, ebx
mov rcx, rsi
call fcn.1800d95f0
cmp eax, 0xb
jne 0x1800e1b0a
mov rcx, rsi
call fcn.180144cb0
test al, al
je 0x1800e1b0a
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d4980
mov r14, rax
mov rcx, rax
call fcn.1801495c0
test al, al
je 0x1800e1b0a
mov r8, rsi
mov rdx, r15
lea rcx, [rbp - 0x79]
call fcn.1800d1bf0
nop
mov r8, rsi
mov rdx, r15
lea rcx, [rbp - 0x31]
call fcn.1800d1bf0
nop
mov rcx, rsi
call fcn.180144d60
mov r15, qword [rax + 0x28]
mov rcx, rsi
call fcn.180144d60
mov rsi, qword [rax + 0x28]
mov rax, qword [r14]
lea rdx, [rbp - 0x79]
mov rcx, r14
call qword [rax + 0x28]
mov rax, qword [r14]
lea rdx, [rbp - 0x31]
mov rcx, r14
call qword [rax + 0x30]
mov rcx, qword [rbp - 0x71]
mov rax, qword [rcx]
lea r8, [rbp - 0x31]
lea rdx, [rbp - 0x79]
call qword [rax + 0x20]
test al, al
jne 0x1800e1ac2
lea rdx, [rbp - 0x69]
mov rcx, r15
call fcn.1800e57f0
mov rbx, rax
lea rdx, [rbp - 0x41]
lea rcx, [rsi + 0x48]
call fcn.1800e5a60
lea rdx, [rbx + 2]
add rdx, rax
mov eax, edx
or eax, 1
bsr ecx, eax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rcx, rdx
add rdi, rcx
mov rcx, qword [rbp - 0x71]
mov rax, qword [rcx]
lea rdx, [rbp - 0x79]
call qword [rax + 0x90]
mov rcx, qword [rbp - 0x71]
mov rax, qword [rcx]
lea r8, [rbp - 0x31]
lea rdx, [rbp - 0x79]
call qword [rax + 0x20]
test al, al
je 0x1800e1a60
mov rcx, qword [rbp - 0x29]
mov rax, qword [rcx]
lea rdx, [rbp - 0x31]
call qword [rax + 0x80]
cmp dword [rbp - 1], 9
jne 0x1800e1ae3
lea rcx, [rbp - 0x21]
call fcn.180034690
nop
mov rcx, qword [rbp - 0x71]
mov r8, qword [rcx]
lea rdx, [rbp - 0x79]
call qword [r8 + 0x80]
cmp dword [rbp - 0x49], 9
jne 0x1800e1b05
lea rcx, [rbp - 0x69]
call fcn.180034690
nop
jmp case.default.0x1800e1b82
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1b27
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d3c60
mov r14d, eax
jmp 0x1800e1b5c
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 0x20]
cmp byte [rcx + 0x4b], bl
je 0x1800e1b3c
mov r14d, 1
jmp 0x1800e1b5c
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d5fd0
mov rcx, rbx
mov r14d, 1
test al, al
cmovne rcx, r14
mov r14, rcx
mov rcx, rsi
call fcn.1800d95f0
dec eax
cmp eax, 0x11
ja case.default.0x1800e1b82
cdqe
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0xe205c]
add rcx, rdx
jmp rcx
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1bd9
test r14, r14
je case.default.0x1800e1b82
nop word [rax + rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d5210
movsxd rcx, eax
or rcx, 1
bsr rax, rcx
lea ecx, [rax*8 + 0x49]
add ecx, eax
shr rcx, 6
add rdi, rcx
inc rbx
cmp rbx, r14
jb 0x1800e1ba0
jmp case.default.0x1800e1b82
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d4700
movsxd rcx, eax
or rcx, 1
bsr rax, rcx
lea edi, [rax*8 + 0x49]
add edi, eax
jmp 0x1800e1dab
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1c46
test r14, r14
je case.default.0x1800e1b82
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d52e0
or rax, 1
bsr rcx, rax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rdi, rcx
inc rbx
cmp rbx, r14
jb 0x1800e1c13
jmp case.default.0x1800e1b82
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d4850
or rax, 1
bsr rcx, rax
jmp 0x1800e1da2
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1cb1
test r14, r14
je case.default.0x1800e1b82
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d5210
mov ecx, eax
sar ecx, 0x1f
add eax, eax
xor ecx, eax
or ecx, 1
bsr eax, ecx
lea ecx, [rax*8 + 0x49]
add ecx, eax
shr rcx, 6
add rdi, rcx
inc rbx
cmp rbx, r14
jb 0x1800e1c74
jmp case.default.0x1800e1b82
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d4700
mov ecx, eax
sar ecx, 0x1f
add eax, eax
xor ecx, eax
or ecx, 1
bsr eax, ecx
lea edi, [rax*8 + 0x49]
add edi, eax
jmp 0x1800e1dab
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1d30
test r14, r14
je case.default.0x1800e1b82
nop
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d52e0
mov rcx, rax
sar rcx, 0x3f
add rax, rax
xor rcx, rax
or rcx, 1
bsr rax, rcx
lea ecx, [rax*8 + 0x49]
add ecx, eax
shr rcx, 6
add rdi, rcx
inc rbx
cmp rbx, r14
jb 0x1800e1cf0
jmp case.default.0x1800e1b82
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d4850
mov rcx, rax
sar rcx, 0x3f
add rax, rax
xor rcx, rax
jmp 0x1800e1bea
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1d8e
test r14, r14
je case.default.0x1800e1b82
nop
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d5680
or eax, 1
bsr ecx, eax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rdi, rcx
inc rbx
cmp rbx, r14
jb 0x1800e1d60
jmp case.default.0x1800e1b82
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d5b20
or eax, 1
bsr ecx, eax
lea edi, [rcx*8 + 0x49]
add edi, ecx
shr rdi, 6
mov rax, rdi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.180165f20
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1e20
test r14, r14
je case.default.0x1800e1b82
nop dword [rax + rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d5750
or rax, 1
bsr rcx, rax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rdi, rcx
inc rbx
cmp rbx, r14
jb 0x1800e1df0
jmp case.default.0x1800e1b82
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d5c40
or rax, 1
bsr rcx, rax
jmp 0x1800e1da2
lea rdi, [r14*4]
jmp case.default.0x1800e1b82
lea rdi, [r14*8]
jmp case.default.0x1800e1b82
mov rdi, r14
jmp case.default.0x1800e1b82
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1e9a
test r14, r14
je case.default.0x1800e1b82
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d53b0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x38]
add rdi, rax
inc rbx
cmp rbx, r14
jb 0x1800e1e70
jmp case.default.0x1800e1b82
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d49f0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x38]
mov rdi, rax
jmp case.default.0x1800e1b82
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1f0f
test r14, r14
je case.default.0x1800e1b82
nop
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d53b0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x38]
mov ecx, eax
or ecx, 1
bsr edx, ecx
lea edx, [rdx + rdx*8]
add edx, 0x49
shr rdx, 6
add rdx, rax
add rdi, rdx
inc rbx
cmp rbx, r14
jb 0x1800e1ed0
jmp case.default.0x1800e1b82
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d49f0
mov rcx, rax
call fcn.1800dd440
mov rdi, rax
jmp case.default.0x1800e1b82
movzx eax, byte [rsi + 1]
and al, 0x60
cmp al, 0x60
jne 0x1800e1f7d
test r14, r14
je case.default.0x1800e1b82
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d4f90
movsxd rcx, dword [rax + 4]
or rcx, 1
bsr rax, rcx
lea ecx, [rax*8 + 0x49]
add ecx, eax
shr rcx, 6
add rdi, rcx
inc rbx
cmp rbx, r14
jb 0x1800e1f43
jmp case.default.0x1800e1b82
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1800d42e0
movsxd rcx, dword [rax + 4]
jmp 0x1800e1bea
mov r13, rbx
test r14, r14
je case.default.0x1800e1b82
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
movzx eax, byte [rsi + 1]
and al, 0x60
mov r8, rsi
mov rdx, r15
mov rcx, r12
cmp al, 0x60
jne 0x1800e1fe2
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, r13d
call fcn.1800d55b0
jmp 0x1800e1fec
lea r9, [rsp + 0x40]
call fcn.1800d59b0
mov rdx, qword [rax + 0x10]
mov eax, edx
or eax, 1
bsr ecx, eax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rcx, rdx
add rdi, rcx
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x1800e2041
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800e203c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800e2052
call fcn.1801662f4
inc r13
cmp r13, r14
jb 0x1800e1fa0
jmp case.default.0x1800e1b82
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3