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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x424
mov eax, dword [0x100f008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
mov esi, 0x100f028
push esi
call fcn.01006b22
push 0x1001534
mov dword [0x100f048], 0x100134c
mov dword [section..data], esi
call fcn.01006bf3
push 0x10014fc
push 1
push ebx
mov dword [0x100f04c], edi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x414], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
sub edi, 0xb7
neg edi
sbb edi, edi
inc edi
call fcn.0100a07d
test eax, eax
je 0x10071ea
call fcn.01009fbf
test eax, eax
jne 0x10071ea
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
cmp eax, ebx
je 0x10071ea
lea ecx, [ebp - 0x40c]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x408], eax
cmp eax, ebx
je 0x10071ea
cmp dword [ebp - 0x40c], 1
mov dword [ebp - 0x41c], ebx
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x410], ebx
mov dword [ebp - 0x420], ebx
jle 0x10070a1
mov ebx, dword [sym.imp.msvcrt.dll_wcsncmp]
xor eax, eax
inc eax
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x408]
lea esi, [ecx + eax*4]
mov eax, dword [esi]
test eax, eax
je 0x1007086
push 6
push eax
push 0x1001458
call ebx
add esp, 0xc
test eax, eax
jne 0x100702e
mov dword [ebp - 0x410], 1
jmp 0x1007086
push 5
push dword [esi]
push 0x100144c
call ebx
add esp, 0xc
test eax, eax
jne 0x100704c
mov dword [ebp - 0x420], 1
jmp 0x1007086
push 7
push dword [esi]
push 0x100143c
call ebx
add esp, 0xc
test eax, eax
jne 0x100706a
mov dword [ebp - 0x41c], 1
jmp 0x1007086
push 0xc
push dword [esi]
push 0x1001420
call ebx
add esp, 0xc
test eax, eax
jne 0x1007086
mov dword [ebp - 0x418], 1
mov eax, dword [ebp - 0x424]
inc eax
cmp eax, dword [ebp - 0x40c]
mov dword [ebp - 0x424], eax
jl 0x1007002
xor ebx, ebx
call fcn.0100a000
test eax, eax
jne 0x1007167
cmp dword [ebp - 0x41c], ebx
jne 0x10071de
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
mov edi, 0x100
push edi
lea eax, [ebp - 0x204]
push eax
push 0x3fc
push dword [0x100f04c]
call esi
push edi
lea eax, [ebp - 0x404]
push eax
push 0x3fd
push dword [0x100f04c]
call esi
lea eax, [ebp - 0x204]
push eax
push ebx
call dword [sym.imp.USER32.dll_FindWindowW]
cmp eax, ebx
jne 0x100712a
push ebx
push 0xffff
push 1
push ebx
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x204]
push eax
push dword [0x100f04c]
push ebx
call dword [sym.imp.COMCTL32.dll_Ordinal_344]
jmp 0x10071de
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
test eax, eax
jne 0x10071de
mov eax, dword [section..data]
cmp eax, section..data
je 0x10071de
test byte [eax + 0x1c], 4
je 0x10071de
push 0x1001468
push 0xf
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01006742
jmp 0x10071de
cmp dword [ebp - 0x40c], 1
jne 0x1007177
mov eax, 0x10014f8
jmp 0x1007180
mov eax, dword [ebp - 0x408]
mov eax, dword [eax + 4]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_RegisterApplicationRestart]
cmp eax, ebx
jge 0x10071b3
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x10071b3
test byte [ecx + 0x1c], 4
je 0x10071b3
push eax
push 0x1001468
push 0x10
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01006af6
cmp dword [ebp - 0x410], ebx
je 0x10071c9
push dword [ebp - 0x418]
push edi
call fcn.01006e4f
jmp 0x10071de
push edi
cmp dword [ebp - 0x420], ebx
je 0x10071d9
call fcn.01006cac
jmp 0x10071de
call fcn.01006d7e
push dword [ebp - 0x408]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 0x414], ebx
pop edi
pop esi
pop ebx
je 0x1007201
push dword [ebp - 0x414]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
call fcn.01006c41
mov ecx, dword [ebp - 4]
xor ecx, ebp
xor eax, eax
call fcn.0100d5e7
leave
ret 0x10