Function at 0x140189550
Capabilities:
Create thread

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r14, rdx
mov rdi, rcx
mov r12d, 1
lock xadd dword [0x1402c89ac], r12d
mov rax, qword [rsp + 0xa0]
xor r13d, r13d
mov r15d, dword [rsp + 0xa8]
inc r12d
mov qword [rcx + 0x10], rax
mov ebx, r13d
mov eax, dword [rsp + 0xb0]
mov dword [rcx + 0xa8], eax
mov rax, qword [rsp + 0xc8]
mov qword [rcx], r8
mov qword [rcx + 8], r9
mov qword [rcx + 0x80], r13
mov qword [rcx + 0x88], r13
mov qword [rcx + 0x90], r13
mov qword [rcx + 0x98], r13
mov qword [rcx + 0xa0], r13
mov qword [rcx + 0xb0], r13
mov qword [rcx + 0xb8], r13
mov dword [rcx + 0xc0], r15d
mov qword [rcx + 0xc8], r13
mov qword [rcx + 0xd0], r13
mov qword [rcx + 0xd8], r13
mov qword [rcx + 0xe0], r13
mov byte [rcx + 0xe8], r13b
mov qword [rcx + 0x118], r13
mov qword [rcx + 0x120], r13
mov dword [rcx + 0x128], r13d
mov qword [rcx + 0x130], r13
mov qword [rcx + 0x138], r13
mov word [rcx + 0x140], r13w
mov byte [rcx + 0x142], r13b
test rax, rax
jne 0x1401896c8
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
je 0x14018968d
mov ecx, 0x398
call fcn.140186e68
test rax, rax
je 0x140189719
mov rcx, qword [rsp + 0xd8]
mov rdx, rsi
mov r9, qword [rsp + 0xd0]
mov r8d, dword [rdi + 0xa8]
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.14018a9b0
jmp 0x1401896c3
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x140189719
mov ecx, 0x398
call fcn.140186e68
test rax, rax
je 0x140189719
mov r9, qword [rsp + 0xd0]
mov rdx, rsi
mov r8d, dword [rdi + 0xa8]
mov rcx, rax
call fcn.14018a920
test rax, rax
je 0x140189719
mov rbx, rax
test rax, rax
je 0x140189719
mov rcx, rax
call fcn.14018ae40
test al, al
je 0x140189719
mov rsi, qword [rdi + 0x18]
mov qword [rsp + 0x88], rbp
mov rbp, rbx
mov rbx, r13
cmp rbp, rsi
je 0x140189711
test rsi, rsi
je 0x14018970d
mov rcx, rsi
call fcn.14018ab70
mov edx, 0x398
mov rcx, rsi
call fcn.140186ea4
mov qword [rdi + 0x18], rbp
mov rbp, qword [rsp + 0x88]
cmp qword [rdi + 0x18], r13
jne 0x140189839
lea rcx, [rdi + 0xf0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov qword [rdi + 0x118], rax
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov qword [rdi + 0x120], rax
test rax, rax
je 0x14018979e
cmp qword [rdi + 0x118], r13
je 0x14018979e
lea rax, [rsp + 0x80]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, [0x140188c60]
mov edx, 0x10000
mov dword [rsp + 0x20], r13d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rdi + 0xe0], rax
lea rcx, str.dbghelp.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rdi + 0x98], rax
test rax, rax
je 0x1401897ce
lea rdx, str.MiniDumpWriteDump
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0xa0], rax
lea rcx, str.rpcrt4.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rdi + 0xb0], rax
test rax, rax
je 0x1401897fe
lea rdx, str.UuidCreate
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rdi + 0xb8], rax
lea rsi, [rdi + 0x20]
cmp rsi, r14
je 0x140189820
cmp qword [r14 + 0x18], 8
mov rdx, r14
jb 0x140189814
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, rsi
call fcn.140006b90
cmp qword [rsi + 0x18], 8
jb 0x14018982a
mov rsi, qword [rsi]
mov rcx, rdi
mov qword [rdi + 0x80], rsi
call fcn.140189b60
mov rsi, qword [rdi + 0x148]
mov ecx, 0x20
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x38], r13d
mov r14, qword [rsi + 8]
call fcn.140186e68
movups xmm0, xmmword [rsp + 0x30]
mov rdx, rax
movabs rcx, 0x7fffffffffffffe
mov qword [rax], rsi
mov qword [rax + 8], r14
movups xmmword [rax + 0x10], xmm0
mov rax, qword [rdi + 0x150]
sub rcx, rax
cmp rcx, 1
jb 0x1401899a2
inc rax
mov qword [rdi + 0x150], rax
mov qword [rsi + 8], rdx
mov qword [r14], rdx
cmp r12d, 1
jne 0x1401898ad
lea rcx, [0x1402c89b0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
test r15d, r15d
je 0x140189978
lea rcx, [0x1402c89b0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1402c89a0]
test rax, rax
jne 0x1401898f3
lea ecx, [rax + 0x18]
call fcn.140186e68
test rax, rax
je 0x1401898e9
mov qword [rax], r13
mov qword [rax + 8], r13
mov qword [rax + 0x10], r13
jmp 0x1401898ec
mov rax, r13
mov qword [0x1402c89a0], rax
mov rdx, qword [rax + 8]
mov qword [rsp + 0x90], rdi
cmp qword [rax + 0x10], rdx
je 0x14018990f
mov qword [rdx], rdi
add qword [rax + 8], 8
jmp 0x14018991f
lea r8, [rsp + 0x90]
mov rcx, rax
call fcn.1401883a0
test r15b, 1
je 0x140189939
lea rcx, [0x140188d70]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov qword [rdi + 0xc8], rax
test r15b, 2
je 0x140189952
lea rcx, [0x140188ed0]
call fcn.140199d04
mov qword [rdi + 0xd0], rax
test r15b, 4
je 0x14018996b
lea rcx, [0x140189250]
call fcn.14018ddb4
mov qword [rdi + 0xd8], rax
lea rcx, [0x1402c89b0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x140189992
mov rcx, rbx
call fcn.14018ab70
mov edx, 0x398
mov rcx, rbx
call fcn.140186ea4
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rcx, str.list_T__too_long
call fcn.140157bec
int3