Function at 0x14001ee94
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rdi, qword [rsp + 0xc8]
mov r15, rdx
mov rsi, rcx
mov r13d, 1
lock xadd dword [0x140057bec], r13d
xor r12d, r12d
lea rax, [0x1400174b4]
mov qword [rcx + 8], rax
inc r13d
mov rax, qword [rsp + 0xb0]
mov ebx, r12d
mov qword [rcx + 0x10], rax
mov eax, dword [rsp + 0xc0]
lea ebp, [r12 + 7]
mov dword [rcx + 0xa8], eax
mov dword [rcx + 0xc0], ebp
mov qword [rcx], r12
mov qword [rcx + 0x80], r12
mov qword [rcx + 0x88], r12
mov qword [rcx + 0x90], r12
mov qword [rcx + 0x98], r12
mov qword [rcx + 0xa0], r12
mov qword [rcx + 0xb0], r12
mov qword [rcx + 0xb8], r12
mov qword [rcx + 0xc8], r12
mov qword [rcx + 0xd0], r12
mov qword [rcx + 0xd8], r12
mov qword [rcx + 0xe0], r12
mov byte [rcx + 0xe8], r12b
mov qword [rcx + 0x118], r12
mov qword [rcx + 0x120], r12
mov dword [rcx + 0x128], r12d
mov qword [rcx + 0x130], r12
mov qword [rcx + 0x138], r12
mov word [rcx + 0x140], r12w
mov byte [rcx + 0x142], r12b
test rdi, rdi
je 0x14001f062
mov ecx, 0x370
call fcn.140038700
mov ebx, dword [rsi + 0xa8]
mov rdx, rdi
mov rcx, rax
mov r14, rax
mov qword [rax], r12
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rbp
call fcn.14000f370
xorps xmm0, xmm0
mov qword [r14 + 0x20], r12
movups xmmword [r14 + 0x28], xmm0
lea rcx, [r14 + 0x68]
mov dword [r14 + 0x38], ebx
xor edx, edx
mov qword [r14 + 0x40], r12
mov r8d, 0x308
mov qword [r14 + 0x48], r12
mov qword [r14 + 0x50], r12
mov qword [r14 + 0x58], r12
mov qword [r14 + 0x60], r12
call fcn.140021320
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x14001f003
movups xmm0, xmmword [rax]
movdqu xmmword [r14 + 0x28], xmm0
mov rbx, r14
cmp qword [r14 + 0x40], r12
jne 0x14001f038
mov rcx, r14
call fcn.140020034
mov rbp, rax
test rax, rax
je 0x14001f062
mov rdx, rax
mov rcx, r14
call fcn.140020108
mov rcx, rbp
mov dil, al
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test dil, dil
je 0x14001f062
mov rdi, qword [rsi + 0x18]
mov rbx, r12
cmp r14, rdi
je 0x14001f062
test rdi, rdi
je 0x14001f05e
mov rcx, rdi
call fcn.14001fff0
mov edx, 0x370
mov rcx, rdi
call fcn.140020968
mov qword [rsi + 0x18], r14
cmp qword [rsi + 0x18], r12
jne 0x14001f1b4
lea rcx, [rsi + 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 [rsi + 0x118], rax
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov qword [rsi + 0x120], rax
test rax, rax
je 0x14001f0e4
cmp qword [rsi + 0x118], r12
je 0x14001f0e4
lea rax, [rsp + 0x30]
mov r9, rsi
mov qword [rsp + 0x28], rax
lea r8, [0x14001f59c]
mov edx, 0x10000
mov dword [rsp + 0x20], r12d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsi + 0xe0], rax
lea rcx, str.dbghelp.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsi + 0x98], rax
test rax, rax
je 0x14001f114
lea rdx, str.MiniDumpWriteDump
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xa0], rax
lea rcx, str.rpcrt4.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsi + 0xb0], rax
test rax, rax
je 0x14001f144
lea rdx, [0x14004e2c0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsi + 0xb8], rax
lea r14, [rsi + 0x20]
cmp r14, r15
je 0x14001f19b
cmp qword [r15 + 0x18], 8
mov rdx, qword [r15 + 0x10]
jb 0x14001f15b
mov r15, qword [r15]
cmp rdx, qword [r14 + 0x18]
ja 0x14001f190
cmp qword [r14 + 0x18], 8
mov r12, r14
jb 0x14001f16e
mov r12, qword [r14]
lea rdi, [rdx + rdx]
mov qword [r14 + 0x10], rdx
mov r8, rdi
mov rdx, r15
mov rcx, r12
call fcn.1400214e0
xor eax, eax
mov word [r12 + rdi], ax
xor r12d, r12d
jmp 0x14001f19b
mov r9, r15
mov rcx, r14
call fcn.14000f494
cmp qword [r14 + 0x18], 8
jb 0x14001f1a5
mov r14, qword [r14]
mov rcx, rsi
mov qword [rsi + 0x80], r14
call fcn.14001fec0
mov rdi, qword [rsi + 0x148]
movabs rax, 0x7ffffffffffffff
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x40], r12d
cmp qword [rsi + 0x150], rax
je 0x14001f2e9
mov ecx, 0x20
call fcn.140038700
movups xmm0, xmmword [rsp + 0x38]
movdqu xmmword [rax + 0x10], xmm0
inc qword [rsi + 0x150]
mov rcx, qword [rdi + 8]
mov qword [rax], rdi
mov qword [rax + 8], rcx
mov qword [rdi + 8], rax
lea rdi, [0x140057bf0]
mov qword [rcx], rax
cmp r13d, 1
jne 0x14001f21f
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x140057c18]
test rax, rax
jne 0x14001f24e
lea ecx, [rax + 0x18]
call fcn.140038700
mov qword [0x140057c18], rax
mov qword [rax], r12
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
mov rdx, qword [rax + 8]
mov qword [rsp + 0x30], rsi
cmp rdx, qword [rax + 0x10]
je 0x14001f267
mov qword [rdx], rsi
add qword [rax + 8], 8
jmp 0x14001f274
lea r8, [rsp + 0x30]
mov rcx, rax
call fcn.14001199c
lea rcx, [0x14001f6d8]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x14001f7d8]
mov qword [rsi + 0xc8], rax
call fcn.14002692c
lea rcx, [0x14001f994]
mov qword [rsi + 0xd0], rax
call fcn.140022494
mov rcx, rdi
mov qword [rsi + 0xd8], rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x14001f2d1
mov rcx, rbx
call fcn.14001fff0
mov edx, 0x370
mov rcx, rbx
call fcn.140020968
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.list_too_long
call fcn.140038994
int3