Function at 0x41c8f0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x25c
mov ebx, dword [ebp + 8]
mov dword [esp], 0x41a25a
mov dword [esp + 4], 0x41c712
mov dword [esp + 8], 0x267
call sym._updatecontext_f
mov edx, 0x431a60
xor eax, eax
lea esi, [esi]
lea edi, [edi]
xor esi, esi
mov dword [edx + eax*4 + 4], esi
inc eax
cmp eax, 0x1d
jle 0x41c930
test ebx, ebx
mov eax, 1
je 0x41ca63
inc dword [0x4315a4]
mov eax, dword [0x43159c]
mov dword [esp], eax
call sym._mydelete2
mov eax, dword [0x4315a0]
xor ecx, ecx
mov dword [0x43159c], ecx
mov dword [esp], eax
call sym._mydelete2
xor edx, edx
mov dword [0x4315a0], edx
mov dword [esp], ebx
mov dword [esp + 4], 1
mov dword [esp + 8], 0x41c712
mov dword [esp + 0xc], 0x41a25a
mov dword [esp + 0x10], 0x272
call sym._getpart2
mov dword [0x43159c], eax
mov dword [esp], ebx
mov dword [esp + 4], 2
mov dword [esp + 8], 0x41c712
mov dword [esp + 0xc], 0x41a25a
mov dword [esp + 0x10], 0x273
call sym._getpart2
mov dword [0x4315a0], eax
mov dword [esp], ebx
mov dword [esp + 4], 1
mov dword [esp + 8], 0x41c712
mov dword [esp + 0xc], 0x41a25a
mov dword [esp + 0x10], 0x274
call sym._getpart2
mov dword [esp], ebx
mov edi, eax
mov dword [esp + 4], 2
mov dword [esp + 8], 0x41c712
mov dword [esp + 0xc], 0x41a25a
mov dword [esp + 0x10], 0x275
call sym._getpart2
mov esi, eax
mov eax, dword [0x4315a0]
test eax, eax
je 0x41cf58
mov eax, dword [0x430f50]
cmp eax, 2
je 0x41cef3
cmp eax, 2
ja 0x41ce59
dec eax
je 0x41ca6e
mov dword [esp], edi
call sym._mydelete2
mov dword [esp], esi
call sym._mydelete2
mov eax, 1
add esp, 0x25c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x1ff
lea edx, [ebp - 0x238]
mov dword [esp], edx
mov dword [esp + 8], 0x41c71d
call sym._snprintf
mov eax, dword [0x43123c]
test eax, eax
je 0x41caa2
mov eax, dword [0x431240]
test eax, eax
jne 0x41ce1e
mov dword [esp], 0
lea edx, [ebp - 0x238]
mov dword [esp + 4], 7
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x41c727
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
call sym._ioutput
mov eax, dword [0x431ae4]
test eax, eax
jne 0x41ce14
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [esp], 2
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call sym._socket
mov dword [0x431adc], eax
test eax, eax
js 0x41cdfb
mov word [ebp - 0x28], 2
mov dword [esp], esi
call sym._atoi
mov dword [esp], edi
movzx ecx, ax
xchg ch, cl
mov word [ebp - 0x26], cx
call sym._gethostbyname
test eax, eax
je 0x41cde7
mov eax, dword [eax + 0xc]
mov ebx, dword [0x43123c]
mov eax, dword [eax]
test ebx, ebx
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
je 0x41cbd4
mov eax, dword [0x431240]
test eax, eax
je 0x41cdc9
mov dword [ebp - 0x38], 0
lea ebx, [ebp - 0x38]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov word [ebp - 0x38], 2
mov word [ebp - 0x36], 0
mov dword [esp], eax
call sym._gethostbyname
test eax, eax
je 0x41cdb5
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 8], 0x10
mov dword [esp + 4], ebx
mov dword [ebp - 0x34], eax
mov eax, dword [0x431adc]
mov dword [esp], eax
call sym._bind
test eax, eax
js 0x41cda4
mov dword [esp + 4], 1
mov eax, dword [0x431adc]
mov dword [esp], eax
call sym._set_socket_nonblocking
test eax, eax
js 0x41cd8b
mov dword [esp], 0xa
lea ebx, [ebp - 0x28]
call sym._alarm
mov dword [esp + 8], 0x10
mov eax, dword [0x431adc]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._connect
test eax, eax
js 0x41cd4d
mov dword [esp], 0
call sym._alarm
lea edx, [ebp - 0x23c]
mov eax, 0x10
mov dword [ebp - 0x23c], eax
mov eax, dword [0x431adc]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp], eax
call sym._getsockname
test eax, eax
js 0x41cd27
mov eax, dword [0x431264]
test eax, eax
jne 0x41cc73
mov eax, dword [ebp - 0x24]
xchg ah, al
ror eax, 0x10
xchg ah, al
mov dword [0x431260], eax
mov eax, dword [0x431c04]
test eax, eax
jne 0x41cca2
call sym._highestsock
mov dword [esp], edi
mov eax, dword [0x431bd8]
mov dword [0x4315b0], eax
call sym._mydelete2
mov dword [esp], esi
call sym._mydelete2
xor eax, eax
jmp 0x41ca63
mov dword [esp], 0
mov eax, dword [0x431adc]
mov dword [esp + 4], 1
mov dword [esp + 8], 0x21
mov dword [esp + 0xc], 0x41c745
mov dword [esp + 0x10], eax
call sym._ioutput
mov ecx, dword [0x431260]
mov dword [esp], 0
mov dword [esp + 4], 1
mov ebx, ecx
mov edx, ecx
mov dword [esp + 8], 0x21
shr ebx, 0x18
shr edx, 0x10
mov dword [esp + 0x10], ebx
and edx, 0xff
movzx ebx, ch
mov dword [esp + 0xc], 0x41c75b
and ecx, 0xff
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
call sym._ioutput
jmp 0x41cc7c
mov dword [esp], 1
mov dword [esp + 4], 0x41c76f
call sym._outerror
mov eax, dword [0x431adc]
mov dword [esp], eax
call sym._close
jmp 0x41ca4e
call sym.___errno
cmp dword [eax], 0x77
je 0x41cc21
call sym.___errno
cmp dword [eax], 0xb
je 0x41cc21
mov dword [esp], 1
mov dword [esp + 4], 0x41c786
call sym._outerror
mov dword [esp], 0
call sym._alarm
jmp 0x41cd3b
mov dword [esp], 2
mov dword [esp + 4], 0x41c7a2
call sym._outerror
jmp 0x41cbf1
mov dword [esp], 1
mov dword [esp + 4], 0x41c7bc
jmp 0x41cd36
mov dword [esp], 1
mov dword [esp + 4], 0x41c7da
jmp 0x41cd36
mov dword [esp], 0
mov dword [esp + 4], 0x41c810
call sym._outerror
mov eax, dword [0x431240]
jmp 0x41cb6e
mov dword [esp], 1
mov dword [esp + 4], 0x41c834
jmp 0x41cd36
mov dword [esp], 1
mov dword [esp + 4], 0x41c84e
call sym._outerror
jmp 0x41ca4e
call sym._gotobot
jmp 0x41cae1
mov dword [esp + 0x10], ebx
lea ebx, [ebp - 0x238]
mov dword [esp], 0
mov dword [esp + 4], 7
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x41c870
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
call sym._ioutput
jmp 0x41cad4
cmp eax, 3
je 0x41ced8
cmp eax, 4
jne 0x41ca4e
mov dword [esp + 4], 0x1ff
lea ecx, [ebp - 0x238]
mov dword [esp], ecx
mov dword [esp + 8], 0x41c896
movzx edx, word [0x430f90]
mov dword [esp + 0xc], 0x430f54
mov dword [esp + 0x10], edx
call sym._snprintf
mov dword [esp], edi
mov dword [esp + 4], 0x430f54
mov dword [esp + 8], 0x1ff
call sym._strncpy
movzx ecx, word [0x430f90]
mov dword [esp], esi
mov dword [esp + 4], 0x1ff
mov dword [esp + 8], 0x41c8a9
mov dword [esp + 0xc], ecx
call sym._snprintf
jmp 0x41ca8c
mov dword [esp + 4], 0x1ff
lea edx, [ebp - 0x238]
mov dword [esp], edx
mov dword [esp + 8], 0x41c8ac
jmp 0x41ce80
cmp byte [0x430fce], 0
je 0x41cf3a
movzx ecx, word [0x430f90]
lea edx, [ebp - 0x238]
mov dword [esp], edx
mov dword [esp + 4], 0x1ff
mov dword [esp + 8], 0x41c8c0
mov dword [esp + 0xc], 0x430f54
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x430fce
call sym._snprintf
jmp 0x41ce98
mov dword [esp + 4], 0x1ff
lea ecx, [ebp - 0x238]
mov dword [esp], ecx
mov dword [esp + 8], 0x41c8d8
jmp 0x41ce80
mov dword [esp], 7
mov dword [esp + 4], 0x41c712
mov dword [esp + 8], 0x41a25a
mov dword [esp + 0xc], 0x278
call sym._mycalloc2
mov dword [0x4315a0], eax
mov dword [eax], 0x37363636
mov word [eax + 4], 0
mov dword [esp], 7
mov dword [esp + 4], 0x41c712
mov dword [esp + 8], 0x41a25a
mov dword [esp + 0xc], 0x27a
call sym._mycalloc2
mov dword [eax], 0x37363636
mov esi, eax
mov word [eax + 4], 0
jmp 0x41ca34