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

Disassembly:
push 0x40
push 0x10028a8
call fcn.01034d88
mov eax, dword [0x10372b8]
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x34], eax
push esi
push 0x103711c
mov ebx, 0x1037368
mov ecx, ebx
call fcn.01012cf1
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x10373d0], eax
xor eax, eax
mov dword [0x10373d4], eax
mov esi, 0x100289c
lea edi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [ebp - 0x28], eax
xor edi, edi
inc edi
mov dword [ebp - 0x2c], edi
push dword [0x1037118]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x30], eax
xor esi, esi
cmp eax, esi
jne 0x1012e73
mov eax, edi
jmp 0x1012ff7
push 0x1388
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x1012e8d
mov esi, edi
jmp 0x1012f18
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x34]
call fcn.01012ca4
mov edi, eax
cmp edi, esi
je 0x1012f06
mov esi, dword [sym.imp.KERNEL32.dll_CompareStringW]
push 0xffffffffffffffff
push 0x1002884
push 0xffffffffffffffff
push edi
push 1
push 0x7f
call esi
cmp eax, 2
je 0x1012ee8
push 0xffffffffffffffff
push 0x1002870
push 0xffffffffffffffff
push edi
push 1
push 0x7f
call esi
cmp eax, 2
je 0x1012ef2
lea eax, [ebp - 0x24]
push eax
push edi
call fcn.01012ca4
mov edi, eax
test edi, edi
jne 0x1012eac
jmp 0x1012f04
push 0
push ebx
call fcn.0102f662
jmp 0x1012efd
push 0
push 1
mov ecx, ebx
call fcn.01012396
mov dword [ebp - 0x28], eax
and dword [ebp - 0x2c], 0
xor esi, esi
cmp dword [ebp - 0x2c], esi
je 0x1012fd5
call fcn.01012865
test eax, eax
jge 0x1012f28
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
jmp 0x1012ff7
push 1
push 4
push ebx
call fcn.0102f5ee
push 0xffffffffffffffff
push 0xffffffffffffffff
mov eax, dword [0x1037360]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x1012fb2
mov ecx, dword [0x10376c4]
cmp ecx, esi
je 0x1012f68
cmp dword [ecx + 0x1c], esi
je 0x1012f68
lea eax, [ebp - 0x50]
push eax
call fcn.0102bd53
test eax, eax
jne 0x1012fb2
mov eax, dword [0x1037690]
cmp eax, esi
je 0x1012f87
mov eax, dword [eax + 4]
cmp eax, esi
je 0x1012f87
lea ecx, [ebp - 0x50]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x1012fb2
mov ecx, dword [0x1037e94]
cmp ecx, esi
je 0x1012f9e
lea eax, [ebp - 0x50]
push eax
call fcn.010348d8
test eax, eax
jne 0x1012fb2
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push esi
push esi
lea eax, [ebp - 0x50]
push esi
push eax
call edi
cmp eax, 1
je 0x1012f4c
mov dword [0x10373d4], 1
push ebx
call fcn.0102f62b
call fcn.01012598
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], esi
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x1012ff0
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x1c]
call fcn.01034a90
call fcn.01034dc3
ret 0x10