Function at 0x4ec240
Capabilities:
Convert ip address from string
Create udp socket

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [0x7a9040]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x34], eax
push ebx
call fcn.0066e590
add esp, 4
cmp eax, 7
jae 0x4ec305
mov eax, dword [ebp + 0x18]
mov dword [eax], 0
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x1de], 0
cmp dword [esi + 0x84], 0
je 0x4ec29a
push 2
push 3
push esi
call fcn.005058f0
add esp, 0xc
mov ecx, esi
mov edx, dword [ebp + 0xc]
push dword [ebp + 0x10]
call fcn.004ebc50
add esp, 4
mov edi, eax
mov dword [ebp - 0x28], eax
test eax, eax
je 0x4ec2fd
test esi, esi
je 0x4ec2d1
cmp byte [esi + 0x683], 1
jne 0x4ec2d1
push dword [ebp + 0xc]
push 0x742b77
push esi
call fcn.004e7630
add esp, 0xc
inc dword [edi + 0x10]
mov dword [ebp - 0x38], 0
cmp dword [esi + 0x84], 0
je 0x4ec2ef
push 3
push esi
call fcn.00505950
add esp, 8
test edi, edi
je 0x4ec35f
mov eax, dword [ebp + 0x18]
mov dword [eax], edi
mov esi, dword [ebp - 0x38]
jmp 0x4ec32f
xor eax, eax
dec eax
mov dword [ebp - 0x38], eax
jmp 0x4ec2db
mov edi, eax
add eax, ebx
add eax, 0xfffffffa
push str..onion
push eax
call fcn.00508c30
add esp, 8
test eax, eax
je 0x4ec343
push str.Not_resolving_.onion_address__RFC_7686_
push esi
call fcn.004e7570
add esp, 8
xor esi, esi
dec esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00650d60
mov eax, esi
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret
add edi, ebx
add edi, 0xfffffff9
push str..onion.
push edi
call fcn.00508c30
add esp, 8
test eax, eax
jne 0x4ec31e
jmp 0x4ec271
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0xffffffff
cmp dword [esi + 0x64c], 0
je 0x4ec3b9
push 1
push esi
call fcn.004fda90
add esp, 8
mov ecx, dword [esi + 0x64c]
mov edi, dword [esi + 0x650]
mov ebx, dword [esi + 0x940]
call dword [0x7a29f4]
xor eax, eax
push edi
push eax
push ebx
call ecx
add esp, 0xc
mov edi, eax
xor eax, eax
push eax
push esi
call fcn.004fda90
add esp, 8
test edi, edi
jne 0x4ec32c
lea edi, [ebp - 0x30]
push edi
push dword [ebp + 0xc]
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x4ec472
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
push 2
call fcn.004e6910
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4ec472
cmp dword [esi + 0x84], 0
je 0x4ec401
push 2
push 3
push esi
call fcn.005058f0
add esp, 0xc
push dword [ebp + 0x10]
push 0
push dword [ebp + 0xc]
push ebx
push esi
call fcn.004ebe70
add esp, 0x14
mov edi, eax
mov dword [ebp - 0x28], eax
cmp dword [esi + 0x84], 0
je 0x4ec42c
push 3
push esi
call fcn.00505950
add esp, 8
test edi, edi
je 0x4ec43c
mov dword [ebp - 0x38], 0
jmp 0x4ec2f3
push ebx
call fcn.004e65d0
add esp, 4
mov edi, dword [ebp - 0x28]
jmp 0x4ec2f3
push 0
push 2
push 0x17
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
je 0x4ec32c
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x4ec4f8
mov al, 1
jmp 0x4ec4de
pcmpeqd xmm0, xmm0
lea ebx, [ebp - 0x20]
movdqu xmmword [ebx], xmm0
push ebx
mov edi, dword [ebp + 0xc]
push edi
push 0x17
call dword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jle 0x4ec4a7
push dword [ebp + 0x10]
push edi
push ebx
push 0x17
call fcn.004e6910
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x4ec3eb
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0x3bc], 2
jne 0x4ec4f8
test esi, esi
je 0x4ec44d
mov eax, dword [esi + 0x7c]
mov al, byte [eax + 0x108]
test al, al
jne 0x4ec4f0
push 0
push 2
push 0x17
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
je 0x4ec46e
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov al, 2
mov ecx, dword [esi + 0x7c]
mov byte [ecx + 0x108], al
mov eax, dword [esi + 0x7c]
mov al, byte [eax + 0x108]
cmp al, 2
jne 0x4ec32c
push str.localhost
push edi
call fcn.00508c30
add esp, 8
test eax, eax
je 0x4ec66c
push edi
call fcn.0066e590
add esp, 4
mov edi, eax
lea ebx, [ebp - 0x24]
mov dword [ebx], 0xffffffff
mov eax, dword [ebp + 0x10]
movzx eax, ax
mov dword [ebp - 0x40], eax
push eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x34], ax
push ebx
push str.127.0.0.1
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
xor ebx, ebx
test eax, eax
jle 0x4ec618
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x3c], eax
mov ecx, dword [fcn.00546650]
add edi, 0x31
call dword [0x7a29f4]
push 1
push edi
call ecx
add esp, 8
test eax, eax
je 0x4ec618
movdqa xmm0, xmmword [0x742b20]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0x10
lea ecx, [eax + 0x20]
mov dword [eax + 0x18], ecx
mov word [eax + 0x20], 2
movzx ecx, word [ebp - 0x34]
mov word [eax + 0x22], cx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0x24], ecx
mov edx, eax
add edx, 0x30
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x28], ecx
mov dword [ebp - 0x34], eax
mov dword [eax + 0x14], edx
mov edi, dword [ebp + 0xc]
push edi
push edx
call fcn.0066e270
add esp, 8
push edi
call fcn.0066e590
add esp, 4
mov edi, eax
pcmpeqd xmm0, xmm0
movdqu xmmword [ebp - 0x20], xmm0
mov ecx, dword [fcn.00546650]
add edi, 0x3d
call dword [0x7a29f4]
push 1
push edi
call ecx
add esp, 8
test eax, eax
je 0x4ec615
mov ebx, eax
push dword [ebp - 0x40]
call dword [sym.imp.WS2_32.dll_htons]
mov edi, eax
lea eax, [ebp - 0x20]
push eax
push 0x742d3c
push 0x17
call dword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jg 0x4ec6e6
mov ebx, dword [ebp - 0x34]
test ebx, ebx
jne 0x4ec3eb
cmp dword [ebp - 0x2c], 0
je 0x4ec63e
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1de], 1
je 0x4ec645
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.004d9b10
jmp 0x4ec64f
xor edi, edi
jmp 0x4ec2f3
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.004e7f80
add esp, 8
test eax, eax
jne 0x4ec32c
mov edi, dword [ebp - 0x28]
xor eax, eax
test edi, edi
sete al
mov dword [ebp - 0x38], eax
jmp 0x4ec2f3
push edi
call fcn.0066e590
add esp, 4
cmp eax, 0xa
jb 0x4ec697
add eax, edi
add eax, 0xfffffff6
push 0xa
push eax
push str..localhost
call fcn.00508ca0
add esp, 0xc
test eax, eax
jne 0x4ec50e
cmp byte [ebp + 0x14], 0
je 0x4ec6a6
cmp byte [esi + 0x699], 1
je 0x4ec6d4
push dword [ebp - 0x34]
push esi
call fcn.004ecfb0
add esp, 8
test al, al
je 0x4ec32c
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.004ebac0
add esp, 0x10
mov ebx, eax
jmp 0x4ec618
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push esi
call fcn.004e77b0
jmp 0x4ec6ca
movdqu xmm0, xmmword [ebp - 0x20]
movaps xmm1, xmmword [0x742b30]
movups xmmword [ebx], xmm1
mov dword [ebx + 0x10], 0x1c
xor eax, eax
mov dword [ebx + 0x1c], eax
lea ecx, [ebx + 0x20]
mov dword [ebx + 0x18], ecx
mov word [ebx + 0x20], 0x17
mov word [ebx + 0x22], di
mov dword [ebx + 0x24], eax
movdqu xmmword [ebx + 0x28], xmm0
mov dword [ebx + 0x38], eax
mov eax, ebx
add eax, 0x3c
mov dword [ebx + 0x14], eax
push dword [ebp + 0xc]
push eax
call fcn.0066e270
add esp, 8
mov eax, dword [ebp - 0x34]
mov dword [ebx + 0x1c], eax
jmp 0x4ec618