Function at 0x40db80
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.00417000
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 0x434c10
push 0
mov dword [esp + 0x24], ebx
call fcn.0041598a
push 0x7f
push esi
push 0x80
lea eax, [esp + 0x50]
push 0x48b160
push eax
call fcn.00415ea0
add esp, 0x1c
xor eax, eax
mov word [esp + 0x5e0], ax
push 0x3fe
push eax
lea eax, [esp + 0x5ea]
push eax
call fcn.004164d0
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.004164d0
add esp, 0xc
cmp word [esi], 0
jne 0x40dc71
push 0x104
lea eax, [esp + 0x1d4]
push 0
push eax
call fcn.004164d0
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.004158e4
add esp, 8
mov esi, eax
mov edi, esi
test esi, esi
je 0x40dc7c
add esi, 2
jmp 0x40dc81
mov esi, 0x434c14
push str.ATL:
lea eax, [esp + 0x9e4]
push 0x400
push eax
call fcn.00414a83
add esp, 0xc
lea eax, [esp + 0x5e0]
push eax
lea eax, [esp + 0x9e4]
push 0x400
push eax
call fcn.00414a17
add esp, 0xc
push esi
push 0x400
push str.ATL:Map_
call fcn.00414a17
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 0x40dda0
push str.ATL:Map_
push pe_nt_image_headers32
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov ebx, eax
test ebx, ebx
je 0x40dd72
push pe_nt_image_headers32
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 0x40dd64
push 0
push 0
push 0x7e9
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x40dd5f
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 0x40dd9c
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x11d8]
xor ecx, esp
call fcn.00412a27
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.004164d0
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 0x40de31
test edi, edi
je 0x40de31
xor eax, eax
push 0x206
push eax
mov word [esp + 0x3e0], ax
lea eax, [esp + 0x3e2]
push eax
call fcn.004164d0
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.00415ebe
add esp, 0x10
lea eax, [esp + 0x3d8]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0x1518
call fcn.00413312
add esp, 4
test eax, eax
je 0x40dee4
push ebx
mov ecx, eax
call fcn.00406970
mov esi, eax
test esi, esi
je 0x40dee4
mov ecx, esi
call fcn.00406e80
cmp eax, 0xffffffff
jne 0x40de7d
or eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x11d8]
xor ecx, esp
call fcn.00412a27
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 0x40ded4
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 0x40deb1
mov ecx, esi
call fcn.00406b80
push esi
call fcn.00412a22
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.00412a27
mov esp, ebp
pop ebp
ret 0x10