Function at 0x1800021a0
Capabilities:
Resume thread

Disassembly:
push rbx
push rbp
push r13
sub rsp, 0x40
xor ebp, ebp
mov r13d, 1
mov ebx, ebp
xor eax, eax
lock cmpxchg dword [0x1800099a8], r13d
je 0x1800021e3
cmp rbx, 0x20
jae 0x1800021ca
xor ecx, ecx
jmp 0x1800021cd
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800099a8], r13d
jne 0x1800021c0
cmp qword [0x1800099b0], rbp
jne 0x18000286c
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [0x1800099b0], rax
mov ecx, ebp
xchg dword [0x1800099a8], ecx
test rax, rax
je 0x180002872
mov qword [rsp + 0x68], rdi
lea r8, [0x1800099d0]
movabs rdi, 0x14037dad0
lea rdx, [0x1800020f0]
mov rcx, rdi
call fcn.180003304
test eax, eax
je 0x180002261
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str._error__creating_cam_hook_failed
call fcn.180002ac0
mov rdi, qword [rsp + 0x68]
xor al, al
add rsp, 0x40
pop r13
pop rbp
pop rbx
ret
mov rbx, rbp
xor eax, eax
lock cmpxchg dword [0x1800099a8], r13d
je 0x180002294
cmp rbx, 0x20
jae 0x18000227b
xor ecx, ecx
jmp 0x18000227e
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800099a8], r13d
jne 0x180002271
cmp qword [0x1800099b0], rbp
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
je 0x18000285a
mov ecx, dword [0x180009a0c]
mov ebx, ebp
mov r12d, 5
test ecx, ecx
je 0x1800022e4
mov r8, qword [0x180009a00]
mov rax, r8
cmp qword [rax], rdi
je 0x18000235a
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x1800022d1
mov r14d, 4
mov eax, ebp
xchg dword [0x1800099a8], eax
test r14d, r14d
jne 0x180002860
movabs rdi, 0x14037eae0
lea r8, [0x1800099d8]
mov rcx, rdi
lea rdx, [0x180002120]
call fcn.180003304
test eax, eax
je 0x18000240a
lea rdx, str._error__creating_cam_hook_failed
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.180002ac0
xor al, al
mov r14, qword [rsp + 0x38]
mov r12, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x68]
add rsp, 0x40
pop r13
pop rbp
pop rbx
ret
cmp ebx, 0xffffffff
je 0x1800022e4
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
jne 0x180002402
mov r8d, r13d
lea rcx, [rsp + 0x20]
mov edx, ebx
call fcn.180002d04
mov r14d, eax
test eax, eax
jne 0x1800022ea
mov edx, r13d
mov ecx, ebx
call fcn.1800030f0
mov r15, qword [rsp + 0x20]
mov r14d, eax
test r15, r15
je 0x1800022ea
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x1800023eb
mov rbx, r15
mov esi, eax
mov r8d, dword [rbx]
test r8d, r8d
je 0x1800023e2
xor edx, edx
mov ecx, 0x5a
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x1800023e2
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rsi, r13
jne 0x1800023b3
mov rcx, qword [0x1800099b0]
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1800022ea
mov r14d, r12d
jmp 0x1800022ea
mov rbx, rbp
xor eax, eax
lock cmpxchg dword [0x1800099a8], r13d
je 0x180002443
nop word [rax + rax]
cmp rbx, 0x20
jae 0x18000242a
xor ecx, ecx
jmp 0x18000242d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800099a8], r13d
jne 0x180002420
cmp qword [0x1800099b0], rbp
je 0x18000285a
mov ecx, dword [0x180009a0c]
mov ebx, ebp
test ecx, ecx
je 0x180002475
mov r8, qword [0x180009a00]
mov rax, r8
cmp qword [rax], rdi
je 0x1800024d7
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x180002466
mov r14d, 4
mov eax, ebp
xchg dword [0x1800099a8], eax
test r14d, r14d
jne 0x180002860
movabs rdi, 0x14037eef0
lea r8, [0x1800099c8]
mov rcx, rdi
lea rdx, [0x180002150]
call fcn.180003304
test eax, eax
jne 0x18000284e
mov rbx, rbp
lock cmpxchg dword [0x1800099a8], r13d
je 0x1800025a4
cmp rbx, 0x20
jae 0x180002587
xor ecx, ecx
jmp 0x18000258a
cmp ebx, 0xffffffff
je 0x180002475
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
jne 0x18000257f
mov r8d, r13d
lea rcx, [rsp + 0x20]
mov edx, ebx
call fcn.180002d04
mov r14d, eax
test eax, eax
jne 0x18000247b
mov edx, r13d
mov ecx, ebx
call fcn.1800030f0
mov r15, qword [rsp + 0x20]
mov r14d, eax
test r15, r15
je 0x18000247b
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x180002568
mov rbx, r15
mov esi, eax
mov r8d, dword [rbx]
test r8d, r8d
je 0x18000255f
xor edx, edx
mov ecx, 0x5a
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x18000255f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rsi, r13
jne 0x180002530
mov rcx, qword [0x1800099b0]
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18000247b
mov r14d, r12d
jmp 0x18000247b
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800099a8], r13d
jne 0x1800024c6
cmp qword [0x1800099b0], rbp
je 0x180002848
mov ecx, dword [0x180009a0c]
mov ebx, ebp
test ecx, ecx
je 0x1800025d6
mov r8, qword [0x180009a00]
mov rax, r8
cmp qword [rax], rdi
je 0x180002647
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x1800025c7
mov r14d, 4
mov eax, ebp
xchg dword [0x1800099a8], eax
test r14d, r14d
jne 0x18000284e
lea rcx, str.xinput1_3.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x180002784
lea rdx, str.XInputGetState
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
lea r8, [0x1800099e0]
lea rdx, [0x180002180]
mov rdi, rax
call fcn.180003304
test eax, eax
je 0x1800026f7
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str._error__creating_xinput_get_state_hook_failed
jmp 0x180002331
cmp ebx, 0xffffffff
je 0x1800025d6
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
jne 0x1800026ef
mov r8d, r13d
lea rcx, [rsp + 0x20]
mov edx, ebx
call fcn.180002d04
mov r14d, eax
test eax, eax
jne 0x1800025dc
mov edx, r13d
mov ecx, ebx
call fcn.1800030f0
mov r15, qword [rsp + 0x20]
mov r14d, eax
test r15, r15
je 0x1800025dc
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x1800026d8
mov rbx, r15
mov esi, eax
mov r8d, dword [rbx]
test r8d, r8d
je 0x1800026cf
xor edx, edx
mov ecx, 0x5a
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x1800026cf
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rsi, r13
jne 0x1800026a0
mov rcx, qword [0x1800099b0]
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1800025dc
mov r14d, r12d
jmp 0x1800025dc
mov rbx, rbp
xor eax, eax
lock cmpxchg dword [0x1800099a8], r13d
je 0x18000272a
cmp rbx, 0x20
jae 0x180002711
xor ecx, ecx
jmp 0x180002714
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x1800099a8], r13d
jne 0x180002707
cmp qword [0x1800099b0], rbp
je 0x18000282f
test rdi, rdi
jne 0x180002749
mov ecx, r13d
call fcn.180003200
mov r12d, eax
jmp 0x180002775
mov ecx, dword [0x180009a0c]
mov ebx, ebp
test ecx, ecx
je 0x18000276f
mov r8, qword [0x180009a00]
mov rax, r8
nop
cmp rdi, qword [rax]
je 0x18000278d
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x180002760
mov r12d, 4
xchg dword [0x1800099a8], ebp
test r12d, r12d
jne 0x180002835
movzx eax, r13b
jmp 0x180002338
cmp ebx, 0xffffffff
je 0x18000276f
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
jne 0x180002775
mov r8d, r13d
lea rcx, [rsp + 0x20]
mov edx, ebx
call fcn.180002d04
mov r12d, eax
test eax, eax
jne 0x180002775
mov edx, r13d
mov ecx, ebx
call fcn.1800030f0
mov r14, qword [rsp + 0x20]
mov r12d, eax
test r14, r14
je 0x180002775
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x180002818
mov rbx, r14
mov esi, eax
nop word [rax + rax]
mov r8d, dword [rbx]
test r8d, r8d
je 0x18000280f
xor edx, edx
mov ecx, 0x5a
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x18000280f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rsi, r13
jne 0x1800027e0
mov rcx, qword [0x1800099b0]
mov r8, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x180002775
xchg dword [0x1800099a8], ebp
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str._error__enabling_xinput_get_state_hook_failed
jmp 0x180002331
xchg dword [0x1800099a8], ebp
lea rdx, str._error__test_hook_failed
jmp 0x18000232a
xchg dword [0x1800099a8], ebp
lea rdx, str._error__enabling_cam_hook_failed
jmp 0x18000232a
xchg dword [0x1800099a8], ebp
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str._error__hook_initialization_failed__n
call fcn.180002ac0
xor al, al
add rsp, 0x40
pop r13
pop rbp
pop rbx
ret