Function at 0x1800c1ad0
Capabilities:
Access peb ldr_data
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov byte [rsp + 0x18], r8b
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc8
mov esi, edx
mov r15, rcx
test rcx, rcx
je 0x1800c1f5d
movsxd r9, dword [rcx + 0x3c]
add r9, rcx
mov qword [rsp + 0x28], r9
cmp dword [r9 + 0x1c], 0
je 0x1800c1f5d
mov eax, dword [r9 + 0x88]
test eax, eax
je 0x1800c1f5d
cmp dword [r9 + 0x8c], 0
je 0x1800c1f5d
mov r10d, dword [rcx + rax + 0x1c]
lea rbx, [rcx + rax]
mov r8d, dword [rbx + 0x20]
add r10, rcx
mov r11d, dword [rbx + 0x24]
add r8, rcx
add r11, rcx
mov qword [rbp - 0x69], rbx
xor r14d, r14d
mov qword [rbp - 0x79], r10
mov qword [rbp + 7], r8
mov qword [rbp - 0x71], r11
mov dword [rbp + 0x7f], r14d
cmp dword [rbx + 0x18], r14d
jbe 0x1800c1f5d
xor ecx, ecx
mov rdi, 0xffffffffffffffff
xor eax, eax
mov qword [rbp - 0x39], rcx
mov qword [rbp - 0x41], rax
movabs r13, 0x51680dd99493f9c3
movabs r12, 0x3dab82201e60878a
nop word [rax + rax]
movzx eax, word [r11 + rax]
mov ecx, dword [r8 + rcx]
mov r8d, 0x84222325
add rcx, r15
mov edx, dword [r10 + rax*4]
add rdx, r15
movzx eax, byte [rcx]
test al, al
je 0x1800c1bd8
movsx eax, al
lea rcx, [rcx + 1]
xor eax, r8d
imul r8d, eax, 0x1b3
movzx eax, byte [rcx]
test al, al
jne 0x1800c1bc0
cmp esi, r8d
jne 0x1800c1df1
cmp rdx, rbx
jbe 0x1800c1f46
mov eax, dword [r9 + 0x8c]
add rax, rbx
cmp rdx, rax
jae 0x1800c1f46
xorps xmm0, xmm0
mov qword [rbp - 0x51], 0
movups xmmword [rbp - 0x61], xmm0
mov qword [rbp - 0x49], 0
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1800c1c20
lea rcx, [rbp - 0x61]
call fcn.180031a40
cmp qword [rbp - 0x51], 0
jne 0x1800c1c7e
mov rdx, qword [rbp - 0x49]
cmp rdx, 0xf
jbe 0x1800c1de4
mov rcx, qword [rbp - 0x61]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800c1c74
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800c1f73
call fcn.1800bffa0
jmp 0x1800c1de4
mov qword [rsp + 0x20], r13
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], r12
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x21], rax
movabs rax, 0x51680dd99493f9ed
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x19], rax
mov qword [rsp + 0x20], r12
mov rax, qword [rsp + 0x20]
movdqa xmm0, xmmword [rbp - 0x29]
mov qword [rbp - 0x11], rax
lea rax, [rbp - 0x29]
xorps xmm0, xmmword [rbp - 0x19]
movdqa xmmword [rbp - 0x29], xmm0
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800c1cd2
mov rcx, qword [rbp - 0x49]
lea r12, [rbp - 0x61]
mov rsi, qword [rbp - 0x61]
cmp rcx, 0xf
mov r13, qword [rbp - 0x51]
cmova r12, rsi
cmp rdi, r13
ja 0x1800c1d8b
mov rax, r13
sub rax, rdi
test rdi, rdi
je 0x1800c1e23
lea r14, [rax + r12]
mov rcx, r12
movq rax, xmm0
lea r8, [r14 + 1]
movsx r15d, al
sub r8, r12
mov edx, r15d
call fcn.1800c14b0
mov rbx, rax
test rax, rax
je 0x1800c1d7f
nop dword [rax]
nop word [rax + rax]
mov r8, rdi
lea rdx, [rbp - 0x29]
mov rcx, rbx
call fcn.1800c14e0
test eax, eax
je 0x1800c1d72
inc rbx
lea r8, [r14 + 1]
sub r8, rbx
mov rcx, rbx
mov edx, r15d
call fcn.1800c14b0
mov rbx, rax
test rax, rax
jne 0x1800c1d40
jmp 0x1800c1d7f
sub rbx, r12
cmp rbx, 0xffffffffffffffff
jne 0x1800c1e27
mov r15, qword [rbp + 0x67]
mov rbx, qword [rbp - 0x69]
mov r14d, dword [rbp + 0x7f]
mov rdi, qword [rbp - 0x49]
cmp rdi, 0xf
jbe 0x1800c1dc6
lea rdx, [rdi + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1800c1dbe
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800c1f73
mov rcx, rsi
call fcn.1800bffa0
mov esi, dword [rbp + 0x6f]
movabs r13, 0x51680dd99493f9c3
movabs r12, 0x3dab82201e60878a
mov rdi, 0xffffffffffffffff
mov r11, qword [rbp - 0x71]
mov r10, qword [rbp - 0x79]
mov r9, qword [rsp + 0x28]
mov rax, qword [rbp - 0x41]
inc r14d
mov rcx, qword [rbp - 0x39]
add rax, 2
add rcx, 4
mov dword [rbp + 0x7f], r14d
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x39], rcx
cmp r14d, dword [rbx + 0x18]
jae 0x1800c1f5d
mov r8, qword [rbp + 7]
jmp 0x1800c1ba0
xor ebx, ebx
jmp 0x1800c1e2f
mov rcx, qword [rbp - 0x49]
mov r15, qword [rbp + 0x67]
inc rbx
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x19], xmm0
movdqu xmmword [rbp - 9], xmm1
cmp r13, rbx
jb 0x1800c1f79
sub r13, rbx
lea rdx, [rbp - 0x61]
cmp r13, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
cmovb r8, r13
cmp rcx, 0xf
lea rcx, [rbp - 0x19]
cmova rdx, rsi
add rdx, rbx
call fcn.180031a40
mov rdi, qword [rbp - 1]
lea rcx, [rbp - 0x19]
mov rbx, qword [rbp - 0x19]
cmp rdi, 0xf
cmova rcx, rbx
call fcn.1800c18e0
mov r14d, eax
cmp rdi, 0xf
jbe 0x1800c1ec7
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800c1ebf
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800c1f73
mov rcx, rbx
call fcn.1800bffa0
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x60]
mov rsi, qword [rcx + 0x18]
add rsi, 0x20
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x1800c1f08
mov rcx, qword [rbx + 0x20]
cmp r15, rcx
je 0x1800c1f00
xor r8d, r8d
mov edx, r14d
call fcn.1800c1ad0
mov rdi, rax
test rax, rax
jne 0x1800c1f0a
mov rbx, qword [rbx]
cmp rbx, rsi
jne 0x1800c1ee4
xor edi, edi
mov rdx, qword [rbp - 0x49]
cmp rdx, 0xf
jbe 0x1800c1f41
mov rcx, qword [rbp - 0x61]
inc rdx
mov r8, rcx
cmp rdx, 0x1000
jb 0x1800c1f3c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x1800c1f73
call fcn.1800bffa0
mov rax, rdi
jmp 0x1800c1f5f
cmp byte [rbp + 0x77], 0
je 0x1800c1f58
movsxd rax, r14d
movzx ecx, word [r11 + rax*2]
mov edx, dword [r10 + rcx*4]
mov rax, rdx
jmp 0x1800c1f5f
xor eax, eax
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18000da50
int3
call fcn.180038120
int3