Function at 0x14000a880
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xb0
mov rax, qword [0x14001f010]
xor rax, rsp
mov qword [rbp - 9], rax
mov r12, rdx
mov r14, rcx
mov rax, qword [rbp + 0x8f]
mov qword [rbp - 0x39], rax
xor esi, esi
mov qword [rbp - 0x19], rsi
mov qword [rbp - 0x29], rsi
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x14000a960
movsxd rdi, dword [rdx + 0x3c]
add rdi, rdx
cmp dword [rdi], 0x4550
jne 0x14000a960
mov eax, 0x20b
cmp word [rdi + 0x18], ax
jne 0x14000a960
mov ebx, dword [rdi + 0x50]
mov edx, ebx
xor ecx, ecx
lea r9d, [rsi + 4]
mov r8d, 0x3000
call qword [0x140010090]
mov r15, rax
test rax, rax
je 0x14000a960
movzx ecx, word [rdi + 0x14]
mov eax, dword [rcx + rdi + 0x24]
mov dword [rbp - 0x71], eax
sub ebx, eax
mov qword [rbp - 0x61], rsi
mov edx, ebx
mov qword [rbp - 0x69], rdx
cmp byte [rbp + 0x77], sil
je 0x14000a93d
lea r8, [rbp - 0x61]
mov rcx, r14
call fcn.14000a460
mov rbx, rax
jmp 0x14000aa87
test ebx, ebx
jne 0x14000a989
mov r13, rsi
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [0x1400100a0]
mov rdx, r13
mov rcx, r14
call fcn.140002370
xor eax, eax
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.14000da20
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8d, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [r8 + rcx]
cmp dword [0x14001fca8], eax
jle 0x14000aa58
lea rcx, [0x14001fca8]
call fcn.14000dbd0
cmp dword [0x14001fca8], 0xffffffff
jne 0x14000aa54
mov qword [rbp - 0x59], rsi
mov qword [rbp - 0x49], rsi
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], 0
mov r8d, 0x15
lea rdx, str.ExAllocatePoolWithTag
lea rcx, [rbp - 0x59]
call fcn.1400056a0
nop
lea r8, [rbp - 0x59]
mov rdx, qword [0x14001fc48]
mov rcx, r14
call fcn.140002490
mov qword [0x14001fd60], rax
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x14000aa48
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000aa42
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000aa42
call qword [0x140010480]
int3
call fcn.14000da40
nop
lea rcx, [0x14001fca8]
call fcn.14000db70
mov rdx, qword [rbp - 0x69]
cmp qword [0x14001fd60], 0
je 0x14000a941
mov qword [rbp - 0x79], rsi
mov qword [rsp + 0x20], rdx
lea rdx, [rbp - 0x79]
mov rcx, r14
call fcn.1400066e0
test al, al
je 0x14000a941
mov rbx, qword [rbp - 0x79]
mov qword [rbp - 0x79], rbx
mov r13, rbx
test rbx, rbx
je 0x14000a944
lea rdx, [0x140019980]
mov rcx, qword [0x140010260]
call fcn.140005830
mov rdx, rbx
mov rcx, rax
call qword [0x140010268]
lea rdx, [0x140005a10]
mov rcx, rax
call qword [0x1400101b0]
mov r8d, dword [rdi + 0x54]
mov rdx, r12
mov rcx, r15
call fcn.14000ec84
movzx eax, word [rdi + 0x14]
add rax, 0x28
xor ecx, ecx
cmp cx, word [rdi + 6]
jae 0x14000ab1f
lea rbx, [rax + rdi]
nop dword [rax]
test dword [rbx + 0x14], 0x80
ja 0x14000ab0d
mov r8d, dword [rbx]
mov edx, dword [rbx + 4]
add rdx, r12
mov ecx, dword [rbx - 4]
add rcx, r15
call fcn.14000ec84
inc esi
add rbx, 0x28
movzx eax, word [rdi + 6]
cmp esi, eax
jl 0x14000aaf0
mov rbx, qword [rbp - 0x79]
mov rsi, rbx
mov r12d, dword [rbp - 0x71]
sub rbx, r12
mov qword [rbp - 0x79], rbx
sub rbx, qword [rdi + 0x30]
mov rdx, r15
lea rcx, [rbp - 0x59]
call fcn.14000b5e0
mov rdx, rbx
mov rcx, rax
call fcn.14000acb0
mov rdx, r15
lea rcx, [rbp - 0x59]
call fcn.14000b730
mov rdx, rax
mov rcx, r14
call fcn.14000adb0
test al, al
je 0x14000a944
lea r8, [r15 + r12]
mov r12, qword [rbp - 0x69]
mov r9, r12
mov rdx, rsi
mov rcx, r14
call fcn.140001ed0
test al, al
je 0x14000a944
mov ebx, dword [rdi + 0x28]
add rbx, qword [rbp - 0x79]
lea rdx, [0x1400199d0]
mov rcx, qword [0x140010260]
call fcn.140005830
mov rdx, rbx
mov rcx, rax
call qword [0x140010268]
lea rdx, [0x140005a10]
mov rcx, rax
call qword [0x1400101b0]
mov rdi, qword [rbp - 0x61]
mov qword [rsp + 0x20], rdi
mov r9, r12
mov r8, rsi
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x29]
call fcn.1400092d0
test al, al
je 0x14000a944
xor eax, eax
mov dword [rbp - 0x71], eax
mov r9, qword [rbp - 0x29]
cmp byte [rbp + 0x7f], al
cmovne r9, rsi
mov rax, qword [rbp - 0x19]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp - 0x71]
mov rcx, r14
call fcn.14000b0d0
test al, al
je 0x14000a944
mov ebx, dword [rbp - 0x71]
mov rax, qword [rbp - 0x39]
test rax, rax
je 0x14000ac1d
mov dword [rax], ebx
lea rdx, [0x140019a20]
mov rcx, qword [0x140010260]
call fcn.140005830
lea rdx, [0x1400012b0]
mov rcx, rax
call qword [0x1400101b8]
mov edx, ebx
mov rcx, rax
call qword [0x140010200]
lea rdx, [0x140005a10]
mov rcx, rax
call qword [0x1400101b0]
cmp byte [rbp + 0x67], 0
je 0x14000ac8b
mov rdx, rsi
mov rcx, r14
cmp byte [rbp + 0x77], 0
je 0x14000ac86
mov r8, rdi
call fcn.140002130
mov rdx, rdi
mov rcx, r14
call fcn.140002250
mov rdx, rdi
mov rcx, r14
call fcn.140002370
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [0x1400100a0]
mov rax, rsi
jmp 0x14000a962