Function at 0x419310
Capabilities:
Convert ip address from string
Resolve dns

Disassembly:
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
push edi
test ebp, ebp
je 0x41949c
mov eax, dword [esp + 0x34]
mov esi, 4
mov edi, dword [esp + 0x38]
test eax, eax
cmovne esi, eax
xor edx, edx
xor ecx, ecx
xor ebx, ebx
mov al, byte [edi]
test al, al
je 0x419357
cmp al, 0x2e
jne 0x4193f7
inc edx
cmp edx, 3
jle 0x419428
mov edi, dword [esp + 0x38]
mov ebx, dword [0x450434]
test ebx, ebx
je 0x4194a6
cmp esi, 6
je 0x419374
mov edi, 2
cmp esi, 0x40
jne 0x419379
mov edi, 0x17
xor ecx, ecx
movzx eax, di
cmp eax, 0x17
mov word [ebp], ax
sete cl
lea ecx, [ecx*4 + 4]
add ecx, ebp
push ecx
push dword [esp + 0x3c]
push edi
call ebx
add esp, 0xc
test eax, eax
jne 0x4193ed
cmp esi, 4
je 0x41949c
cmp esi, 6
je 0x41949c
cmp esi, 0x2e
mov eax, 0x17
mov edi, 2
cmove edi, eax
xor ecx, ecx
movzx eax, di
cmp eax, 0x17
mov word [ebp], ax
sete cl
lea ecx, [ecx*4 + 4]
add ecx, ebp
push ecx
push dword [esp + 0x3c]
push edi
call ebx
add esp, 0xc
test eax, eax
je 0x41949c
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp al, 0x3a
jne 0x419407
inc ecx
cmp ecx, 7
jg 0x419353
jmp 0x419428
cmp al, 0x25
je 0x419427
cmp al, 0x61
jb 0x419413
cmp al, 0x66
jbe 0x419427
cmp al, 0x41
jb 0x41941b
cmp al, 0x46
jbe 0x419427
sub al, 0x30
cmp al, 9
ja 0x419353
jmp 0x419428
inc ebx
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419341
cmp edx, 3
jne 0x41944a
test ecx, ecx
jne 0x41944a
test ebx, ebx
jne 0x419353
lea eax, [edx - 1]
jmp 0x419458
cmp ecx, 2
jl 0x419353
mov eax, 0x17
cmp esi, 4
jne 0x419462
cmp eax, 2
jne 0x41949c
movzx eax, ax
cmp esi, 6
mov ecx, 0x17
cmove eax, ecx
movzx ecx, ax
xor eax, eax
cmp ecx, 0x17
mov word [ebp], cx
sete al
lea eax, [eax*4 + 4]
add eax, ebp
push eax
push dword [esp + 0x3c]
push ecx
call dword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jne 0x419595
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
xorps xmm0, xmm0
movups xmmword [esp + 0x10], xmm0
movups xmmword [esp + 0x20], xmm0
cmp esi, 6
je 0x4194c5
mov dword [esp + 0x14], 2
cmp esi, 0x40
jne 0x4194cd
mov dword [esp + 0x14], 0x17
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x14]
push eax
push 0
push edi
mov edi, dword [sym.imp.WS2_32.dll_getaddrinfo]
call edi
test eax, eax
je 0x41951a
cmp esi, 0x40
je 0x4194f0
cmp esi, 0x2e
jne 0x41949c
mov ecx, 2
cmp esi, 0x40
mov eax, 0x17
cmove eax, ecx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x14]
push eax
push 0
push dword [esp + 0x44]
call edi
test eax, eax
jne 0x41949c
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x41949c
mov eax, dword [esi + 0x18]
movzx edi, word [eax]
cmp edi, 2
je 0x419547
cmp edi, 0x17
je 0x419547
push esi
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
mov word [ebp], di
mov ebx, 0x10
mov edx, dword [esi + 0x18]
mov eax, 4
movzx ecx, word [edx]
cmp ecx, 0x17
cmove eax, ebx
push eax
xor eax, eax
cmp ecx, 0x17
sete al
lea eax, [eax*4 + 4]
add eax, edx
push eax
xor eax, eax
cmp edi, 0x17
sete al
lea eax, [eax*4 + 4]
add eax, ebp
push eax
call fcn.00421e80
add esp, 0xc
push esi
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
movzx eax, word [ebp]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret