Function at 0x408100
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45de82
mov eax, dword fs:[0]
push eax
sub esp, 0x794
mov eax, dword [0x478a70]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x784], ecx
mov dword [ebp - 0x780], 0
mov dword [ebp - 0x6c4], 0
push 0x478
push 0
lea eax, [ebp - 0x6c0]
push eax
call fcn.00442f90
add esp, 0xc
mov dword [ebp - 0x210], 0
push 0
push 1
push 2
call dword [sym.imp.WSOCK32.dll_socket]
mov dword [ebp - 0x6e4], eax
mov ecx, 0x47a5a4
call fcn.004015f0
push eax
call dword [sym.imp.WSOCK32.dll_inet_addr]
mov dword [ebp - 0x21c], eax
mov ecx, 2
mov word [ebp - 0x220], cx
push 0x6e
call dword [sym.imp.WSOCK32.dll_htons]
mov word [ebp - 0x21e], ax
push 0x10
lea edx, [ebp - 0x220]
push edx
mov eax, dword [ebp - 0x6e4]
push eax
call dword [sym.imp.WSOCK32.dll_connect]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x408208
mov ecx, dword [ebp - 0x6e4]
push ecx
call dword [sym.imp.WSOCK32.dll_closesocket]
push 0x463618
mov ecx, dword [ebp + 8]
call fcn.0041b0b0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x780]
or edx, 1
mov dword [ebp - 0x780], edx
mov eax, dword [ebp + 8]
jmp 0x408af3
lea eax, [ebp + 0xac]
push eax
lea ecx, [ebp - 0x240]
call fcn.0041b0b0
mov dword [ebp - 4], 1
lea ecx, [ebp + 0xe9]
push ecx
lea ecx, [ebp - 0x6e0]
call fcn.0041b0b0
mov byte [ebp - 4], 2
lea edx, [ebp + 0xc8]
push edx
lea ecx, [ebp - 0x700]
call fcn.0041b0b0
mov byte [ebp - 4], 3
push 8
lea eax, [ebp + 0xc]
push eax
call section..text
add esp, 8
push 8
lea ecx, [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x6e4]
push edx
call fcn.00420cc0
add esp, 0xc
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x4082dd
mov eax, dword [ebp - 0x6e4]
push eax
call dword [sym.imp.WSOCK32.dll_closesocket]
push 0x46361c
mov ecx, dword [ebp + 8]
call fcn.0041b0b0
mov ecx, dword [ebp - 0x780]
or ecx, 1
mov dword [ebp - 0x780], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x700]
call fcn.0041b130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e0]
call fcn.0041b130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x240]
call fcn.0041b130
mov eax, dword [ebp + 8]
jmp 0x408af3
push 0x21c
lea edx, [ebp + 0x14]
push edx
call section..text
add esp, 8
push 0x21c
lea eax, [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x6e4]
push ecx
call fcn.00420cc0
add esp, 0xc
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x408373
mov edx, dword [ebp - 0x6e4]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
push 0x463620
mov ecx, dword [ebp + 8]
call fcn.0041b0b0
mov eax, dword [ebp - 0x780]
or eax, 1
mov dword [ebp - 0x780], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x700]
call fcn.0041b130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e0]
call fcn.0041b130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x240]
call fcn.0041b130
mov eax, dword [ebp + 8]
jmp 0x408af3
push 0x47c
lea ecx, [ebp - 0x6c4]
push ecx
mov edx, dword [ebp - 0x6e4]
push edx
call fcn.00420bf0
add esp, 0xc
mov dword [ebp - 0x210], eax
push 0x47c
lea eax, [ebp - 0x6c4]
push eax
call fcn.00401040
add esp, 8
cmp dword [ebp - 0x210], 0xffffffff
je 0x4083ba
cmp dword [ebp - 0x210], 0
jne 0x408418
mov ecx, dword [ebp - 0x6e4]
push ecx
call dword [sym.imp.WSOCK32.dll_closesocket]
push 0x463624
mov ecx, dword [ebp + 8]
call fcn.0041b0b0
mov edx, dword [ebp - 0x780]
or edx, 1
mov dword [ebp - 0x780], edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x700]
call fcn.0041b130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e0]
call fcn.0041b130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x240]
call fcn.0041b130
mov eax, dword [ebp + 8]
jmp 0x408af3
mov eax, dword [ebp - 0x6c4]
mov dword [ebp - 0x788], eax
cmp dword [ebp - 0x788], 1
je 0x408738
cmp dword [ebp - 0x788], 2
je 0x40843f
jmp 0x4089fb
cmp dword [ebp - 0x6c0], 0
jne 0x40860b
mov dword [ebp - 0x724], 2
lea ecx, [ebp - 0x698]
push ecx
lea ecx, [ebp - 0x728]
call fcn.00401340
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x728]
call fcn.0041ac70
lea edx, [ebp - 0x76c]
push edx
mov ecx, dword [ebp - 0x784]
call fcn.004138f0
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp - 0x78c]
mov dword [ebp - 0x790], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x790]
call fcn.0041b220
push eax
lea ecx, [ebp - 0x728]
call fcn.00401420
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x76c]
call fcn.0041b130
mov ecx, dword [ebp - 0x784]
add ecx, 0x13c
call fcn.004015f0
push eax
lea ecx, [ebp - 0x728]
call fcn.004015f0
push eax
push 0x463628
push 0x463634
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0
call fcn.004050c0
add esp, 4
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
push 0x46363c
lea ecx, [ebp - 0x720]
call fcn.00401340
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x730]
push ecx
mov edx, dword [ebp - 0x734]
push edx
push 0x463640
lea eax, [ebp - 0x720]
push eax
call fcn.004023e0
add esp, 0x10
mov ecx, dword [ebp - 0x784]
add ecx, 0x13c
call fcn.004015f0
push eax
lea ecx, [ebp - 0x720]
call fcn.004015f0
push eax
push 0x463644
push 0x46364c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x634]
push ecx
push 0x49e
mov ecx, dword [ebp - 0x784]
call fcn.00418140
mov ecx, dword [ebp - 0x784]
add ecx, 0x13c
call fcn.004015f0
push eax
lea edx, [ebp - 0x634]
push edx
push str.post
push 0x46365c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [ebp - 0x43f]
push eax
push 0x49f
mov ecx, dword [ebp - 0x784]
call fcn.00418140
mov ecx, dword [ebp - 0x784]
add ecx, 0x13c
call fcn.004015f0
push eax
lea ecx, [ebp - 0x43f]
push ecx
push str.notice
push 0x46366c
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x720]
call fcn.004013c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x728]
call fcn.004013c0
cmp dword [ebp - 0x6c0], 3
jne 0x40869f
push 0x463674
mov ecx, dword [ebp - 0x784]
call fcn.00416850
mov edx, dword [ebp - 0x6e4]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
push 0
push 0
push 0x10
mov ecx, dword [ebp - 0x784]
call fcn.00402a20
push 0x4636ac
mov ecx, dword [ebp + 8]
call fcn.0041b0b0
mov eax, dword [ebp - 0x780]
or eax, 1
mov dword [ebp - 0x780], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x700]
call fcn.0041b130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e0]
call fcn.0041b130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x240]
call fcn.0041b130
mov eax, dword [ebp + 8]
jmp 0x408af3
cmp dword [ebp - 0x6c0], 1
jne 0x408733
push 0x4636b0
mov ecx, dword [ebp - 0x784]
call fcn.00416850
mov ecx, dword [ebp - 0x6e4]
push ecx
call dword [sym.imp.WSOCK32.dll_closesocket]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
push 0
push 0
push 0x10
mov ecx, dword [ebp - 0x784]
call fcn.00402a20
push 0x4636e8
mov ecx, dword [ebp + 8]
call fcn.0041b0b0
mov edx, dword [ebp - 0x780]
or edx, 1
mov dword [ebp - 0x780], edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x700]
call fcn.0041b130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e0]
call fcn.0041b130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x240]
call fcn.0041b130
mov eax, dword [ebp + 8]
jmp 0x408af3
jmp 0x4089fb
cmp dword [ebp - 0x6c0], 0
jne 0x4088ed
mov eax, dword [ebp - 0x784]
mov dword [eax + 0x730], 1
mov ecx, dword [ebp - 0x784]
mov dword [ecx + 0x70c], 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x770], esp
lea edx, [ebp - 0x240]
push edx
call fcn.0041b0f0
mov dword [ebp - 0x794], eax
mov ecx, dword [ebp - 0x784]
call fcn.00415690
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x774], esp
lea eax, [ebp - 0x6e0]
push eax
call fcn.0041b0f0
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x784]
call fcn.00414fe0
push 0x46307e
lea ecx, [ebp - 0x750]
call fcn.0041b0b0
mov byte [ebp - 4], 7
push 0x4636ec
mov ecx, dword [ebp - 0x784]
add ecx, 0x65c
push ecx
call fcn.0041af50
add esp, 8
movzx edx, al
test edx, edx
je 0x4087fc
push 0x4636f0
lea ecx, [ebp - 0x750]
call fcn.0041b1b0
jmp 0x40880c
push 0x4636f4
lea ecx, [ebp - 0x750]
call fcn.0041b1b0
push 0x4636f8
mov eax, dword [ebp - 0x784]
add eax, 0x650
push eax
call fcn.0041af50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40883e
push 0x4636fc
lea ecx, [ebp - 0x750]
call fcn.0041b1b0
jmp 0x40884e
push 0x463700
lea ecx, [ebp - 0x750]
call fcn.0041b1b0
push 0x463704
lea ecx, [ebp - 0x750]
call fcn.0041b1b0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x778], esp
lea edx, [ebp - 0x750]
push edx
call fcn.0041b0f0
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x784]
call fcn.00415b10
sub esp, 0x47c
mov ecx, 0x11f
lea esi, [ebp - 0x6c4]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x784]
call fcn.00414d80
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x77c], esp
lea eax, [ebp - 0x700]
push eax
call fcn.0041b0f0
mov dword [ebp - 0x7a0], eax
mov ecx, dword [ebp - 0x784]
call fcn.00415920
push 0x463708
mov ecx, dword [ebp - 0x784]
call fcn.00416850
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x750]
call fcn.0041b130
cmp dword [ebp - 0x6c0], 2
jne 0x408974
mov ecx, dword [ebp - 0x784]
mov dword [ecx + 0x730], 0xffffffff
push 0x463714
mov ecx, dword [ebp - 0x784]
call fcn.00416850
mov edx, dword [ebp - 0x6e4]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
push 0x463750
mov ecx, dword [ebp + 8]
call fcn.0041b0b0
mov eax, dword [ebp - 0x780]
or eax, 1
mov dword [ebp - 0x780], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x700]
call fcn.0041b130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e0]
call fcn.0041b130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x240]
call fcn.0041b130
mov eax, dword [ebp + 8]
jmp 0x408af3
cmp dword [ebp - 0x6c0], 1
jne 0x4089fb
mov ecx, dword [ebp - 0x784]
mov dword [ecx + 0x730], 0xffffffff
push 0x463754
mov ecx, dword [ebp - 0x784]
call fcn.00416850
mov edx, dword [ebp - 0x6e4]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
push 0x463788
mov ecx, dword [ebp + 8]
call fcn.0041b0b0
mov eax, dword [ebp - 0x780]
or eax, 1
mov dword [ebp - 0x780], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x700]
call fcn.0041b130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e0]
call fcn.0041b130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x240]
call fcn.0041b130
mov eax, dword [ebp + 8]
jmp 0x408af3
cmp dword [ebp - 0x210], 0xffffffff
jne 0x408a55
push 0x46378c
mov ecx, dword [ebp + 8]
call fcn.0041b0b0
mov ecx, dword [ebp - 0x780]
or ecx, 1
mov dword [ebp - 0x780], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x700]
call fcn.0041b130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e0]
call fcn.0041b130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x240]
call fcn.0041b130
mov eax, dword [ebp + 8]
jmp 0x408af3
mov dword [ebp - 0x224], 0x17
lea edx, [ebp - 0x20c]
push edx
push 0x463790
call fcn.00442ecb
add esp, 8
mov eax, dword [ebp - 0x6e4]
push eax
call dword [sym.imp.WSOCK32.dll_closesocket]
lea ecx, [ebp - 0x20c]
push ecx
lea ecx, [ebp - 0x71c]
call fcn.0041b0b0
mov byte [ebp - 4], 8
lea edx, [ebp - 0x71c]
push edx
mov ecx, dword [ebp + 8]
call fcn.0041b0f0
mov eax, dword [ebp - 0x780]
or eax, 1
mov dword [ebp - 0x780], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x71c]
call fcn.0041b130
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x700]
call fcn.0041b130
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6e0]
call fcn.0041b130
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x240]
call fcn.0041b130
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044240e
mov esp, ebp
pop ebp
ret 0x228