Function at 0x180004670
Capabilities:
Enumerate threads
Resume thread
Suspend thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r15
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x1801180c0]
xor rax, rsp
mov qword [rbp - 0x10], rax
lea r8, str.Bypassing..
xor edx, edx
xor ecx, ecx
call fcn.180004610
inc eax
movsxd rbx, eax
mov rcx, rbx
call fcn.1800da268
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 0x38], rdi
lea r8, str.Bypassing..
mov rdx, rbx
mov rcx, rdi
call fcn.180004610
lea r8, [rbx - 1]
add r8, rdi
lea r9, [rbp - 0x40]
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.180004dc0
nop
mov rbx, qword [str.Info]
mov esi, 0x90
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, si
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._Minty::
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180004b80
mov rcx, rax
mov rdx, rbx
call fcn.180004b80
mov rcx, rax
lea rdx, [0x1800efbd4]
call fcn.180004b80
mov ecx, 0xfffffff5
mov r15d, 7
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r15w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, [0x1800efbd0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180004b80
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
mov rcx, rax
call fcn.180004ef0
lea rdx, [0x1800050b0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x1800047df
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800047da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800047da
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800da234
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0
mov rcx, rdi
call fcn.1800da234
nop dword [rax + rax]
lea rcx, str.starrailbase.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [0x18011a440], rax
test rax, rax
je 0x180004800
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
mov dword [rbp - 0x30], Ordinal_32
lea rdx, [rbp - 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Thread32First]
test eax, eax
je 0x180004891
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [rbp - 0x24], eax
jne 0x180004880
mov r8d, dword [rbp - 0x28]
cmp r8d, esi
je 0x180004880
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rbx, rax
test rax, rax
je 0x180004880
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rbp - 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Thread32Next]
test eax, eax
jne 0x180004847
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [0x18011a440]
lea r9, [rbp - 0x38]
mov edx, 4
lea r8d, [rdx + 0x3c]
lea rcx, [rbx + 0xfcdc0]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [rbx + 0xfcdc0], 0xccc3c031
lea r9, [rbp - 0x38]
mov r8d, dword [rbp - 0x38]
mov edx, 4
lea rcx, [rbx + 0xfcdc0]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [0x18011a440]
lea r9, [rbp - 0x38]
mov edx, 1
lea r8d, [rdx + 0x3f]
lea rcx, [rbx + 0xf9940]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov byte [rbx + 0xf9940], 0xc3
lea r9, [rbp - 0x38]
mov r8d, dword [rbp - 0x38]
mov edx, 1
lea rcx, [rbx + 0xf9940]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [0x18011a440]
lea r9, [rbp - 0x38]
mov edx, 2
lea r8d, [rdx + 0x3e]
lea rcx, [rbx + 0x1bcba0]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov word [rbx + 0x1bcba0], 0xfeeb
lea r9, [rbp - 0x38]
mov r8d, dword [rbp - 0x38]
mov edx, 2
lea rcx, [rbx + 0x1bcba0]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rdi, rax
mov dword [rbp - 0x30], Ordinal_32
lea rdx, [rbp - 0x30]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Thread32First]
test eax, eax
je 0x1800049dd
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [rbp - 0x24], eax
jne 0x1800049cc
mov r8d, dword [rbp - 0x28]
cmp r8d, esi
je 0x1800049cc
xor edx, edx
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rbx, rax
test rax, rax
je 0x1800049cc
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rbp - 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Thread32Next]
test eax, eax
jne 0x180004993
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, str.Bypassed_succesfully_
xor edx, edx
xor ecx, ecx
call fcn.180004610
inc eax
movsxd rbx, eax
mov rcx, rbx
call fcn.1800da268
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp - 0x38], rdi
lea r8, str.Bypassed_succesfully_
mov rdx, rbx
mov rcx, rdi
call fcn.180004610
lea r8, [rbx - 1]
add r8, rdi
lea r9, [rbp - 0x40]
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.180004dc0
nop
mov rbx, qword [str.Success]
mov esi, 0xa0
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, si
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, str._Minty::
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180004b80
mov rcx, rax
mov rdx, rbx
call fcn.180004b80
mov rcx, rax
lea rdx, [0x1800efbd4]
call fcn.180004b80
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
movzx edx, r15w
call qword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
lea rdx, [0x1800efbd0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180004b80
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
mov rcx, rax
call fcn.180004ef0
lea rdx, [0x1800050b0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x180004b25
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180004b20
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180004b20
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800da234
mov qword [rbp - 0x20], 0
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0
mov rcx, rdi
call fcn.1800da234
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1800d9d90
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r15, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret