Function at 0x406d00
Capabilities:
Accept command line arguments
Check if file exists
Check mutex on windows
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2ac
mov eax, dword [0x44000c]
xor eax, esp
mov dword [esp + 0x2a8], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
test esi, esi
je 0x406d72
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edi
push eax
push esi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [esp + 0x18], eax
test eax, eax
je 0x406d72
cmp dword [esp + 0x14], edi
je 0x406d72
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x406d66
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, esi
cmp eax, 2
je 0x406d68
mov edi, ebx
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x208
lea eax, [esp + 0xac]
push 0
push eax
call fcn.00419740
add esp, 0xc
lea eax, [esp + 0xa8]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov esi, eax
call fcn.0040b2d0
mov edx, esi
mov ecx, 0x442058
call 0x40bf76
push dword [ebp + 8]
lea ecx, [esp + 0x18]
call fcn.00406a10
push str.__SogouGameLuciferMutex
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [esp + 0x14], eax
test eax, eax
je 0x406df4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [esp + 0x13], 1
cmp eax, 0xb7
je 0x406df9
mov byte [esp + 0x13], 0
test ebx, ebx
je 0x406fe2
xor eax, eax
mov dword [esp + 0xa4], 7
mov dword [esp + 0xa0], 0
mov word [esp + 0x90], ax
cmp word [edi], ax
jne 0x406e2a
xor ecx, ecx
jmp 0x406e3f
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406e30
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [esp + 0x98]
call fcn.00403140
push 5
push 0
push str._dump
lea ecx, [esp + 0x9c]
call fcn.00407150
cmp eax, 0xffffffff
je 0x406fc8
mov ecx, edi
call fcn.0040bfdc
mov eax, dword [0x441dbc]
test eax, eax
jne 0x406e97
push ecx
mov edx, str.Log_Debug
xor ecx, ecx
call fcn.0040c188
add esp, 4
neg eax
sbb eax, eax
neg eax
inc eax
mov dword [0x441dbc], eax
cmp eax, 2
jne 0x406eae
push str._POP__The__SEGameLucifer_has_crashed_
push str.Log_Debug
call fcn.0040b248
add esp, 8
push 0x14
call fcn.004171b3
mov edi, eax
add esp, 4
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
push 0x10
mov dword [edi + 0xc], 2
mov dword [edi + 0x10], 0
call fcn.004171b3
mov esi, eax
add esp, 4
push 0xe
mov dword [esi], 0x64
mov dword [esi + 4], str.ct.gif
mov dword [esi + 8], 0xe
mov byte [esi + 0xc], 1
call fcn.0041d7ed
add esp, 4
mov dword [esi + 4], eax
push dword [esi + 8]
push str.ct.gif
push eax
call fcn.0042d5d0
add esp, 0xc
mov dword [esp + 0x18], 0x439ce4
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], esi
mov ecx, edi
push eax
call fcn.0040d486
push 0x10
call fcn.004171b3
mov esi, eax
add esp, 4
push 0x20
mov dword [esi], 0x64
mov dword [esi + 4], str.PopLuciferCrash
mov dword [esi + 8], 0x20
mov byte [esi + 0xc], 1
call fcn.0041d7ed
add esp, 4
mov dword [esi + 4], eax
push dword [esi + 8]
push str.PopLuciferCrash
push eax
call fcn.0042d5d0
add esp, 0xc
mov dword [esp + 0x18], str.module
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], esi
mov ecx, edi
push eax
call fcn.0040d486
push edi
push dword [edi + 0xc]
push 0x2903
push dword [0x443cb0]
call dword [sym.imp.USER32.dll_SendNotifyMessageW]
mov eax, dword [esp + 0xa4]
cmp eax, 8
jb 0x407126
inc eax
push eax
push dword [esp + 0x94]
call fcn.00402680
jmp 0x407126
mov eax, dword [esp + 0xa4]
cmp eax, 8
jb 0x406fe2
inc eax
push eax
push dword [esp + 0x94]
call fcn.00402680
cmp byte [esp + 0x13], 0
je 0x407021
mov eax, dword [0x441dbc]
test eax, eax
jne 0x40700e
push ecx
mov edx, str.Log_Debug
xor ecx, ecx
call fcn.0040c188
add esp, 4
neg eax
sbb eax, eax
neg eax
inc eax
mov dword [0x441dbc], eax
cmp eax, 2
jne 0x407126
push str._POP__The_SEGameLucifer_has_existed__quit_current_process_n
jmp 0x407119
push 9
push str._GameHall
push ebx
call fcn.0041e22e
add esp, 0xc
test eax, eax
jne 0x40706e
lea ecx, [eax + 1]
call fcn.0040c760
mov eax, dword [0x441dbc]
test eax, eax
jne 0x407062
push ecx
mov edx, str.Log_Debug
xor ecx, ecx
call fcn.0040c188
add esp, 4
neg eax
sbb eax, eax
neg eax
inc eax
mov dword [0x441dbc], eax
cmp eax, 2
jne 0x4070c5
push 0x4384fc
jmp 0x4070b8
push 0xa
push str._autostart
push ebx
call fcn.0041e22e
add esp, 0xc
test eax, eax
jne 0x4070e2
xor ecx, ecx
call fcn.0040c760
mov eax, dword [0x441dbc]
test eax, eax
jne 0x4070ae
push ecx
mov edx, str.Log_Debug
xor ecx, ecx
call fcn.0040c188
add esp, 4
neg eax
sbb eax, eax
neg eax
inc eax
mov dword [0x441dbc], eax
cmp eax, 2
jne 0x4070c5
push str._POP__
push str.Log_Debug
call fcn.0040b248
add esp, 8
lea ecx, [esp + 0x20]
call fcn.004041f0
lea ecx, [esp + 0x20]
call fcn.004043a0
lea ecx, [esp + 0x20]
call fcn.004042d0
jmp 0x407126
or ecx, 0xffffffff
call fcn.0040c760
mov eax, dword [0x441dbc]
test eax, eax
jne 0x40710f
push ecx
mov edx, str.Log_Debug
xor ecx, ecx
call fcn.0040c188
add esp, 4
neg eax
sbb eax, eax
neg eax
inc eax
mov dword [0x441dbc], eax
cmp eax, 2
jne 0x407126
push str._POP_
push str.Log_Debug
call fcn.0040b248
add esp, 8
lea ecx, [esp + 0x14]
call fcn.00406b90
mov ecx, dword [esp + 0x2b4]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004171a2
mov esp, ebp
pop ebp
ret 0x10