Function at 0x180002620
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r13
push r15
sub rsp, 0x50
xor ebx, ebx
mov rdi, r8
mov rbp, rdx
mov rsi, rcx
mov qword [rsp + 0x40], rbx
mov r15, rbx
mov r13, rbx
test rcx, rcx
jne 0x180002652
xor eax, eax
jmp 0x180002914
mov r9d, 0x3000
xor edx, edx
mov qword [rsp + 0x90], r14
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r14, rax
test rax, rax
je 0x18000290a
lea rax, [rsp + 0x40]
mov r9, rdi
mov r8, rbp
mov rdx, r14
mov rcx, rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18000290a
mov rbp, qword [rsp + 0xa0]
test rbp, rbp
je 0x18000270c
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasb al, byte [rdi]
mov r9d, 0x3000
xor edx, edx
not rcx
mov dword [rsp + 0x20], 0x40
lea rdi, [rcx - 1]
mov r8, rcx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r15, rax
test rax, rax
je 0x18000290a
lea rax, [rsp + 0x40]
lea r9, [rdi + 1]
mov r8, rbp
mov rdx, r15
mov rcx, rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18000290a
mov rbp, qword [rsp + 0xa8]
test rbp, rbp
je 0x180002778
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbp
repne scasw ax, word [rdi]
mov r9d, 0x3000
xor edx, edx
not rcx
mov dword [rsp + 0x20], 0x40
lea rdi, [rcx + rcx]
mov rcx, rsi
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r13, rax
test rax, rax
je 0x18000290a
lea rax, [rsp + 0x40]
mov r9, rdi
mov r8, rbp
mov rdx, r13
mov rcx, rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18000290a
xor edx, edx
mov r9d, 0x3000
mov rcx, rsi
lea r8d, [rdx + 0x30]
mov qword [rsp + 0x88], r12
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r12, rax
test rax, rax
je 0x180002902
mov ecx, 0x10
call fcn.180003400
mov rdi, rax
test rax, rax
je 0x180002902
xor eax, eax
mov r9d, 0x10
mov r8, rdi
mov qword [rdi], rax
mov qword [rdi + 8], rax
lea rax, [rsp + 0x40]
mov rdx, r12
mov rcx, rsi
mov dword [rdi], r14d
mov qword [rsp + 0x20], rax
mov dword [rdi + 4], ebx
mov dword [rdi + 8], r15d
mov dword [rdi + 0xc], r13d
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x180002806
mov rcx, rdi
call fcn.180004080
jmp 0x180002902
mov rcx, rdi
call fcn.180004080
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov eax, 0x10624dd3
mul edi
shr edx, 6
imul edx, edx, 0x3e8
sub edi, edx
cmp qword [0x18001c1f8], rbx
jne 0x180002844
lea rcx, [0x18001c1f4]
call fcn.180002170
mov qword [0x18001c1f8], rax
mov r8d, dword [0x18001c1f4]
xor edx, edx
mov r9d, 0x3000
mov rcx, rsi
add r8d, edi
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rbp, rax
test rax, rax
je 0x180002902
mov r8, qword [0x18001c1f8]
lea rax, [rsp + 0x40]
mov r9, rdi
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x180002902
mov r9d, dword [0x18001c1f4]
mov r8, qword [0x18001c1f8]
lea rax, [rsp + 0x40]
add rdi, rbp
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x180002902
lea rax, [rsp + 0x80]
mov r9, rdi
xor r8d, r8d
mov qword [rsp + 0x30], rax
xor edx, edx
mov rcx, rsi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x80], ebx
call fcn.180002c70
test rax, rax
je 0x180002902
mov rcx, rax
mov ebx, 1
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r12, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
mov eax, ebx
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret