Function at 0x140001810
Capabilities:
Allocate or change rwx memory
Parse pe header

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0xd0
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm13
movaps xmmword [rsp + 0x40], xmm14
movaps xmmword [rsp + 0x30], xmm15
mov rsi, rcx
xorpd xmm9, xmm9
movsd xmm7, qword [0x14016d678]
movsd xmm12, qword [0x14016d670]
movapd xmm13, xmm9
movsd xmm14, qword [0x14016d668]
movapd xmm10, xmm9
movapd xmm8, xmm9
movsd xmm15, qword [0x14016d660]
movsd xmm11, qword [0x14016d658]
xor r12d, r12d
mov qword [rsp + 0xf8], r12
mov eax, 0x5a4d
cmp ax, word [rcx]
je 0x1400018c3
xor eax, eax
jmp 0x140001a93
movsxd r13, dword [rcx + 0x3c]
cmp dword [r13 + rcx], 0x4550
je 0x1400018d9
xor eax, eax
jmp 0x140001a93
lea rdi, [r13 + rcx + 0x108]
mov ebx, r12d
movsd xmm6, qword [0x14016d628]
nop dword [rax]
cmp ebx, 0x5c8
jge 0x1400019fd
movapd xmm0, xmm10
subsd xmm0, xmm9
mov eax, 2
movapd xmm2, xmm6
nop
test al, 1
je 0x140001918
mulsd xmm2, xmm0
shr eax, 1
jne 0x1400019f4
movapd xmm1, xmm8
subsd xmm1, xmm7
mov eax, 2
movapd xmm0, xmm6
test al, 1
je 0x14000193a
mulsd xmm0, xmm1
shr eax, 1
jne 0x1400019eb
addsd xmm0, xmm2
call fcn.140007e20
movapd xmm5, xmm0
movapd xmm1, xmm0
mov eax, 2
movapd xmm3, xmm6
nop dword [rax]
test al, 1
je 0x140001968
mulsd xmm3, xmm1
shr eax, 1
jne 0x1400019e2
movapd xmm2, xmm14
mulsd xmm2, qword [0x14016d5c0]
mulsd xmm2, xmm15
divsd xmm2, xmm3
divsd xmm2, xmm14
movapd xmm0, xmm9
subsd xmm0, xmm10
mulsd xmm0, xmm2
divsd xmm0, xmm5
mulsd xmm0, xmm11
subsd xmm12, xmm0
movapd xmm1, xmm7
subsd xmm1, xmm8
mulsd xmm1, xmm2
divsd xmm1, xmm5
mulsd xmm1, xmm11
subsd xmm13, xmm1
movapd xmm0, xmm11
mulsd xmm0, xmm12
addsd xmm9, xmm0
movapd xmm1, xmm11
mulsd xmm1, xmm13
addsd xmm7, xmm1
inc ebx
jmp 0x1400018f0
mulsd xmm1, xmm1
jmp 0x140001960
mulsd xmm1, xmm1
jmp 0x140001932
mulsd xmm0, xmm0
jmp 0x140001910
mov edx, dword [r13 + rsi + 0x50]
mov r9d, 4
mov r8d, 0x3000
mov rcx, qword [r13 + rsi + 0x30]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
mov qword [rsp + 0xf8], rax
test rax, rax
je 0x140001a93
mov r8d, dword [r13 + rsi + 0x54]
mov rdx, rsi
mov rcx, rax
call fcn.140002a00
nop dword [rax]
movzx eax, word [r13 + rsi + 6]
cmp r12d, eax
jge 0x140001a69
mov r8d, dword [rdi + 0x10]
mov edx, dword [rdi + 0x14]
add rdx, rsi
mov ecx, dword [rdi + 0xc]
add rcx, rbx
call fcn.140002a00
add rdi, 0x28
inc r12d
jmp 0x140001a40
mov edx, dword [r13 + rsi + 0x50]
lea r9, [rsp + 0xf0]
mov r8d, 0x40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
nop
jmp 0x140001a90
mov rax, rbx
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [rsp + 0x40]
movaps xmm15, xmmword [rsp + 0x30]
mov rsp, r11
pop r13
pop r12
pop rdi
ret