Function at 0x4018b0
Capabilities:
Accept command line arguments
Check mutex and terminate process on windows
Check mutex on windows
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44aa9d
mov eax, dword fs:[0]
push eax
sub esp, 0x978
mov eax, dword [0x45d740]
xor eax, esp
mov dword [esp + 0x970], eax
push ebx
push esi
push edi
mov eax, dword [0x45d740]
xor eax, esp
push eax
lea eax, [esp + 0x988]
mov dword fs:[0], eax
push 1
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x1c], ecx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
push 0x451c5c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40196f
push 0x451b14
push 0x10c
push str..FileClient.cpp
push 1
mov ecx, str.CFileClientApp::InitInstance
call fcn.0040d010
push 0x451b14
push 0x10c
push str..FileClient.cpp
push 1
mov ecx, str.CFileClientApp::InitInstance
call fcn.0040cd30
add esp, 0x20
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], 0
call esi
mov edi, dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
push eax
call ebx
cmp dword [esp + 0x10], 1
jle 0x401ac4
mov eax, dword [str.36518]
mov cx, word [0x451b48]
push 0x3a
lea edx, [esp + 0x946]
push 0
push edx
mov dword [esp + 0x948], eax
mov word [esp + 0x94c], cx
call fcn.00435f30
mov eax, dword [str.192.168.44.130]
mov ecx, dword [0x451b50]
mov edx, dword [0x451b54]
add esp, 0xc
push 0x31
mov dword [esp + 0x908], edx
mov dword [esp + 0x900], eax
mov ax, word [0x451b58]
mov dword [esp + 0x904], ecx
mov cl, byte [0x451b5a]
lea edx, [esp + 0x90f]
push 0
push edx
mov word [esp + 0x914], ax
mov byte [esp + 0x916], cl
call fcn.00435f30
add esp, 0xc
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0
call esi
push eax
call edi
push eax
call ebx
cmp dword [esp + 0x10], 2
jne 0x401a4f
lea ebx, [esp + 0x93c]
mov edi, 1
jmp 0x401a9e
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x14], 0
call esi
push eax
call edi
push eax
call ebx
cmp dword [esp + 0x10], 3
jne 0x401a79
lea ebx, [esp + 0x93c]
mov edi, 2
jmp 0x401a9e
call fcn.00401850
cmp eax, 4
jne 0x401aa3
lea ebx, [esp + 0x93c]
lea edi, [eax - 2]
call fcn.00401800
lea ebx, [esp + 0x8fc]
mov edi, 3
call fcn.00401800
lea edx, [esp + 0x93c]
push edx
call fcn.00431831
mov dword [0x45ea30], eax
add esp, 4
lea eax, [esp + 0x8fc]
call fcn.0040d420
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], 8
mov dword [esp + 0x20], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.0040ed66
push 0
call fcn.00414682
add esp, 4
push str.Start_File_Manage_
push 0x12e
push str..FileClient.cpp
push 0
mov ecx, str.CFileClientApp::InitInstance
call fcn.0040d010
push str.Start_File_Manage_
push 0x12e
push str..FileClient.cpp
push 0
mov ecx, str.CFileClientApp::InitInstance
call fcn.0040cd30
add esp, 0x20
push 0x451b70
mov ecx, edi
call fcn.00414bf7
lea esi, [esp + 0x34]
call fcn.00402650
mov ecx, esi
mov dword [esp + 0x990], 0
mov dword [edi + 0x20], ecx
call fcn.00401600
push 0
push 0
mov edx, esi
push edx
push section..text
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, esi
mov dword [esp + 0x8d4], 0x401720
call fcn.00415543
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]