Function at 0x1800c0180
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x58
mov rsi, rcx
lea rcx, [r11 - 0x40]
xor ebp, ebp
mov rax, qword [rsi + 8]
mov qword [r11 + 0x10], r12
mov qword [r11 + 0x18], r13
mov qword [rcx], rax
mov rax, qword [rsi + 0x10]
mov qword [r11 + 0x20], r14
mov qword [rcx + 8], rax
mov rax, qword [rsi + 0x18]
mov qword [r11 - 0x28], r15
mov qword [rcx + 0x10], rax
mov rax, qword [rsi + 0x38]
lea rcx, [r11 - 0x58]
mov qword [rcx], rax
mov rax, qword [rsi + 0x40]
mov qword [rcx + 8], rax
mov rax, qword [rsi + 0x48]
mov qword [rsi + 0x40], rbp
mov dword [rsi + 0x3c], ebp
mov dword [rsi + 0x38], ebp
mov qword [rsi + 0x48], rbp
mov rdi, qword [rsi + 0x28]
mov qword [rcx + 0x10], rax
mov rcx, qword [rsi + 0x30]
mov qword [rsi + 0x28], rbp
call fcn.1800a4cd0
mov qword [rsi + 0x30], rbp
mov dword [rsi + 0x20], ebp
test rdi, rdi
je 0x1800c0218
mov rbx, qword [rdi]
mov rcx, rdi
call fcn.1800a4cd0
mov rdi, rbx
test rbx, rbx
jne 0x1800c0205
mov r13, qword [rsp + 0x28]
mov dword [rsi + 0x24], ebp
mov r12, r13
test r13, r13
je 0x1800c02b4
nop dword [rax]
mov rbp, qword [r12 + 0x10]
test rbp, rbp
je 0x1800c02a3
mov rdx, qword [rbp + 0x38]
xor ecx, ecx
call fcn.1800b8be0
mov rcx, qword [rbp]
call fcn.1800a4cd0
mov rcx, qword [rbp + 8]
call fcn.1800a4cd0
mov rdx, qword [rbp + 0x18]
xor ecx, ecx
call fcn.1800b6910
mov rbx, qword [rbp + 0x20]
test rbx, rbx
je 0x1800c029b
xor esi, esi
cmp dword [rbx + 8], esi
jle 0x1800c028b
xor edi, edi
mov rcx, qword [rbx]
mov rcx, qword [rcx + rdi]
call fcn.1800a4cd0
inc esi
add rdi, 0x10
cmp esi, dword [rbx + 8]
jl 0x1800c0274
mov rcx, qword [rbx]
call fcn.1800a4cd0
mov rcx, rbx
call fcn.1800a4cd0
mov rcx, rbp
call fcn.1800a4cd0
mov r12, qword [r12]
test r12, r12
jne 0x1800c0230
mov rsi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x30]
call fcn.1800a4cd0
test r13, r13
je 0x1800c02d7
mov rbx, qword [r13]
mov rcx, r13
call fcn.1800a4cd0
mov r13, rbx
test rbx, rbx
jne 0x1800c02c3
mov r14, qword [rsp + 0x40]
mov qword [rsi + 0x10], 0
mov dword [rsi + 0xc], 0
mov dword [rsi + 8], 0
mov qword [rsi + 0x18], 0
mov r15, r14
test r14, r14
je 0x1800c056d
mov ecx, 0xffff
nop dword [rax + rax]
mov r12, qword [r15 + 0x10]
test r12, r12
je 0x1800c0559
add word [r12 + 0x30], cx
jne 0x1800c0559
mov rbp, qword [r12 + 0x18]
test rbp, rbp
je 0x1800c048b
nop word [rax + rax]
mov r10, qword [rbp]
mov r13, qword [rbp + 0x38]
mov r8, r10
test r10, r10
je 0x1800c0369
cmp byte [r10], 0
je 0x1800c035f
inc r8
cmp byte [r8], 0
jne 0x1800c0356
sub r8d, r10d
and r8d, 0x3fffffff
mov rsi, qword [rbp + 0x40]
mov ebx, dword [rsi + 0x20]
test ebx, ebx
je 0x1800c03bb
xor eax, eax
mov r9d, r8d
mov r11, r10
test r8d, r8d
jle 0x1800c03b3
lea r10, [0x18018aba0]
nop dword [rax + rax]
movzx ecx, byte [r11]
dec r9d
inc r11
movzx edx, byte [rcx + r10]
lea ecx, [rax*8]
xor edx, ecx
xor eax, edx
test r9d, r9d
jg 0x1800c0390
mov r10, qword [rbp]
xor edx, edx
div ebx
mov ebx, edx
jmp 0x1800c03bd
xor ebx, ebx
lea rcx, [rsi + 0x20]
mov r9d, ebx
mov rdx, r10
call fcn.1800a5b70
mov r11, rax
test rax, rax
je 0x1800c046a
mov rax, qword [rax + 8]
test rax, rax
je 0x1800c03e9
mov rcx, qword [r11]
mov qword [rax], rcx
jmp 0x1800c03f0
mov rax, qword [r11]
mov qword [rsi + 0x28], rax
mov rcx, qword [r11]
test rcx, rcx
je 0x1800c0400
mov rax, qword [r11 + 8]
mov qword [rcx + 8], rax
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x1800c0421
mov ecx, ebx
shl rcx, 4
add rcx, rax
cmp qword [rcx + 8], r11
jne 0x1800c041f
mov rax, qword [r11]
mov qword [rcx + 8], rax
dec dword [rcx]
mov rcx, r11
call fcn.1800a4cd0
add dword [rsi + 0x24], 0xffffffff
jne 0x1800c046a
mov rdi, qword [rsi + 0x28]
mov rcx, qword [rsi + 0x30]
xor ebx, ebx
mov qword [rsi + 0x28], rbx
call fcn.1800a4cd0
mov qword [rsi + 0x30], rbx
mov dword [rsi + 0x20], ebx
test rdi, rdi
je 0x1800c0463
nop
mov rbx, qword [rdi]
mov rcx, rdi
call fcn.1800a4cd0
mov rdi, rbx
test rbx, rbx
jne 0x1800c0450
mov dword [rsi + 0x24], 0
mov rdx, qword [rbp + 0x30]
xor ecx, ecx
call fcn.1800a4d80
mov rdx, rbp
xor ecx, ecx
call fcn.1800a4d80
mov rbp, r13
test r13, r13
jne 0x1800c0340
mov rdx, r12
xor ecx, ecx
call fcn.1800b8440
mov rbx, qword [r12 + 0x10]
test rbx, rbx
je 0x1800c04ff
xor edi, edi
cmp dword [r12 + 0xc], edi
jle 0x1800c04f3
nop dword [rax + rax]
mov rdx, qword [rbx]
xor ecx, ecx
call fcn.1800a4d80
mov rdx, qword [rbx + 8]
xor ecx, ecx
call fcn.1800b6910
mov rdx, qword [rbx + 0x10]
xor ecx, ecx
call fcn.1800a4d80
mov rdx, qword [rbx + 0x18]
xor ecx, ecx
call fcn.1800a4d80
mov rdx, qword [rbx + 0x20]
xor ecx, ecx
call fcn.1800a4d80
inc edi
add rbx, 0x30
cmp edi, dword [r12 + 0xc]
jl 0x1800c04b0
mov rdx, qword [r12 + 0x10]
xor ecx, ecx
call fcn.1800a4d80
mov rdx, qword [r12]
xor ecx, ecx
call fcn.1800a4d80
mov rdx, qword [r12 + 0x40]
xor ecx, ecx
call fcn.1800a4d80
mov rbx, qword [r12 + 0x28]
test rbx, rbx
je 0x1800c0534
mov rdx, rbx
xor ecx, ecx
call fcn.1800ae690
mov rdx, rbx
xor ecx, ecx
call fcn.1800a4d80
mov rdx, qword [r12 + 0x48]
xor ecx, ecx
call fcn.1800b6910
mov rdx, r12
xor ecx, ecx
call fcn.1800af2d0
mov rdx, r12
xor ecx, ecx
call fcn.1800a4d80
mov ecx, 0xffff
mov r15, qword [r15]
test r15, r15
jne 0x1800c0310
mov rsi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x48]
call fcn.1800a4cd0
mov r15, qword [rsp + 0x50]
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x88]
test r14, r14
je 0x1800c05a4
mov rbx, qword [r14]
mov rcx, r14
call fcn.1800a4cd0
mov r14, rbx
test rbx, rbx
jne 0x1800c0591
mov rdi, qword [rsi + 0x58]
mov rcx, qword [rsi + 0x60]
xor ebp, ebp
mov qword [rsi + 0x58], rbp
call fcn.1800a4cd0
mov r14, qword [rsp + 0x98]
mov qword [rsi + 0x60], rbp
mov dword [rsi + 0x50], ebp
test rdi, rdi
je 0x1800c05e3
nop dword [rax + rax]
mov rbx, qword [rdi]
mov rcx, rdi
call fcn.1800a4cd0
mov rdi, rbx
test rbx, rbx
jne 0x1800c05d0
mov dword [rsi + 0x54], ebp
mov eax, 0xfffe
mov qword [rsi + 0x68], rbp
and word [rsi + 0x72], ax
add rsp, 0x58
pop rdi
pop rsi
pop rbp
pop rbx
ret