Function at 0x10000f5e0
Capabilities:
Accept command line arguments
Check mutex on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x510
mov rax, qword [0x100025108]
xor rax, rsp
mov qword [rsp + 0x500], rax
mov rsi, rcx
lea r9, [0x100026770]
lea r8, [0x100026778]
lea rcx, [0x100006138]
lea rdx, [0x10001026c]
call fcn.1000102a8
xor r13d, r13d
cmp dword [0x10002679c], r13d
je 0x10000f682
mov al, byte [0x1000267a0]
cmp al, 4
jae 0x10000f64a
cmp al, r13b
jne 0x10000f682
movabs rdx, 0x8000000000000000
test qword [0x100026788], rdx
je 0x10000f682
mov rcx, qword [0x100026790]
mov rax, rcx
and rax, rdx
cmp rax, rcx
jne 0x10000f682
mov rcx, qword [0x100026770]
lea rdx, [0x100006148]
call fcn.100010250
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
lea ebp, [r9 + 1]
mov edx, ebp
call qword [sym.imp.KERNEL32.dll_HeapSetInformation]
lea rax, [0x100026070]
lea rbx, [0x100026050]
mov qword [0x100026060], r13
mov qword [0x100026050], rax
lea rax, [0x100006168]
mov byte [0x100026068], bpl
mov qword [0x100026090], rax
lea rax, [0x100006178]
mov byte [0x100026069], r13b
mov word [0x10002606a], r13w
mov dword [0x10002606c], r13d
mov qword [0x100026080], r13
mov qword [0x100026098], rax
mov qword [0x100026070], r13
mov byte [0x100026088], bpl
mov byte [0x100026089], r13b
mov word [0x10002608a], r13w
mov dword [0x10002608c], r13d
mov qword [0x100025288], rbx
lea rdi, [0x100026090]
mov r8, qword [rdi]
lea rax, [rbx + 8]
lea rcx, [0x10000f530]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], r13
mov r9d, ebp
mov rdx, rbx
mov qword [rsp + 0x28], r13
add rdi, 8
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegisterTraceGuidsW]
mov rbx, qword [rbx]
cmp rbx, r13
jne 0x10000f724
lea rdx, [rsp + 0x50]
lea rcx, [0x100006bf0]
mov qword [0x100026048], rsi
mov dword [rsp + 0x50], r13d
call sub.slc.dll_SLGetWindowsInformationDWORD
lea r14, [0x100025288]
cmp eax, r13d
jl 0x10000ffb4
cmp dword [rsp + 0x50], ebp
jne 0x10000ffb4
lea rcx, [0x100006108]
call qword [sym.imp.SHLWAPI.dll_Ordinal_618]
cmp eax, r13d
je 0x10000f7da
mov rbx, qword [0x100025288]
cmp rbx, r14
je 0x10001000b
test byte [rbx + 0x1c], 4
je 0x10000ffe2
mov edx, 0xc
jmp 0x10000ffcb
mov ecx, 0x43
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cmp eax, r13d
jne 0x10000ffdb
lea r8, [0x1000069d8]
mov edx, ebp
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, r13d
cmp eax, 0xb7
lea rcx, [0x100006a08]
sete bl
xor edx, edx
call qword [sym.imp.USER32.dll_FindWindowW]
mov rdi, rax
call fcn.1000111e4
cmp eax, r13d
jne 0x10000f937
mov rcx, qword [0x100026048]
mov edi, 0x100
lea r8, [rsp + 0x300]
mov r9d, edi
mov edx, 0x3ed
call qword [sym.imp.USER32.dll_LoadStringW]
mov rcx, qword [0x100026048]
lea r8, [rsp + 0x100]
mov r9d, edi
mov edx, 0x3ee
call qword [sym.imp.USER32.dll_LoadStringW]
lea rdx, [rsp + 0x100]
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
cmp rax, r13
je 0x10000f8cd
mov rcx, rax
call qword [sym.imp.USER32.dll_SetForegroundWindow]
cmp eax, r13d
jne 0x10000ff9d
mov rbx, qword [0x100025288]
cmp rbx, r14
je 0x10000ffa4
test byte [rbx + 0x1c], 4
je 0x10000ffa4
mov edx, 0xa
mov rcx, qword [rbx + 0x10]
lea r8, [0x100006380]
call fcn.10000a624
jmp 0x10000ff9d
cmp ebx, r13d
je 0x10000f8f3
mov rbx, qword [0x100025288]
cmp rbx, r14
je 0x10000ffa4
test byte [rbx + 0x1c], 0x10
je 0x10000ffa4
mov edx, 0xb
jmp 0x10000f8b8
mov rdx, qword [0x100026048]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], 0xffff
lea r9, [rsp + 0x300]
lea r8, [rsp + 0x100]
xor ecx, ecx
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], r13
call qword [sym.imp.COMCTL32.dll_Ordinal_344]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x10000ff9d
cmp rdi, r13
je 0x10000fa34
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rbp, [0x100006c64]
mov rdx, rbp
mov rcx, rax
call qword [sym.imp.msvcrt.dll_wcstok]
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.msvcrt.dll_wcstok]
mov rdx, rbp
xor ecx, ecx
mov rbx, rax
call qword [sym.imp.msvcrt.dll_wcstok]
lea rcx, [0x100006390]
mov rdx, rbx
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
cmp eax, r13d
jne 0x10000f998
cmp rbp, r13
je 0x10000f9dd
cmp rsi, rdi
jne 0x10000f9dd
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_PostMessageW]
cmp eax, r13d
jne 0x10000ff9d
mov rbx, qword [0x100025288]
cmp rbx, r14
je 0x10000ffa4
test byte [rbx + 0x1c], 4
je 0x10000ffa4
mov edx, 0xc
jmp 0x10000f8b8
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetForegroundWindow]
cmp eax, r13d
jne 0x10000fa0f
mov rbx, qword [0x100025288]
cmp rbx, r14
je 0x10000ffa4
test byte [rbx + 0x1c], 4
je 0x10000ffa4
mov edx, 0xd
jmp 0x10000f8b8
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsIconic]
cmp eax, r13d
je 0x10000ff9d
mov edx, 9
mov rcx, rdi
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x10000ff9d
cmp ebx, r13d
je 0x10000fa5d
mov rbx, qword [0x100025288]
cmp rbx, r14
je 0x10000ffa4
test byte [rbx + 0x1c], 0x10
je 0x10000ffa4
mov edx, 0xe
jmp 0x10000f8b8
mov rax, qword [0x100025288]
mov r8, qword [rax + 0x30]
cmp r8, r13
je 0x10000fa94
lea rax, [0x100006a30]
lea rcx, [0x100006128]
mov r9b, bpl
mov edx, 0x1f5
mov qword [rsp + 0x20], rax
call fcn.100010164
mov rax, qword [0x100025288]
mov r8, qword [rax + 0x30]
cmp r8, r13
je 0x10000fab1
lea rcx, [0x100006128]
mov r9b, bpl
mov edx, 0x205
call fcn.100009804
lea rcx, [0x100006390]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_RegisterApplicationRestart]
cmp eax, r13d
jge 0x10000faef
mov rcx, qword [0x100025288]
cmp rcx, r14
je 0x10000faef
test byte [rcx + 0x1c], 4
je 0x10000faef
mov rcx, qword [rcx + 0x10]
lea r8, [0x100006380]
mov edx, 0xf
mov r9d, eax
call fcn.100009880
lea r8, [rsp + 0x60]
lea rdx, [0x100006bb8]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassInfoW]
lea rax, [0x100006a70]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0xa0], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
mov edx, 0x64
mov rcx, rsi
call qword [sym.imp.USER32.dll_LoadIconW]
lea rdi, [0x100006a08]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xa0], rdi
call qword [sym.imp.USER32.dll_RegisterClassW]
lea r8, [rsp + 0x60]
lea rdx, [0x100006a98]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassInfoW]
lea rax, [0x100006aa8]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0xa0], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
lea rax, [0x100006ad8]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0xa0], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
lea r8, [rsp + 0x60]
lea rdx, [0x100006b10]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassInfoW]
lea rax, [0x100006b20]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0xa0], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
lea r8, [rsp + 0x60]
lea rdx, [0x100006b10]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetClassInfoW]
lea rax, [0x100006b48]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0xa0], rax
call qword [sym.imp.USER32.dll_RegisterClassW]
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
cmp eax, r13d
jl 0x10000ff14
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x30], r13
xor r9d, r9d
xor r8d, r8d
or edx, 0xffffffff
xor ecx, ecx
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 2
call qword [sym.imp.ole32.dll_CoInitializeSecurity]
cmp eax, r13d
jge 0x10000fc6f
mov rcx, qword [0x100025288]
cmp rcx, r14
je 0x10000ff14
test byte [rcx + 0x1c], 4
je 0x10000ff14
mov rcx, qword [rcx + 0x10]
lea r8, [0x100006380]
mov edx, 0x10
call fcn.10000a624
jmp 0x10000ff14
mov ecx, 0x2e8
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rbx, rax
cmp rax, r13
je 0x10000fd00
mov qword [rax + 8], r13
mov qword [rax + 0x28], r13
mov qword [rax + 0x30], r13
mov dword [rax + 0x38], r13d
xor edx, edx
lea rax, [0x100006ec0]
mov qword [rbx], rax
mov qword [rbx + 0x278], r13
mov qword [rbx + 0x280], r13
mov dword [rbx + 0x288], ebp
lea rcx, [rbx + 0x290]
lea r8d, [rdx + 0x40]
mov qword [rbx + 0x48], r13
mov dword [rbx + 0x58], ebp
call sub.msvcrt.dll_memset
mov qword [rbx + 0x2e0], r13
mov qword [rbx + 0x60], r13
mov word [rbx + 0x68], r13w
mov dword [rbx + 0x268], r13d
mov dword [rbx + 0x26c], ebp
mov dword [rbx + 0x270], r13d
mov qword [rbx + 0x2d0], r13
mov dword [rbx + 0x2d8], r13d
mov qword [rbx + 0x40], r13
jmp 0x10000fd03
mov rbx, r13
cmp rbx, r13
je 0x10000fee7
cmp qword [rbx + 0x28], r13
jne 0x10000fd69
call fcn.10001e3d8
mov qword [rbx + 0x28], rax
cmp rax, r13
jne 0x10000fd69
mov ecx, 0xe
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [0x100025288]
cmp rcx, r14
je 0x10000fd52
test byte [rcx + 0x1c], 4
je 0x10000fd52
mov edx, 0x12
mov rcx, qword [rcx + 0x10]
lea r8, [0x100006380]
call fcn.10000a624
mov rax, qword [rbx]
mov edx, ebp
mov rcx, rbx
call qword [rax + 8]
lea rdi, [0x100006a08]
jmp 0x10000ff0e
lea rdi, [rbx + 0x10]
cmp rdi, r13
je 0x10000fed3
mov qword [rdi], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [0x1000259e8]
mov dword [rdi + 8], eax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r11, qword [0x100025a10]
mov qword [rdi + 0x10], r11
lea rcx, [0x1000259e8]
mov qword [0x100025a10], rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [0x100025990]
xor r8d, r8d
lea edx, [r8 + 0x64]
lea r9, [0x10001004c]
mov qword [rsp + 0x20], r13
call qword [sym.imp.USER32.dll_CreateDialogParamW]
cmp rax, r13
je 0x10000fd2b
mov rax, qword [0x100025288]
mov r8, qword [rax + 0x30]
cmp r8, r13
je 0x10000fe07
lea rax, [0x100006b80]
lea rcx, [0x100006128]
mov r9b, 2
mov edx, 0x1f5
mov qword [rsp + 0x20], rax
call fcn.100010164
call qword [sym.imp.UxTheme.dll_BufferedPaintInit]
cmp eax, r13d
jl 0x10000feaf
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0xb0], ebp
mov qword [rsp + 0xb8], r13
mov dword [rsp + 0xc0], r13d
mov dword [rsp + 0xc4], r13d
call sub.gdiplus.dll_GdiplusStartup
jmp 0x10000fe7f
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0xc8]
call qword [sym.imp.USER32.dll_IsDialogMessageW]
cmp eax, r13d
jne 0x10000fe7f
lea rcx, [rsp + 0xc8]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0xc8]
call qword [sym.imp.USER32.dll_DispatchMessageW]
lea rcx, [rsp + 0xc8]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageW]
cmp eax, r13d
jne 0x10000fe4c
mov rcx, qword [rsp + 0x50]
call sub.gdiplus.dll_GdiplusShutdown
call qword [sym.imp.UxTheme.dll_BufferedPaintUnInit]
jmp 0x10000fd52
mov rcx, qword [0x100025288]
cmp rcx, r14
je 0x10000fd52
test byte [rcx + 0x1c], 4
je 0x10000fd52
mov edx, 0x11
jmp 0x10000fd42
xor r9d, r9d
xor r8d, r8d
mov edx, ebp
mov ecx, 0xc0000005
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov rcx, qword [0x100025288]
cmp rcx, r14
je 0x10000ff0e
test byte [rcx + 0x1c], 4
je 0x10000ff0e
mov rcx, qword [rcx + 0x10]
lea r8, [0x100006380]
mov edx, 0x13
call fcn.10000a624
call qword [sym.imp.ole32.dll_CoUninitialize]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.USER32.dll_UnregisterClassW]
lea rcx, [0x100006a70]
mov rdx, rsi
call qword [sym.imp.USER32.dll_UnregisterClassW]
lea rcx, [0x100006aa8]
mov rdx, rsi
call qword [sym.imp.USER32.dll_UnregisterClassW]
lea rcx, [0x100006ad8]
mov rdx, rsi
call qword [sym.imp.USER32.dll_UnregisterClassW]
lea rcx, [0x100006b20]
mov rdx, rsi
call qword [sym.imp.USER32.dll_UnregisterClassW]
lea rcx, [0x100006b48]
mov rdx, rsi
call qword [sym.imp.USER32.dll_UnregisterClassW]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rbx, qword [0x100025288]
mov r8, qword [rbx + 0x30]
cmp r8, r13
je 0x10000ffa4
lea rcx, [0x100006128]
mov r9b, 2
mov edx, 0x1f6
call fcn.100009804
mov rbx, qword [0x100025288]
cmp r12, r13
je 0x10000ffe2
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10000ffdb
mov rbx, qword [0x100025288]
cmp rbx, r14
je 0x10001000b
test byte [rbx + 0x1c], 4
je 0x10000ffe2
mov edx, 0xb
mov rcx, qword [rbx + 0x10]
lea r8, [0x100006360]
call fcn.10000a624
mov rbx, qword [0x100025288]
cmp rbx, r14
je 0x10001000b
jmp 0x10000ffff
mov rcx, qword [rbx + 8]
cmp rcx, r13
je 0x10000fffc
call qword [sym.imp.ADVAPI32.dll_UnregisterTraceGuids]
mov qword [rbx + 8], r13
mov rbx, qword [rbx]
cmp rbx, r13
jne 0x10000ffe9
mov qword [0x100025288], r14
lea rcx, [0x100026770]
call fcn.100010134
xor eax, eax
mov rcx, qword [rsp + 0x500]
xor rcx, rsp
call fcn.100020bf0
lea r11, [rsp + 0x510]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret