Function at 0x14000ac20
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r13
push r14
sub rsp, 0x38
xor ebp, ebp
mov r13, r9
mov r14, r8
mov rsi, rdx
mov rdi, rcx
test rcx, rcx
je 0x14000acb1
mov edx, 0x40
call fcn.14000c900
test al, al
jne 0x14000acb1
mov eax, 0x5a4d
cmp word [rdi], ax
jne 0x14000acb1
movsxd rax, dword [rdi + 0x3c]
cmp eax, 0x400
jg 0x14000acb1
lea rbx, [rdi + rax]
mov edx, 0xf8
mov rcx, rbx
call fcn.14000c900
test al, al
jne 0x14000acb1
cmp dword [rbx], 0x4550
jne 0x14000acb1
test rbx, rbx
je 0x14000acb1
mov edx, 0xf8
mov rcx, rbx
call fcn.14000c900
test al, al
je 0x14000aca5
movzx r10d, bp
mov dword [rsp + 0x20], r10d
jmp 0x14000acb8
movzx r10d, word [rbx + 0x18]
mov dword [rsp + 0x20], r10d
jmp 0x14000acb8
mov r10d, ebp
mov dword [rsp + 0x20], ebp
mov qword [rsp + 0x78], r12
mov r11b, 1
mov byte [rsp + 0x70], r11b
mov r8, r14
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rbp
test rdi, rdi
je 0x14000afd0
mov ebp, 0x20b
test r8, r8
je 0x14000afd0
cmp r8, rdi
jb 0x14000afd0
mov rax, r8
sub rax, rdi
lea rcx, [rax + 0x14]
cmp rcx, rsi
ja 0x14000afd0
cmp rcx, 0x14
jb 0x14000afd0
cmp rcx, rax
jb 0x14000afd0
mov r9d, dword [r8]
test r9d, r9d
jne 0x14000ad2a
cmp dword [r8 + 0x10], r9d
je 0x14000afd0
mov eax, dword [r8 + 0xc]
lea r12, [rax + rdi]
lea rcx, [rax + 1]
nop word [rax + rax]
lea rdx, [rdi - 1]
add rdx, rcx
je 0x14000afcc
cmp rdx, rdi
jb 0x14000afcc
cmp rcx, rsi
ja 0x14000afcc
cmp rcx, 1
jb 0x14000afcc
lea rax, [rcx - 1]
cmp rcx, rax
jb 0x14000afcc
movzx eax, byte [rdx]
test al, al
je 0x14000ad8c
sub al, 0x21
cmp al, 0x5c
ja 0x14000afcc
inc rcx
jmp 0x14000ad40
mov r15d, dword [r8 + 0x10]
test r9d, r9d
mov ebx, r15d
cmovne ebx, r9d
sub r15, rbx
cmp r10w, bp
mov bpl, 1
jne 0x14000aeb2
add rbx, 8
lea r14, [rdi - 8]
add r14, r15
nop word [rax + rax]
lea rax, [r14 + rbx]
test rax, rax
je 0x14000af8e
cmp rax, rdi
jb 0x14000af8e
lea rcx, [r15 + rbx]
cmp rcx, rsi
ja 0x14000af8e
cmp rcx, 8
jb 0x14000af8e
lea rax, [rbx - 8]
add rax, r15
cmp rcx, rax
jb 0x14000af8e
lea rax, [rdi - 8]
add rax, rbx
je 0x14000af8e
cmp rax, rdi
jb 0x14000af8e
cmp rbx, rsi
ja 0x14000af8e
cmp rbx, 8
jb 0x14000af8e
lea rax, [rbx - 8]
cmp rbx, rax
jb 0x14000af8e
cmp qword [r14 + rbx], 0
je 0x14000af8b
mov rax, qword [rdi + rbx - 8]
test rax, rax
je 0x14000af8e
js 0x14000ae84
lea rcx, [rax + rdi]
test rcx, rcx
je 0x14000af8e
cmp rcx, rdi
jb 0x14000af8e
lea rcx, [rax + 4]
cmp rcx, rsi
ja 0x14000af8e
cmp rcx, 4
jb 0x14000af8e
cmp rcx, rax
jb 0x14000af8e
mov rax, qword [r13]
lea r9, [r14 + rbx]
lea r8, [rdi - 8]
mov rdx, r12
add r8, rbx
mov rcx, r13
add rbx, 8
call qword [rax]
xor edx, edx
movzx ecx, bpl
test al, al
cmovne edx, ecx
movzx ebp, dl
jmp 0x14000adc0
add rbx, 4
lea r14, [rdi - 4]
add r14, r15
nop dword [rax]
lea rax, [r14 + rbx]
test rax, rax
je 0x14000af8e
cmp rax, rdi
jb 0x14000af8e
lea rcx, [r15 + rbx]
cmp rcx, rsi
ja 0x14000af8e
cmp rcx, 4
jb 0x14000af8e
lea rax, [rbx - 4]
add rax, r15
cmp rcx, rax
jb 0x14000af8e
lea rax, [rdi - 4]
add rax, rbx
je 0x14000af8e
cmp rax, rdi
jb 0x14000af8e
cmp rbx, rsi
ja 0x14000af8e
cmp rbx, 4
jb 0x14000af8e
lea rax, [rbx - 4]
cmp rbx, rax
jb 0x14000af8e
cmp dword [r14 + rbx], 0
je 0x14000af8b
mov ecx, dword [rdi + rbx - 4]
test ecx, ecx
je 0x14000af8e
mov eax, ecx
shr eax, 0x1f
test al, al
jne 0x14000af5d
lea rax, [rcx + rdi]
test rax, rax
je 0x14000af8e
cmp rax, rdi
jb 0x14000af8e
lea rax, [rcx + 4]
cmp rax, rsi
ja 0x14000af8e
cmp rax, 4
jb 0x14000af8e
cmp rax, rcx
jb 0x14000af8e
mov rax, qword [r13]
lea r9, [r14 + rbx]
lea r8, [rdi - 4]
mov rdx, r12
add r8, rbx
mov rcx, r13
add rbx, 4
call qword [rax]
xor edx, edx
movzx ecx, bpl
test al, al
cmovne edx, ecx
movzx ebp, dl
jmp 0x14000aec0
mov bpl, 1
movzx r11d, byte [rsp + 0x70]
xor ecx, ecx
mov r10, qword [rsp + 0x28]
mov r14, qword [rsp + 0x80]
inc r10
test bpl, bpl
mov qword [rsp + 0x28], r10
cmovne ecx, r11d
lea rax, [r10 + r10*4]
mov byte [rsp + 0x70], cl
mov r10d, dword [rsp + 0x20]
lea r8, [r14 + rax*4]
movzx r11d, cl
jmp 0x14000acdb
xor al, al
jmp 0x14000afd4
movzx eax, r11b
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x78]
add rsp, 0x38
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret