Function at 0x180004f60
Capabilities:
Create thread
Print debug messages

Disassembly:
push rbx
sub rsp, 0x140
mov rax, qword [0x180049010]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rbx, rcx
lea rcx, str.Agent::init_unpacked
call qword [sym.imp.VMProtectSDK64.dll_VMProtectBeginUltra]
lea rdx, str._Agent::init_unpacked__Running_updater
nop
lea rcx, [rsp + 0x30]
call fcn.180001e40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rax, qword [rbx + 0x68]
lea rcx, [rbx + 0x68]
lea rdx, [rbx + 0x60]
call qword [rax + 0x10]
cmp byte [rbx + 0x380], 0
jne 0x180005248
cmp byte [rbx + 0x590], 0
jne 0x180005248
cmp byte [rbx + 0x7a0], 0
jne 0x180005248
cmp byte [rbx + 0xbc0], 0
jne 0x180005248
cmp byte [rbx + 0xdd0], 0
jne 0x180005248
cmp byte [rbx + 0x11f0], 0
jne 0x180005248
cmp byte [rbx + 0x1400], 0
jne 0x180005248
cmp byte [rbx + 0x1610], 0
jne 0x180005248
cmp byte [rbx + 0x1820], 0
jne 0x180005248
lea rdx, str._Agent::init_unpacked__Hooking_GG
mov qword [rsp + 0x158], rdi
lea rcx, [rsp + 0x30]
call fcn.180001e40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, qword [rbx + 0x11e8]
lea rdx, [0x180049044]
add rcx, qword [rbx + 0x38]
mov r8d, 6
call fcn.180007160
mov rcx, qword [rbx + 0x13f8]
lea rdx, [0x180049069]
add rcx, qword [rbx + 0x38]
mov r8d, 1
call fcn.180007160
mov rcx, qword [rbx + 0x1608]
lea rdx, [0x18004905c]
add rcx, qword [rbx + 0x38]
mov r8d, 3
call fcn.180007160
mov rcx, qword [rbx + 0x1818]
lea rdx, [0x18004903c]
add rcx, qword [rbx + 0x38]
mov r8d, 7
call fcn.180007160
lea rdx, str._Agent::init_unpacked__Patching_ping_calc
lea rcx, [rsp + 0x30]
call fcn.180001e40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rax, qword [rbx + 0xfd8]
lea rdx, [0x180049060]
mov rcx, qword [rbx + 0x38]
add rax, 0x39
add rcx, rax
mov r8d, 9
call fcn.180007160
mov rax, qword [rbx + 0xfd8]
lea rdx, [0x180049050]
mov rcx, qword [rbx + 0x38]
add rax, 0x7d
add rcx, rax
mov r8d, 0xc
call fcn.180007160
lea rdx, str._Agent::init_unpacked__Hooking_rendering
lea rcx, [rsp + 0x30]
call fcn.180001e40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rdi, qword [rbx + 0xdc8]
lea r8, [rbx + 0x10]
add rdi, qword [rbx + 0x38]
lea rdx, [0x180007800]
mov rcx, rdi
call fcn.180036ca0
test eax, eax
jne 0x180005171
lea edx, [rax + 1]
mov rcx, rdi
call fcn.180037190
lea rdx, str._Agent::init_unpacked__Hooking_end_scene_wrapper
lea rcx, [rsp + 0x30]
call fcn.180001e40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rdi, qword [rbx + 0xbb8]
lea r8, [rbx + 0x18]
add rdi, qword [rbx + 0x38]
lea rdx, [0x180007690]
mov rcx, rdi
call fcn.180036ca0
test eax, eax
jne 0x1800051ba
lea edx, [rax + 1]
mov rcx, rdi
call fcn.180037190
lea rdx, str._Agent::init_unpacked__Hooking_ping_update
lea rcx, [rsp + 0x30]
call fcn.180001e40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rdi, qword [rbx + 0x38]
lea r8, [rbx + 0x28]
add rdi, qword [rbx + 0xfd8]
lea rdx, [0x1800079a0]
mov rcx, rdi
call fcn.180036ca0
test eax, eax
jne 0x180005203
lea edx, [rax + 1]
mov rcx, rdi
call fcn.180037190
lea rdx, str._Agent::init_unpacked__Creating_ping_thread
lea rcx, [rsp + 0x30]
call fcn.180001e40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
lea r8, [0x180004e20]
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, qword [rsp + 0x158]
jmp 0x180005264
lea rdx, str._Agent::init_unpacked__Failed_to_update
lea rcx, [rsp + 0x30]
call fcn.180001e40
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call qword [sym.imp.VMProtectSDK64.dll_VMProtectEnd]
mov al, 1
nop
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.180038a40
add rsp, 0x140
pop rbx
ret