Function at 0x18000d370
Capabilities:
Enumerate threads

Disassembly:
push rdi
sub rsp, 0x5b0
mov rax, qword [0x180164280]
xor rax, rsp
mov qword [rsp + 0x5a0], rax
lea rcx, str.ACGameDetect::Detect_DebuggerPresent::CheckHardwareBreakpoints
call qword [sym.imp.VMProtectSDK64.dll_VMProtectBeginMutation]
nop
mov dword [rsp + 0xb0], 0x1c
lea rax, [rsp + 0xb4]
mov rdi, rax
xor eax, eax
mov ecx, 0x18
rep stosb byte [rdi], al
mov qword [rsp + 0x30], 0xffffffffffffffff
lea rax, [rsp + 0xd0]
mov rdi, rax
xor eax, eax
mov ecx, 0x4d0
rep stosb byte [rdi], al
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
mov ecx, 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0xffffffffffffffff
je 0x18000d590
lea rdx, [rsp + 0xb0]
mov rcx, qword [rsp + 0x30]
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x18000d584
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x28], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x28], eax
jne 0x18000d433
mov dword [rsp + 0x24], 1
jmp 0x18000d43b
mov dword [rsp + 0x24], 0
movzx eax, byte [rsp + 0x24]
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x18000d56a
mov r8d, dword [rsp + 0x28]
xor edx, edx
mov ecx, 0x18
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x18000d56a
cmp qword [rsp + 0x38], 0xffffffffffffffff
je 0x18000d56a
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x18000d55e
cmp qword [rsp + 0x118], 0
jne 0x18000d4cb
cmp qword [rsp + 0x120], 0
jne 0x18000d4cb
cmp qword [rsp + 0x128], 0
jne 0x18000d4cb
cmp qword [rsp + 0x130], 0
je 0x18000d55e
mov rcx, qword [0x180166810]
call fcn.180004120
nop
lea rax, [rsp + 0x21]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x21]
call fcn.18000bff0
mov rcx, rax
call fcn.18000bb60
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1800030c0
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.180004bc0
mov qword [rsp + 0x58], rax
mov r9, qword [rsp + 0x58]
mov r8d, reloc.WS2_32.dll_recv
mov edx, 1
mov rcx, qword [0x180166810]
call fcn.180057660
nop
lea rcx, [rsp + 0x70]
call fcn.1800035f0
nop
call fcn.18004bbb0
nop
jmp 0x18000d584
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rdx, [rsp + 0xb0]
mov rcx, qword [rsp + 0x30]
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x18000d412
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rax, [fcn.18000d370]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x60]
lea rcx, [0x1801663f8]
call fcn.1800053a0
nop
mov dword [rsp + 0x40], 0x190
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.180001880
mov rcx, rax
call fcn.180002ec0
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
sub rax, qword [0x1801663e8]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [0x1801663f0]
add ecx, eax
mov eax, ecx
mov dword [0x1801663f0], eax
movss xmm0, dword [0x180121254]
movss dword [0x1801663e0], xmm0
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [0x1801663e8], rax
call qword [sym.imp.VMProtectSDK64.dll_VMProtectEnd]
nop
mov rcx, qword [rsp + 0x5a0]
xor rcx, rsp
call fcn.180081a40
add rsp, 0x5b0
pop rdi
ret