Function at 0x180015620
Capabilities:
Map section object

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x540
mov rax, qword [0x180080920]
xor rax, rsp
mov qword [rsp + 0x530], rax
xor r15d, r15d
mov rsi, rdx
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], r15d
mov edx, 0x80000000
mov rbx, rcx
mov dword [rsp + 0x20], 3
lea r8d, [r15 + 1]
xor dil, dil
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x180015894
xor edx, edx
mov qword [rsp + 0x580], rbp
lea r8d, [r15 + 1]
mov rcx, rbx
call sym.TitanEngine.dll_GetPE32DataW
xor edx, edx
mov qword [0x180082c58], rax
lea r8d, [r15 + 2]
mov rcx, rbx
call sym.TitanEngine.dll_GetPE32DataW
xor r9d, r9d
mov qword [rsp + 0x28], r15
xor edx, edx
mov qword [0x180082c60], rax
mov r8d, 0x1000002
mov dword [rsp + 0x20], r15d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rbp, rax
test rax, rax
je 0x18001587e
mov rcx, qword [rsi + 8]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x90], 0x10001f
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x180015875
mov rdx, qword [rsp + 0xe8]
lea r9d, [r15 + 8]
mov rcx, qword [rsi]
lea r8, [rsp + 0x50]
add rdx, 0x10
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x180015875
mov rdx, qword [rsp + 0x50]
cmp rdx, qword [0x180082c58]
jne 0x18001573d
mov dil, 1
jmp 0x180015875
mov rcx, qword [rsi]
call qword [sym.imp.ntdll.dll_NtUnmapViewOfSection]
test eax, eax
jne 0x180015875
mov rax, qword [0x180082c58]
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
xor r9d, r9d
mov dword [rsp + 0x48], 2
mov rcx, rbp
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], 2
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x58], r15
call qword [sym.imp.ntdll.dll_NtMapViewOfSection]
cmp eax, 0xc0000018
jne 0x1800157e5
mov rdx, qword [rsi]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x48], 2
lea r8, [rsp + 0x50]
mov dword [rsp + 0x40], r15d
xor r9d, r9d
mov dword [rsp + 0x38], 2
mov rcx, rbp
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
mov qword [rsp + 0x50], r15
call qword [sym.imp.ntdll.dll_NtMapViewOfSection]
test eax, eax
je 0x1800157f4
cmp eax, 0x40000003
jne 0x180015875
mov rdx, qword [rsp + 0xe8]
lea r8, [rsp + 0x50]
mov rcx, qword [rsi]
add rdx, 0x10
mov r9d, 8
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r8, qword [rsp + 0x58]
mov ebx, eax
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsi]
call fcn.180015220
test ebx, ebx
je 0x180015875
test al, al
je 0x180015875
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0x60]
cmp qword [0x180082c58], rcx
mov qword [0x180082c58], rcx
sete bl
add rcx, qword [0x180082c60]
mov qword [rsp + 0xe0], rcx
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_SetThreadContext]
test eax, eax
movzx edi, dil
movzx ecx, bl
cmovne edi, ecx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbp, qword [rsp + 0x580]
test dil, dil
jne 0x18001589b
mov qword [0x180082c58], r15
movzx eax, dil
mov rcx, qword [rsp + 0x530]
xor rcx, rsp
call fcn.180049ad0
add rsp, 0x540
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret