Function at 0x404000
Capabilities:
Initialize winsock library

Disassembly:
sub esp, 0x198
push ebx
lea eax, [esp + 0xc]
push ebp
push eax
push 0x202
call dword [0x4896a0]
mov ebp, eax
neg ebp
sbb ebp, ebp
xor ebx, ebx
push ebx
inc ebp
call dword [0x489730]
push ebx
push ebx
push ebx
push ebx
call dword [0x489508]
lea ecx, [esp + 8]
push ecx
mov dword [esp + 0xc], 8
mov dword [esp + 0x10], 0x404
call dword [0x489024]
push ebx
mov ecx, 0x4a3df0
mov edx, dword [esp + 0x1a8]
push edx
push ebx
call fcn.004042d0
call fcn.004042a0
test eax, eax
je 0x40408c
push 0x40
push 0x80
push 0xb0
push ebx
call fcn.004043e0
add esp, 0x10
xor eax, eax
pop ebp
pop ebx
add esp, 0x198
ret 0x10
mov ecx, 0x4a3db8
call fcn.00401190
test eax, eax
jne 0x4040b7
mov ecx, 0x4a3db8
call fcn.00401520
call fcn.00404280
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x198
ret 0x10
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
push esi
push edi
push eax
push ecx
mov ecx, 0x4a3db8
call fcn.00402730
mov dword [esp + 0x10], eax
call fcn.00404280
mov ecx, 0x4a3db8
call fcn.00401520
mov edx, dword [0x4a3db0]
add edx, 0x1c
push edx
call dword [0x489064]
mov esi, dword [0x4a3e7c]
cmp esi, ebx
je 0x404118
cmp dword [esi + 4], ebx
jle 0x404116
mov eax, dword [esi]
mov ecx, dword [eax]
push ecx
call dword [0x48950c]
mov esi, dword [0x4a3e7c]
cmp esi, ebx
mov edi, dword [0x48934c]
je 0x40413d
mov eax, dword [esi]
cmp eax, ebx
je 0x40412e
push eax
call edi
add esp, 4
mov dword [esi], ebx
push esi
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
call fcn.0047ab00
add esp, 4
mov edx, dword [0x4a3db0]
mov dword [0x4a3e7c], ebx
add edx, 0x1c
push edx
call dword [0x489060]
mov esi, dword [0x4a3e78]
cmp esi, ebx
je 0x404187
mov eax, dword [esi]
cmp eax, ebx
je 0x40416b
push eax
call edi
add esp, 4
mov dword [esi], ebx
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x40417b
push eax
call edi
add esp, 4
mov dword [esi + 4], ebx
push esi
mov dword [esi + 8], ebx
call fcn.0047ab00
add esp, 4
mov eax, 0x4a3df0
test eax, eax
je 0x40424b
mov esi, dword [0x4a3e00]
cmp esi, ebx
je 0x4041cf
cmp dword [esi], ebx
je 0x4041cf
mov edi, 0x64
mov eax, dword [esi + 0x10]
cmp eax, ebx
je 0x4041b4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
mov dword [esi + 0x10], ebx
call dword [esi + 0x20]
cmp dword [0x4a3df0], edi
jne 0x4041c8
add esi, 0x1c
jmp 0x4041cb
add esi, 0x24
cmp dword [esi], ebx
jne 0x4041a7
mov esi, dword [0x4890d4]
push 0x4a3e0c
call esi
push 0x4a3e24
call esi
push 0x4a3e3c
call esi
mov esi, dword [0x4a3e70]
cmp esi, ebx
je 0x40420c
mov edx, dword [esi + 4]
push edx
call dword [esi]
mov edi, dword [esi + 8]
push esi
call fcn.0047ab00
add esp, 4
cmp edi, ebx
mov esi, edi
jne 0x4041f4
cmp dword [0x4a3e08], ebx
je 0x40424b
cmp byte [0x4a3e5c], bl
je 0x40424b
mov eax, dword [0x4a3e68]
mov edi, dword [0x4890d0]
cmp eax, ebx
je 0x404242
xor esi, esi
mov eax, dword [0x4a3e68]
mov ecx, dword [eax + esi*4]
push ecx
call edi
mov eax, dword [0x4a3e64]
inc esi
cmp esi, eax
jbe 0x40422d
mov edx, dword [0x4a3e08]
push edx
call edi
pop edi
cmp ebp, ebx
pop esi
je 0x404257
call dword [0x4896b4]
call fcn.00411b70
call dword [0x489728]
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0x198
ret 0x10