Function at 0x14000ca30
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 [0x140022010]
xor rax, rsp
mov qword [rbp - 9], rax
mov r12, rdx
mov rsi, rcx
mov rax, qword [rbp + 0x8f]
mov qword [rbp - 0x39], rax
xor r14d, r14d
mov qword [rbp - 0x19], r14
mov qword [rbp - 0x29], r14
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x14000cde5
movsxd rdi, dword [rdx + 0x3c]
add rdi, rdx
cmp dword [rdi], 0x4550
jne 0x14000cde5
mov eax, 0x20b
cmp word [rdi + 0x18], ax
jne 0x14000cde5
mov r13d, dword [rdi + 0x50]
mov edx, r13d
xor ecx, ecx
lea r9d, [r14 + 4]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r15, rax
test rax, rax
je 0x14000cde5
movzx ecx, word [rdi + 0x14]
mov eax, dword [rcx + rdi + 0x24]
mov dword [rbp - 0x79], eax
sub r13d, eax
mov qword [rbp - 0x61], r14
mov eax, dword [rbp + 0x77]
cmp eax, 1
jne 0x14000cafc
mov edx, r13d
lea r8, [rbp - 0x61]
mov rcx, rsi
call fcn.14000c410
mov rbx, rax
jmp 0x14000cc1c
cmp eax, 2
jne 0x14000cb14
mov edx, r13d
mov rcx, rsi
call fcn.14000c870
mov rbx, rax
jmp 0x14000cc1c
mov ebx, r13d
test r13d, r13d
jne 0x14000cb24
mov rbx, r14
jmp 0x14000cdc9
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140022cc0], eax
jle 0x14000cbed
lea rcx, [0x140022cc0]
call fcn.14000f7d0
cmp dword [0x140022cc0], 0xffffffff
jne 0x14000cbed
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x49], r14
mov qword [rbp - 0x41], 0xf
mov byte [rbp - 0x59], 0
mov r8d, 0x15
lea rdx, [0x1400133c0]
lea rcx, [rbp - 0x59]
call fcn.1400064a0
nop
lea r8, [rbp - 0x59]
mov rdx, qword [0x140022c48]
mov rcx, rsi
call fcn.140003020
mov qword [0x140022da8], rax
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x14000cbe1
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000cbdb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000cbdb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000f640
nop
lea rcx, [0x140022cc0]
call fcn.14000f770
cmp qword [0x140022da8], 0
je 0x14000cb1c
mov qword [rbp - 0x71], r14
mov qword [rsp + 0x20], rbx
lea rdx, [rbp - 0x71]
mov rcx, rsi
call fcn.140008130
test al, al
je 0x14000cb1c
mov rbx, qword [rbp - 0x71]
mov qword [rbp - 0x69], rbx
mov qword [rbp - 0x71], rbx
test rbx, rbx
je 0x14000cdc9
mov r8d, dword [rdi + 0x54]
mov rdx, r12
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [rdi + 0x14]
add rax, 0x28
xor ecx, ecx
cmp cx, word [rdi + 6]
jae 0x14000cc81
lea rbx, [rax + rdi]
test dword [rbx + 0x14], 0x80
ja 0x14000cc6d
mov r8d, dword [rbx]
mov edx, dword [rbx + 4]
add rdx, r12
mov ecx, dword [rbx - 4]
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
inc r14d
add rbx, 0x28
movzx eax, word [rdi + 6]
cmp r14d, eax
jl 0x14000cc50
mov rbx, qword [rbp - 0x69]
mov r14, rbx
mov eax, dword [rbp - 0x79]
sub rbx, rax
mov qword [rbp - 0x69], rbx
sub rbx, qword [rdi + 0x30]
mov rdx, r15
lea rcx, [rbp - 0x59]
call fcn.14000d7f0
mov rdx, rbx
mov rcx, rax
call fcn.14000ce10
mov rbx, qword [rbp - 0x69]
mov rdx, rbx
mov rcx, r15
call fcn.14000cf10
test al, al
je 0x14000cde5
mov rdx, r15
lea rcx, [rbp - 0x59]
call fcn.14000d940
mov rdx, rax
mov rcx, rsi
call fcn.14000cfc0
test al, al
je 0x14000cdc5
mov r12d, r13d
mov r8d, dword [rbp - 0x79]
add r8, r15
mov r9d, r13d
mov rdx, r14
mov rcx, rsi
call fcn.1400028a0
test al, al
je 0x14000cdc5
mov edi, dword [rdi + 0x28]
add rdi, rbx
mov rbx, qword [rbp - 0x61]
mov qword [rsp + 0x20], rbx
mov r9d, r12d
mov r8, r14
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x29]
call fcn.14000acc0
test al, al
je 0x14000cdc5
xor eax, eax
mov dword [rbp - 0x79], eax
mov r9, qword [rbp - 0x29]
cmp byte [rbp + 0x7f], al
cmovne r9, r14
mov rax, qword [rbp - 0x19]
mov qword [rsp + 0x20], rax
mov r8, rdi
lea rdx, [rbp - 0x79]
mov rcx, rsi
call fcn.14000d2f0
test al, al
je 0x14000cdc5
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x14000cd63
mov eax, dword [rbp - 0x79]
mov dword [rcx], eax
cmp byte [rbp + 0x67], 0
je 0x14000cd9d
mov eax, dword [rbp + 0x77]
mov rdx, r14
cmp eax, 1
jne 0x14000cdb3
mov r8, rbx
mov rcx, rsi
call fcn.140002c80
test al, al
je 0x14000cd9d
mov rdx, rbx
mov rcx, rsi
call fcn.140002dc0
test al, al
je 0x14000cd9d
mov rdx, rbx
mov rcx, rsi
call fcn.140002f00
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rax, r14
jmp 0x14000cde7
cmp eax, 2
jne 0x14000cd95
mov r8d, r13d
mov rcx, rsi
call fcn.140002b90
jmp 0x14000cd9d
mov rbx, qword [rbp - 0x71]
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rdx, rbx
mov rcx, rsi
call fcn.140002f00
xor eax, eax
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.14000f620
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret