Function at 0x180040070
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rdi, rcx
xor bpl, bpl
mov ecx, 0x448
call fcn.18004a4dc
mov rcx, qword [rdi + 0x10]
mov edx, 8
mov qword [rdi + 0x70], rax
nop dword [rax]
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm1, xmmword [rcx - 0x70]
movups xmmword [rax - 0x70], xmm1
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x60], xmm0
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x50], xmm1
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x40], xmm0
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x30], xmm1
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x1800400a0
movups xmm0, xmmword [rcx]
xor r14d, r14d
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
mov rcx, qword [rcx + 0x40]
mov qword [rax + 0x40], rcx
mov rcx, qword [rdi + 0x70]
mov qword [rdi + 0x18], rcx
mov rdx, rcx
mov qword [rdi + 0x30], r14
mov qword [rdi + 0x38], r14
mov dword [rdi + 0x28], r14d
mov qword [rdi + 0x20], r14
movsxd rax, dword [rcx + 0x3c]
test eax, eax
jle 0x18004017d
cmp eax, 0x448
jge 0x18004017d
add rax, rcx
mov qword [rdi + 0x30], rax
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rdi + 0x38], rax
mov eax, dword [rcx + 0x3c]
cmp eax, 0x40
jbe 0x180040170
add eax, 0xffffffc0
mov dword [rdi + 0x28], eax
lea rax, [rcx + 0x40]
mov qword [rdi + 0x20], rax
jmp 0x18004017d
jae 0x18004017d
mov dword [rcx + 0x3c], 0x40
mov rdx, qword [rdi + 0x18]
test rdx, rdx
je 0x180040293
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x180040293
mov r8, qword [rdi + 0x30]
test r8, r8
je 0x180040293
cmp dword [r8], 0x4550
jne 0x180040293
movzx eax, word [r8 + 6]
mov bpl, 1
mov qword [rsp + 0x38], rsi
lea ecx, [rax + rax*4]
mov eax, dword [rdx + 0x3c]
lea esi, [rax + rcx*8]
movzx eax, word [r8 + 0x18]
mov ecx, 0x10b
cmp ax, cx
jne 0x1800401db
add esi, 0x12a
jmp 0x1800401ef
mov ecx, 0x20b
cmp ax, cx
jne 0x18004028e
add esi, 0x13a
cmp esi, 0x448
jbe 0x18004028e
mov eax, dword [rdi + 0x80]
mov qword [rsp + 0x30], rbx
test eax, eax
je 0x18004020f
cmp eax, esi
cmovb esi, eax
mov rcx, qword [rdi + 0x70]
call fcn.180049e70
mov ecx, esi
call fcn.18004a4dc
mov rdx, qword [rdi + 0x10]
mov rcx, rax
mov r8d, esi
mov qword [rdi + 0x70], rax
call fcn.18004c130
mov rcx, qword [rdi + 0x70]
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 0x18], rcx
mov qword [rdi + 0x30], r14
mov qword [rdi + 0x38], r14
mov dword [rdi + 0x28], r14d
mov qword [rdi + 0x20], r14
movsxd rax, dword [rcx + 0x3c]
test eax, eax
jle 0x18004028e
cmp eax, esi
jge 0x18004028e
add rax, rcx
mov qword [rdi + 0x30], rax
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rdi + 0x38], rax
mov eax, dword [rcx + 0x3c]
cmp eax, 0x40
jbe 0x180040285
add eax, 0xffffffc0
mov dword [rdi + 0x28], eax
lea rax, [rcx + 0x40]
mov qword [rdi + 0x20], rax
jmp 0x18004028e
jae 0x18004028e
mov dword [rcx + 0x3c], 0x40
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
movzx eax, bpl
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret