Function at 0x61869f
Capabilities:
Initialize winsock library

Disassembly:
push 0x5e4
mov eax, 0x6fac00
call fcn.00648b50
mov ebx, ecx
mov dword [ebp - 0x5d8], ebx
mov esi, dword [ebp + 8]
lea edi, [ebx + 0x18]
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp - 0x5d4], esi
cmp eax, ecx
je 0x6186ec
mov esi, eax
mov ebx, ecx
mov ecx, esi
call fcn.005c9eba
add esi, 0x2dc
cmp esi, ebx
jne 0x6186cf
mov ebx, dword [ebp - 0x5d8]
mov esi, dword [ebp - 0x5d4]
mov eax, dword [edi]
mov dword [edi + 4], eax
mov eax, dword [ebx]
cmp dword [eax + 0x198], 0
jne 0x618703
xor al, al
jmp 0x618962
lea eax, [ebp - 0x5c4]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x6186fc
mov ecx, ebx
call fcn.00619750
mov ecx, ebx
call fcn.006195c1
lea ecx, [ebp - 0x434]
call fcn.006c54db
and dword [ebp - 4], 0
call fcn.006c550b
cmp eax, 8
setl al
mov byte [ebx + 0x24], al
test esi, esi
je 0x618960
xor eax, eax
mov byte [ebp - 0x5cc], al
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], eax
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.0061b128
cmp byte [ebx + 0x24], 0
je 0x618906
mov esi, dword [esi]
mov edi, dword [ebp - 0x5d4]
jmp 0x6188fb
cmp byte [esi + 0x70], 0
je 0x6188f5
cmp dword [esi + 0x14], 0
jne 0x6188f5
call fcn.00515e26
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00515c3a
lea eax, [ebp - 0x5c8]
mov byte [ebp - 4], 2
push eax
push dword [esi + 0x34]
call fcn.006197dd
test al, al
jne 0x6187db
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x5c8]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
jmp 0x6188f5
call fcn.00515e26
push eax
lea ecx, [ebp - 0x5cc]
call fcn.00515c3a
lea eax, [ebp - 0x5cc]
mov byte [ebp - 4], 3
push eax
push ecx
mov ecx, dword [ebp - 0x5c8]
mov edi, esp
add ecx, 0xfffffff0
mov dword [ebp - 0x5d0], edi
call fcn.00515476
add eax, 0x10
mov dword [edi], eax
call fcn.00619863
test al, al
je 0x6188cf
push ecx
mov ecx, dword [ebp - 0x5c8]
mov edi, esp
mov dword [ebp - 0x5d0], edi
lea ecx, [ecx - 0x10]
call fcn.00515476
add eax, 0x10
mov ecx, ebx
mov dword [edi], eax
call fcn.006194eb
push ecx
mov ecx, dword [ebp - 0x5c8]
mov edi, esp
add ecx, 0xfffffff0
mov dword [ebp - 0x5d0], edi
mov ebx, eax
call fcn.00515476
mov ecx, dword [ebp - 0x5d8]
add eax, 0x10
mov dword [edi], eax
call fcn.00619556
lea ecx, [ebp - 0x2ec]
mov edi, eax
call fcn.006185b9
lea eax, [ebp - 0x2ec]
mov byte [ebp - 4], 4
push eax
push ebx
mov ebx, dword [ebp - 0x5d8]
mov ecx, ebx
push edi
call fcn.00618def
test al, al
lea eax, [ebp - 0x2ec]
push eax
jne 0x6188bc
lea eax, [ebp - 0x5cc]
push eax
lea eax, [ebp - 0x5c8]
push eax
call fcn.00619bd0
test al, al
je 0x6188c4
lea eax, [ebp - 0x2ec]
push eax
lea ecx, [ebx + 0x18]
call fcn.0061a1c0
lea ecx, [ebp - 0x2ec]
call fcn.005c9eba
mov ecx, dword [ebp - 0x5cc]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x5c8]
lea ecx, [ecx - 0x10]
call fcn.00515ed6
mov edi, dword [ebp - 0x5d4]
add esi, 0xa0
cmp esi, dword [edi + 4]
jne 0x618788
jmp 0x618955
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x618939
lea eax, [ebp - 0x5f0]
mov byte [ebp - 0x5cc], 1
push eax
mov ecx, esi
call fcn.0061b810
push eax
lea ecx, [ebp - 0x5e4]
call fcn.005bfcca
lea ecx, [ebp - 0x5f0]
call fcn.00521aec
lea eax, [ebp - 0x5e4]
mov ecx, ebx
push eax
push dword [ebp - 0x5cc]
call fcn.00619665
push edi
mov ecx, ebx
call fcn.006191f0
lea ecx, [ebp - 0x5e4]
call fcn.00521aec
mov al, 1
call fcn.00648afa
ret 4