Function at 0x40dba0
Capabilities:
Check mutex on windows
Get hostname
Initialize winsock library
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x11dc
call fcn.00417020
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x11d8], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push edi
push 0x434c20
push 0
mov dword [esp + 0x24], ebx
call fcn.004159aa
push 0x7f
push esi
push 0x80
lea eax, [esp + 0x50]
push 0x48b140
push eax
call fcn.00415ec0
add esp, 0x1c
xor eax, eax
mov word [esp + 0x5e0], ax
push 0x3fe
push eax
lea eax, [esp + 0x5ea]
push eax
call fcn.004164f0
add esp, 0xc
mov dword [esp + 0x14], 0x200
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x5e4]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
xor eax, eax
push 0x206
push eax
mov word [esp + 0x1d8], ax
lea eax, [esp + 0x1da]
push eax
call fcn.004164f0
add esp, 0xc
cmp word [esi], 0
jne 0x40dc91
push 0x104
lea eax, [esp + 0x1d4]
push 0
push eax
call fcn.004164f0
add esp, 0xc
lea eax, [esp + 0x1d0]
push 0x104
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x1d0]
push 0x5c
push eax
call fcn.00415904
add esp, 8
mov esi, eax
mov edi, esi
test esi, esi
je 0x40dc9c
add esi, 2
jmp 0x40dca1
mov esi, 0x434c24
push str.ATL:
lea eax, [esp + 0x9e4]
push 0x400
push eax
call fcn.00414aa3
add esp, 0xc
lea eax, [esp + 0x5e0]
push eax
lea eax, [esp + 0x9e4]
push 0x400
push eax
call fcn.00414a37
add esp, 0xc
push esi
push 0x400
push 0x4890d8
call fcn.00414a37
add esp, 0xc
mov byte [esp + 0x13], 0
lea eax, [esp + 0x9e0]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40ddc0
push 0x4890d8
push 0x100
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov ebx, eax
test ebx, ebx
je 0x40dd92
push 0x100
push 0
push 0
push 0xf001f
push ebx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
push dword [esi]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40dd84
push 0
push 0
push 0x7e9
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x40dd7f
push 1
push dword [esi]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [esi]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov byte [esp + 0x13], 1
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [esp + 0x13], 0
je 0x40ddbc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x11d8]
xor ecx, esp
call fcn.00412a47
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [esp + 0x1c]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
xor eax, eax
push 0x18e
push eax
mov word [esp + 0x48], ax
lea eax, [esp + 0x4a]
push eax
call fcn.004164f0
add esp, 0xc
lea eax, [esp + 0x40]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp word [esp + 0x1d0], 0
je 0x40de51
test edi, edi
je 0x40de51
xor eax, eax
push 0x206
push eax
mov word [esp + 0x3e0], ax
lea eax, [esp + 0x3e2]
push eax
call fcn.004164f0
add esp, 0xc
lea eax, [esp + 0x1d0]
sub edi, eax
sar edi, 1
push edi
push eax
lea eax, [esp + 0x3e0]
push 0x104
push eax
call fcn.00415ede
add esp, 0x10
lea eax, [esp + 0x3d8]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0x1518
call fcn.00413332
add esp, 4
test eax, eax
je 0x40df04
push ebx
mov ecx, eax
call fcn.00406970
mov esi, eax
test esi, esi
je 0x40df04
mov ecx, esi
call fcn.00406e80
cmp eax, 0xffffffff
jne 0x40de9d
or eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x11d8]
xor ecx, esp
call fcn.00412a47
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [esp + 0x20]
push 0
push 0
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
push 0
push eax
movdqu xmmword [esp + 0x34], xmm0
movq qword [esp + 0x44], xmm0
call edi
test eax, eax
je 0x40def4
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x20]
push eax
call ebx
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [esp + 0x2c]
push eax
call edi
test eax, eax
jne 0x40ded1
mov ecx, esi
call fcn.00406b80
push esi
call fcn.00412a42
add esp, 4
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [esp + 0x11e4]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00412a47
mov esp, ebp
pop ebp
ret 0x10