Function at 0x4b0850
Capabilities:
Convert ip address from string

Disassembly:
sub esp, 0x13c
mov eax, dword [0x7000a8]
xor eax, esp
mov dword [esp + 0x138], eax
push ebx
push ebp
mov ebp, dword [esp + 0x148]
push esi
push edi
mov edi, dword [esp + 0x154]
mov dword [esp + 0x18], ebp
test edi, edi
je 0x4b0bf9
cmp byte [edi], 0
je 0x4b0bf9
xor esi, esi
mov ecx, edi
mov eax, 0x669c4c
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b08b4
test dl, dl
je 0x4b08b0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b08b4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b0894
xor eax, eax
jmp 0x4b08b9
sbb eax, eax
or eax, 1
test eax, eax
je 0x4b0b8f
cmp byte [ebp], 0x5b
jne 0x4b0915
push 0x5d
push ebp
call fcn.004b9210
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4b0bf9
inc ebp
sub ebx, ebp
mov dword [esp + 0x24], ebx
cmp ebx, 0x80
jae 0x4b0bf9
push ebx
lea eax, [esp + 0x4c]
push ebp
push eax
call fcn.004b94a0
lea edx, [esp + 0x54]
mov byte [esp + ebx + 0x54], 0
add esp, 0xc
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], 2
jmp 0x4b0945
lea eax, [esp + 0x24]
push eax
push ebp
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
mov ecx, 1
mov ebx, ebp
cmp eax, ecx
cmove esi, ecx
mov dword [esp + 0x1c], esi
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x4b0936
sub ebx, ecx
mov edx, ebp
mov dword [esp + 0x24], ebx
mov al, byte [edi]
test al, al
je 0x4b0bf9
xor esi, esi
cmp al, 0x20
je 0x4b095b
mov cl, al
cmp al, 9
jne 0x4b0965
mov al, byte [edi + 1]
inc edi
mov cl, al
test al, al
jne 0x4b0951
mov ebp, edi
test cl, cl
je 0x4b0bd4
nop
cmp cl, 0x20
je 0x4b0988
cmp cl, 9
je 0x4b0988
cmp cl, 0x2c
je 0x4b0988
mov cl, byte [edi + 1]
inc edi
inc esi
test cl, cl
jne 0x4b0970
test esi, esi
je 0x4b0bd4
mov eax, dword [esp + 0x1c]
sub eax, 0
je 0x4b0ba0
sub eax, 1
je 0x4b09ab
sub eax, 1
jne 0x4b0bd4
push 0x2f
push ebp
call fcn.004b9210
mov ebx, eax
add esp, 8
xor eax, eax
mov dword [esp + 0x14], eax
test ebx, ebx
je 0x4b0a18
lea ecx, [esi + ebp]
cmp ebx, ecx
jae 0x4b0a18
lea ecx, [ebx + 1]
push ecx
call fcn.004c8036
add esp, 4
mov dword [esp + 0x14], eax
cmp esi, 0x80
jae 0x4b0bd4
push esi
lea eax, [esp + 0xcc]
push ebp
push eax
call fcn.004b94a0
sub ebx, ebp
add esp, 0xc
cmp ebx, 0x80
jae 0x4b0c14
mov eax, dword [esp + 0x14]
lea ebp, [esp + 0xc8]
mov byte [esp + ebx + 0xc8], 0
cmp dword [esp + 0x1c], 2
jne 0x4b0b14
mov ebx, dword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
mov ecx, 0x80
cmove eax, ecx
mov esi, eax
and eax, 7
mov dword [esp + 0x14], eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x1c]
shr esi, 3
push 0x17
mov dword [esp + 0x1c], esi
call ebx
cmp eax, 1
jne 0x4b0bd4
lea eax, [esp + 0x28]
push eax
push ebp
push 0x17
call ebx
cmp eax, 1
jne 0x4b0bd4
cmp esi, 0x10
ja 0x4b0bd4
mov ebx, dword [esp + 0x14]
jne 0x4b0a83
test ebx, ebx
jne 0x4b0bd4
test esi, esi
je 0x4b0aeb
lea ecx, [esp + 0x38]
lea edx, [esp + 0x28]
sub esi, 4
jb 0x4b0aa5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b0aaa
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4b0a94
cmp esi, 0xfffffffc
je 0x4b0ae7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b0bd4
cmp esi, 0xfffffffd
je 0x4b0ae7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b0bd4
cmp esi, 0xfffffffe
je 0x4b0ae7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b0bd4
cmp esi, 0xffffffff
je 0x4b0ae7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b0bd4
mov esi, dword [esp + 0x10]
test ebx, ebx
je 0x4b0b8f
movzx eax, byte [esp + esi + 0x38]
mov ecx, 8
movzx edx, byte [esp + esi + 0x28]
sub ecx, ebx
xor edx, eax
mov eax, 0xff
shl eax, cl
test eax, edx
jmp 0x4b0bd2
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], 0
cmp eax, 0x20
ja 0x4b0bd4
mov ebx, dword [sym.imp.WS2_32.dll_inet_pton]
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x1c]
push 2
call ebx
cmp eax, 1
jne 0x4b0bd4
lea eax, [esp + 0x20]
push eax
push ebp
push 2
call ebx
cmp eax, 1
jne 0x4b0bd4
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4b0b93
cmp ebx, 0x20
je 0x4b0b93
push dword [esp + 0x10]
mov ebp, dword [sym.imp.WS2_32.dll_htonl]
call ebp
push dword [esp + 0x20]
mov esi, eax
call ebp
mov ecx, 0x20
or edx, 0xffffffff
sub ecx, ebx
xor eax, esi
shl edx, cl
test edx, eax
jne 0x4b0bd4
mov al, 1
jmp 0x4b0bfb
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x20]
sete al
jmp 0x4b0bd0
cmp byte [ebp], 0x2e
jne 0x4b0bb7
dec esi
cmp esi, ebx
ja 0x4b0bce
sub edx, esi
lea eax, [ebp + 1]
push ebx
add edx, ebx
push edx
push eax
jmp 0x4b0bbe
cmp esi, ebx
jne 0x4b0bce
push ebx
push edx
push ebp
call fcn.00496d00
add esp, 0xc
test eax, eax
je 0x4b0bce
mov al, 1
jmp 0x4b0bd0
xor al, al
test al, al
jne 0x4b0b8f
mov al, byte [edi]
cmp al, 0x2c
jne 0x4b0be8
nop word [eax + eax]
mov al, byte [edi + 1]
inc edi
cmp al, 0x2c
je 0x4b0be0
test al, al
je 0x4b0bf9
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
jmp 0x4b094f
xor al, al
mov ecx, dword [esp + 0x148]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b75b2
add esp, 0x13c
ret
call fcn.004b7743
int3