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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4820ac
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x4aa0cc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x44], ecx
push str.LightProxy_InitInstance
push 0
push 0x491070
call fcn.0040e7d0
add esp, 0xc
push str.LIGHTPROXY_C43F549F_8A3E_4F13_ABB0_00144129AC97
push 1
call fcn.004029f0
mov ecx, eax
call fcn.00402a70
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x4c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0xb7
jne 0x403080
push str.LightProxy_InitInstance_CreateMutex_Had_Existed
push 0
push 0x491084
call fcn.0040e7d0
add esp, 0xc
cmp dword [ebp - 0x4c], 0
je 0x403079
mov eax, dword [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4c], 0
xor eax, eax
jmp 0x40323b
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x48], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x40]
call fcn.00403380
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00403380
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
push str.LightProxy_lpstrCmd_s_nArgCount_d
push 0
push 0x491140
call fcn.0040e7d0
add esp, 0x14
mov edx, 1
test edx, edx
je 0x403178
mov dword [ebp - 0x74], 0
lea eax, [ebp - 0x74]
push eax
push 0x4aa120
push str.s:d:
mov ecx, dword [ebp - 0x70]
push ecx
mov edx, dword [ebp - 0x48]
push edx
call fcn.0040c7c0
add esp, 0x14
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0xffffffff
jne 0x403122
jmp 0x403178
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x64
je 0x403147
cmp dword [ebp - 0x60], 0x73
je 0x403136
jmp 0x403173
mov ecx, dword [0x4af40c]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00403450
jmp 0x403173
mov edx, dword [0x4af40c]
push edx
lea ecx, [ebp - 0x28]
call fcn.00403450
lea ecx, [ebp - 0x28]
call fcn.00403470
push eax
push str.LightProxy_strUnAdData_s
push 0
push 0x4911ac
call fcn.0040e7d0
add esp, 0x10
jmp 0x4030e5
push 0x74
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 2
cmp dword [ebp - 0x5c], 0
je 0x40319d
mov ecx, dword [ebp - 0x5c]
call fcn.00404260
mov dword [ebp - 0x54], eax
jmp 0x4031a4
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x6c]
mov dword [ecx + 4], edx
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + 4]
add ecx, 4
call fcn.004033d0
lea ecx, [ebp - 0x28]
call fcn.00403490
movzx edx, al
test edx, edx
jne 0x40320f
push 0x4911c0
lea eax, [ebp - 0x40]
push eax
call fcn.00403c40
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40320f
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x78], esp
lea edx, [ebp - 0x28]
push edx
call fcn.00403320
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 4]
call fcn.004028c0
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + 4]
call fcn.004043f0
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.004033b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.004033b0
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047db8e
mov esp, ebp
pop ebp
ret