Function at 0x180042220
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x310
mov rax, qword [0x1800c2008]
xor rax, rsp
mov qword [rsp + 0x300], rax
lea rcx, [0x1800a1d18]
nop
nop
nop
nop
nop
nop
mov qword [rsp + 0x88], 0
mov eax, 0x5c
mov word [rsp + 0xf0], ax
mov eax, 0x3f
mov word [rsp + 0xf2], ax
mov eax, 0x3f
mov word [rsp + 0xf4], ax
mov eax, 0x5c
mov word [rsp + 0xf6], ax
xor eax, eax
mov word [rsp + 0xf8], ax
lea rax, [rsp + 0xfa]
mov rdi, rax
xor eax, eax
mov ecx, 0x1fe
rep stosb byte [rdi], al
xor eax, eax
mov word [rsp + 0xc8], ax
lea rax, [rsp + 0xca]
mov rdi, rax
xor eax, eax
mov ecx, 0xe
rep stosb byte [rdi], al
mov dword [rsp + 0xd8], 0
lea rax, [rsp + 0xdc]
mov rdi, rax
xor eax, eax
mov ecx, 4
rep stosb byte [rdi], al
lea rax, [rsp + 0xe0]
mov rdi, rax
xor eax, eax
mov ecx, 8
rep stosb byte [rdi], al
mov rdx, qword [rsp + 0x328]
lea rcx, [rsp + 0xf0]
call fcn.18001e5f0
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0xc8]
call fcn.180027d40
lea rax, [rsp + 0x90]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
mov dword [rsp + 0x90], 0x30
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xa8], 0x40
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0x60
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xd8]
lea r8, [rsp + 0x90]
mov edx, 0x80100080
lea rcx, [rsp + 0x88]
call fcn.180026b70
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x78], 0
jge 0x1800423dc
xor al, al
jmp 0x18004266d
cmp qword [rsp + 0x88], 0xffffffffffffffff
jne 0x1800423ee
xor al, al
jmp 0x18004266d
xor edx, edx
mov rcx, qword [rsp + 0x88]
call qword [0x18008c3d8]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
jbe 0x180042413
cmp dword [rsp + 0x60], 0xc800000
jbe 0x180042428
mov rcx, qword [rsp + 0x88]
call qword [0x18008c0e0]
xor al, al
jmp 0x18004266d
mov eax, dword [rsp + 0x60]
mov r9d, 4
mov r8d, 0x1000
mov edx, eax
xor ecx, ecx
call qword [0x18008c3c0]
mov qword [rsp + 0x70], rax
cmp qword [rsp + 0x70], 0
jne 0x180042464
mov rcx, qword [rsp + 0x88]
call qword [0x18008c0e0]
xor al, al
jmp 0x18004266d
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xc0]
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x88]
call qword [0x18008c198]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
je 0x1800424b0
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0xc0], eax
je 0x1800424dd
mov rax, qword [rsp + 0x330]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x320]
call fcn.180042690
mov rcx, qword [rsp + 0x88]
call qword [0x18008c0e0]
xor al, al
jmp 0x18004266d
mov rcx, qword [rsp + 0x88]
call qword [0x18008c0e0]
mov rax, qword [rsp + 0x330]
mov rcx, qword [rsp + 0x70]
mov qword [rax], rcx
mov rax, qword [rsp + 0x338]
mov ecx, dword [rsp + 0x60]
mov dword [rax], ecx
mov rax, qword [rsp + 0x330]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x18004254d
mov rax, qword [rsp + 0x330]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x320]
call fcn.180042690
xor al, al
jmp 0x18004266d
mov rax, qword [rsp + 0x80]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
cmp dword [rax], 0x4550
je 0x180042595
mov rax, qword [rsp + 0x330]
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x320]
call fcn.180042690
xor al, al
jmp 0x18004266d
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x68]
mov eax, dword [rdx + rax + 0x88]
mov dword [rcx], eax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x348]
mov rdx, qword [rsp + 0x68]
mov eax, dword [rdx + rax + 0x8c]
mov dword [rcx], eax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 6]
mov rcx, qword [rsp + 0x360]
mov dword [rcx], eax
mov rax, qword [rsp + 0x68]
add rax, 0x108
mov rcx, qword [rsp + 0x358]
mov qword [rcx], rax
mov rax, qword [rsp + 0x340]
cmp dword [rax], 0
je 0x180042654
mov rax, qword [rsp + 0x348]
cmp dword [rax], 0
je 0x180042654
mov rax, qword [rsp + 0x358]
mov r8, qword [rax]
mov rax, qword [rsp + 0x360]
mov edx, dword [rax]
mov rax, qword [rsp + 0x340]
mov ecx, dword [rax]
call fcn.180028470
mov eax, eax
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x350]
mov qword [rcx], rax
jmp 0x180042663
mov rax, qword [rsp + 0x350]
mov qword [rax], 0
mov al, 1
jmp 0x18004266d
mov rcx, qword [rsp + 0x300]
xor rcx, rsp
call fcn.18005ef70
add rsp, 0x310
pop rdi
ret