Function at 0x180041490
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rax, qword [rcx + 0x18]
mov rbx, rcx
test rax, rax
je 0x1800414dc
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1800414dc
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x1800414dc
cmp dword [rax], 0x4550
jne 0x1800414dc
mov ecx, 0x10b
cmp word [rax + 0x18], cx
je 0x1800414e0
mov rax, qword [rbx + 0x38]
mov rdx, qword [rbx + 0x48]
lea r9, [0x180041470]
mov rcx, qword [rbx + 0x40]
mov r8, rdx
mov esi, dword [rax + 0x3c]
sub r8, rcx
mov edi, dword [rax + 0x38]
movabs r14, 0x6db6db6db6db6db7
sar r8, 3
imul r8, r14
call 0x180041d00
mov rax, qword [rbx + 0x30]
xor r11d, r11d
mov r10, qword [rbx + 0x40]
movzx r8d, word [rax + 6]
movzx eax, word [rax + 0x14]
lea ecx, [r8 + r8*4]
lea edx, [rax + rcx*8]
mov rax, qword [rbx + 0x18]
mov ebp, dword [rax + 0x3c]
add ebp, 0x18
add ebp, edx
cmp r11w, r8w
jae 0x1800415d9
nop dword [rax]
nop word [rax + rax]
xor edx, edx
movzx eax, r11w
imul r9, rax, 0x38
inc r11w
mov ecx, dword [r9 + r10 + 0xc]
dec ecx
add ecx, edi
mov eax, ecx
div edi
sub ecx, edx
xor edx, edx
mov dword [r9 + r10 + 0xc], ecx
mov r8, qword [rbx + 0x40]
mov ecx, dword [r8 + r9 + 8]
dec ecx
add ecx, edi
mov eax, ecx
div edi
sub ecx, edx
xor edx, edx
mov dword [r8 + r9 + 8], ecx
lea ecx, [rbp - 1]
add ecx, esi
mov eax, ecx
div esi
mov rax, qword [rbx + 0x40]
sub ecx, edx
xor edx, edx
mov dword [r9 + rax + 0x14], ecx
mov r8, qword [rbx + 0x40]
mov ecx, dword [r8 + r9 + 0x30]
dec ecx
add ecx, esi
mov eax, ecx
div esi
sub ecx, edx
mov dword [r8 + r9 + 0x10], ecx
mov r10, qword [rbx + 0x40]
mov rax, qword [rbx + 0x30]
mov ebp, dword [r9 + r10 + 0x14]
add ebp, dword [r9 + r10 + 0x10]
cmp r11w, word [rax + 6]
jb 0x180041550
mov rdx, qword [rbx + 0x48]
lea r9, [0x180041480]
mov r8, rdx
mov rcx, r10
sub r8, r10
sar r8, 3
imul r8, r14
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp 0x180041d00
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa8
mov rax, qword [0x180080920]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rax, rdx
mov qword [rbp - 0x51], rdx
sub rax, rcx
mov r12, r9
mov rbx, r8
mov r13, rdx
mov rdi, rcx
cmp rax, 0x738
jl 0x180041df2
movabs r14, 0x6db6db6db6db6db7
test rbx, rbx
jle 0x180041e88
mov r9, r12
lea rcx, [rbp - 0x49]
mov r8, r13
mov rdx, rdi
call fcn.180042190
mov rsi, qword [rbp - 0x41]
mov rcx, rbx
sar rcx, 2
mov rdx, r13
sub rdx, rsi
sar rbx, 1
add rbx, rcx
sar rdx, 3
imul rdx, r14
mov r14, qword [rbp - 0x49]
movabs rcx, 0x6db6db6db6db6db7
mov rax, r14
mov r9, r12
sub rax, rdi
mov r8, rbx
sar rax, 3
imul rax, rcx
cmp rax, rdx
jge 0x180041dc4
mov rdx, r14
mov rcx, rdi
call 0x180041d00
mov rdi, rsi
jmp 0x180041dd6
mov rdx, r13
mov rcx, rsi
call 0x180041d00
mov r13, r14
mov qword [rbp - 0x51], r14
mov rax, r13
movabs r14, 0x6db6db6db6db6db7
sub rax, rdi
cmp rax, 0x738
jge 0x180041d53
cmp rdi, r13
je 0x180042167
lea r14, [rdi + 0x38]
cmp r14, r13
je 0x180042167
mov r15, rdi
nop dword [rax + rax]
movups xmm0, xmmword [r14]
mov rdx, rdi
lea rcx, [rbp - 0x29]
movups xmm1, xmmword [r14 + 0x10]
mov rsi, r14
movups xmmword [rbp - 0x29], xmm0
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [rbp - 0x19], xmm1
movsd xmm1, qword [r14 + 0x30]
movups xmmword [rbp - 9], xmm0
movsd qword [rbp + 7], xmm1
call r12
test al, al
je 0x1800420e8
mov r8, r14
mov rcx, r14
sub r8, rdi
mov rdx, rdi
sub rcx, r8
add rcx, 0x38
call fcn.18004c130
movups xmm0, xmmword [rbp - 0x29]
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rdi], xmm0
movups xmm0, xmmword [rbp - 9]
movups xmmword [rdi + 0x10], xmm1
movsd xmm1, qword [rbp + 7]
movups xmmword [rdi + 0x20], xmm0
movsd qword [rdi + 0x30], xmm1
jmp 0x180042156
mov r15, r13
sub r15, rdi
mov rax, r15
mov qword [rbp - 0x49], r15
sar rax, 3
imul rax, r14
mov r13, rax
mov qword [rbp - 0x59], rax
sar r13, 1
test r13, r13
jle 0x180042048
lea rdx, [rax - 1]
imul r15, r13, 0x38
mov rsi, rdx
mov qword [rbp - 0x39], rdx
sar rsi, 1
add r15, rdi
mov qword [rbp - 0x31], rsi
nop dword [rax]
movups xmm0, xmmword [r15 - 0x38]
lea r15, [r15 - 0x38]
dec r13
mov r14, r13
mov rbx, r13
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rbp - 0x29], xmm0
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rbp - 0x19], xmm1
movsd xmm1, qword [r15 + 0x30]
movsd qword [rbp + 7], xmm1
movups xmmword [rbp - 9], xmm0
cmp r13, rsi
jge 0x180041f6d
nop dword [rax + rax]
lea rbx, [rbx*2 + 2]
imul rcx, rbx, 0x38
add rcx, rdi
lea rdx, [rcx - 0x38]
call r12
test al, al
je 0x180041f2d
dec rbx
imul rax, r14, 0x38
imul rcx, rbx, 0x38
mov r14, rbx
movups xmm0, xmmword [rcx + rdi]
movups xmmword [rax + rdi], xmm0
movups xmm1, xmmword [rcx + rdi + 0x10]
movups xmmword [rax + rdi + 0x10], xmm1
movups xmm0, xmmword [rcx + rdi + 0x20]
movups xmmword [rax + rdi + 0x20], xmm0
movsd xmm1, qword [rcx + rdi + 0x30]
movsd qword [rax + rdi + 0x30], xmm1
cmp rbx, rsi
jl 0x180041f10
mov rax, qword [rbp - 0x59]
mov rdx, qword [rbp - 0x39]
cmp rbx, rsi
jne 0x180041faa
test al, 1
jne 0x180041faa
imul rcx, rax, 0x38
imul rax, r14, 0x38
movups xmm0, xmmword [rcx + rdi - 0x38]
mov r14, rdx
movups xmmword [rax + rdi], xmm0
movups xmm1, xmmword [rcx + rdi - 0x28]
movups xmmword [rax + rdi + 0x10], xmm1
movups xmm0, xmmword [rcx + rdi - 0x18]
movups xmmword [rax + rdi + 0x20], xmm0
movsd xmm1, qword [rcx + rdi - 8]
movsd qword [rax + rdi + 0x30], xmm1
cmp r13, r14
jge 0x180042000
nop
lea rbx, [r14 - 1]
sar rbx, 1
lea rdx, [rbp - 0x29]
imul rsi, rbx, 0x38
add rsi, rdi
mov rcx, rsi
call r12
test al, al
je 0x180041ffc
movups xmm0, xmmword [rsi]
imul rax, r14, 0x38
mov r14, rbx
movups xmmword [rax + rdi], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rax + rdi + 0x10], xmm1
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rax + rdi + 0x20], xmm0
movsd xmm1, qword [rsi + 0x30]
movsd qword [rax + rdi + 0x30], xmm1
cmp r13, rbx
jl 0x180041fb0
mov rsi, qword [rbp - 0x31]
movups xmm0, xmmword [rbp - 0x29]
movups xmm1, xmmword [rbp - 0x19]
imul rax, r14, 0x38
movups xmmword [rax + rdi], xmm0
movups xmm0, xmmword [rbp - 9]
movups xmmword [rax + rdi + 0x10], xmm1
movsd xmm1, qword [rbp + 7]
movups xmmword [rax + rdi + 0x20], xmm0
movsd qword [rax + rdi + 0x30], xmm1
mov rax, qword [rbp - 0x59]
lea rdx, [rax - 1]
test r13, r13
jg 0x180041ed0
mov r15, qword [rbp - 0x49]
movabs r14, 0x6db6db6db6db6db7
cmp rax, 2
jl 0x180042167
mov rbx, qword [rbp - 0x51]
add rbx, 0xffffffffffffffc8
nop word [rax + rax]
sar r15, 3
imul r15, r14
cmp r15, 2
mov r15, rbx
jl 0x1800420d5
movups xmm0, xmmword [rbx]
sub r15, rdi
lea r9, [rbp - 0x29]
movups xmm1, xmmword [rbx + 0x10]
mov r8, r15
xor edx, edx
movups xmmword [rbp - 0x29], xmm0
sar r8, 3
mov rcx, rdi
movups xmm0, xmmword [rbx + 0x20]
mov qword [rsp + 0x20], r12
movups xmmword [rbp - 0x19], xmm1
movsd xmm1, qword [rbx + 0x30]
movups xmmword [rbp - 9], xmm0
movups xmm0, xmmword [rdi]
movsd qword [rbp + 7], xmm1
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
imul r8, r14
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rbx + 0x20], xmm0
movsd xmm1, qword [rdi + 0x30]
movsd qword [rbx + 0x30], xmm1
call fcn.180042590
jmp 0x1800420d8
sub r15, rdi
sub rbx, 0x38
cmp r15, 0x70
jge 0x180042060
jmp 0x180042167
mov rdx, r15
lea rcx, [rbp - 0x29]
mov rbx, r15
call r12
test al, al
je 0x180042135
nop dword [rax]
movups xmm0, xmmword [rbx]
lea rcx, [rbp - 0x29]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rsi + 0x20], xmm0
movsd xmm1, qword [rbx + 0x30]
movsd qword [rsi + 0x30], xmm1
mov rsi, rbx
sub rbx, 0x38
mov rdx, rbx
call r12
test al, al
jne 0x180042100
movups xmm0, xmmword [rbp - 0x29]
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rsi], xmm0
movups xmm0, xmmword [rbp - 9]
movups xmmword [rsi + 0x10], xmm1
movsd xmm1, qword [rbp + 7]
movups xmmword [rsi + 0x20], xmm0
movsd qword [rsi + 0x30], xmm1
add r14, 0x38
add r15, 0x38
cmp r14, r13
jne 0x180041e10
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.180049ad0
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret