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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48211c
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.0040e7f0
add esp, 0xc
push str.LIGHTPROXY_C43F549F_8A3E_4F13_ABB0_00144129AC97
push 1
call fcn.00402a00
mov ecx, eax
call fcn.00402a80
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 0x403090
push str.LightProxy_InitInstance_CreateMutex_Had_Existed
push 0
push 0x491084
call fcn.0040e7f0
add esp, 0xc
cmp dword [ebp - 0x4c], 0
je 0x403089
mov eax, dword [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4c], 0
xor eax, eax
jmp 0x40324b
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.00403390
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00403390
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.0040e7f0
add esp, 0x14
mov edx, 1
test edx, edx
je 0x403188
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.0040c7d0
add esp, 0x14
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0xffffffff
jne 0x403132
jmp 0x403188
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x64
je 0x403157
cmp dword [ebp - 0x60], 0x73
je 0x403146
jmp 0x403183
mov ecx, dword [0x4af40c]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00403460
jmp 0x403183
mov edx, dword [0x4af40c]
push edx
lea ecx, [ebp - 0x28]
call fcn.00403460
lea ecx, [ebp - 0x28]
call fcn.00403480
push eax
push str.LightProxy_strUnAdData_s
push 0
push 0x4911ac
call fcn.0040e7f0
add esp, 0x10
jmp 0x4030f5
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 0x4031ad
mov ecx, dword [ebp - 0x5c]
call fcn.00404270
mov dword [ebp - 0x54], eax
jmp 0x4031b4
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.004033e0
lea ecx, [ebp - 0x28]
call fcn.004034a0
movzx edx, al
test edx, edx
jne 0x40321f
push 0x4911c0
lea eax, [ebp - 0x40]
push eax
call fcn.00403c50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40321f
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x78], esp
lea edx, [ebp - 0x28]
push edx
call fcn.00403330
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 4]
call fcn.004028d0
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + 4]
call fcn.00404400
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.004033c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.004033c0
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.0047dbfe
mov esp, ebp
pop ebp
ret