Function at 0x1400b12e4
Capabilities:
Create 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
mov ax, word [rdx]
xor r11d, r11d
mov r13, rcx
mov ebx, r11d
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x60], 0x400000
mov r12d, r11d
mov r8d, r11d
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x40], r11d
mov dword [rsp + 0x158], ebx
mov dword [rsp + 0x50], r11d
mov edi, r11d
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x5c], r11d
mov r9d, r11d
mov dword [rsp + 0x34], r11d
movzx r14d, r11w
lea esi, [r11 + 0x2a]
lea r10d, [r11 + 9]
lea r15d, [r11 + 1]
cmp ax, r11w
je 0x1400b13f3
lea r13d, [r11 + 0x20]
cmp r10w, ax
ja 0x1400b1376
cmp ax, 0xd
jbe 0x1400b13e4
cmp r13w, ax
je 0x1400b13e4
mov ecx, 0x24
cmp cx, ax
jne 0x1400b138b
mov r12d, r15d
jmp 0x1400b13d2
cmp si, ax
jne 0x1400b139c
movsx ecx, byte [rdx]
mov ebx, r11d
mov dword [rsp + 0x40], ecx
jmp 0x1400b13d2
mov ecx, 0x2b
cmp cx, ax
jne 0x1400b13b0
movsx ebx, byte [rdx]
mov dword [rsp + 0x40], r11d
jmp 0x1400b13d2
mov ecx, 0x26
cmp cx, ax
jne 0x1400b13c1
mov dword [rsp + 0x50], r15d
jmp 0x1400b13d2
mov ecx, 0x23
cmp cx, ax
jne 0x1400b13d2
movsx eax, byte [rdx]
mov dword [rsp + 0x5c], eax
add rdx, 2
mov qword [rsp + 0x38], rdx
mov ax, word [rdx]
cmp ax, r11w
jne 0x1400b136a
mov r13, qword [rsp + 0x140]
mov dword [rsp + 0x158], ebx
lea r10, [0x14010e758]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x98], r11
mov qword [rsp + 0xa0], r10
call fcn.140057738
mov rbp, qword [rsp + 0x38]
mov ecx, 0x2d
cmp cx, word [rbp]
movzx eax, sil
mov dword [rsp + 0x58], 0x80000000
cmove eax, ecx
mov qword [rsp + 0x148], rbp
movsx esi, al
movzx eax, word [rbp]
cmp esi, eax
jne 0x1400b175f
lea r13d, [rcx - 0xd]
mov ebx, 5
lea rdx, [rsp + 0x38]
lea rcx, [0x140110f70]
mov r8d, ebx
call fcn.14006245c
xor r11d, r11d
cmp al, r11b
je 0x1400b1484
mov r8d, r15d
mov dword [rsp + 0x30], r15d
jmp 0x1400b173b
lea rdx, [rsp + 0x38]
lea rcx, [0x14011a34c]
mov r8d, 6
call fcn.14006245c
xor r11d, r11d
cmp al, r11b
je 0x1400b14b1
lea r8d, [r11 + 2]
mov dword [rsp + 0x30], r8d
jmp 0x1400b173b
lea rdx, [rsp + 0x38]
lea rcx, [0x14011a344]
mov r8d, ebx
call fcn.14006245c
xor r11d, r11d
cmp al, r11b
je 0x1400b14da
bts edi, 8
mov dword [rsp + 0x48], edi
jmp 0x1400b1736
lea rdx, [rsp + 0x38]
lea rcx, [0x140112cd0]
mov r8d, 6
call fcn.14006245c
xor r11d, r11d
cmp al, r11b
je 0x1400b1507
mov eax, 0x200
or r14w, ax
jmp 0x1400b1736
lea rdx, [rsp + 0x38]
lea rcx, [0x14011a33c]
mov r8d, 6
call fcn.14006245c
xor r11d, r11d
cmp al, r11b
je 0x1400b153b
mov r8d, dword [rsp + 0x30]
mov r9d, 0x400
mov dword [rsp + 0x34], r9d
jmp 0x1400b1740
lea rdx, [rsp + 0x38]
lea rcx, [0x14011a334]
mov r8d, ebx
call fcn.14006245c
xor r11d, r11d
cmp al, r11b
je 0x1400b1564
mov dword [rsp + 0x58], 0xfffffff1
jmp 0x1400b1736
lea rdx, [rsp + 0x38]
lea rcx, [0x14011a32c]
mov r8d, 4
call fcn.14006245c
xor r11d, r11d
cmp al, r11b
je 0x1400b158b
mov r12d, r15d
jmp 0x1400b1736
lea rdx, [rsp + 0x38]
lea rcx, [0x14011a324]
mov r8d, ebx
call fcn.14006245c
xor r11d, r11d
cmp al, r11b
je 0x1400b15c8
mov r8d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x34]
mov ebx, r11d
mov dword [rsp + 0x158], ebx
mov dword [rsp + 0x40], 0x2a
jmp 0x1400b1747
mov rbx, qword [rsp + 0x38]
lea rcx, [0x14011a31c]
mov r8d, 4
lea rdx, [rbx + 2]
call fcn.140058db8
cmp al, r11b
je 0x1400b1677
mov rdi, rbx
add rbx, 0xa
movzx eax, word [rbx]
mov qword [rsp + 0x38], rbx
mov rdx, rbx
cmp ax, r11w
je 0x1400b162c
mov ecx, 9
cmp cx, ax
ja 0x1400b1614
cmp ax, 0xd
jbe 0x1400b162c
cmp r13w, ax
je 0x1400b162c
add rbx, 2
mov qword [rsp + 0x38], rbx
mov ax, word [rbx]
cmp ax, r11w
jne 0x1400b1609
mov r8, rbx
lea rcx, [rsp + 0x68]
sub r8, rdx
sar r8, 1
call fcn.14005fc80
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa0], rax
cmp rdi, rbx
jae 0x1400b1665
sub rbx, rdi
movzx eax, r13w
sub rbx, r15
shr rbx, 1
lea rcx, [r15 + rbx]
rep stosw word [rdi], ax
lea rcx, [rsp + 0x38]
call fcn.140057738
xor r11d, r11d
jmp 0x1400b1732
lea rdx, [rbx + 2]
lea rcx, [0x14011a314]
mov r8d, 5
call fcn.140058db8
cmp al, r11b
je 0x1400b16f7
mov rdi, rbx
add rbx, 0xc
movzx eax, word [rbx]
mov qword [rsp + 0x38], rbx
mov rdx, rbx
cmp ax, r11w
je 0x1400b16d2
mov ecx, 9
cmp cx, ax
ja 0x1400b16ba
cmp ax, 0xd
jbe 0x1400b16d2
cmp r13w, ax
je 0x1400b16d2
add rbx, 2
mov qword [rsp + 0x38], rbx
mov ax, word [rbx]
cmp ax, r11w
jne 0x1400b16af
mov r8, rbx
lea rcx, [rsp + 0x78]
sub r8, rdx
sar r8, 1
call fcn.14005fc80
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x98], rax
jmp 0x1400b164c
movzx eax, word [rbx]
cmp ax, r11w
je 0x1400b1728
mov ecx, 9
cmp cx, ax
ja 0x1400b1710
cmp ax, 0xd
jbe 0x1400b1728
cmp r13w, ax
je 0x1400b1728
add rbx, 2
mov qword [rsp + 0x38], rbx
mov ax, word [rbx]
cmp ax, r11w
jne 0x1400b1705
lea rcx, [rsp + 0x38]
call fcn.140057738
mov edi, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x158]
mov rax, qword [rsp + 0x38]
movzx ecx, word [rax]
cmp esi, ecx
je 0x1400b1456
mov r13, qword [rsp + 0x140]
cmp ebx, r11d
jne 0x1400b1769
cmp r8d, r11d
je 0x1400b1771
mov r9d, r11d
mov dword [rsp + 0x34], r11d
movsx r15d, r14w
lea rcx, [rsp + 0x38]
or r15d, r9d
or r15d, edi
or r15d, dword [rsp + 0x50]
call fcn.140057738
mov rcx, qword [rsp + 0x38]
cmp word [rcx], r11w
jne 0x1400b17b5
lea rcx, [rsp + 0x78]
call fcn.140057768
lea rcx, [rsp + 0x68]
call fcn.140057768
mov rax, 0xffffffff80070057
jmp 0x1400b1d82
mov qword [rsp + 0x80], r11
cmp r12d, r11d
je 0x1400b17f0
lea r8, [rsp + 0x80]
xor r9d, r9d
mov rdx, rbp
mov rcx, r13
mov byte [rsp + 0x20], 1
call fcn.1400742a0
mov rdx, qword [rsp + 0x80]
xor r11d, r11d
mov qword [rsp + 0x148], rdx
lea rcx, [rsp + 0x148]
call fcn.140057738
mov rbp, qword [rsp + 0x148]
mov di, word [rbp]
mov qword [rsp + 0x38], rbp
cmp di, r11w
jne 0x1400b1820
mov rdi, 0xffffffff80070057
jmp 0x1400b1d5e
movzx ebx, di
cmp esi, ebx
jne 0x1400b18d6
movzx eax, word [rbp + 2]
cmp esi, eax
jne 0x1400b1881
lea rdx, [rbp + 4]
lea rcx, [0x14011a310]
mov r8d, 3
call fcn.140058db8
cmp al, r11b
je 0x1400b1881
lea rax, [rbp + 0xa]
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], rax
call fcn.140065d5c
mov rdx, qword [rsp + 0x60]
add rdx, 0x1fff
and rdx, 0xffffffffffffe000
xor r11d, r11d
mov qword [rsp + 0x60], rdx
cmp esi, ebx
jne 0x1400b18d6
cmp di, r11w
je 0x1400b18b9
mov eax, 0x20
lea ecx, [rax - 0x17]
cmp cx, di
ja 0x1400b189e
cmp di, 0xd
jbe 0x1400b18b1
cmp ax, di
je 0x1400b18b1
add rbp, 2
mov di, word [rbp]
cmp di, r11w
jne 0x1400b1893
mov qword [rsp + 0x148], rbp
lea rcx, [rsp + 0x148]
call fcn.140057738
mov rbp, qword [rsp + 0x148]
movzx edi, word [rbp]
cmp esi, edi
je 0x1400b1885
cmp dword [rsp + 0x40], r11d
je 0x1400b18e3
mov r12, qword [r13 + 0x40]
jmp 0x1400b18e6
mov r12, r11
cmp dword [rsp + 0x48], r11d
je 0x1400b18f4
cmp dword [rsp + 0x30], r11d
jne 0x1400b1906
cmp r12, r11
je 0x1400b1906
mov rcx, r12
call fcn.140057dd4
mov r14, rax
jmp 0x1400b1909
mov r14, r11
mov ecx, 8
call fcn.1400f3bd8
mov rsi, rax
test rax, rax
je 0x1400b193b
mov rax, qword [r13 + 0x78]
and qword [rsi], 0
test rax, rax
je 0x1400b193d
mov rcx, qword [rax]
test rcx, rcx
je 0x1400b193d
inc dword [rcx + 8]
mov rax, qword [rax]
mov qword [rsi], rax
jmp 0x1400b193d
xor esi, esi
mov r13, qword [r13 + 0x80]
mov ecx, 0xf0
mov qword [rsp + 0x70], rsi
call fcn.1400f3bd8
mov rbx, rax
test rax, rax
je 0x1400b197f
mov rdi, qword [rsp + 0x140]
mov rcx, rax
mov rdx, rdi
call fcn.1400170d8
mov rdx, rdi
mov rcx, rbx
call fcn.140017ab8
mov qword [rbx + 0x40], r12
jmp 0x1400b1981
xor ebx, ebx
cmp dword [rsp + 0x48], 0
mov qword [rsp + 0x88], rbx
lea rdi, [0x14012d0c0]
jne 0x1400b19a7
mov byte [rbx + 0xd9], 1
test r12, r12
jne 0x1400b19a7
mov qword [rbx + 0x38], rdi
mov qword [rbx + 0x80], r13
mov rdx, qword [rsp + 0x80]
xor r8d, r8d
mov rcx, rbx
call fcn.14006e390
cmp dword [rsp + 0x48], 0
mov r13, qword [rsp + 0x140]
mov qword [rbx + 0x78], rsi
je 0x1400b19d9
mov rdi, r13
jmp 0x1400b19ea
test r12, r12
je 0x1400b19ea
mov rdi, qword [r12 + 0x270]
mov qword [rbx + 0x38], rdi
lea rcx, [0x14012e0b8]
call qword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
cmp dword [rsp + 0x48], 0
jne 0x1400b1a41
cmp dword [rsp + 0x40], 0
je 0x1400b1a41
cmp dword [rsp + 0x30], 0
je 0x1400b1a41
mov rax, r13
mov edx, 0x7fffd
mov r8d, 1
test rax, rax
je 0x1400b1a41
mov cl, byte [rax + 0xd9]
test r8b, cl
je 0x1400b1a2f
test cl, 0x42
jne 0x1400b1a3a
sub edx, r8d
mov rax, qword [rax + 0x38]
js 0x1400b1a41
jmp 0x1400b1a1a
mov qword [rbx + 0x38], rax
mov rdi, rax
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.14005a6ec
mov edi, dword [rsp + 0x50]
test edi, edi
je 0x1400b1a64
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.140075fe8
cmp dword [rsp + 0x158], 0
jne 0x1400b1a9b
mov eax, 1
add dword [0x14012d788], eax
cmp dword [rsp + 0x34], 0
je 0x1400b1a86
add dword [0x14012d78c], eax
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x148]
movzx eax, byte [0x14012cca1]
mov ecx, eax
test al, al
mov eax, 1
cmove ecx, eax
mov byte [0x14012cca1], cl
lea rcx, [0x14012e0b8]
call qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov cl, byte [r13 + 0xda]
mov byte [rbx + 0xda], cl
mov al, byte [r13 + 0xd]
mov byte [rbx + 0xd], al
test edi, edi
je 0x1400b1ae1
mov eax, 1
mov byte [rbx + 0xd], al
lea rcx, [rsp + 0x90]
mov rdx, rbp
call fcn.14006ac98
lea rcx, [rsp + 0x48]
mov edx, 0x88
call fcn.14005f7a0
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.1400576cc
mov rax, qword [rsp + 0x90]
movsxd rbp, dword [rsp + 0x158]
mov rdx, qword [rsp + 0x60]
mov qword [rdi], r13
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x150]
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 4
mov qword [rdi + 0x20], 0
mov qword [rdi + 0x28], rax
movsxd rax, dword [rsp + 0x40]
mov qword [rdi + 0x30], r14
mov qword [rdi + 0x38], r12
mov qword [rdi + 0x40], rax
movsxd rax, dword [rsp + 0x50]
mov qword [rdi + 0x48], rbp
movsxd rcx, r15d
or rcx, rax
movsxd rax, dword [rsp + 0x5c]
xor r15d, r15d
mov qword [rdi + 0x50], rcx
mov qword [rdi + 0x58], rax
mov qword [rdi + 0x60], rsi
mov qword [rdi + 0x68], rbx
mov qword [rdi + 0x70], r12
mov qword [rdi + 0x78], r12
lea rax, [rsp + 0x54]
lea r8, [0x1400b0f38]
mov r9, rdi
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov dword [rsp + 0x54], r15d
mov dword [rsp + 0x20], 0x10000
mov r12b, r15b
call qword [sym.imp.KERNEL32.DLL_CreateThread]
mov rdi, rax
cmp rax, r15
jne 0x1400b1c00
cmp ebp, r15d
jne 0x1400b1c00
lea rcx, [0x14012e0b8]
call qword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
dec dword [0x14012d788]
cmp dword [rsp + 0x34], r15d
je 0x1400b1be6
dec dword [0x14012d78c]
lea rcx, [0x14012e0b8]
call qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x88]
mov rcx, qword [0x14012ccf8]
cmp rcx, r15
je 0x1400b1c12
call qword [sym.imp.KERNEL32.DLL_SetEvent]
cmp rdi, r15
je 0x1400b1c1c
mov ebp, r15d
jmp 0x1400b1c2f
call qword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebp, eax
cmp eax, r15d
mov eax, 1
cmove ebp, eax
cmp rdi, r15
je 0x1400b1c5d
mov eax, dword [rsp + 0x58]
cmp eax, 0x80000000
je 0x1400b1c4a
mov edx, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_SetThreadPriority]
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x48], r15
mov rsi, r15
mov rbx, r15
mov r8, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x54]
mov rcx, r13
call fcn.140062c34
mov rax, qword [rsp + 0x98]
cmp rax, r15
je 0x1400b1ca2
cmp word [rax], r15w
je 0x1400b1ca2
mov r8, rax
mov rdx, rdi
mov rcx, r13
call fcn.14003e230
movzx r12d, r12b
cmp eax, r15d
mov eax, 1
cmovne r12d, eax
cmp dword [rsp + 0x30], r15d
je 0x1400b1cdd
cmp rdi, r15
je 0x1400b1cdd
mov r8d, dword [rsp + 0x54]
cmp r8d, r15d
je 0x1400b1cdd
lea rdx, [0x14011a2f8]
lea rcx, [rsp + 0xa8]
call qword [sym.imp.USER32.DLL_wsprintfW]
lea rdx, [rsp + 0xa8]
mov rcx, r13
call fcn.14003cd5c
cmp r14, r15
je 0x1400b1cff
cmp rdi, r15
jne 0x1400b1d04
mov r9, qword [r13 + 0x40]
mov edx, 0x451
mov r8d, 1
mov rcx, r14
call qword [sym.imp.USER32.DLL_SendMessageW]
cmp rdi, r15
je 0x1400b1d12
cmp r12b, r15b
jne 0x1400b1d12
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
lea rcx, [rsp + 0x48]
movsxd rdi, ebp
call fcn.140057768
lea rcx, [rsp + 0x90]
call fcn.140057768
cmp rbx, r15
je 0x1400b1d4c
xor edx, edx
mov rcx, rbx
call fcn.14004bb68
lea rcx, [rbx + 0x70]
call fcn.140057768
mov rcx, rbx
call fcn.1400f39ec
cmp rsi, r15
je 0x1400b1d5e
mov edx, 1
mov rcx, rsi
call fcn.140077d30
lea rcx, [rsp + 0x80]
call fcn.140057768
lea rcx, [rsp + 0x78]
call fcn.140057768
lea rcx, [rsp + 0x68]
call fcn.140057768
mov rax, rdi
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret