Function at 0x1401858c0
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 [0x1402c19ac], 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 0x140185a38
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
je 0x1401859fd
mov ecx, 0x398
call fcn.1401831d8
test rax, rax
je 0x140185a89
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.140186d20
jmp 0x140185a33
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
je 0x140185a89
mov ecx, 0x398
call fcn.1401831d8
test rax, rax
je 0x140185a89
mov r9, qword [rsp + 0xd0]
mov rdx, rsi
mov r8d, dword [rdi + 0xa8]
mov rcx, rax
call fcn.140186c90
test rax, rax
je 0x140185a89
mov rbx, rax
test rax, rax
je 0x140185a89
mov rcx, rax
call fcn.1401871b0
test al, al
je 0x140185a89
mov rsi, qword [rdi + 0x18]
mov qword [rsp + 0x88], rbp
mov rbp, rbx
mov rbx, r13
cmp rbp, rsi
je 0x140185a81
test rsi, rsi
je 0x140185a7d
mov rcx, rsi
call fcn.140186ee0
mov edx, 0x398
mov rcx, rsi
call fcn.140183214
mov qword [rdi + 0x18], rbp
mov rbp, qword [rsp + 0x88]
cmp qword [rdi + 0x18], r13
jne 0x140185ba9
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 0x140185b0e
cmp qword [rdi + 0x118], r13
je 0x140185b0e
lea rax, [rsp + 0x80]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, [0x140184fd0]
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 0x140185b3e
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 0x140185b6e
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 0x140185b90
cmp qword [r14 + 0x18], 8
mov rdx, r14
jb 0x140185b84
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
mov rcx, rsi
call fcn.140006b90
cmp qword [rsi + 0x18], 8
jb 0x140185b9a
mov rsi, qword [rsi]
mov rcx, rdi
mov qword [rdi + 0x80], rsi
call fcn.140185ed0
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.1401831d8
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 0x140185d12
inc rax
mov qword [rdi + 0x150], rax
mov qword [rsi + 8], rdx
mov qword [r14], rdx
cmp r12d, 1
jne 0x140185c1d
lea rcx, [0x1402c19b0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
test r15d, r15d
je 0x140185ce8
lea rcx, [0x1402c19b0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x1402c19a0]
test rax, rax
jne 0x140185c63
lea ecx, [rax + 0x18]
call fcn.1401831d8
test rax, rax
je 0x140185c59
mov qword [rax], r13
mov qword [rax + 8], r13
mov qword [rax + 0x10], r13
jmp 0x140185c5c
mov rax, r13
mov qword [0x1402c19a0], rax
mov rdx, qword [rax + 8]
mov qword [rsp + 0x90], rdi
cmp qword [rax + 0x10], rdx
je 0x140185c7f
mov qword [rdx], rdi
add qword [rax + 8], 8
jmp 0x140185c8f
lea r8, [rsp + 0x90]
mov rcx, rax
call fcn.140184710
test r15b, 1
je 0x140185ca9
lea rcx, [0x1401850e0]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov qword [rdi + 0xc8], rax
test r15b, 2
je 0x140185cc2
lea rcx, [0x140185240]
call fcn.140196074
mov qword [rdi + 0xd0], rax
test r15b, 4
je 0x140185cdb
lea rcx, [0x1401855c0]
call fcn.14018a124
mov qword [rdi + 0xd8], rax
lea rcx, [0x1402c19b0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x140185d02
mov rcx, rbx
call fcn.140186ee0
mov edx, 0x398
mov rcx, rbx
call fcn.140183214
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.140153f5c
int3