Function at 0x40bc70
Capabilities:
Initialize winsock library

Disassembly:
sub esp, 0x2b8
mov eax, dword [0x43e008]
xor eax, esp
mov dword [esp + 0x2b4], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x2cc]
lea eax, [esp + 0x1c0]
push 0x100
push eax
xor ebx, ebx
mov dword [esp + 0x34], edi
lea eax, [esp + 0x20]
mov dword [esp + 0x1c], ebx
push eax
mov dword [esp + 0x2c], ebx
xor ebp, ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], ebx
call fcn.0040ba70
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x40bf7c
cmp dword [esp + 0x18], ebx
je 0x40bce5
lea edx, [esp + 0x1c0]
mov ecx, edi
call fcn.0040bfb0
jmp 0x40bf7c
mov ecx, dword [0x43f2d4]
test ecx, ecx
jne 0x40bd12
mov edx, 0x43f2d4
mov ecx, str.Iphlpapi.dll
call fcn.0040c800
mov esi, eax
mov dword [esp + 0x1c], eax
test esi, esi
jne 0x40bf7c
mov ecx, dword [0x43f2d4]
mov eax, dword [0x43f2cc]
test eax, eax
jne 0x40bd3c
push str.GetAdaptersAddresses
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x43f2cc], eax
test eax, eax
jne 0x40bd3c
mov ecx, edi
call fcn.0040c290
jmp 0x40bf7c
xor edi, edi
nop
lea ecx, [esp + 0x20]
push ecx
push ebx
push 0
push 0
push 0
call eax
mov ebx, eax
cmp ebx, 0x6f
jne 0x40bdbd
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40bd66
push eax
call fcn.004145c7
add esp, 4
mov ecx, dword [esp + 0x20]
mov eax, 0xae4c415d
push 0x4164e4
lea ecx, [ecx + 0x177]
mul ecx
xor ecx, ecx
shr edx, 8
mov eax, edx
mov edx, 0x178
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00414dc1
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x40bdb3
inc edi
cmp edi, 3
jge 0x40bdc1
mov eax, dword [0x43f2cc]
mov ebx, dword [esp + 0x14]
jmp 0x40bd40
mov eax, 8
jmp 0x40bf7c
test ebx, ebx
je 0x40bdc8
mov esi, ebx
jmp 0x40bf3d
mov eax, dword [esp + 0x14]
xor edi, edi
mov edx, eax
test eax, eax
je 0x40bdff
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x40bdf8
nop dword [eax + eax]
mov eax, dword [ecx + 0xc]
movzx eax, word [eax]
sub eax, 2
je 0x40bdf0
sub eax, 0x15
jne 0x40bdf1
inc edi
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x40bde0
mov edx, dword [edx + 8]
test edx, edx
jne 0x40bdd4
push 0x4164e4
push 8
call fcn.00414d67
mov ebp, eax
add esp, 8
mov dword [esp + 0x24], ebp
test ebp, ebp
jne 0x40be20
lea esi, [eax + 8]
jmp 0x40bf3d
xor ebx, ebx
mov dword [ebp], edi
mov ecx, 0x401
mov dword [ebp + 4], 0
mov eax, edi
mul ecx
mov edx, 2
push 0x4164e4
seto bl
xor ecx, ecx
neg ebx
or eax, ebx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00414dc1
mov ecx, eax
add esp, 8
mov dword [ebp + 4], ecx
test ecx, ecx
jne 0x40be6b
lea esi, [eax + 8]
jmp 0x40bf3d
imul eax, edi, 0x802
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov ebx, dword [sym.imp.WS2_32.dll_WSAStartup]
lea eax, [esp + 0x3c]
add esp, 0xc
push eax
push 0x202
call ebx
test eax, eax
je 0x40beaa
lea eax, [esp + 0x30]
push eax
push 0x101
call ebx
test eax, eax
je 0x40beaa
mov esi, eax
jmp 0x40bf3d
mov ecx, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x28], 1
mov eax, ecx
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x40bf32
mov esi, dword [eax + 0x10]
test esi, esi
je 0x40bf1f
imul ebp, ebx, 0x802
nop
cmp ebx, edi
jae 0x40bf1b
mov ecx, dword [esi + 0xc]
movzx eax, word [ecx]
sub eax, 2
je 0x40bee4
sub eax, 0x15
jne 0x40bf14
mov eax, dword [esp + 0x24]
mov edx, dword [esi + 0x10]
push 0x802
mov eax, dword [eax + 4]
add eax, ebp
push eax
call fcn.0040c520
mov dword [esp + 0x1c], eax
test eax, eax
je 0x40bf0d
mov dword [esp + 0x1c], 0
jmp 0x40bf14
inc ebx
add ebp, 0x802
mov esi, dword [esi + 8]
test esi, esi
jne 0x40bed0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x40bec2
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov dword [ebp], ebx
mov dword [eax], ebp
xor ebp, ebp
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40bf4e
push eax
call fcn.004145c7
add esp, 4
test ebp, ebp
je 0x40bf6d
mov eax, dword [ebp + 4]
test eax, eax
je 0x40bf62
push eax
call fcn.004145c7
add esp, 4
push 8
push ebp
call fcn.0041482a
add esp, 8
cmp dword [esp + 0x28], 0
je 0x40bf7a
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, esi
mov ecx, dword [esp + 0x2c4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004145b4
add esp, 0x2b8
ret 4