Function at 0x428d70
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
mov eax, dword [0x4a9d30]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x4acf20], 0
push ebx
push esi
mov ebx, ecx
jne 0x428dd9
lea eax, [ebp - 0x194]
push eax
push 0x101
call sub.WSOCK32.dll_WSAStartup
test eax, eax
je 0x428dbe
push 0x12010
push str.Winsock_Error
push str.Couldnt_initialize_Winsock.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x428dd9
push 0x486ad0
mov dword [ebx + 0x76], 1
call sub.WSOCK32.dll_getprotobyname
mov dword [ebx + 0x72], eax
mov dword [ebx + 0x7a], 1
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
mov ecx, dword [ebp + 8]
mov dword [0x4ad2ac], 0
mov dword [ebx + 0x36], eax
mov eax, dword [ebx + 0xa3]
movdqu xmmword [ebp - 0x1bc], xmm0
mov dword [ebx + 0x32], ecx
movdqu xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x1bc], 0xb
movq qword [ebp - 0x19c], xmm0
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1a0], 0x10
mov dword [ebp - 0x198], str.XXForm
call fcn.004093d0
test eax, eax
jne 0x428e48
call fcn.0040b2b0
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1bc]
push edi
mov edi, dword [sym.imp.USER32.dll_RegisterClassA]
push eax
mov dword [ebp - 0x1a4], 0
call edi
mov eax, dword [ebx + 0xa3]
xorps xmm0, xmm0
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
movdqu xmmword [ebp - 0x1bc], xmm0
push 0x7f00
movdqu xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebx + 0x32]
movq qword [ebp - 0x19c], xmm0
push 0
mov dword [ebp - 0x1bc], 0xb
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a0], 0x10
mov dword [ebp - 0x198], str.XXPrompt
call esi
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1bc]
push eax
call edi
mov eax, dword [ebx + 0xa3]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x1bc], xmm0
push 0x7f00
movdqu xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebx + 0x32]
movq qword [ebp - 0x19c], xmm0
push 0
mov dword [ebp - 0x1bc], 0xb
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a0], 0x10
mov dword [ebp - 0x198], str.XXCombo
call esi
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1bc]
push eax
call edi
mov eax, dword [ebx + 0xa3]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x1bc], xmm0
push 0x7f00
movdqu xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebx + 0x32]
movq qword [ebp - 0x19c], xmm0
push 0
mov dword [ebp - 0x1bc], 0xb
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a0], 0x10
mov dword [ebp - 0x198], str.XXLabel
call esi
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1bc]
push eax
call edi
mov eax, dword [ebx + 0xa3]
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x1bc], xmm0
push 0x7f00
movdqu xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebx + 0x32]
movq qword [ebp - 0x19c], xmm0
push 0
mov dword [ebp - 0x1bc], 0xb
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a0], 0x10
mov dword [ebp - 0x198], str.XXPicture
call esi
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1bc]
push eax
call edi
xorps xmm0, xmm0
mov eax, dword [ebx + 0xa3]
movdqu xmmword [ebp - 0x1bc], xmm0
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebx + 0x32]
movdqu xmmword [ebp - 0x1ac], xmm0
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x1bc]
movq qword [ebp - 0x19c], xmm0
push eax
mov dword [ebp - 0x1bc], 0xb
mov dword [ebp - 0x1a0], 0x10
mov dword [ebp - 0x198], str.XXList
mov dword [ebp - 0x1a4], 0
call edi
cmp byte [0x4acf1b], 0
pop edi
jne 0x4290c4
cmp dword [ebp + 0x10], 1
jne 0x4290c4
mov ecx, ebx
call fcn.00429c20
cmp eax, 1
jne 0x4290c9
mov ecx, ebx
call fcn.004290e0
mov esi, eax
cmp esi, 1
jne 0x4290b0
cmp byte [0x4acf18], 0
je 0x4290b0
cmp byte [0x4ad237], al
jne 0x4290b0
push ebx
push 0x4acf18
call fcn.00409f70
add esp, 8
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004530e4
mov esp, ebp
pop ebp
ret 0xc
mov eax, 1
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.004530e4
mov esp, ebp
pop ebp
ret 0xc