Function at 0x5000a920
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x68
cmp qword [rsp + 0x70], 0
jne 0x5000a9e1
mov rax, qword gs:[0x30]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x78], 0
je 0x5000a9d7
mov rax, qword gs:[0x30]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x20], rax
jmp 0x5000a9a4
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x30]
add rax, 0x20
cmp qword [rsp + 0x20], rax
je 0x5000a9d7
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x20]
cmp qword [rsp + 0x38], rax
jne 0x5000a9d5
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x20]
mov ecx, dword [rcx + 0x30]
mov dword [rax], ecx
jmp 0x5000a9d7
jmp 0x5000a997
mov rax, qword [rsp + 0x38]
jmp 0x5000ab5a
mov rax, qword gs:[0x30]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x80], 0
je 0x5000aa1e
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
inc eax
mov dword [rsp + 0x18], eax
jmp 0x5000aa26
mov dword [rsp + 0x18], 0
mov eax, dword [rsp + 0x18]
mov dword [rsp + 0x28], eax
mov dword [rsp + 8], 0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x10], rax
jmp 0x5000aa5d
mov eax, dword [rsp + 8]
inc eax
mov dword [rsp + 8], eax
mov rax, qword [rsp + 0x10]
mov rax, qword [rax]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x40]
add rax, 0x20
cmp qword [rsp + 0x10], rax
je 0x5000ab58
mov rax, qword [rsp + 0x10]
movzx eax, word [rax + 0x48]
test eax, eax
je 0x5000aa8a
mov rax, qword [rsp + 0x10]
cmp qword [rax + 0x50], 0
jne 0x5000aa8c
jmp 0x5000aa46
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 8], eax
jge 0x5000aa98
jmp 0x5000aa46
mov byte [rsp], 1
mov dword [rsp + 4], 0
mov rax, qword [rsp + 0x10]
movzx eax, word [rax + 0x48]
xor edx, edx
mov ecx, 2
div rcx
mov dword [rsp + 0x2c], eax
jmp 0x5000aac7
mov eax, dword [rsp + 4]
inc eax
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 4], eax
jae 0x5000aaff
mov eax, dword [rsp + 4]
mov rcx, qword [rsp + 0x10]
mov rcx, qword [rcx + 0x50]
movzx eax, word [rcx + rax*2]
mov ecx, dword [rsp + 4]
mov rdx, qword [rsp + 0x70]
movsx cx, byte [rdx + rcx]
movzx ecx, cx
cmp eax, ecx
je 0x5000aafd
mov byte [rsp], 0
jmp 0x5000aaff
jmp 0x5000aabd
movzx eax, byte [rsp]
test eax, eax
je 0x5000ab53
mov eax, dword [rsp + 4]
mov rcx, qword [rsp + 0x70]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x5000ab53
cmp qword [rsp + 0x80], 0
je 0x5000ab31
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 8]
mov dword [rax], ecx
cmp qword [rsp + 0x78], 0
je 0x5000ab48
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x10]
mov ecx, dword [rcx + 0x30]
mov dword [rax], ecx
mov rax, qword [rsp + 0x10]
mov rax, qword [rax + 0x20]
jmp 0x5000ab5a
jmp 0x5000aa46
xor eax, eax
add rsp, 0x68
ret