Function at 0x180003ae0
Capabilities:
Print debug messages

Disassembly:
push rsi
sub rsp, 0x90
mov rax, qword [0x180028040]
xor rax, rsp
mov qword [rsp + 0x80], rax
xor esi, esi
lea rcx, str.GameMon.des
xorps xmm0, xmm0
mov dword [rsp + 0x50], esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0x68], esi
movdqu xmmword [rsp + 0x70], xmm0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x180003b79
lea rcx, str.GameMon64.des
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x180003b79
lea rcx, str.helldivers2.exe
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x180003f09
lea rdx, [0x180004ab0]
call fcn.180003f20
mov al, 1
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.180005060
add rsp, 0x90
pop rsi
ret
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 0x30
mov qword [rsp + 0x20], rsi
mov rcx, rax
lea r8, [rsp + 0x50]
xor edx, edx
call qword [sym.imp.ntdll.dll_NtQueryInformationProcess]
test eax, eax
js 0x180003b5e
lea rcx, str.In_NtQuery
call fcn.180003a30
mov edx, dword [0x180029d98]
lea rcx, str.ProcId_:__d
call fcn.180003a30
lea rcx, str.GameMon64.des
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x180003c78
mov ecx, 0x20
mov qword [rsp + 0x38], rsi
call fcn.180005164
movups xmm1, xmmword [0x1800249c0]
mov rdx, rax
mov qword [rsp + 0x30], rax
movdqa xmm0, xmmword [0x180024be0]
movdqu xmmword [rsp + 0x40], xmm0
movups xmmword [rax], xmm1
movsd xmm0, qword [0x1800249d0]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x1800249d8]
mov dword [rax + 0x18], ecx
movzx eax, word [0x1800249dc]
mov word [rdx + 0x1c], ax
mov word [rdx + 0x1e], si
lea rdx, [rsp + 0x30]
call fcn.180004150
mov rdx, qword [rsp + 0x48]
mov dword [0x180029d98], eax
cmp rdx, 7
jbe 0x180003c78
mov rcx, qword [rsp + 0x30]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003c73
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f16
call fcn.1800051a0
mov ecx, 0x20
mov qword [rsp + 0x38], rsi
call fcn.180005164
movups xmm1, xmmword [0x1800249c0]
mov rdx, rax
mov qword [rsp + 0x30], rax
movdqa xmm0, xmmword [0x180024be0]
movdqu xmmword [rsp + 0x40], xmm0
movups xmmword [rax], xmm1
movsd xmm0, qword [0x1800249d0]
movsd qword [rax + 0x10], xmm0
mov ecx, dword [0x1800249d8]
mov dword [rax + 0x18], ecx
movzx eax, word [0x1800249dc]
mov word [rdx + 0x1c], ax
mov word [rdx + 0x1e], si
lea rdx, [rsp + 0x30]
call fcn.180004150
mov rdx, qword [rsp + 0x48]
mov dword [0x180029d98], eax
cmp rdx, 7
jbe 0x180003d24
mov rcx, qword [rsp + 0x30]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003d19
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003f10
call fcn.1800051a0
mov eax, dword [0x180029d98]
mov qword [rsp + 0xa0], rbx
mov r8d, eax
xor edx, edx
mov qword [rsp + 0xa8], rdi
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [0x180029da0], rax
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x180003d72
lea rcx, str.GameMon64.des
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x180003d72
lea rcx, str.OpenProcess_success__in_GameMon64.des
call fcn.180003a30
lea rcx, str.before_hooks
call fcn.180003a30
lea rcx, str.detour_EnumProcesses_start
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp qword [0x180029da8], rsi
jne 0x180003de1
lea rcx, str.KERNELBASE
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.EnumProcesses
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, str.KERNELBASE
test rax, rax
jne 0x180003dc4
lea rcx, str.psapi.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.EnumProcesses
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180029da8], rax
call fcn.180001270
mov edi, 1
test eax, eax
jne 0x180003e32
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
call fcn.180001d90
test eax, eax
jne 0x180003e32
lea rdx, [0x180004c50]
lea rcx, [0x180029da8]
call fcn.180001e80
test eax, eax
jne 0x180003e32
call fcn.180001540
test eax, eax
jne 0x180003e32
lea rcx, str.detour_EnumProcesses_end
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, edi
jmp 0x180003e34
mov edx, esi
lea rcx, str.detour_EnumProcesses:__d
call fcn.180003a30
lea rcx, [0x180024a38]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, str.detour_NtReadVirtualMemory_start
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea rdx, str.NtReadVirtualMemory
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180029d78], rax
call fcn.180001270
mov rbx, qword [rsp + 0xa0]
test eax, eax
jne 0x180003ec6
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
call fcn.180001d90
test eax, eax
jne 0x180003ec6
lea rdx, [0x180004d50]
lea rcx, [0x180029d78]
call fcn.180001e80
test eax, eax
jne 0x180003ec6
call fcn.180001540
test eax, eax
jne 0x180003ec6
lea rcx, str.detour_NtReadVirtualMemory_end
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x180003ec8
mov edi, esi
mov edx, edi
lea rcx, str.bypass_memory:__d
call fcn.180003a30
lea rcx, str.after_hooks
call fcn.180003a30
lea rdx, [0x180004aa0]
call fcn.180003f20
mov rdi, qword [rsp + 0xa8]
test eax, eax
jne 0x180003b5e
mov ecx, 0x7d1
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor al, al
jmp 0x180003b60
call fcn.18000c190
int3
call fcn.18000c190
int3