Function at 0x140035920
Capabilities:
Check mutex on windows
Create thread

Disassembly:
sub rsp, 0x68
mov rax, qword [0x140064018]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x70], rbx
lea rdx, [0x14005f058]
mov qword [rsp + 0x78], rbp
lea rcx, [0x14005f010]
mov qword [rsp + 0x50], r15
call fcn.140028d60
xor ecx, ecx
call fcn.140038c74
mov rcx, rax
call fcn.140038bc4
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov ecx, 0x20
mov qword [0x140065e78], rax
call fcn.140038534
xor r15d, r15d
mov qword [0x140065e80], rax
mov rbx, rax
test rax, rax
je 0x1400359ba
lea ecx, [r15 + 0x40]
mov qword [rax + 8], r15
call fcn.140038534
mov qword [rbx], rax
test rax, rax
je 0x1400359ba
mov qword [rbx + 0x10], 8
mov dword [rbx + 0x18], 0x100
jmp 0x1400359c1
mov qword [0x140065e80], r15
call fcn.140038b98
mov ebp, eax
mov eax, 0x45e7b273
imul ebp
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1d4c0
sub ebp, ecx
mov rcx, qword [0x140065e88]
add ebp, 0x1d4c0
mov edx, ebp
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x140035b92
mov qword [rsp + 0x80], rsi
mov eax, 0x10624dd3
mul ebp
mov qword [rsp + 0x88], rdi
mov eax, 0x88888889
shr edx, 6
mul edx
mov qword [rsp + 0x60], r12
mov r12, 0xffffffffffffffff
mov qword [rsp + 0x58], r14
mov r14d, edx
shr r14d, 5
nop word [rax + rax]
add dword [0x140065e5c], r14d
lea r8, [0x1400358d0]
mov qword [rsp + 0x28], r15
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], r15d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140065e80]
test rax, rax
je 0x140035b5e
mov rdi, qword [rax + 8]
mov rbx, rax
mov rcx, qword [rax + 0x10]
cmp rcx, rdi
jne 0x140035ad2
mov esi, 0x200
mov eax, 8
cmp rcx, rsi
cmovb rsi, rcx
add rsi, rcx
mov rcx, qword [rbx]
mul rsi
cmovo rax, r12
mov rdx, rax
call fcn.140038518
test rax, rax
je 0x140035ac9
mov r8, qword [rbx + 8]
mov qword [rbx], rax
mov rax, qword [0x140065e80]
mov qword [rbx + 0x10], rsi
jmp 0x140035ad5
mov rax, qword [0x140065e80]
jmp 0x140035b06
mov r8, rdi
cmp r8, rdi
jbe 0x140035af6
nop word [rax + rax]
mov rcx, qword [rbx]
lea rdx, [rcx + r8*8]
dec r8
mov rcx, qword [rdx - 8]
mov qword [rdx], rcx
cmp r8, rdi
ja 0x140035ae0
mov rcx, qword [rbx]
lea rdx, [rsp + 0x30]
mov qword [rcx + rdi*8], rdx
inc qword [rbx + 8]
test rax, rax
je 0x140035b5e
mov edi, r15d
cmp qword [rax + 8], rdi
jbe 0x140035b5e
mov rbx, r15
mov rsi, r15
nop word [rax + rax]
mov rcx, qword [rax]
lea rdx, [rsp + 0x38]
mov rcx, qword [rsi + rcx]
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
je 0x140035b48
cmp dword [rsp + 0x38], 0x103
je 0x140035b48
mov rdx, rbx
call fcn.1400280b0
mov rax, qword [0x140065e80]
inc edi
add rsi, 8
movsxd rbx, edi
cmp rbx, qword [rax + 8]
jb 0x140035b20
mov rcx, qword [0x140065e88]
mov edx, ebp
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x140035a40
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
mov rcx, qword [0x140065e78]
mov r15, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
test rcx, rcx
je 0x140035bb3
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140003140
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.140036180
add rsp, 0x68
ret