Function at 0x1800a9ef0
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x80
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov eax, 0x5a4d
mov rdi, rdx
mov r10, rcx
cmp word [rcx], ax
jne 0x1800aa1f6
movsxd rax, dword [rcx + 0x3c]
cmp dword [rax + rcx], 0x4550
jne 0x1800aa1f6
mov r15d, dword [rax + rcx + 0x8c]
test r15, r15
je 0x1800aa103
mov r14d, dword [rax + rcx + 0x88]
test r14, r14
je 0x1800aa103
mov esi, dword [r14 + rcx + 0x20]
xor r11d, r11d
mov r12d, dword [r14 + rcx + 0x24]
add rsi, rcx
mov r13d, dword [r14 + rcx + 0x1c]
add r12, rcx
mov r9d, dword [r14 + rcx + 0x18]
add r13, rcx
test r9, r9
je 0x1800a9ff2
nop dword [rax]
nop dword [rax + rax]
mov rbx, r9
sub rbx, r11
shr rbx, 1
add rbx, r11
mov eax, dword [rsi + rbx*4]
add rax, r10
test rdi, rdi
jne 0x1800a9fae
mov ecx, 0xffffffff
jmp 0x1800a9fdc
test rax, rax
jne 0x1800a9fba
mov ecx, 1
jmp 0x1800a9fdc
mov r8, rdi
sub r8, rax
movzx ecx, byte [rax + r8]
movzx edx, byte [rax]
lea rax, [rax + 1]
test cl, cl
je 0x1800a9fd4
cmp cl, dl
je 0x1800a9fc0
sub ecx, edx
je 0x1800aa095
test ecx, ecx
lea rax, [rbx + 1]
cmovle rax, r11
cmovle r9, rbx
mov r11, rax
cmp r9, rax
jne 0x1800a9f90
movabs r9, 0x8aa9772af325e9d7
movabs r8, 0xcc46ac4b924e2944
movabs rax, 0xe48903589c5591b2
movabs rcx, 0xb316b66168233e0e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0xa828d924f46e5d2b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xbef24058d8aa94ab
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r9
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], r8
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xbef24058d8aab491
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rcx
jmp 0x1800aa1f2
movzx eax, word [r12 + rbx*2]
movabs r9, 0x8aa9772af325e9d7
movabs r8, 0xcc46ac4b924e2944
mov ecx, dword [r13 + rax*4]
movabs rax, 0xec8903589c5591b2
mov qword [rbp], rax
mov rax, qword [rbp]
movabs rax, 0xcc468c71f6205c2b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp], r9
mov rax, qword [rbp]
mov qword [rbp], r8
mov rax, qword [rbp]
cmp rcx, r14
jb 0x1800aa0fa
mov eax, ecx
sub rax, r14
cmp rax, r15
jb 0x1800aa006
lea rax, [rcx + r10]
jmp 0x1800aa1f8
movabs rcx, 0xb316b66168233e0e
movabs rax, 0xe2891246864186ba
mov qword [rbp], rax
movabs rsi, 0x8aa9772af325e9d7
mov rax, qword [rbp]
movabs rdi, 0xcc46ac4b924e2944
mov qword [rbp + 0x20], rax
movabs rax, 0xb4238c24fc6e5a25
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x9cd27a2bacd8dbe1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xbef24058d8aab491
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov rbx, qword gs:[0x60]
mov qword [rbp + 0x38], rax
mov rcx, qword [rbx + 0x110]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, qword [rbx + 0x110]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movabs rax, 0x8aa9772af325e9f5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp], rdi
mov rax, qword [rbp]
mov qword [rbp], rsi
mov rax, qword [rbp]
mov qword [rbp], rdi
mov rax, qword [rbp]
xor eax, eax
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret