Function at 0x1400b0bf8
Capabilities:
Create thread
Resume thread

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf8
xor r11d, r11d
mov eax, 0x400000
mov r13, rcx
mov ebx, r11d
mov qword [rsp + 0x38], rdx
mov r14d, r11d
mov r8d, r11d
mov dword [rsp + 0x30], r11d
mov esi, r11d
mov dword [rsp + 0x158], ebx
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x50], r11d
mov edi, r11d
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x78], r11d
mov r9d, r11d
mov dword [rsp + 0x34], r11d
movzx r15d, r11w
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], rax
lea ecx, [r11 + 9]
lea r10d, [r11 + 1]
lea r12d, [r11 + 0x2a]
cmp word [rdx], r11w
je 0x1400b0d3c
lea r13d, [r11 + 0x20]
cmp cx, word [rdx]
ja 0x1400b0c99
cmp word [rdx], 0xd
jbe 0x1400b0d2d
cmp r13w, word [rdx]
je 0x1400b0d2d
mov eax, 0x24
cmp ax, word [rdx]
jne 0x1400b0cb2
mov r14d, r10d
jmp 0x1400b0d1a
cmp r12w, word [rdx]
jne 0x1400b0ce0
movsx esi, byte [rdx]
mov ecx, 0x3f
mov dword [rsp + 0x40], esi
cmp cx, word [rdx + 2]
jne 0x1400b0cd6
bts esi, 8
add rdx, 2
mov dword [rsp + 0x40], esi
mov ebx, r11d
mov ecx, 9
jmp 0x1400b0d1a
mov eax, 0x2b
cmp ax, word [rdx]
jne 0x1400b0cf8
movsx ebx, byte [rdx]
mov byte [rsp + 0x40], r11b
mov esi, dword [rsp + 0x40]
jmp 0x1400b0d1a
mov eax, 0x26
cmp ax, word [rdx]
jne 0x1400b0d09
mov dword [rsp + 0x50], r10d
jmp 0x1400b0d1a
mov eax, 0x23
cmp ax, word [rdx]
jne 0x1400b0d1a
movsx eax, byte [rdx]
mov dword [rsp + 0x78], eax
add rdx, 2
mov qword [rsp + 0x38], rdx
cmp word [rdx], r11w
jne 0x1400b0c8a
mov r13, qword [rsp + 0x140]
mov dword [rsp + 0x158], ebx
lea rax, str.__LastTID
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x98], r11
mov qword [rsp + 0x90], rax
call fcn.14005b154
mov rbp, qword [rsp + 0x38]
mov ecx, 0x2d
cmp cx, word [rbp]
movzx eax, r12b
mov dword [rsp + 0x68], 0x80000000
cmove eax, ecx
mov qword [rsp + 0x148], rbp
movsx r12d, al
movzx eax, word [rbp]
cmp r12d, eax
jne 0x1400b10fd
lea r13d, [rcx - 0xd]
mov ebx, 5
lea rdx, [rsp + 0x38]
lea rcx, [0x140120180]
mov r8d, ebx
call fcn.140066148
xor r11d, r11d
cmp al, r11b
je 0x1400b0dd3
lea r10d, [rbx - 4]
mov r8d, r10d
mov dword [rsp + 0x30], r10d
jmp 0x1400b10d8
lea rdx, [rsp + 0x38]
lea rcx, str._waitx
mov r8d, 6
call fcn.140066148
xor r11d, r11d
cmp al, r11b
je 0x1400b0e00
lea r8d, [r11 + 2]
mov dword [rsp + 0x30], r8d
jmp 0x1400b10d2
lea rdx, [rsp + 0x38]
lea rcx, str._here
mov r8d, ebx
call fcn.140066148
xor r11d, r11d
cmp al, r11b
je 0x1400b0e29
bts edi, 8
mov dword [rsp + 0x48], edi
jmp 0x1400b10cd
lea rdx, [rsp + 0x38]
lea rcx, [0x140121f58]
mov r8d, 6
call fcn.140066148
xor r11d, r11d
cmp al, r11b
je 0x1400b0e56
mov eax, 0x200
or r15w, ax
jmp 0x1400b10cd
lea rdx, [rsp + 0x38]
lea rcx, str._waitp
mov r8d, 6
call fcn.140066148
xor r11d, r11d
cmp al, r11b
je 0x1400b0e8e
mov r8d, dword [rsp + 0x30]
mov r9d, 0x400
lea r10d, [r11 + 1]
mov dword [rsp + 0x34], r9d
jmp 0x1400b10dd
lea rdx, [rsp + 0x38]
lea rcx, str._idle
mov r8d, ebx
call fcn.140066148
xor r11d, r11d
cmp al, r11b
je 0x1400b0eb7
mov dword [rsp + 0x68], 0xfffffff1
jmp 0x1400b10cd
lea rdx, [rsp + 0x38]
lea rcx, [0x140129364]
mov r8d, 4
call fcn.140066148
xor r11d, r11d
cmp al, r11b
je 0x1400b0ee7
mov r8d, dword [rsp + 0x30]
lea r10d, [r11 + 1]
mov r14d, r10d
jmp 0x1400b10d8
lea rdx, [rsp + 0x38]
lea rcx, str._link_
mov r8d, 6
call fcn.140066148
xor r11d, r11d
cmp al, r11b
je 0x1400b0f0d
mov esi, 0x12a
jmp 0x1400b0f2d
lea rdx, [rsp + 0x38]
lea rcx, str._link
mov r8d, ebx
call fcn.140066148
xor r11d, r11d
cmp al, r11b
je 0x1400b0f50
lea esi, [r11 + 0x2a]
mov r8d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x34]
mov ebx, r11d
mov dword [rsp + 0x158], ebx
mov dword [rsp + 0x40], esi
mov r10d, 1
jmp 0x1400b10e4
mov rbx, qword [rsp + 0x38]
lea rcx, str.tid:
mov r8d, 4
lea rdx, [rbx + 2]
call fcn.14005c788
cmp al, r11b
je 0x1400b100e
mov rdi, rbx
add rbx, 0xa
movzx eax, word [rbx]
mov qword [rsp + 0x38], rbx
mov rdx, rbx
cmp ax, r11w
je 0x1400b0fb4
mov ecx, 9
cmp cx, ax
ja 0x1400b0f9c
cmp ax, 0xd
jbe 0x1400b0fb4
cmp r13w, ax
je 0x1400b0fb4
add rbx, 2
mov qword [rsp + 0x38], rbx
mov ax, word [rbx]
cmp ax, r11w
jne 0x1400b0f91
mov r8, rbx
lea rcx, [rsp + 0x58]
sub r8, rdx
sar r8, 1
call fcn.140063888
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x90], rax
mov r10d, 1
cmp rdi, rbx
jae 0x1400b0ff3
sub rbx, rdi
movzx eax, r13w
sub rbx, r10
shr rbx, 1
lea rcx, [r10 + rbx]
rep stosw word [rdi], ax
lea rcx, [rsp + 0x38]
call fcn.14005b154
mov edi, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x30]
xor r11d, r11d
jmp 0x1400b10d8
lea rdx, [rbx + 2]
lea rcx, str.htid:
mov r8d, 5
call fcn.14005c788
cmp al, r11b
je 0x1400b108e
mov rdi, rbx
add rbx, 0xc
movzx eax, word [rbx]
mov qword [rsp + 0x38], rbx
mov rdx, rbx
cmp ax, r11w
je 0x1400b1069
mov ecx, 9
cmp cx, ax
ja 0x1400b1051
cmp ax, 0xd
jbe 0x1400b1069
cmp r13w, ax
je 0x1400b1069
add rbx, 2
mov qword [rsp + 0x38], rbx
mov ax, word [rbx]
cmp ax, r11w
jne 0x1400b1046
mov r8, rbx
lea rcx, [rsp + 0x70]
sub r8, rdx
sar r8, 1
call fcn.140063888
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x98], rax
jmp 0x1400b0fd4
movzx eax, word [rbx]
cmp ax, r11w
je 0x1400b10bf
mov ecx, 9
cmp cx, ax
ja 0x1400b10a7
cmp ax, 0xd
jbe 0x1400b10bf
cmp r13w, ax
je 0x1400b10bf
add rbx, 2
mov qword [rsp + 0x38], rbx
mov ax, word [rbx]
cmp ax, r11w
jne 0x1400b109c
lea rcx, [rsp + 0x38]
call fcn.14005b154
mov edi, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x30]
mov r10d, 1
mov r9d, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x158]
mov rax, qword [rsp + 0x38]
movzx ecx, word [rax]
cmp r12d, ecx
je 0x1400b0da1
mov r13, qword [rsp + 0x140]
cmp ebx, r11d
jne 0x1400b1107
cmp r8d, r11d
je 0x1400b110f
mov r9d, r11d
mov dword [rsp + 0x34], r11d
movsx eax, r15w
lea rcx, [rsp + 0x38]
or eax, r9d
or eax, edi
or eax, dword [rsp + 0x50]
mov dword [rsp + 0x7c], eax
call fcn.14005b154
mov rcx, qword [rsp + 0x38]
cmp word [rcx], r11w
jne 0x1400b1155
lea rcx, [rsp + 0x70]
call fcn.14005b104
lea rcx, [rsp + 0x58]
call fcn.14005b104
mov rax, 0xffffffff80070057
jmp 0x1400b170f
mov qword [rsp + 0x60], r11
cmp r14d, r11d
je 0x1400b1187
lea r8, [rsp + 0x60]
xor r9d, r9d
mov rdx, rbp
mov rcx, r13
mov byte [rsp + 0x20], r10b
call fcn.14007a224
mov rdx, qword [rsp + 0x60]
xor r11d, r11d
mov qword [rsp + 0x148], rdx
lea rcx, [rsp + 0x148]
call fcn.14005b154
mov rbp, qword [rsp + 0x148]
mov di, word [rbp]
mov qword [rsp + 0x38], rbp
cmp di, r11w
jne 0x1400b11ba
lea rcx, [rsp + 0x60]
call fcn.14005b104
jmp 0x1400b1135
movzx ebx, di
cmp r12d, ebx
jne 0x1400b1283
movzx eax, word [rbp + 2]
cmp r12d, eax
jne 0x1400b122c
lea rdx, [rbp + 4]
lea rcx, [0x140129340]
mov r8d, 3
call fcn.14005c788
cmp al, r11b
je 0x1400b122c
lea rax, [rbp + 0xa]
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], rax
call fcn.14006a7f4
mov rax, qword [rsp + 0x80]
add rax, 0x1fff
and rax, 0xffffffffffffe000
xor r11d, r11d
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], rax
cmp r12d, ebx
jne 0x1400b1283
cmp di, r11w
je 0x1400b1265
mov eax, 0x20
lea ecx, [rax - 0x17]
cmp cx, di
ja 0x1400b124a
cmp di, 0xd
jbe 0x1400b125d
cmp ax, di
je 0x1400b125d
add rbp, 2
mov di, word [rbp]
cmp di, r11w
jne 0x1400b123f
mov qword [rsp + 0x148], rbp
lea rcx, [rsp + 0x148]
call fcn.14005b154
mov rbp, qword [rsp + 0x148]
movzx edi, word [rbp]
cmp r12d, edi
je 0x1400b1231
cmp byte [rsp + 0x40], r11b
je 0x1400b1290
mov r14, qword [r13 + 0x40]
jmp 0x1400b1293
mov r14, r11
cmp dword [rsp + 0x48], r11d
je 0x1400b12a1
cmp dword [rsp + 0x30], r11d
jne 0x1400b12c7
cmp r14, r11
je 0x1400b12c7
mov r15d, 1
cmp dword [r14 + 0x1d0], r11d
je 0x1400b12ca
bt esi, 8
jae 0x1400b12ca
mov rdi, 0xffffffff80070057
jmp 0x1400b16ee
mov r15d, r11d
mov ecx, 8
call fcn.140102d68
mov rsi, rax
test rax, rax
je 0x1400b1317
mov rdi, qword [r13 + 0x78]
and qword [rax], 0
test rdi, rdi
je 0x1400b1319
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11, qword [rdi]
test r11, r11
je 0x1400b1308
inc dword [r11 + 8]
mov rax, qword [rdi]
mov qword [rsi], rax
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400b1319
xor esi, esi
mov r12, qword [r13 + 0x80]
mov ecx, 0xf0
mov qword [rsp + 0xa0], rsi
call fcn.140102d68
mov rbx, rax
test rax, rax
je 0x1400b1356
mov rdx, r13
mov rcx, rax
call fcn.140017cdc
mov rdx, r13
mov rcx, rbx
call fcn.1400186bc
mov qword [rbx + 0x40], r14
jmp 0x1400b1358
xor ebx, ebx
cmp dword [rsp + 0x48], 0
mov qword [rsp + 0xa8], rbx
lea rdi, [0x14013d130]
jne 0x1400b137e
mov byte [rbx + 0xd9], 1
test r14, r14
jne 0x1400b137e
mov qword [rbx + 0x38], rdi
mov qword [rbx + 0x80], r12
mov rdx, qword [rsp + 0x60]
xor r8d, r8d
mov rcx, rbx
call fcn.140073ccc
mov r12d, dword [rsp + 0x48]
mov qword [rbx + 0x78], rsi
test r12d, r12d
je 0x1400b13a8
mov rdi, r13
jmp 0x1400b13b8
test r14, r14
je 0x1400b13b8
mov rdi, qword [r14 + 0x290]
mov qword [rbx + 0x38], rdi
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test r12d, r12d
jne 0x1400b1407
cmp byte [rsp + 0x40], r12b
je 0x1400b1407
cmp dword [rsp + 0x30], r12d
je 0x1400b1407
mov rax, r13
mov edx, 0x7fffd
test rax, rax
je 0x1400b1407
mov cl, byte [rax + 0xd9]
test cl, 1
je 0x1400b13f5
test cl, 0x42
jne 0x1400b1400
sub edx, 1
mov rax, qword [rax + 0x38]
js 0x1400b1407
jmp 0x1400b13e0
mov qword [rbx + 0x38], rax
mov rdi, rax
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.14005e254
movsxd r12, dword [rsp + 0x50]
test r12d, r12d
je 0x1400b142c
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14007bf78
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov cl, byte [r13 + 0xda]
mov byte [rbx + 0xda], cl
mov al, byte [r13 + 0xd]
xor r13d, r13d
mov byte [rbx + 0xd], al
cmp r12d, r13d
je 0x1400b1459
mov byte [rbx + 0xd], 1
lea rcx, [rsp + 0x48]
mov rdx, rbp
call fcn.1400702b0
lea rcx, [rsp + 0x50]
mov edx, 0x88
call fcn.1400633a8
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.14005b0b8
mov r11, qword [rsp + 0x48]
mov rax, qword [rsp + 0x150]
movsxd rcx, dword [rsp + 0x7c]
mov rdx, qword [rsp + 0x88]
mov qword [rdi + 8], r11
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], 4
mov qword [rdi + 0x20], r13
mov qword [rdi + 0x28], rax
movsx rax, byte [rsp + 0x40]
mov qword [rdi + 0x30], r13
mov qword [rdi + 0x38], r14
mov qword [rdi + 0x40], rax
movsxd rax, dword [rsp + 0x158]
mov qword [rdi + 0x48], rax
movsxd rax, dword [rsp + 0x78]
or rcx, r12
mov qword [rdi + 0x50], rcx
mov qword [rdi + 0x58], rax
mov qword [rdi + 0x60], rsi
mov qword [rdi + 0x68], rbx
mov qword [rdi + 0x70], r14
lea rax, [rsp + 0x44]
mov qword [rdi + 0x78], r14
mov qword [rsp + 0x28], rax
lea r8, [0x1400b0820]
mov r9, rdi
xor ecx, ecx
mov dword [rsp + 0x20], 0x10004
mov dword [rsp + 0x44], r13d
mov r12b, r13b
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbp, rax
test rax, rax
je 0x1400b15db
test r15d, r15d
je 0x1400b153c
mov rcx, r14
call fcn.14005b77c
xor r15d, r15d
jmp 0x1400b1542
xor r15d, r15d
mov rax, r15
mov r14, qword [rsp + 0x140]
mov qword [rdi + 0x30], rax
mov eax, dword [rsp + 0x44]
mov qword [rdi + 0x20], rax
lea rcx, [0x14013e190]
mov qword [rdi], r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, 1
cmp dword [rsp + 0x158], r15d
jne 0x1400b1588
add dword [0x14013d7e8], edi
cmp dword [rsp + 0x34], r15d
je 0x1400b1588
add dword [0x14013d7ec], edi
movzx eax, byte [0x14013ccb2]
mov ecx, eax
cmp al, r15b
cmove ecx, edi
mov byte [0x14013ccb2], cl
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [rsp + 0x68]
cmp eax, 0x80000000
je 0x1400b15c0
mov edx, eax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x50], r15
mov rsi, r15
mov rbx, r15
jmp 0x1400b15fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14, qword [rsp + 0x140]
xor r15d, r15d
lea edi, [r15 + 1]
mov r13d, eax
cmp eax, r15d
cmove r13d, edi
cmp qword [rsp + 0x58], r15
je 0x1400b1615
mov r8, qword [rsp + 0x90]
mov edx, dword [rsp + 0x44]
mov rcx, r14
call fcn.140066978
mov edx, dword [rsp + 0x44]
lea r8, str.__LastTID
mov rcx, r14
call fcn.140066978
mov rax, qword [rsp + 0x98]
cmp rax, r15
je 0x1400b1654
cmp word [rax], r15w
je 0x1400b1654
mov r8, rax
mov rdx, rbp
mov rcx, r14
call fcn.1400402d8
movzx r12d, r12b
cmp rax, r15
cmovne r12d, edi
cmp rbp, r15
je 0x1400b1667
cmp r12b, r15b
jne 0x1400b1667
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rsp + 0x30], r15d
je 0x1400b16a2
cmp rbp, r15
je 0x1400b16a2
mov r8d, dword [rsp + 0x44]
cmp r8d, r15d
je 0x1400b16a2
lea rdx, str.__ncd__u
lea rcx, [rsp + 0xb0]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rdx, [rsp + 0xb0]
mov rcx, r14
call fcn.14003ed4c
lea rcx, [rsp + 0x50]
movsxd rdi, r13d
call fcn.14005b104
lea rcx, [rsp + 0x48]
call fcn.14005b104
cmp rbx, r15
je 0x1400b16d9
xor edx, edx
mov rcx, rbx
call fcn.14004eaa8
lea rcx, [rbx + 0x70]
call fcn.14005b104
mov rcx, rbx
call fcn.140102b7c
cmp rsi, r15
je 0x1400b16ee
mov rcx, rsi
call fcn.140028270
mov rcx, rsi
call fcn.140102b7c
lea rcx, [rsp + 0x60]
call fcn.14005b104
lea rcx, [rsp + 0x70]
call fcn.14005b104
lea rcx, [rsp + 0x58]
call fcn.14005b104
mov rax, rdi
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret