Function at 0x44c050
Capabilities:
Convert ip address from string

Disassembly:
sub esp, 0x138
mov eax, dword [0x4764c0]
xor eax, esp
mov dword [esp + 0x134], eax
push ebx
push ebp
mov ebp, dword [esp + 0x144]
mov dword [esp + 0x18], ebp
push esi
mov esi, dword [esp + 0x14c]
push edi
test ebp, ebp
je 0x44c41a
mov bl, byte [ebp]
test bl, bl
je 0x44c41a
test esi, esi
je 0x44c41a
cmp byte [esi], 0
je 0x44c41a
mov dword [esp + 0x14], 0
mov ecx, esi
mov eax, 0x464f70
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44c0d0
test dl, dl
je 0x44c0cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44c0d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x44c0b0
xor eax, eax
jmp 0x44c0d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x44c388
cmp bl, 0x5b
jne 0x44c139
push 0x5d
push ebp
call sub.VCRUNTIME140.dll_strchr
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x44c41a
inc ebp
sub ebx, ebp
mov dword [esp + 0x1c], ebx
cmp ebx, 0x80
jae 0x44c41a
push ebx
lea eax, [esp + 0xc8]
push ebp
push eax
call sub.VCRUNTIME140.dll_memcpy
lea ebp, [esp + 0xd0]
mov byte [esp + ebx + 0xd0], 0
add esp, 0xc
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], 2
jmp 0x44c172
mov ebx, ebp
lea ecx, [ebx + 1]
nop
mov al, byte [ebx]
inc ebx
test al, al
jne 0x44c140
lea eax, [esp + 0x10]
sub ebx, ecx
push eax
push ebp
push 2
mov dword [esp + 0x28], ebx
call dword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x44c166
mov dword [esp + 0x14], eax
jmp 0x44c172
cmp byte [ebx + ebp - 1], 0x2e
jne 0x44c172
dec ebx
mov dword [esp + 0x1c], ebx
mov al, byte [esi]
test al, al
je 0x44c41a
xor edi, edi
nop
cmp al, 0x20
je 0x44c18a
mov cl, al
cmp al, 9
jne 0x44c194
mov al, byte [esi + 1]
inc esi
mov cl, al
test al, al
jne 0x44c180
mov edx, esi
test cl, cl
je 0x44c3f0
nop
cmp cl, 0x20
je 0x44c1b8
cmp cl, 9
je 0x44c1b8
cmp cl, 0x2c
je 0x44c1b8
mov cl, byte [esi + 1]
inc esi
inc edi
test cl, cl
jne 0x44c1a0
test edi, edi
je 0x44c3f0
mov eax, dword [esp + 0x14]
sub eax, 0
je 0x44c39c
sub eax, 1
je 0x44c1db
sub eax, 1
jne 0x44c3f0
xor ebx, ebx
cmp edi, 0x80
jae 0x44c3f0
push edi
push edx
lea eax, [esp + 0x4c]
push eax
call sub.VCRUNTIME140.dll_memcpy
lea eax, [esp + 0x50]
mov byte [esp + edi + 0x50], bl
push 0x2f
push eax
call sub.VCRUNTIME140.dll_strchr
mov edi, eax
add esp, 0x14
test edi, edi
je 0x44c21f
lea ecx, [edi + 1]
push ecx
call sub.api_ms_win_crt_convert_l1_1_0.dll_atoi
add esp, 4
mov byte [edi], 0
mov ebx, eax
cmp dword [esp + 0x14], 2
jne 0x44c310
test ebx, ebx
jne 0x44c233
lea ebp, [ebx + 0x10]
jmp 0x44c24e
mov ebp, ebx
and ebx, 7
shr ebp, 3
cmp ebp, 0x10
ja 0x44c3f0
jne 0x44c24e
test ebx, ebx
jne 0x44c3f0
mov edi, dword [sym.imp.WS2_32.dll_inet_pton]
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x24]
push 0x17
call edi
cmp eax, 1
jne 0x44c3f0
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x48]
push eax
push 0x17
call edi
cmp eax, 1
jne 0x44c3f0
test ebp, ebp
je 0x44c2e7
mov edi, ebp
lea ecx, [esp + 0x34]
lea edx, [esp + 0x24]
sub edi, 4
jb 0x44c2a5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x44c2aa
add ecx, 4
add edx, 4
sub edi, 4
jae 0x44c294
cmp edi, 0xfffffffc
je 0x44c2e7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x44c3f0
cmp edi, 0xfffffffd
je 0x44c2e7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x44c3f0
cmp edi, 0xfffffffe
je 0x44c2e7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x44c3f0
cmp edi, 0xffffffff
je 0x44c2e7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x44c3f0
test ebx, ebx
je 0x44c388
movzx eax, byte [esp + ebp + 0x34]
mov ecx, 8
movzx edx, byte [esp + ebp + 0x24]
sub ecx, ebx
xor edx, eax
mov eax, 0xff
shl eax, cl
test eax, edx
jmp 0x44c3ea
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
cmp ebx, 0x20
ja 0x44c3f0
lea eax, [esp + 0x18]
push eax
push ebp
mov ebp, dword [sym.imp.WS2_32.dll_inet_pton]
push 2
call ebp
cmp eax, 1
jne 0x44c3f0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x48]
push eax
push 2
call ebp
cmp eax, 1
jne 0x44c3f0
test ebx, ebx
je 0x44c38f
cmp ebx, 0x20
je 0x44c38f
push dword [esp + 0x18]
mov ebp, dword [sym.imp.WS2_32.dll_htonl]
call ebp
push dword [esp + 0x10]
mov edi, eax
call ebp
mov ecx, 0x20
or edx, 0xffffffff
sub ecx, ebx
xor eax, edi
shl edx, cl
test edx, eax
jne 0x44c3f0
mov al, 1
jmp 0x44c41c
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
sete al
jmp 0x44c3e8
cmp byte [edx + edi - 1], 0x2e
jne 0x44c3a8
sub edi, 1
je 0x44c3af
cmp byte [edx], 0x2e
jne 0x44c3af
inc edx
dec edi
cmp edi, ebx
jne 0x44c3c5
push ebx
push ebp
push edx
call fcn.0041f8d0
add esp, 0xc
test eax, eax
setne al
jmp 0x44c3e8
jae 0x44c3f0
mov eax, ebp
sub eax, edi
add eax, ebx
cmp byte [eax - 1], 0x2e
jne 0x44c3e6
push edi
push eax
push edx
call fcn.0041f8d0
add esp, 0xc
test eax, eax
je 0x44c3e6
mov al, 1
jmp 0x44c3e8
xor al, al
test al, al
jne 0x44c388
nop dword [eax]
mov al, byte [esi]
cmp al, 0x20
je 0x44c3fa
cmp al, 9
jne 0x44c3fd
inc esi
jmp 0x44c3f0
cmp al, 0x2c
jne 0x44c41a
mov al, byte [esi + 1]
inc esi
cmp al, 0x2c
je 0x44c401
test al, al
je 0x44c41a
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
jmp 0x44c17c
xor al, al
mov ecx, dword [esp + 0x144]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045fb12
add esp, 0x138
ret