Function at 0x14000bee0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xa0
mov rax, qword [0x14002f040]
xor rax, rsp
mov qword [rbp - 9], rax
mov rax, qword [rbp + 0x87]
mov qword [rbp - 0x19], rax
mov rdi, qword [0x140533070]
mov qword [rbp - 0x41], rdi
mov eax, 0x5a4d
cmp word [0x14052d920], ax
jne 0x14000c047
movsxd rsi, dword [0x14052d95c]
lea rax, [0x14052d920]
add rsi, rax
cmp dword [rsi], 0x4550
jne 0x14000c047
mov eax, 0x20b
cmp word [rsi + 0x18], ax
jne 0x14000c047
mov r15d, dword [rsi + 0x50]
mov edx, r15d
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r12, rax
test rax, rax
je 0x14000c047
movzx ecx, word [rsi + 0x14]
mov eax, dword [rcx + rsi + 0x24]
mov dword [rbp - 0x55], eax
sub r15d, eax
xor r14d, r14d
mov qword [rbp - 0x49], r14
mov eax, dword [rbp + 0x6f]
cmp eax, 1
jne 0x14000bfbf
mov edx, r15d
lea r8, [rbp - 0x49]
mov rcx, rdi
call fcn.14000bad0
mov r13, rax
jmp 0x14000c29c
cmp eax, 2
jne 0x14000c178
mov qword [rbp - 0x51], r14
cmp qword [0x1405330a0], r14
jne 0x14000c08a
lea rax, str.x____xxxxxxxx____xxxxxxxxx____xxxxxxxx
mov qword [rsp + 0x20], rax
lea r9, [0x1400205d0]
mov r8, qword [0x140532fd0]
lea rdx, str.PAGELK
mov rcx, rdi
call fcn.14000f910
mov rbx, rax
mov qword [0x1405330a0], rax
test rax, rax
je 0x14000c036
mov dword [rbp - 0x11], r14d
lea r8, [rax + 1]
mov r9d, 4
lea rdx, [rbp - 0x11]
mov rcx, rdi
call fcn.14000e190
test al, al
jne 0x14000c076
mov qword [0x1405330a0], r14
xor edx, edx
mov r8d, 0x8000
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.14001c890
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
movsxd rcx, dword [rbp - 0x11]
add rcx, 5
add rcx, rbx
mov qword [0x1405330a0], rcx
je 0x14000c036
mov r9d, r15d
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.140011520
test al, al
je 0x14000c036
mov r13, qword [rbp - 0x51]
test r13, r13
je 0x14000c036
cmp qword [0x140533080], r14
jne 0x14000c13f
lea rax, str.xx____x___x_x____xxxxxxx____x
mov qword [rsp + 0x20], rax
lea r9, [0x140020650]
mov r8, qword [0x140532fd0]
lea rdx, str.PAGE
mov rcx, rdi
call fcn.14000f910
mov qword [0x140533080], rax
test rax, rax
je 0x14000c165
lea rbx, [rax + 0xc]
mov qword [0x140533080], rbx
mov dword [rbp - 0x11], r14d
lea r8, [rbx + 1]
mov r9d, 4
lea rdx, [rbp - 0x11]
mov rcx, rdi
call fcn.14000e190
test al, al
jne 0x14000c12b
mov qword [0x140533080], r14
mov r8d, r15d
mov rdx, r13
mov rcx, rdi
call fcn.14000e3b0
jmp 0x14000c036
movsxd rcx, dword [rbp - 0x11]
add rcx, 5
add rcx, rbx
mov qword [0x140533080], rcx
je 0x14000c165
mov byte [rbp - 0x59], r14b
mov dword [rsp + 0x20], r15d
mov r9, r13
lea rdx, [rbp - 0x59]
mov rcx, rdi
call fcn.140011990
test al, al
je 0x14000c165
cmp byte [rbp - 0x59], r14b
jne 0x14000c29c
mov r8d, r15d
mov rdx, r13
mov rcx, rdi
call fcn.14000e3b0
jmp 0x14000c036
mov ebx, r15d
test r15d, r15d
je 0x14000c036
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1405330f0], eax
jle 0x14000c26d
lea rcx, [0x1405330f0]
call fcn.14001c9d0
cmp dword [0x1405330f0], 0xffffffff
jne 0x14000c26d
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x29], xmm1
mov ecx, 0x20
call fcn.14001c8b0
mov qword [rbp - 0x39], rax
movdqa xmm0, xmmword [0x140029c30]
movdqu xmmword [rbp - 0x29], xmm0
movups xmm1, xmmword [0x1400206f8]
movups xmmword [rax], xmm1
mov ecx, dword [0x140020708]
mov dword [rax + 0x10], ecx
movzx ecx, byte [0x14002070c]
mov byte [rax + 0x14], cl
mov byte [rax + 0x15], 0
lea r8, [rbp - 0x39]
mov rdx, qword [0x140532fd0]
mov rcx, rdi
call fcn.14000e820
mov qword [0x140533160], rax
mov rdx, qword [rbp - 0x21]
cmp rdx, 0xf
jbe 0x14000c261
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000c25b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000c25b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001c8f4
nop
lea rcx, [0x1405330f0]
call fcn.14001c964
cmp qword [0x140533160], 0
je 0x14000c036
mov qword [rbp - 0x51], r14
mov qword [rsp + 0x20], rbx
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.140012700
test al, al
je 0x14000c036
mov r13, qword [rbp - 0x51]
test r13, r13
je 0x14000c036
mov r8d, dword [rsi + 0x54]
lea rdx, [0x14052d920]
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
movzx ebx, word [rsi + 0x14]
add rbx, 0x28
xor eax, eax
cmp ax, word [rsi + 6]
jae 0x14000c303
add rbx, rsi
lea rdi, [0x14052d920]
test dword [rbx + 0x14], 0x80
ja 0x14000c2ef
mov r8d, dword [rbx]
mov edx, dword [rbx + 4]
add rdx, rdi
mov ecx, dword [rbx - 4]
add rcx, r12
call sub.VCRUNTIME140.dll_memcpy
inc r14d
add rbx, 0x28
movzx eax, word [rsi + 6]
cmp r14d, eax
jl 0x14000c2d2
mov rdi, qword [rbp - 0x41]
mov r14, r13
mov eax, dword [rbp - 0x55]
sub r13, rax
mov rbx, r13
sub rbx, qword [rsi + 0x30]
mov rdx, r12
lea rcx, [rbp - 0x39]
call fcn.140013950
mov rdx, rbx
mov rcx, rax
call fcn.14000c490
mov rdx, r13
mov rcx, r12
call fcn.14000c590
test al, al
je 0x14000c047
mov rdx, r12
lea rcx, [rbp - 0x39]
call fcn.140013aa0
mov rdx, rax
mov rcx, rdi
call fcn.14000c640
test al, al
je 0x14000c41b
mov r8d, dword [rbp - 0x55]
add r8, r12
mov r9d, r15d
mov rdx, r14
mov rcx, rdi
call fcn.14000e190
test al, al
je 0x14000c41b
mov r8d, dword [rsi + 0x28]
add r8, r13
xor eax, eax
mov dword [rbp - 0x55], eax
mov r9d, eax
cmp byte [rbp + 0x77], al
cmovne r9, r14
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x55]
mov rcx, rdi
call fcn.14000c970
test al, al
je 0x14000c41b
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14000c3b2
mov eax, dword [rbp - 0x55]
mov dword [rcx], eax
cmp byte [rbp + 0x5f], 0
je 0x14000c3f0
mov eax, dword [rbp + 0x6f]
mov rdx, r14
cmp eax, 1
jne 0x14000c409
mov rbx, qword [rbp - 0x49]
mov r8, rbx
mov rcx, rdi
call fcn.14000e4a0
test al, al
je 0x14000c3f0
mov rdx, rbx
mov rcx, rdi
call fcn.14000e5d0
test al, al
je 0x14000c3f0
mov rdx, rbx
mov rcx, rdi
call fcn.14000e700
xor edx, edx
mov r8d, 0x8000
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rax, r14
jmp 0x14000c049
cmp eax, 2
jne 0x14000c3e8
mov r8d, r15d
mov rcx, rdi
call fcn.14000e3b0
jmp 0x14000c3f0
xor edx, edx
mov r8d, 0x8000
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov eax, dword [rbp + 0x6f]
mov rdx, r14
cmp eax, 1
jne 0x14000c471
mov rbx, qword [rbp - 0x49]
mov r8, rbx
mov rcx, rdi
call fcn.14000e4a0
test al, al
je 0x14000c047
mov rdx, rbx
mov rcx, rdi
call fcn.14000e5d0
test al, al
je 0x14000c047
mov rdx, rbx
mov rcx, rdi
call fcn.14000e700
jmp 0x14000c047
cmp eax, 2
jne 0x14000c464
mov r8d, r15d
mov rcx, rdi
call fcn.14000e3b0
jmp 0x14000c047