Function at 0x1800160f8
Capabilities:
Access peb ldr_data
Parse pe header
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
call fcn.180016458
mov r14d, 1
mov rbx, rax
mov eax, 0x5a4d
cmp word [rbx], ax
jne 0x180016143
movsxd rax, dword [rbx + 0x3c]
lea rdx, [rax - 0x40]
cmp rdx, 0x3bf
ja 0x180016143
cmp dword [rax + rbx], 0x4550
je 0x180016148
sub rbx, r14
jmp 0x18001611f
xor ebp, ebp
mov r9d, 0xffff
mov word [rbx], bp
mov rax, qword gs:[0x60]
mov rdi, qword [rax + 0x18]
mov rdx, qword [rdi + 0x20]
jmp 0x18001619e
mov rsi, qword [rdx + 0x50]
movzx r8d, word [rdx + 0x48]
mov rcx, rbp
ror ecx, 0xd
cmp byte [rsi], 0x61
jb 0x180016184
movzx eax, byte [rsi]
sub eax, 0x20
cdqe
jmp 0x180016187
movzx eax, byte [rsi]
add rcx, rax
add rsi, r14
add r8w, r9w
jne 0x180016172
cmp ecx, 0x6a4abc5b
je 0x1800161a5
mov rdx, qword [rdx]
test rdx, rdx
jne 0x180016166
jmp 0x1800161a9
mov rdi, qword [rdx + 0x20]
movsxd rax, dword [rdi + 0x3c]
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x68]
mov r11d, dword [rax + rdi + 0x88]
mov r10, qword [rsp + 0x68]
mov eax, 3
mov esi, dword [r11 + rdi + 0x20]
mov r8d, dword [r11 + rdi + 0x24]
movzx r9d, ax
add rsi, rdi
add r8, rdi
mov r15d, 0xffff
mov edx, dword [rsi]
mov ecx, ebp
add rdx, rdi
mov al, byte [rdx]
ror ecx, 0xd
movsx eax, al
add rdx, r14
add ecx, eax
mov al, byte [rdx]
test al, al
jne 0x1800161ec
cmp ecx, 0xec0e4e8e
je 0x180016215
cmp ecx, 0x7c0dfcaa
je 0x180016215
cmp ecx, 0x91afca54
jne 0x180016256
mov eax, dword [r11 + rdi + 0x1c]
movzx edx, word [r8]
add rax, rdi
cmp ecx, 0xec0e4e8e
jne 0x180016232
mov r12d, dword [rax + rdx*4]
add r12, rdi
jmp 0x180016252
cmp ecx, 0x7c0dfcaa
jne 0x180016243
mov r13d, dword [rax + rdx*4]
add r13, rdi
jmp 0x180016252
cmp ecx, 0x91afca54
jne 0x180016252
mov r10d, dword [rax + rdx*4]
add r10, rdi
add r9w, r15w
add rsi, 4
add r8, 2
test r9w, r9w
jne 0x1800161e3
movsxd r14, dword [rbx + 0x3c]
xor ecx, ecx
mov r8d, 0x3000
add r14, rbx
lea r9d, [rcx + 0x40]
mov edx, dword [r14 + 0x50]
call r10
mov ecx, dword [r14 + 0x54]
mov r15, qword [rsp + 0x60]
mov rdi, rax
mov rsi, rbx
xor r10d, r10d
rep movsb byte [rdi], byte [rsi]
movzx edx, word [r14 + 6]
mov rbp, rax
movzx eax, word [r14 + 0x14]
test rdx, rdx
je 0x1800162c8
add rax, 0x2c
add rax, r14
mov esi, dword [rax]
mov edi, dword [rax - 8]
mov ecx, dword [rax - 4]
add rsi, rbx
add rdi, rbp
lea rax, [rax + 0x28]
rep movsb byte [rdi], byte [rsi]
dec rdx
jne 0x1800162af
mov edi, dword [r14 + 0x90]
add rdi, rbp
mov eax, dword [rdi + 0xc]
test eax, eax
je 0x18001636f
mov ecx, eax
add rcx, rbp
call r12
mov ebx, dword [rdi]
mov esi, dword [rdi + 0x10]
add rbx, rbp
add rsi, rbp
mov r15, rax
xor r10d, r10d
jmp 0x180016356
test rbx, rbx
je 0x180016333
movabs rax, 0x8000000000000000
test qword [rbx], rax
je 0x180016333
movsxd rax, dword [r15 + 0x3c]
movzx edx, word [rbx]
mov ecx, dword [rax + r15 + 0x88]
mov eax, dword [rcx + r15 + 0x10]
mov ecx, dword [rcx + r15 + 0x1c]
add rcx, r15
sub rdx, rax
mov eax, dword [rcx + rdx*4]
add rax, r15
jmp 0x180016346
mov rdx, qword [rsi]
mov rcx, r15
add rdx, 2
add rdx, rbp
call r13
xor r10d, r10d
mov qword [rsi], rax
add rsi, 8
test rbx, rbx
je 0x180016356
add rbx, 8
cmp qword [rsi], r10
jne 0x1800162f8
mov eax, dword [rdi + 0x20]
add rdi, 0x14
test eax, eax
jne 0x1800162dd
mov r15, qword [rsp + 0x60]
mov rsi, rbp
sub rsi, qword [r14 + 0x30]
cmp dword [r14 + 0xb4], r10d
je 0x180016429
mov edx, dword [r14 + 0xb0]
add rdx, rbp
mov eax, dword [rdx + 4]
test eax, eax
je 0x180016429
mov r15d, 2
mov r11d, 0xfff
lea r12d, [r15 + 1]
mov edi, dword [rdx]
mov r8d, eax
lea r9, [rdx + 8]
sub r8, 8
add rdi, rbp
shr r8, 1
je 0x180016417
mov ebx, 1
movzx ecx, word [r9]
sub r8, rbx
movzx eax, cx
shr ax, 0xc
cmp ax, 0xa
jne 0x1800163df
and rcx, r11
add qword [rcx + rdi], rsi
jmp 0x18001640f
cmp ax, r12w
jne 0x1800163ed
and rcx, r11
add dword [rcx + rdi], esi
jmp 0x18001640f
cmp ax, bx
jne 0x180016402
mov rax, rsi
and rcx, r11
shr rax, 0x10
add word [rcx + rdi], ax
jmp 0x18001640f
cmp ax, r15w
jne 0x18001640f
and rcx, r11
add word [rcx + rdi], si
add r9, r15
test r8, r8
jne 0x1800163c2
mov eax, dword [rdx + 4]
add rdx, rax
mov eax, dword [rdx + 4]
test eax, eax
jne 0x1800163a8
mov r15, qword [rsp + 0x60]
mov edi, dword [r14 + 0x28]
mov r8, r15
mov edx, 1
add rdi, rbp
mov rcx, rbp
call rdi
mov rbx, qword [rsp + 0x70]
mov rax, rdi
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret