Function at 0x140003e68
Capabilities:
Parse pe header

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x228
mov rax, qword [0x140016058]
xor rax, rsp
mov qword [rsp + 0x210], rax
mov ebp, r9d
mov r12, r8
mov r13, rdx
lea r8d, [rbp + 0x1c8]
xor edx, edx
mov r9d, 0x1000
mov rdi, rcx
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rsi, rax
test rax, rax
je 0x14000411a
and qword [rsp + 0x30], 0
mov r14d, 0x40
lea rcx, [rsp + 0x1d0]
mov r8, r14
xor edx, edx
call fcn.1400055e0
lea rax, [rsp + 0x30]
mov r11d, 0x5a4d
lea r8, [rsp + 0x1d0]
mov r9, r14
mov rdx, rsi
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov word [rsp + 0x1d0], r11w
mov dword [rsp + 0x20c], r14d
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14000411a
cmp qword [rsp + 0x30], r14
jne 0x14000411a
mov r15d, 0x108
lea rcx, [rsp + 0x80]
xor edx, edx
mov r8, r15
lea rbx, [rsi + 0x40]
call fcn.1400055e0
lea eax, [r15 - 0x18]
lea r8, [rsp + 0x80]
mov word [rsp + 0x94], ax
mov eax, 0x2000
mov r9, r15
mov word [rsp + 0x96], ax
lea eax, [r14 - 0x3f]
mov rdx, rbx
mov word [rsp + 0x86], ax
lea rax, [rsp + 0x30]
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x80], 0x4550
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14000411a
cmp qword [rsp + 0x30], r15
jne 0x14000411a
add rbx, r15
lea r15d, [r14 - 0x18]
lea rcx, [rsp + 0x1a8]
mov r8, r15
xor edx, edx
call fcn.1400055e0
lea r8d, [r14 - 0x38]
lea rdx, str..detour
lea rcx, [rsp + 0x1a8]
call fcn.1400056e0
mov r11d, ebx
lea rax, [rsp + 0x30]
sub r11d, esi
lea esi, [rbp + 0x58]
lea r8, [rsp + 0x1a8]
add r11d, r15d
mov r9, r15
mov rdx, rbx
mov rcx, rdi
mov dword [rsp + 0x1b8], esi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x1b4], r11d
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14000411a
cmp qword [rsp + 0x30], r15
jne 0x14000411a
lea rcx, [rsp + 0x40]
mov r8, r14
xor edx, edx
add rbx, r15
call fcn.1400055e0
lea rax, [rsp + 0x30]
lea r8, [rsp + 0x40]
mov r9, r14
mov rdx, rbx
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x44], 0x727444
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x4c], esi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14000411a
cmp qword [rsp + 0x30], r14
jne 0x14000411a
lea esi, [r14 - 0x28]
lea rcx, [rsp + 0x190]
xor edx, edx
mov r8, rsi
add rbx, r14
call fcn.1400055e0
and dword [rsp + 0x194], 0
lea r11d, [rbp + 0x18]
movdqu xmm0, xmmword [r13]
movdqu xmmword [rsp + 0x198], xmm0
lea rax, [rsp + 0x30]
lea r8, [rsp + 0x190]
mov r9, rsi
mov rdx, rbx
mov rcx, rdi
mov dword [rsp + 0x190], r11d
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14000411a
cmp qword [rsp + 0x30], rsi
jne 0x14000411a
lea rcx, [rsp + 0x30]
lea rdx, [rbx + 0x18]
mov r9, rbp
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov r8, r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x14000411a
cmp qword [rsp + 0x30], rbp
jne 0x14000411a
lea eax, [rsi - 0x17]
jmp 0x14000411c
xor eax, eax
mov rcx, qword [rsp + 0x210]
xor rcx, rsp
call fcn.140004990
add rsp, 0x228
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret