Function at 0x18000cff0
Capabilities:
Access peb ldr_data
Inspect section memory permissions
Parse pe header
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
xor r15d, r15d
xor esi, esi
xor r9d, r9d
xor r13d, r13d
xor ebp, ebp
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x90], r9
call fcn.18000d630
mov r12, rax
mov eax, 0x5a4d
cmp word [r12], ax
jne 0x18000d057
movsxd rdx, dword [r12 + 0x3c]
lea rcx, [rdx - 0x40]
cmp rcx, 0x3bf
ja 0x18000d057
cmp dword [rdx + r12], 0x4550
je 0x18000d05c
dec r12
jmp 0x18000d034
mov rax, qword gs:[0x60]
mov qword [rsp + 0x20], r12
mov r11d, 1
mov rcx, qword [rax + 0x18]
mov r14, qword [rcx + 0x20]
test r14, r14
je 0x18000d294
lea ebx, [r11 + 4]
mov r12d, 0xffff
nop dword [rax + rax]
mov rdx, qword [r14 + 0x50]
movzx r8d, word [r14 + 0x48]
xor ecx, ecx
nop dword [rax + rax]
ror ecx, 0xd
movzx eax, byte [rdx]
cmp al, 0x61
jb 0x18000d0b4
movzx eax, al
sub eax, 0x20
cdqe
jmp 0x18000d0b7
movzx eax, al
add rcx, rax
inc rdx
add r8w, r12w
jne 0x18000d0a0
cmp ecx, 0x6a4abc5b
jne 0x18000d1d2
mov r9, qword [r14 + 0x20]
movsxd rax, dword [r9 + 0x3c]
mov edi, dword [rax + r9 + 0x88]
mov r10d, dword [rdi + r9 + 0x20]
mov r11d, dword [rdi + r9 + 0x24]
add r10, r9
add r11, r9
nop
mov ecx, dword [r10]
add rcx, r9
xor r8d, r8d
movzx eax, byte [rcx]
nop dword [rax]
ror r8d, 0xd
movsx eax, al
lea rcx, [rcx + 1]
add r8d, eax
movzx eax, byte [rcx]
test al, al
jne 0x18000d100
cmp r8d, 0xec0e4e8e
je 0x18000d142
cmp r8d, 0x7c0dfcaa
je 0x18000d142
cmp r8d, 0x91afca54
je 0x18000d142
cmp r8d, 0x7946c61b
je 0x18000d142
cmp r8d, 0xef632f2
jne 0x18000d1b4
mov eax, dword [rdi + r9 + 0x1c]
movzx edx, word [r11]
lea rcx, [r9 + rax]
cmp r8d, 0xec0e4e8e
jne 0x18000d161
mov r15d, dword [rcx + rdx*4]
add r15, r9
jmp 0x18000d1b0
cmp r8d, 0x7c0dfcaa
jne 0x18000d173
mov r13d, dword [rcx + rdx*4]
add r13, r9
jmp 0x18000d1b0
cmp r8d, 0x91afca54
jne 0x18000d184
mov esi, dword [rcx + rdx*4]
add rsi, r9
jmp 0x18000d1b0
cmp r8d, 0x7946c61b
jne 0x18000d1a1
mov r12d, dword [rcx + rdx*4]
add r12, r9
mov qword [rsp + 0x28], r12
mov r12d, 0xffff
jmp 0x18000d1b0
cmp r8d, 0xef632f2
jne 0x18000d1b0
mov ebp, dword [rcx + rdx*4]
add rbp, r9
add bx, r12w
add r10, 4
add r11, 2
test bx, bx
jne 0x18000d0f0
mov qword [rsp + 0x98], r15
jmp 0x18000d258
cmp ecx, 0x3cfa685d
jne 0x18000d26a
mov r10, qword [r14 + 0x20]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
mov r8d, dword [rbx + r10 + 0x20]
mov r9d, dword [rbx + r10 + 0x24]
add r8, r10
add r9, r10
nop
mov edx, dword [r8]
add rdx, r10
xor ecx, ecx
movzx eax, byte [rdx]
nop dword [rax + rax]
ror ecx, 0xd
movsx eax, al
lea rdx, [rdx + 1]
add ecx, eax
movzx eax, byte [rdx]
test al, al
jne 0x18000d210
cmp ecx, 0x534c0ab8
jne 0x18000d24a
mov eax, dword [rbx + r10 + 0x1c]
movzx edx, word [r9]
lea rcx, [r10 + rax]
mov edi, dword [rcx + rdx*4]
add rdi, r10
add r11w, r12w
mov qword [rsp + 0x90], rdi
add r8, 4
add r9, 2
test r11w, r11w
jne 0x18000d200
mov r9, qword [rsp + 0x90]
mov r11d, 1
lea ebx, [r11 + 4]
test r15, r15
je 0x18000d283
test r13, r13
je 0x18000d283
test rsi, rsi
je 0x18000d283
test rbp, rbp
je 0x18000d283
test r9, r9
jne 0x18000d28f
mov r14, qword [r14]
test r14, r14
jne 0x18000d090
mov r12, qword [rsp + 0x20]
movsxd r15, dword [r12 + 0x3c]
xor ecx, ecx
mov r8d, 0x3000
add r15, r12
lea r9d, [rcx + 4]
mov edx, dword [r15 + 0x50]
mov qword [rsp + 0x20], r15
call rsi
mov edx, dword [r15 + 0x50]
mov rcx, rax
mov r14, rax
call rbp
mov edx, dword [r15 + 0x54]
mov rcx, r12
test rdx, rdx
je 0x18000d2f0
mov r8, r14
sub r8, r12
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
inc rcx
mov byte [r8 + rcx - 1], al
dec rdx
jne 0x18000d2e0
movzx r10d, word [r15 + 6]
movzx eax, word [r15 + 0x14]
test r10, r10
je 0x18000d34b
lea r9, [r15 + 0x2c]
add r9, rax
nop word [rax + rax]
mov ecx, dword [r9 - 8]
mov edx, dword [r9]
mov r8d, dword [r9 - 4]
add rcx, r14
add rdx, r12
dec r10
test r8, r8
je 0x18000d342
nop dword [rax]
movzx eax, byte [rdx]
inc rcx
lea rdx, [rdx + 1]
mov byte [rcx - 1], al
dec r8
jne 0x18000d330
add r9, 0x28
test r10, r10
jne 0x18000d310
mov ebp, dword [r15 + 0x90]
add rbp, r14
cmp dword [rbp], 0
je 0x18000d401
mov r12, qword [rsp + 0x98]
mov ecx, dword [rbp + 0xc]
add rcx, r14
call r12
mov rsi, rax
test rax, rax
je 0x18000d3f3
mov ebx, dword [rbp + 0x10]
mov edi, dword [rbp]
add rbx, r14
add rdi, r14
cmp qword [rbx], 0
je 0x18000d3f3
movabs r12, 0x8000000000000000
test rdi, rdi
je 0x18000d3c5
mov rdx, qword [rdi]
test r12, rdx
je 0x18000d3c5
movsxd rax, dword [rsi + 0x3c]
movzx edx, dx
mov ecx, dword [rax + rsi + 0x88]
mov eax, dword [rcx + rsi + 0x10]
mov ecx, dword [rcx + rsi + 0x1c]
add rcx, rsi
sub rdx, rax
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x18000d3d5
mov rdx, qword [rbx]
mov rcx, rsi
add rdx, 2
add rdx, r14
call r13
mov qword [rbx], rax
add rbx, 8
test rdi, rdi
je 0x18000d3e5
add rdi, 8
cmp qword [rbx], 0
jne 0x18000d394
mov r12, qword [rsp + 0x98]
add rbp, 0x14
cmp dword [rbp], 0
jne 0x18000d367
mov eax, dword [r15 + 0xb4]
mov r8, r14
sub r8, qword [r15 + 0x30]
test eax, eax
je 0x18000d4c4
mov r11d, dword [r15 + 0xb0]
mov ebx, eax
add r11, r14
test eax, eax
je 0x18000d4c4
nop dword [rax + rax]
mov eax, dword [r11 + 4]
test eax, eax
je 0x18000d4c4
mov edx, dword [r11]
lea r9, [rax - 8]
lea r10, [r11 + 8]
add rdx, r14
shr r9, 1
je 0x18000d4b4
nop
movzx eax, word [r10]
dec r9
movzx ecx, ax
shr cx, 0xc
cmp cx, 0xa
jne 0x18000d46f
and eax, 0xfff
add qword [rax + rdx], r8
jmp 0x18000d4ab
cmp cx, 3
jne 0x18000d480
and eax, 0xfff
add dword [rax + rdx], r8d
jmp 0x18000d4ab
cmp cx, 1
jne 0x18000d49b
and eax, 0xfff
lea rcx, [rax + rdx]
mov rax, r8
shr rax, 0x10
add word [rcx], ax
jmp 0x18000d4ab
cmp cx, 2
jne 0x18000d4ab
and eax, 0xfff
add word [rax + rdx], r8w
add r10, 2
test r9, r9
jne 0x18000d450
mov eax, dword [r11 + 4]
add r11, rax
sub rbx, rax
jne 0x18000d430
movzx edi, word [r15 + 6]
movzx eax, word [r15 + 0x14]
test rdi, rdi
je 0x18000d5e3
mov rsi, qword [rsp + 0x28]
lea rbx, [r15 + 0x3c]
add rbx, rax
mov eax, 8
lea edx, [rax - 6]
lea ebp, [rax + 0x78]
lea r15d, [rax + 8]
lea r12d, [rax + 0x18]
lea r13d, [rax + 0x38]
nop word [rax + rax]
mov ecx, dword [rbx - 0x18]
mov dword [rsp + 0x88], 0
dec rdi
add rcx, r14
test dword [rbx], 0x80000000
mov r8d, 0
cmovne r8d, eax
mov dword [rsp + 0x88], r8d
test dword [rbx], 0x40000000
cmovne r8d, edx
mov dword [rsp + 0x88], r8d
mov eax, dword [rbx]
test eax, eax
jns 0x18000d559
bt eax, 0x1e
mov eax, 4
cmovb r8d, eax
mov dword [rsp + 0x88], r8d
test dword [rbx], 0x20000000
cmovne r8d, r15d
mov dword [rsp + 0x88], r8d
mov eax, dword [rbx]
bt eax, 0x1d
jae 0x18000d583
bt eax, 0x1f
cmovb r8d, ebp
mov dword [rsp + 0x88], r8d
mov eax, dword [rbx]
bt eax, 0x1d
jae 0x18000d59b
bt eax, 0x1e
cmovb r8d, r12d
mov dword [rsp + 0x88], r8d
mov eax, dword [rbx]
bt eax, 0x1d
jae 0x18000d5b7
test eax, eax
jns 0x18000d5b7
bt eax, 0x1e
cmovb r8d, r13d
mov dword [rsp + 0x88], r8d
mov edx, dword [rbx - 0x14]
test rdx, rdx
je 0x18000d5c9
lea r9, [rsp + 0x88]
call rsi
mov eax, 8
add rbx, 0x28
lea edx, [rax - 6]
test rdi, rdi
jne 0x18000d500
mov r15, qword [rsp + 0x20]
mov ebx, dword [r15 + 0x28]
xor r8d, r8d
xor edx, edx
or rcx, 0xffffffffffffffff
add rbx, r14
call qword [rsp + 0x90]
mov r8, qword [rsp + 0x80]
mov edx, 1
mov rcx, r14
call rbx
mov rax, rbx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret