Function at 0x44a030
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x19c
mov eax, dword [0x487010]
xor eax, esp
mov dword [esp + 0x198], eax
mov eax, dword [0x48eba8]
dec eax
push ebx
push esi
push edi
je 0x44a065
dec eax
dec eax
jne 0x44a077
push method.CTypedPtrList_class_CPtrList__struct_CCollection::tagKeyedItem__.virtual_12
push 0x4527cb
jmp 0x44a06f
push method.CTypedPtrList_class_CPtrList__struct_CCollection::tagKeyedItem__.virtual_12
push 0x45279a
call fcn.00452765
add esp, 8
mov eax, dword [0x48ebb0]
xor ebx, ebx
cmp eax, ebx
jge 0x44a08b
mov eax, dword [0x48ebac]
cmp eax, ebx
jl 0x44a090
mov dword [0x48fc14], eax
lea eax, [esp + 0x10]
push eax
mov esi, 0x202
push esi
mov dword [0x48f434], ebx
call dword [sym.imp.WSOCK32.dll_WSAStartup]
test eax, eax
jne 0x44a3d0
cmp word [esp + 0x10], si
je 0x44a0c1
call dword [sym.imp.WSOCK32.dll_WSACleanup]
jmp 0x44a3d0
xor edi, edi
inc edi
mov dword [0x48fb94], edi
call fcn.0044a43f
test eax, eax
je 0x44a3d0
push 0x48fc08
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
jne 0x44a0eb
call sub.msvcrt.dll_abort
push edi
push ebx
push ebx
push 0xffffffffffffffff
mov dword [0x48eb40], ebx
mov dword [0x48eb48], ebx
mov dword [0x48eb54], ebx
mov dword [0x48eb58], ebx
mov dword [0x48eb5c], ebx
mov dword [0x48eb60], ebx
mov dword [0x48eb64], ebx
mov dword [0x48eb68], ebx
mov dword [0x48eb6c], ebx
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov dword [0x48eb70], eax
cmp eax, ebx
je 0x44a3d0
mov dword [0x48eb74], ebx
mov dword [0x48eb78], ebx
mov dword [0x48ea7c], ebx
call fcn.0044f8d5
test eax, eax
je 0x44a3b3
mov eax, dword [0x48ebb4]
mov dword [0x48e988], 0x48eb40
mov dword [0x48e98c], 0x44a791
mov dword [0x48e990], ebx
cmp eax, ebx
je 0x44a381
push eax
push ebx
call fcn.0045296f
pop ecx
pop ecx
cmp eax, ebx
je 0x44a381
mov eax, dword [0x48e994]
mov ecx, 0x48eb48
call fcn.00449fa3
mov ecx, 0x48ea80
mov eax, 0x48e998
mov edx, 0x48f4c8
call fcn.00452874
test eax, eax
je 0x44a35b
mov ecx, dword [0x48e994]
lea eax, [ecx - 0x1c]
mov dword [0x48f4c0], eax
cmp dword [0x48ebc0], ebx
je 0x44a1df
add ecx, 0xffffffd0
cmp eax, ecx
jge 0x44a1df
mov eax, ecx
mov dword [0x48f4c0], eax
cmp eax, ebx
jge 0x44a1e9
mov dword [0x48f4c0], ebx
cmp dword [0x48ebe4], ebx
je 0x44a208
sub esp, 0x1c
push 7
pop ecx
mov esi, 0x48f418
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.0044d8d6
add esp, 0x1c
mov edi, 0x48f4a4
mov esi, edi
mov dword [0x48f4a4], 0x44a5ab
mov dword [0x48f4a8], ebx
mov dword [0x48f4b0], edi
mov dword [0x48f4b8], 0x48eb48
call fcn.0045271c
mov eax, dword [0x48e994]
cmp eax, ebx
jne 0x44a241
push 1
jmp 0x44a242
push eax
call sub.msvcrt.dll_malloc
pop ecx
mov dword [0x48ecc4], eax
cmp eax, ebx
je 0x44a320
mov esi, 0x48eb10
mov eax, esi
mov ecx, 0x48eb40
mov dword [0x48eb10], 0x44a754
mov byte [0x48eb29], 1
mov byte [0x48eb2a], bl
mov dword [0x48eb30], ebx
mov dword [0x48eb38], 0xfa
mov dword [0x48eb3c], ebx
call fcn.0044f762
mov dword [0x48f4bc], ebx
mov dword [0x48ebf0], ebx
mov dword [0x48eb84], ebx
mov dword [0x48ebf4], ebx
mov dword [0x48ebe8], ebx
mov dword [0x48ebec], ebx
mov dword [0x48eb88], ebx
call fcn.0044f650
mov eax, dword [0x48ebe8]
cmp eax, ebx
je 0x44a2e1
lea edi, [eax - 8]
call fcn.0044afea
mov eax, dword [0x48ebe8]
cmp eax, ebx
jne 0x44a2cb
mov edi, 0x48f4a4
mov eax, dword [0x48ebf4]
cmp eax, ebx
je 0x44a2ef
call fcn.0044ba00
mov eax, dword [0x48eb84]
cmp eax, ebx
je 0x44a2fd
call fcn.0044ba00
cmp dword [0x48ebf0], ebx
je 0x44a30a
call fcn.004523b3
mov ecx, 0x48eb40
call fcn.0044f72e
push dword [0x48ecc4]
call sub.msvcrt.dll_free
pop ecx
mov eax, edi
call fcn.00452706
cmp dword [0x48ebe4], ebx
je 0x44a34f
jmp 0x44a346
mov eax, ecx
mov ecx, dword [eax + 4]
cmp ecx, ebx
jne 0x44a331
add eax, 0xfffff7b0
push eax
call fcn.0044d6bb
pop ecx
mov eax, dword [0x48f488]
cmp eax, ebx
jne 0x44a333
push dword [0x48f4d4]
call sub.msvcrt.dll_free
pop ecx
mov eax, 0x48ead0
call fcn.00452706
mov eax, 0x48eab8
call fcn.00452706
mov eax, 0x48ea98
call fcn.00452706
call fcn.00452be9
xor edi, edi
inc edi
mov esi, 0x48fbec
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
mov dword [0x48fc04], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [0x48fb9c], edi
jmp 0x44a3b3
mov eax, dword [0x48eb6c]
push ebx
push 3
push dword [eax - 8]
call dword [eax - 4]
add esp, 0xc
cmp dword [0x48eb68], ebx
jne 0x44a3a2
push dword [0x48eb70]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x44a3d0
call sub.msvcrt.dll_abort
push dword [0x48f434]
call sub.msvcrt.dll_free
pop ecx
call dword [0x48fc1c]
cmp dword [0x48fb98], ebx
je 0x44a40a
mov esi, 0x48fbec
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [0x48fb98], ebx
xor eax, eax
mov edi, 0x48fc08
stosd dword es:[edi], eax
stosd dword es:[edi], eax
cmp dword [0x48fb94], ebx
je 0x44a427
call dword [sym.imp.WSOCK32.dll_WSACleanup]
mov dword [0x48fb94], ebx
mov ecx, dword [esp + 0x1a4]
pop edi
pop esi
xor eax, eax
pop ebx
xor ecx, esp
inc eax
call fcn.0045b700
mov esp, ebp
pop ebp
ret