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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x20
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
push edi
test ebp, ebp
je 0x41a92c
mov edi, dword [esp + 0x38]
test eax, eax
mov esi, 4
cmovne esi, eax
xor edx, edx
xor ecx, ecx
xor ebx, ebx
mov al, byte [edi]
test al, al
je 0x41a7e7
cmp al, 0x2e
jne 0x41a887
inc edx
cmp edx, 3
jle 0x41a8b8
mov edi, dword [esp + 0x38]
mov ebx, dword [0x454514]
test ebx, ebx
je 0x41a936
cmp esi, 6
je 0x41a804
mov edi, 2
cmp esi, 0x40
jne 0x41a809
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 0x41a87d
cmp esi, 4
je 0x41a92c
cmp esi, 6
je 0x41a92c
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 0x41a92c
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp al, 0x3a
jne 0x41a897
inc ecx
cmp ecx, 7
jg 0x41a7e3
jmp 0x41a8b8
cmp al, 0x25
je 0x41a8b7
cmp al, 0x61
jb 0x41a8a3
cmp al, 0x66
jbe 0x41a8b7
cmp al, 0x41
jb 0x41a8ab
cmp al, 0x46
jbe 0x41a8b7
sub al, 0x30
cmp al, 9
ja 0x41a7e3
jmp 0x41a8b8
inc ebx
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41a7d1
cmp edx, 3
jne 0x41a8da
test ecx, ecx
jne 0x41a8da
test ebx, ebx
jne 0x41a7e3
lea eax, [edx - 1]
jmp 0x41a8e8
cmp ecx, 2
jl 0x41a7e3
mov eax, 0x17
cmp esi, 4
jne 0x41a8f2
cmp eax, 2
jne 0x41a92c
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
jg 0x41aa27
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 0x41a955
mov dword [esp + 0x14], 2
cmp esi, 0x40
jne 0x41a95d
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 0x41a9aa
cmp esi, 0x40
je 0x41a980
cmp esi, 0x2e
jne 0x41a92c
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 0x41a92c
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x41a92c
mov eax, dword [esi + 0x18]
movzx eax, word [eax]
mov edi, eax
cmp eax, 2
je 0x41a9d9
cmp eax, 0x17
je 0x41a9d9
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], ax
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.00423770
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