Function at 0x405f20
Capabilities:
Initialize winsock library

Disassembly:
push esi
mov edx, 0x15fffc75
pop esp
add byte [eax], 0x83
les ecx, [eax]
lea ecx, [ebp - 4]
mov dword [edi], eax
lea esi, [ecx + 0x10]
adc edi, esp
mov eax, dword [ebp + 0xc]
push edx
push eax
call fcn.0040abf0
mov byte [0x78bfc55], al
sub esi, edx
push esi
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
mov ecx, 1
push esi
dec byte [ebx + 0x789d93b]
jge 0x405ede
lea ecx, [ebx + 0x1e]
lea esi, [esp + eax - 0x77]
add al, 0x89
dec ebp
or al, 0x41
xor eax, 0xc2832047
add cl, byte [ecx - 0x75cf74f0]
in eax, 0x46
test dl, dl
mov dword [eax], esi
fadd qword [edx]
mov edx, dword [ebp + 0xc]
add eax, 4
dec edx
mov dword [ebp + 0xc], edx
jne 0x405f1f
ror byte [ecx - 0x74fd23d0], cl
push ebp
or al, 0x83
rol byte [edx + ecx*2], 0x89
push ebp
or al, 0x75
sbb eax, 0xc708458b
add al, 0xd
add byte [esi], bh
add byte [eax], al
jle 0x405f46
mov eax, dword [ebp + 8]
mov dword [ecx + 0x3e00], 0x8be2387e
loop 0x405e9b
ret
nop
push ebp
mov ebp, esp
sub esp, 0xa398
mov eax, dword [0x411f88]
mov ecx, eax
sbb byte [ebp - 0x4e775c37], al
mov cl, 0
je 0x405ef1
xor esi, esp
mov esp, ebp
pop ebp
push esp
out dx, eax
xchg ebp, eax
clc
push edx
call 0x415620
test byte [eax], 0
and eax, 4
test eax, eax
jne 0x405fd6
call dword [0xed0560]
sub eax, 0x410981
call 0xff684940
test eax, eax
jne 0x405fdb
push eax
push eax
push eax
imul eax, dword [ebp - 4], 0xefece850
invalid
add byte [edx], ah
dec esi
add byte [eax], al
mov esp, ebp
inc ebx
ret
lea edx, [ebp - 0x8c0198]
jae 0x405f94
call dword [edx + 0x18]
add bh, bh
adc eax, sym.imp.WSOCK32.dll_WSAStartup
push edx
sbb byte [edx], al
call dword [sym.imp.WSOCK32.dll_WSAStartup]
test eax, eax
jp 0x405fdb
mov ax, word [ebp - 0x3aab98]
cmp al, 2
jne 0x405fd0
xor ecx, ecx
add cl, ah
push edi
leave
jne 0x405fd0
mov edx, dword [ebp - 4]
jae 0x405f78
bound eax, qword [eax + eax]
jp 0x405f44
cld
push eax
call 0x7340a430
adc dword [eax - 0x743fccf8], 0xffffffe5
jle 0x405f93
call dword [sym.imp.WSOCK32.dll_WSACleanup]
out 0xe2, eax
add byte [eax], al
add byte [ebx - 0x6f3ca21b], cl
mov eax, dword [0x410318]
dec eax
mov dword [0x410388], eax
jne 0x405f8f
mov esp, ebp
pop ebp
ret
call fcn.00404a92
call dword [sym.imp.WSOCK32.dll_WSACleanup]
mov eax, dword [0x410954]
push eax
call dword [0xcd40f264]
adc dword [eax - 0x6f6f6f70], 0x3d
nop
nop
nop
nop
cmc
push ebp
mov ebp, esp
mov al, byte [esi + 0x1a857c8]
je 0x40602e
mov ecx, dword [ebp + 8]
pop edi
inc edx
add byte [eax], al
add byte [eax], al
add byte [eax + 0x75011187], bh
ror byte [ebx + 0x10], 1
add byte [ebx - 0x5cf323], cl
add byte [eax + eax], al
mov ebx, ebp
or al, 0xa3
inc dword [eax]
add al, 0
inc ebx
jbe 0x406024
mov ecx, dword [ebp + 0x1b]
mov ebp, 0xa816
pop edi
mov dword [ecx], 0
and dl, al
adc byte [eax], al
cmp ecx, dword [ebx + 0x6856bcc0]
and al, 0x1c
add byte [eax], al
push ebx
call fcn.00404a60
mov esi, dword [ebp + 8]
jne 0x406067
xor ecx, ecx
mov dword [ebx - 0x77], esi
dec eax
add al, 0x8b
jbe 0x405ff2
jp 0x40604a
mov eax, dword [esi]
xchg dword [edi + edi*4], edi
mov dword [edi - 0x75], edx
push ss
ja 0x40605d
add cl, byte [ecx + 0x68b0c17]
push edi
push ebx
mov dword [eax - 0x42ffef6b], ecx
mov edi, edx
mov dword [edx + 0xdd9d], ecx
mov ebx, edx
mov dword [eax + 0x773022], ecx
call 0xffec4a74
sbb bh, byte [eax + 0x57]
push ebx
mov dword [ecx + 0x44b01c], eax
call 0x79404a60
mov edx, dword [esi]
pop esi
pop ebx
pop edi
mov dword [ebp + 0x20], esp
jbe 0x4060b2
add byte [ebx], dh
rcr byte [ebp - 0x3e], 0x10
add byte [eax + 0x3c909090], dl
nop
nop
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push si
push edi
mov ecx, dword [eax + 4]
mov esp, dword [eax + ecx]
cmp esi, dword [edi]
jne 0x4060df
pop edi
xor cl, byte [esi + 0x65000c]
pop ebx
adc byte [eax + 0x368b0008], 0x1c
outsb dx, byte [esi]
mov esi, dword [esi]
sbb al, 0x6e
add byte [eax], al
mov ebx, dword [ebp + 0xc]
lea ecx, [ecx + ecx*4]
mov esi, ebx
lea edi, [ebx + ebp*8]
push esp
add eax, 0xf3000000
movsd dword es:[edi], dword [esi]
sub edx, dword [eax + 4]
mov ecx, 1
cmp edx, ecx
jne 0x4061e9
mov edx, dword [ebx + 0xa]
mov edi, dword [edx + 4]
mov bh, byte [edx + 0x74d18408]
das
mov edx, dword [eax + 0xc]
in al, dx
or cl, byte [ebx - 0x4575fb86]
or byte [ecx + edx*8 + 0x508b2f74], al
or al, 0xec
leave
test edx, edx
jbe 0x406109
lea esi, [eax + 0x10]
cmp dword [esi], edi
je 0x40612c
inc ecx
pop ds
invalid
cmp ecx, edx
dec esi
adc esi, dword [ebx]
cli
add byte [eax + eax], al
add byte [eax - 0x778376f5], al
fmul dword [ebx - 0x76bef38d]
dec eax
or al, 0xf6
inc ebx
or byte [esp + esi*2], al
xor eax, 0x1034d377
add byte [eax], al
xor ecx, ecx
test edx, edx
jbe 0x406167
dec edx
mov al, 0x14
adc byte [eax], al
add byte [ecx], bh
adc eax, 0xc6a141ee
cmp dword [esi], edi
adc eax, 0xc6a141ee
add al, 0x3b
into
jb 0x40615b
cmp ecx, edx
in eax, dx
int 0x81
cli
add byte [eax + eax], al
push esi
jae 0x406187
mov dword [eax + ecx*4 + 0x4001014], edi
mov ecx, dword [eax + 0x1010]
inc ecx
mov dword [eax + 0x3e1010], ecx
imul eax, dword [ebx + 8], 0x72
je 0x4061b8
mov edx, dword [eax + 0x6d002014]
xor ecx, ecx
test edx, edx
jbe 0x4061ab
lea esi, [eax - 0x119ddf66]
cmp dword [esi], edi
je 0x4061ab
inc ecx
push 0x2b
add al, 0x3b
retf 0xf472
jb 0x40619f
cmp esp, dword [edx - 0x53ee38b]
add byte [eax + eax], al
add byte [ebx + 0x14], dh
mov dword [eax + ecx*4 + 0xca18], edi
sbb al, 0x88
mov esp, 0xca1888
add byte [eax + ecx*4], bl
adc al, 0x20
add ah, bl
inc ecx
mov dword [eax - 0x4e49dfec], ecx
scasd eax, dword es:[edi]
mov eax, 0x59eb
jle 0x4061d9
mov dword [eax + 0x3018], edi
or cl, byte [eax + 4]
pop edi
inc ecx
pop esi
mov dword [ebx + 0x5bc08304], ebp
jbe 0x4061a9
or byte [ecx], al
pop edi
jno 0x4061a4
or dword [eax], eax
add byte [ebx], bh
pop ebx
pop ebp
or eax, 0xbe9000c8
nop
inc eax
nop
nop
nop
nop
nop
nop