Function at 0x51a730
Capabilities:
Initialize winsock library

Disassembly:
push ebp
lea ebp, [esp - 0x194]
sub esp, 0x194
push 0xffffffffffffffff
push 0x78c808
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x856918]
xor eax, ebp
mov dword [ebp + 0x190], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor ebx, ebx
cmp dword [0x869a44], ebx
je 0x51a83a
push 0x14
mov esi, 0xf
push str.Already_initialized_
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], ebx
mov byte [ebp - 0x60], bl
call fcn.00405920
push 0x11
push str.InitializeSockets
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x28], bl
call fcn.00405920
push 0xb
push str.CSocketBase
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x44], bl
call fcn.00405920
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x48]
push edx
mov byte [ebp - 4], 2
call fcn.0054ac20
mov edi, 0x10
add esp, 0xc
cmp dword [ebp - 0x30], edi
jb 0x51a7fc
mov eax, dword [ebp - 0x44]
push eax
call fcn.00564155
add esp, 4
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x44], bl
cmp dword [ebp - 0x14], edi
jb 0x51a816
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00564155
add esp, 4
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x28], bl
cmp dword [ebp - 0x4c], edi
jb 0x51a830
mov edx, dword [ebp - 0x60]
push edx
call fcn.00564155
add esp, 4
mov eax, 1
jmp 0x51a9eb
call fcn.00555380
mov ecx, eax
call fcn.00555370
mov esi, dword [ebp + 0x1a0]
cmp esi, eax
jbe 0x51a917
push 0x11
mov esi, 0xf
push str.Too_many_threads_
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], ebx
mov byte [ebp - 0x60], bl
call fcn.00405920
push 0x11
push str.InitializeSockets
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 3
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x44], bl
call fcn.00405920
push 0xb
push str.CSocketBase
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x28], bl
call fcn.00405920
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x2c]
push edx
mov byte [ebp - 4], 5
call fcn.0054ac20
mov edi, 0x10
add esp, 0xc
cmp dword [ebp - 0x14], edi
jb 0x51a8da
mov eax, dword [ebp - 0x28]
push eax
call fcn.00564155
add esp, 4
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x28], bl
cmp dword [ebp - 0x30], edi
jb 0x51a8f4
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00564155
add esp, 4
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x44], bl
cmp dword [ebp - 0x4c], edi
jb 0x51a9e9
mov edx, dword [ebp - 0x60]
push edx
call fcn.00564155
add esp, 4
jmp 0x51a9e9
mov edi, dword [ebp + 0x19c]
cmp edi, ebx
je 0x51a989
cmp esi, ebx
jne 0x51a989
push str.Didnt_receive_any_threads_
lea ecx, [ebp - 0x48]
call fcn.004062df
push str.InitializeSockets
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 6
call fcn.004062df
push str.CSocketBase
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 7
call fcn.004062df
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x64]
push edx
mov byte [ebp - 4], 8
call fcn.0054ac20
add esp, 0xc
lea ecx, [ebp - 0x64]
call fcn.00402ed7
lea ecx, [ebp - 0x2c]
call fcn.00402ed7
lea ecx, [ebp - 0x48]
call fcn.00402ed7
jmp 0x51a9e9
lea eax, [ebp]
push eax
push 0x202
mov dword [ebp - 4], 9
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, ebx
jne 0x51a9e9
mov eax, dword [ebp]
cmp al, 2
jne 0x51a9e3
shr eax, 8
cmp al, 2
jne 0x51a9e3
mov dword [0x869a40], edi
mov dword [0x869a48], esi
call fcn.005495c0
mov dword [0x869a4c], eax
call fcn.005495c0
mov dword [0x869a54], eax
mov eax, 1
mov dword [0x869a44], eax
jmp 0x51a9eb
call dword [sym.imp.WS2_32.dll_WSACleanup]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x190]
xor ecx, ebp
call fcn.00564b24
add ebp, 0x194
mov esp, ebp
pop ebp
ret