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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
cmp ecx, 2
mov edi, edx
lea rdx, [0x140022450]
mov rbp, r9
sbb eax, eax
mov r14d, r8d
and eax, ecx
lea rcx, [0x1400215a8]
imul rsi, rax, 0x68
lea rax, [0x140025c70]
add rsi, rax
call fcn.140001008
mov r8, qword [rsi + 0x18]
lea rcx, [0x140022468]
mov rdx, qword [rsi + 0x10]
call fcn.140001008
xor r15d, r15d
test edi, edi
je 0x140003b1e
cmp dword [rsi + 8], r15d
jne 0x140003b1e
lea rcx, [0x1400224a0]
jmp 0x140003dbc
cmp dword [rsi], 0xffffffff
je 0x140003b34
cmp r14d, dword [rsi]
jbe 0x140003b34
lea rcx, [0x1400224e0]
jmp 0x140003dbc
lea r12, [0x140003a90]
cmp qword [rsi + 0x28], r12
je 0x140003db5
cmp qword [rsi + 0x30], r12
je 0x140003db5
mov edi, 1
mov edx, edi
lea ecx, [rdi + 0x13]
call fcn.14000442c
test eax, eax
jns 0x140003b75
lea rcx, [0x1400225b8]
mov edx, eax
call fcn.140001008
jmp 0x140003dc1
mov edx, edi
mov ecx, 0xa
call fcn.14000442c
test eax, eax
jns 0x140003b8e
lea rcx, [0x140022600]
jmp 0x140003b69
mov rax, qword gs:[0x30]
mov edx, 8
mov rcx, qword [rax + 0x60]
lea r8d, [rdx + 0x30]
mov rcx, qword [rcx + 0x30]
call qword [0x140019360]
mov rbx, rax
test rax, rax
je 0x140003dc1
mov ecx, 0xb
mov qword [rax + 0x30], rsi
mov qword [rax + 8], rbp
mov rdi, r15
call fcn.1400048ec
test rax, rax
je 0x140003bf4
mov rcx, qword gs:[0x30]
mov r8, rax
mov rdi, qword [rax + 0x18]
xor edx, edx
mov rcx, qword [rcx + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [0x1400192f8]
mov qword [rbx + 0x10], rdi
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x60]
mov rax, qword [rbx + 0x30]
mov rsi, qword [rcx + 0x20]
mov rcx, qword [rax + 0x18]
mov rax, rcx
test rcx, rcx
jne 0x140003c22
mov rcx, r15
jmp 0x140003c2e
add rcx, 2
cmp word [rcx], r15w
jne 0x140003c1e
sub rcx, rax
sar rcx, 1
movzx eax, word [rsi + 0x38]
lea rcx, [rcx + 0x20]
mov dword [rbx + 4], r14d
mov edx, 8
lea r8, [rax + rcx*2]
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [0x140019360]
lea rdi, [rsp + 0x60]
mov dword [rsp + 0xd0], r15d
mov qword [rbx + 0x20], rax
lea r9, [rsp + 0xd0]
xor eax, eax
lea edx, [rax + 0x40]
mov ecx, edx
mov r8d, edx
rep stosb byte [rdi], al
xor ecx, ecx
lea rdx, [rsp + 0x60]
call qword [0x140019358]
test eax, eax
js 0x140003c9a
mov rax, qword [rsp + 0x88]
jmp 0x140003cb6
xor eax, eax
lea rdi, [rsp + 0x30]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
lea rcx, [rsp + 0x30]
call qword [0x1400190b0]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rbx + 0x20]
mov qword [rbx + 0x28], rax
test rcx, rcx
je 0x140003d7e
movzx edx, word [rsi + 0x38]
mov r8, qword [rsi + 0x40]
shr rdx, 1
mov r9, rdx
call fcn.1400038dc
mov rcx, qword [rbx + 0x20]
lea rdx, [0x140022644]
call fcn.1400038a0
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x20]
mov rdx, qword [rdx + 0x18]
call fcn.1400038a0
mov rcx, qword [rbx + 0x20]
lea rdx, [0x140022648]
call fcn.1400038a0
mov rcx, qword [rbx + 0x30]
mov rax, qword [rbx + 0x20]
mov rdx, qword [rbx + 8]
mov qword [rsp + 0x20], rax
mov r9, qword [rcx + 0x20]
mov r8, qword [rcx + 0x18]
mov ecx, dword [rcx + 4]
call fcn.140003930
test rax, rax
je 0x140003d61
mov rcx, qword [rbx + 0x30]
mov qword [rbx + 0x18], rax
mov rdx, qword [rcx + 0x58]
cmp rdx, r12
je 0x140003d9d
mov rcx, rax
call rdx
test eax, eax
jne 0x140003d9d
call qword [0x1400190b8]
mov edx, eax
lea rcx, [0x140022658]
call fcn.140001008
jmp 0x140003d9d
mov rax, qword gs:[0x30]
xor edx, edx
mov r8, qword [rbx + 0x20]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [0x1400192f8]
mov rax, qword gs:[0x30]
mov r8, rbx
xor edx, edx
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx + 0x30]
call qword [0x1400192f8]
mov rbx, r15
lea rdx, [0x140022450]
lea rcx, [0x1400216f0]
call fcn.140001008
mov rax, rbx
jmp 0x140003dc3
lea rcx, [0x140022530]
call fcn.140001008
xor eax, eax
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret