Function at 0x40d933
Capabilities:
Get disk information
Get hostname
Get session user name
Initialize winsock library

Disassembly:
mov eax, 0x485a0d
call fcn.004847e4
mov eax, 0x5210
call fcn.0044e630
push ebx
push esi
mov eax, 0xff
mov esi, ecx
push edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
call fcn.0046eb26
call fcn.0046eb26
mov ecx, esi
call fcn.0040eca4
mov ecx, esi
call fcn.0040ef8c
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x26c]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
xor ebx, ebx
mov ecx, 0xaf
mov edx, ebx
mov al, byte [edx + 0x497470]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x14], al
and ecx, 0x800000ff
jns 0x40d9a6
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 3
jl 0x40d989
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x20]
mov byte [ebp - 0x11], bl
push eax
push ebx
push ebx
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x16c]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea eax, [ebp - 0x16c]
push eax
call fcn.0040d810
mov edi, dword [ebp - 0x20]
mov ecx, 0xc0
add edi, eax
mov edx, ebx
mov al, byte [edx + 0x497474]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x5e], al
and ecx, 0x800000ff
jns 0x40da09
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x29
jl 0x40d9ec
push edi
lea eax, [ebp - 0x5e]
mov byte [ebp - 0x35], bl
push eax
lea eax, [ebp - 0x2b0c]
push eax
call fcn.00412207
add esp, 0xc
lea eax, [ebp - 0x3fc]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x40da55
mov eax, 0x4974a0
lea ecx, [ebp - 0x34]
sub eax, 0x6194925e
push eax
call fcn.00412225
mov dword [ebp - 4], ebx
push eax
call fcn.00410bd4
push 6
xor edi, edi
inc edi
push edi
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ebx, eax
test ebx, ebx
jns 0x40da7b
push 0x732e3ef
lea ecx, [ebp - 0x30]
call fcn.00412261
mov dword [ebp - 4], edi
jmp 0x40da4f
push dword [esi + 0x3e4]
lea edi, [esi + 0x52a1a]
push edi
lea eax, [ebp - 0x2b0c]
push eax
call fcn.0040d87b
test eax, eax
je 0x40dada
mov ecx, 0xdd
xor edx, edx
mov al, byte [edx + 0x4974c4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x6a], al
and ecx, 0x800000ff
jns 0x40dabc
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x35
jl 0x40da9f
push edi
lea eax, [ebp - 0x6a]
mov byte [ebp - 0x35], 0
push eax
lea eax, [ebp - 0x521c]
push eax
call fcn.00412207
add esp, 0xc
push dword [esi + 0x3e4]
lea edi, [esi + 0x4d9f4]
push edi
lea eax, [ebp - 0x521c]
push eax
call fcn.0040d87b
test eax, eax
je 0x40dbe9
push 0x4e
pop ecx
xor edx, edx
mov al, byte [edx + 0x4974fc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x32], al
and ecx, 0x800000ff
jns 0x40db1d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x11
jl 0x40db00
mov byte [ebp - 0x21], 0
lea eax, [ebp - 0x32]
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x40db4a
test cl, cl
je 0x40db46
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x40db4a
add edi, 2
add eax, 2
test cl, cl
jne 0x40db2a
xor eax, eax
jmp 0x40db4f
sbb eax, eax
or eax, 1
test eax, eax
lea ecx, [ebp - 0x2b]
sete al
test al, al
je 0x40db95
push 0x79b3ee86
call fcn.0041229d
push 0x39
pop edx
xor esi, esi
mov cl, byte [esi + str._UNN]
xor cl, dl
inc edx
mov byte [ebp + esi - 0x4c], cl
and edx, 0x800000ff
jns 0x40db87
dec edx
or edx, 0xffffff00
inc edx
inc esi
cmp esi, 0x17
jl 0x40db6a
push 0x40
push eax
lea eax, [ebp - 0x4c]
jmp 0x40dbcf
push 0x79b3eeaa
call fcn.0041229d
mov edx, 0xd4
xor esi, esi
mov cl, byte [esi + 0x497540]
xor cl, dl
inc edx
mov byte [ebp + esi - 0x5b], cl
and edx, 0x800000ff
jns 0x40dbc3
dec edx
or edx, 0xffffff00
inc edx
inc esi
cmp esi, 0x26
jl 0x40dba6
push 0x10
push eax
lea eax, [ebp - 0x5b]
push eax
push 0
mov byte [ebp - 0x35], 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret