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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x1d0]
sub rsp, 0x2d0
mov rax, qword [0x14003c040]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
mov r14, rcx
lea r8, str.Local878ec006_8bb7_4487_a9d9_6ab726fdad61
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rsi, rax
test rax, rax
je 0x140015698
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140015698
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [0x14003e5b0], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rax
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
xor edi, edi
mov qword [rbp + 0x60], rdi
lea edx, [rax + 2]
lea rcx, [rbp + 0x18]
call fcn.14001817c
mov qword [rbp + 0x68], 0xffffffffffffffff
mov dword [rbp + 0x70], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbp + 0x10], rax
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp + 0x78], rax
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x80], rax
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xc0]
call fcn.14002d1f0
mov dword [rsp + 0x48], edi
lea rax, str.litm
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], 0xffffffff
lea rax, str.fpid
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0xffffffff
lea rax, [0x1400379ac]
mov qword [rsp + 0x20], rax
lea r9, str.ipc0
lea r8, str._s__s_x__s_x__s_x
mov edx, 0x80
lea rcx, [rbp + 0xc0]
call fcn.140014b60
lea rcx, [rbp + 0xc0]
mov rbx, 0xffffffffffffffff
mov rax, rbx
nop
inc rax
cmp word [rcx + rax*2], di
jne 0x140015360
test rax, rax
je 0x140015602
mov dword [rbp - 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov r9d, 0x30
lea r8, [rbp - 0x40]
xor edx, edx
call qword [rbp + 0x80]
lea rax, [rbp + 0xc0]
inc rbx
cmp word [rax + rbx*2], di
jne 0x1400153a0
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax + 0x20]
movzx eax, word [rcx + 0x72]
shr ax, 1
cmp ax, bx
jbe 0x1400153e3
add bx, bx
mov word [rcx + 0x70], bx
mov rax, qword [rbp - 0x38]
mov rcx, qword [rax + 0x20]
movzx edx, word [rcx + 0x72]
shr rdx, 1
lea r8, [rbp + 0xc0]
mov rcx, qword [rcx + 0x78]
call fcn.14002142c
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0x4000
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov dword [rsp + 0x70], 0x50
mov ebx, 3
mov dword [rsp + 0x74], ebx
lea rax, [0x140015040]
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x70], rdi
mov edx, 0x7f00
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov qword [rbp - 0x68], rax
movdqa xmm0, xmmword [0x140037dc0]
movdqa xmmword [rbp - 0x60], xmm0
lea r15, str.BitsumSessionAgent
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], rdi
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_RegisterClassExW]
test ax, ax
jne 0x140015467
mov ebx, 2
jmp 0x140015623
lea rax, [rbp]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
mov r9d, 0xcf0000
lea r8, str.Bitsum_Session_Agent
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov r14, rax
test rax, rax
jne 0x1400154ce
lea r9d, [rax + 0x10]
lea r8, str.Bitsum_Session_Agent
lea rdx, str.Call_to_CreateWindow_failed_
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x140015623
mov ecx, 0x10
call fcn.140016a98
lea rcx, [rbp]
mov qword [rax], rcx
lea rcx, [0x140014bc0]
mov qword [rax + 8], rcx
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
mov r9, rax
lea r8, [0x1400159a0]
xor edx, edx
xor ecx, ecx
call fcn.14002134c
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1400156f6
cmp dword [rbp + 8], edi
jne 0x1400156f0
xorps xmm0, xmm0
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmmword [rbp], xmm1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x90]
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
je 0x140015588
nop dword [rax]
cmp eax, 0xffffffff
je 0x14001556f
lea rcx, [rbp + 0x90]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp + 0x90]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x90]
call qword [sym.imp.USER32.dll_GetMessageW]
test eax, eax
jne 0x140015550
cmp dword [rbp + 8], edi
je 0x1400155d2
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEvent]
cmp dword [rbp + 8], edi
je 0x1400156cf
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [rbp + 8], eax
je 0x1400156da
movaps xmm0, xmmword [rbp]
movaps xmmword [rsp + 0x60], xmm0
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.1400183a0
test eax, eax
jne 0x1400156e5
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
mov rcx, r14
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, qword [0x14003e5b0]
test rcx, rcx
je 0x1400155f7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x140015625
mov r9d, 0x10
lea r8, str.Bitsum_Session_Agent
lea rdx, str.Commandline_is_of_insufficient_size_
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov ebx, 4
mov edi, ebx
cmp dword [rbp + 8], 0
je 0x140015671
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEvent]
cmp dword [rbp + 8], 0
je 0x140015705
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [rbp + 8], eax
je 0x140015710
movaps xmm0, xmmword [rbp]
movaps xmmword [rsp + 0x60], xmm0
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.1400183a0
test eax, eax
jne 0x14001571b
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
mov rcx, qword [rbp + 0x78]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x18]
call fcn.140016d40
cmp dword [rbp + 8], 0
jne 0x1400156c9
mov eax, edi
jmp 0x14001569d
mov eax, 1
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.140016720
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.140021494
nop
mov ecx, 1
call fcn.140017ec0
int3
mov ecx, 5
call fcn.140017ec0
int3
mov ecx, 2
call fcn.140017ec0
int3
call fcn.140021494
int3
mov dword [rsp + 0x68], edi
mov ecx, 6
call fcn.140017ec0
nop
mov ecx, 1
call fcn.140017ec0
int3
mov ecx, 5
call fcn.140017ec0
int3
mov ecx, 2
call fcn.140017ec0
int3