Function at 0x1400be518
Capabilities:
Create thread

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x100
xor eax, eax
mov r12, rcx
lea rdx, [rsp + 0x58]
lea rcx, [r11 + 0x20]
xor r13d, r13d
mov rsi, r8
mov dword [rsp + 0x5c], eax
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x64], eax
mov dword [rsp + 0x58], r13d
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
call fcn.140073e04
lea r10d, [r13 + 2]
lea r11d, [r13 + 0x2b]
movsx r9d, al
mov rax, qword [rsp + 0x158]
mov dword [rsp + 0x68], r9d
movzx r8d, word [rax]
cmp r8w, 0x2a
je 0x1400be59e
cmp r8w, 0x2d
je 0x1400be59e
cmp r11w, r8w
jne 0x1400be5a9
add rax, r10
mov qword [rsp + 0x158], rax
lea rcx, [rsp + 0x158]
call fcn.140053eb0
lea rcx, [rsp + 0x148]
call fcn.140053eb0
mov r15, r13
cmp r9d, r13d
je 0x1400be5df
cmp rsi, r13
je 0x1400be5df
cmp byte [rsi + 0xb1], r13b
jne 0x1400be5df
mov r15, qword [rsi + 0x20]
jmp 0x1400be5e4
mov dword [rsp + 0x68], r13d
test byte [rsp + 0x68], r10b
mov rax, r13
mov r14d, r13d
cmovne rax, r15
mov qword [rsp + 0x50], rax
cmp r8w, 0x2a
jne 0x1400be875
mov ecx, 0xa00
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r13
call fcn.1400df578
mov ebp, 0x271b
mov rbx, rax
cmp rax, r13
je 0x1400be654
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov r8d, ebp
mov rcx, rbx
mov rdx, rax
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.1400697f8
mov rbx, rax
jmp 0x1400be657
mov rbx, r13
mov ecx, 0xf0
call fcn.1400df578
mov r13, rax
test rax, rax
je 0x1400be685
mov rdx, r12
mov rcx, rax
call fcn.1400162bc
mov rdx, r12
mov rcx, r13
call fcn.140016c9c
mov qword [r13 + 0x40], rbx
jmp 0x1400be688
xor r13d, r13d
mov eax, dword [rsp + 0x160]
mov rdi, qword [rsp + 0x158]
xor r8d, r8d
mov rcx, r13
mov rdx, rdi
mov byte [r13 + 0xd9], 3
mov dword [r13 + 0x24], eax
call fcn.140069f94
mov rax, qword [rsp + 0x148]
mov edx, 1
mov rcx, rbx
mov qword [rbx + 0x220], rax
mov qword [rbx + 0xe0], r15
mov qword [rbx + 0x210], r13
call fcn.1400bd8fc
lea rcx, [rsp + 0x80]
mov rdx, rdi
call fcn.1400668e8
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.14006a704
lea rcx, [rbx + 0xb8]
mov rdx, rax
call fcn.140066968
lea rcx, [rsp + 0x80]
call fcn.140053e80
xor r15d, r15d
cmp rdi, r15
je 0x1400be737
cmp byte [rbx + 0xb1], r15b
je 0x1400be747
lea rcx, [rbx + 0xf0]
mov rdx, rdi
call fcn.140066968
cmp byte [rbx + 0xb1], r15b
je 0x1400be747
mov edi, 0x271c
jmp 0x1400be768
cmp byte [rbx + 0xea], r15b
je 0x1400be757
mov edi, 0x271d
jmp 0x1400be768
cmp byte [rbx + 0xe9], r15b
mov edi, 0x271c
cmovne ebp, edi
mov edi, ebp
mov rcx, rbx
call fcn.14004dadc
mov qword [rsp + 0x48], rsi
mov rcx, qword [rsp + 0x48]
call fcn.140054514
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp rax, r15
je 0x1400be7aa
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0xb1], r15b
je 0x1400be7aa
mov eax, 2
cmp dword [r12 + 0x20], eax
cmovle r14d, eax
mov r8, qword [rsp + 0x50]
lea r9, [rsp + 0x58]
mov edx, edi
mov rcx, rbx
call fcn.140056d00
mov rdx, qword [rbx + 0x20]
lea r9, [0x140100ee0]
lea r8, str.__LastWinID
mov rcx, r12
call fcn.14005ec24
xor edx, edx
mov rcx, rbx
call fcn.1400ccb24
lea rcx, [0x14011af08]
mov dword [rsp + 0x48], eax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rcx, [0x14011af08]
mov qword [r13 + 0x40], r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor edx, edx
mov rcx, r13
call fcn.1400486e4
lea rcx, [r13 + 0x70]
call fcn.140053e80
mov rcx, r13
call fcn.1400df38c
mov r11, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [r11 + 0x18]
mov r11, qword [rsp + 0x40]
cmp r11, r15
je 0x1400be852
mov rcx, qword [rsp + 0x40]
mov r8d, r14d
xor r9d, r9d
or r8, 1
mov edx, 0x451
call qword [sym.imp.USER32.dll_SendMessageW]
mov r14d, dword [rsp + 0x48]
movsxd rax, r14d
mov rbx, qword [rsp + 0x140]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp r8w, 0x2d
jne 0x1400bea72
mov ecx, 0xa00
call fcn.1400df578
mov ebp, 0x271b
mov rbx, rax
cmp rax, r13
je 0x1400be8c7
call qword [sym.imp.USER32.dll_GetDesktopWindow]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov r8d, ebp
mov rcx, rbx
mov rdx, rax
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
call fcn.1400697f8
mov rbx, rax
jmp 0x1400be8ca
mov rbx, r13
mov ecx, 0xf0
call fcn.1400df578
mov rdi, rax
cmp rax, r13
je 0x1400be8f8
mov rdx, r12
mov rcx, rax
call fcn.1400162bc
mov rdx, r12
mov rcx, rdi
call fcn.140016c9c
mov qword [rdi + 0x40], rbx
jmp 0x1400be8fb
mov rdi, r13
mov eax, dword [rsp + 0x160]
mov r13, qword [rsp + 0x158]
xor r8d, r8d
mov rcx, rdi
mov rdx, r13
mov byte [rdi + 0xd9], 3
mov dword [rdi + 0x24], eax
call fcn.140069f94
mov rax, qword [rsp + 0x148]
mov edx, 1
mov rcx, rbx
mov qword [rbx + 0x220], rax
mov qword [rbx + 0xe0], r15
mov qword [rbx + 0x210], rdi
call fcn.1400bd8fc
mov r11, qword [rbx + 0x210]
lea rcx, [rsp + 0x78]
mov rdx, r13
mov qword [rbx + 0x208], r11
call fcn.1400668e8
lea rdx, [rsp + 0x78]
mov rcx, r13
call fcn.14006a704
lea rcx, [rbx + 0xb8]
mov rdx, rax
call fcn.140066968
lea rcx, [rsp + 0x78]
call fcn.140053e80
mov rdx, qword [rsp + 0x70]
xor r15d, r15d
cmp rdx, r15
je 0x1400be9a6
lea rcx, [rbx + 0xb8]
call fcn.140066a00
cmp r13, r15
je 0x1400be9c3
cmp byte [rbx + 0xb1], r15b
je 0x1400be9cc
lea rcx, [rbx + 0xf0]
mov rdx, r13
call fcn.140066968
cmp byte [rbx + 0xb1], r15b
jne 0x1400be9e5
cmp byte [rbx + 0xe9], r15b
jne 0x1400be9e5
cmp byte [rbx + 0xea], r15b
je 0x1400be9ea
mov ebp, 0x271d
jmp 0x1400be9ea
mov ebp, 0x271c
mov rcx, rbx
call fcn.14004dadc
mov qword [rbx + 0x70], rsi
mov byte [rbx + 0xb0], 1
cmp rsi, r15
je 0x1400bea2a
lea rcx, [0x14011af08]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc qword [rsi + 0x150]
lea rcx, [0x14011af08]
mov byte [rbx + 0xb0], 9
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8, qword [rsp + 0x50]
lea r9, [rsp + 0x58]
mov edx, ebp
mov rcx, rbx
call fcn.140056d00
mov rdx, qword [rbx + 0x20]
lea r9, [0x140100ee0]
lea r8, str.__LastWinID
mov rcx, r12
call fcn.14005ec24
mov rcx, qword [rbx + 0x20]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x110
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400be857
mov rax, qword [rsp + 0x158]
cmp r11w, word [rax - 2]
mov rax, rsi
sete bl
cmp bl, r13b
cmovne rax, r13
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], r13
mov rcx, qword [rsp + 0x50]
call fcn.140054514
mov qword [rsp + 0x40], rax
cmp bl, r13b
jne 0x1400beacc
cmp rsi, r13
jne 0x1400beacc
xor edx, edx
mov rcx, r12
call fcn.140019204
cmp qword [r12 + 0x40], r13
jne 0x1400beacc
mov rax, 0xffffffff80070057
jmp 0x1400be85a
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x90], r12
lea rcx, [0x14011aa60]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x158]
mov esi, r13d
mov qword [rsp + 0xa0], rax
movsxd rax, dword [rsp + 0x160]
mov qword [rsp + 0xa8], 4
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], r13
mov qword [rsp + 0xc8], r13
lea rax, [rsp + 0x58]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], r15
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea r11, [rsp + 0xc8]
lea r9, [rsp + 0x90]
lea r8, [0x1400bdfbc]
mov qword [rsp + 0x28], r11
mov edx, 0x400000
xor ecx, ecx
mov dword [rsp + 0x20], 0x10000
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, rax
cmp rax, r13
je 0x1400bebf3
mov esi, dword [rsp + 0xc8]
mov ebx, 0x270f
mov rcx, qword [rsp + 0xa8]
cmp rcx, r13
je 0x1400bebce
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
sub ebx, 1
jns 0x1400bebb4
mov rax, qword [rsp + 0xa8]
cmp rax, r13
je 0x1400bebf3
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r11, qword [rsp + 0xa8]
cmp r11, r13
jne 0x1400bebdb
lea rcx, [0x14011aa60]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp rdi, r13
je 0x1400bec0e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x40]
cmp rax, r13
je 0x1400bec3c
mov rax, qword [rsp + 0xe0]
cmp rax, r13
je 0x1400bec3c
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov edx, 0x451
lea r8d, [r9 + 1]
call qword [sym.imp.USER32.dll_SendMessageW]
lea r8, str.__LastTID
mov edx, esi
mov rcx, r12
call fcn.14005ecb0
mov rdx, qword [rsp + 0xc0]
lea r9, [0x140100ee0]
lea r8, str.__LastWinID
mov rcx, r12
call fcn.14005ec24
jmp 0x1400be857