Function at 0x18005e050
Capabilities:
Parse pe header

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x1800d7110]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov r15, qword [rbp + 0x290]
mov rsi, rcx
lea rcx, [0x1800b025c]
mov r13d, r9d
mov qword [rsp + 0x38], r8
mov r14, rdx
call fcn.18005d630
lea rcx, [0x1800b0250]
mov rbx, rax
call fcn.18005d630
mov rdi, rax
test rbx, rbx
je 0x18005e392
test rax, rax
je 0x18005e392
lea r8d, [r13 + 0x2bc]
xor edx, edx
mov r9d, 0x1000
mov rcx, rsi
mov qword [rsp + 0x328], r12
mov dword [rsp + 0x20], 4
call rbx
mov r12, rax
test rax, rax
je 0x18005e38e
xor eax, eax
lea r8, [rsp + 0x40]
mov r9d, 0x40
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov eax, 0x5a4d
mov word [rsp + 0x40], ax
lea rax, [rsp + 0x30]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x7c], 0x40
mov qword [rsp + 0x20], rax
call rdi
test eax, eax
je 0x18005e38e
cmp qword [rsp + 0x30], 0x40
jne 0x18005e38e
lea rcx, [rbp + 0x110]
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rbx, [r12 + 0x40]
call fcn.180029630
mov eax, 0xe0
mov word [rbp + 0x124], ax
mov eax, 0x2000
lea r8, [rbp + 0x110]
mov word [rbp + 0x126], ax
mov eax, 1
mov r9d, pe_nt_image_headers64
mov word [rbp + 0x116], ax
lea rax, [rsp + 0x30]
mov rdx, rbx
mov rcx, rsi
mov dword [rbp + 0x110], 0x4550
mov qword [rsp + 0x20], rax
call rdi
test eax, eax
je 0x18005e38e
cmp qword [rsp + 0x30], 0xf8
jne 0x18005e38e
xor edx, edx
lea rcx, [rbp - 0x80]
lea r8d, [rdx + 0x28]
call fcn.180029630
lea eax, [rbx + 0xf8]
movabs r11, 0x72756f74656474
sub eax, r12d
lea r12d, [r13 + 0x15c]
lea r8, [rbp - 0x80]
add eax, 0x28
lea rdx, [rbx + 0xf8]
mov r9d, 0x28
mov dword [rbp - 0x74], eax
lea rax, [rsp + 0x30]
mov rcx, rsi
mov qword [rbp - 0x80], r11
mov dword [rbp - 0x70], r12d
mov qword [rsp + 0x20], rax
call rdi
test eax, eax
je 0x18005e38e
cmp qword [rsp + 0x30], 0x28
jne 0x18005e38e
xor edx, edx
lea rcx, [rbp - 0x50]
lea r8d, [rdx + 0x40]
call fcn.180029630
lea rax, [rsp + 0x30]
lea r8, [rbp - 0x50]
lea rdx, [rbx + 0x120]
mov r9d, 0x40
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x50], 0x40
mov dword [rbp - 0x4c], 0x727444
mov dword [rbp - 0x48], 0x40
mov dword [rbp - 0x44], r12d
call rdi
test eax, eax
je 0x18005e38e
cmp qword [rsp + 0x30], 0x40
jne 0x18005e38e
lea rcx, [rbp - 0x10]
xor edx, edx
mov r8d, 0x11c
call fcn.180029630
mov eax, dword [r14]
lea r11d, [r13 + 0x11c]
mov dword [rbp - 8], eax
mov eax, dword [r14 + 4]
mov dword [rbp - 0x10], r11d
mov dword [rbp - 4], eax
mov eax, dword [r14 + 8]
mov dword [rbp - 0xc], 0
mov dword [rbp], eax
mov eax, dword [r14 + 0xc]
mov dword [rbp + 4], eax
test r15, r15
je 0x18005e308
cmp dword [rbp + 0x298], 0
jbe 0x18005e308
mov rdx, qword [r15]
lea rcx, [rbp + 8]
mov r8d, 0x103
call fcn.180029fd0
lea rax, [rsp + 0x30]
lea r8, [rbp - 0x10]
lea rdx, [rbx + 0x160]
mov r9d, 0x11c
mov rcx, rsi
mov qword [rsp + 0x20], rax
call rdi
test eax, eax
je 0x18005e38e
cmp qword [rsp + 0x30], 0x11c
jne 0x18005e38e
mov r8, qword [rsp + 0x38]
lea rcx, [rsp + 0x30]
lea rdx, [rbx + 0x27c]
mov qword [rsp + 0x20], rcx
mov r9, r13
mov rcx, rsi
call rdi
test eax, eax
je 0x18005e38e
cmp qword [rsp + 0x30], r13
jne 0x18005e38e
mov eax, 1
mov r12, qword [rsp + 0x328]
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.180029600
add rsp, 0x330
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
jmp 0x18005e365
xor eax, eax
jmp 0x18005e36d