Function at 0x1400056a0
Capabilities:
Parse pe header

Disassembly:
push rbp
push rbx
push rsi
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x14009b020]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r15, rdx
mov r14, rcx
test rcx, rcx
je 0x1400059e3
xorps xmm0, xmm0
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, 0x108
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
call fcn.14001b720
mov rcx, r14
call fcn.140005300
test rax, rax
je 0x1400059e3
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov rcx, rax
lea r8d, [r9 + 0x40]
call fcn.1400050f0
test al, al
je 0x1400059e3
mov eax, 0x5a4d
cmp word [rbp + 0x60], ax
jne 0x1400059e3
movsxd rcx, dword [rbp + 0x9c]
add rcx, r14
call fcn.140005300
test rax, rax
je 0x1400059e3
xor r9d, r9d
lea rdx, [rsp + 0x50]
mov r8d, 0x108
mov rcx, rax
call fcn.1400050f0
test al, al
je 0x1400059e3
cmp dword [rsp + 0x50], 0x4550
jne 0x1400059e3
mov esi, dword [rbp - 0x28]
test esi, esi
je 0x1400059e3
mov ebx, dword [rbp - 0x24]
test ebx, ebx
je 0x1400059e3
mov r9d, 4
mov qword [rsp + 0x200], rdi
mov r8d, 0x3000
mov qword [rsp + 0x40], rbx
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
mov qword [rsp + 0x38], rsi
lea rax, [rsi + r14]
mov rcx, rax
mov qword [rsp + 0x30], rax
call fcn.140005300
test rax, rax
je 0x1400059cb
xor r9d, r9d
mov r8d, ebx
mov rdx, rdi
mov rcx, rax
call fcn.1400050f0
test al, al
je 0x1400059cb
mov eax, dword [rdi + 0x24]
mov qword [rsp + 0x1b8], r12
mov r12, rdi
sub r12, rsi
mov qword [rsp + 0x1b0], r13
mov r13d, dword [rdi + 0x20]
add rax, r12
mov qword [rsp + 0x20], rax
add r13, r12
mov eax, dword [rdi + 0x1c]
add rax, r12
mov qword [rsp + 0x28], rax
xor eax, eax
mov ebx, eax
cmp dword [rdi + 0x18], eax
jbe 0x1400058e7
nop word [rax + rax]
mov esi, ebx
mov r8, 0xffffffffffffffff
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], 0xf
mov edx, dword [r13 + rsi*4]
add rdx, r12
inc r8
cmp byte [rdx + r8], 0
jne 0x140005861
lea rcx, [rbp + 0x60]
call fcn.14000e710
cmp qword [r15 + 0x18], 0x10
mov rdx, r15
jb 0x140005881
mov rdx, qword [r15]
cmp qword [rbp + 0x78], 0x10
lea rcx, [rbp + 0x60]
cmovae rcx, qword [rbp + 0x60]
call fcn.1400247bc
test eax, eax
je 0x140005930
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x1400058d7
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400058d2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400059ea
call fcn.140014b60
inc ebx
mov eax, 0
cmp ebx, dword [rdi + 0x18]
jb 0x140005840
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
mov r12, qword [rsp + 0x1b8]
mov r13, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x200]
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140014b40
add rsp, 0x1c0
pop r15
pop r14
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
movzx eax, word [rax + rsi*2]
mov ecx, dword [rcx + rax*4]
cmp ecx, 0x1000
jbe 0x140005977
lea rbx, [r14 + rcx]
cmp rbx, qword [rsp + 0x30]
jb 0x1400059b8
mov rax, qword [rsp + 0x38]
add rax, qword [rsp + 0x40]
add rax, r14
cmp rbx, rax
ja 0x1400059b8
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor ebx, ebx
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x1400059b0
mov rcx, qword [rbp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400059ab
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400059ea
call fcn.140014b60
mov rax, rbx
jmp 0x1400058fa
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
jmp 0x140005979
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
xor eax, eax
jmp 0x14000590a
xor eax, eax
jmp 0x140005912
call fcn.140025408
int3