Function at 0x4012c0
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41e1f1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1a8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
push str.AsyncSocketInit
push ebx
push ebx
mov dword [ebp - 0x18], 1
call fcn.004024c0
push 0x3a98
push eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], ebx
call fcn.004022e0
add esp, 0x14
push 0x4250c4
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp byte [0x428eb4], bl
jne 0x401543
call fcn.004024a0
call fcn.00402480
push 0x10
call fcn.00417373
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
cmp esi, ebx
mov byte [ebp - 4], 1
je 0x4013dd
mov al, byte [ebp + 0xb]
mov cl, byte [ebp + 0xb]
push 0x18
mov byte [esi], al
mov byte [esi + 1], cl
mov byte [esi + 8], bl
call fcn.00417373
mov edi, eax
add esp, 4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x14], edi
mov dword [edi + 4], ebx
mov dword [edi + 0x14], 1
call fcn.004163db
cmp dword [0x428ec8], ebx
jne 0x401394
mov dword [0x428ec8], edi
mov dword [edi], ebx
mov edx, dword [0x428ec8]
mov dword [ebp - 0x14], ebx
mov dword [edx + 8], ebx
mov eax, dword [0x428ec4]
lea ecx, [ebp - 0x1c]
inc eax
mov dword [0x428ec4], eax
call fcn.00416477
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x4013b7
push eax
call fcn.004163d0
add esp, 4
mov edi, dword [0x428ec8]
push 0x18
call fcn.00417373
mov dword [eax + 4], edi
mov dword [eax + 0x14], ebx
mov dword [esi + 4], eax
mov dword [esi + 0xc], ebx
mov dword [eax], eax
mov eax, dword [esi + 4]
add esp, 4
mov dword [eax + 8], eax
jmp 0x4013df
xor esi, esi
push 0x10
mov byte [ebp - 4], bl
mov dword [0x428eb0], esi
call fcn.00417373
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
cmp esi, ebx
mov byte [ebp - 4], 2
je 0x40148f
mov al, byte [ebp + 0xb]
mov cl, byte [ebp + 0xb]
push 0x18
mov byte [esi], al
mov byte [esi + 1], cl
mov byte [esi + 8], bl
call fcn.00417373
mov edi, eax
add esp, 4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x14], edi
mov dword [edi + 4], ebx
mov dword [edi + 0x14], 1
call fcn.004163db
cmp dword [0x428ec0], ebx
jne 0x40144e
mov dword [0x428ec0], edi
mov dword [edi], ebx
mov edx, dword [0x428ec0]
mov dword [ebp - 0x14], ebx
mov dword [edx + 8], ebx
mov eax, dword [0x428ebc]
lea ecx, [ebp - 0x1c]
inc eax
mov dword [0x428ebc], eax
call fcn.00416477
mov eax, dword [ebp - 0x14]
cmp eax, ebx
je 0x401471
push eax
call fcn.004163d0
add esp, 4
mov eax, dword [0x428ec0]
push ebx
push eax
mov ecx, esi
call fcn.00403c00
mov dword [esi + 4], eax
mov dword [esi + 0xc], ebx
mov dword [eax], eax
mov eax, dword [esi + 4]
mov dword [eax + 8], eax
jmp 0x401491
xor esi, esi
push 0xc
mov byte [ebp - 4], bl
mov dword [0x428eac], esi
call fcn.00417373
mov esi, eax
add esp, 4
mov dword [ebp - 0x20], esi
cmp esi, ebx
mov byte [ebp - 4], 3
je 0x4014cd
mov cl, byte [ebp + 0xb]
push 0xc
mov byte [esi], cl
call fcn.00417373
mov dword [eax], eax
mov dword [eax + 4], eax
add esp, 4
mov dword [esi + 4], eax
mov dword [esi + 8], ebx
jmp 0x4014cf
xor esi, esi
mov byte [ebp - 4], bl
mov dword [0x428ea8], esi
call fcn.00402490
mov byte [0x428eb4], 1
call fcn.00401d50
mov esi, dword [ebp + 8]
cmp esi, ebx
jne 0x4014f6
lea esi, [ebp - 0x1b4]
mov eax, dword [ebp + 0xc]
cmp ax, bx
mov dword [ebp + 8], eax
jne 0x401508
mov dword [ebp + 8], 0x101
mov edx, dword [ebp + 8]
push esi
push edx
call sub.WSOCK32.dll_WSAStartup
cmp eax, ebx
je 0x40151b
mov dword [ebp - 0x18], ebx
jmp 0x401543
mov eax, dword [ebp + 8]
mov cl, byte [esi]
cmp cl, al
jne 0x401531
xor ecx, ecx
xor edx, edx
mov cl, byte [esi + 1]
mov dl, ah
cmp cl, dl
je 0x401543
call sub.WSOCK32.dll_WSACleanup
mov dword [ebp - 0x18], ebx
jmp 0x401543
mov esi, dword [ebp - 0x24]
cmp esi, ebx
je 0x401558
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret