Function at 0x1401bf250
Capabilities:
Convert ip address from string

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov byte [r8], 0
mov r12, rcx
mov rbx, rdx
mov r15, r8
test rcx, rcx
jne 0x1401bf27f
mov byte [rsp + 0x3b], 0
jmp 0x1401bf5df
mov sil, byte [rcx]
test sil, sil
setne dl
test rbx, rbx
setne al
and dl, al
mov byte [rsp + 0x3b], dl
je 0x1401bf275
cmp byte [rbx], 0
je 0x1401bf275
mov rdx, rbx
lea rcx, [0x1402bc040]
call sym.strcmp
test eax, eax
je 0x1401bf5df
cmp sil, 0x5b
jne 0x1401bf2f5
mov edx, 0x5d
mov rcx, r12
call sym.strchr
mov rbp, rax
test rax, rax
je 0x1401bf275
lea rsi, [r12 + 1]
sub rbp, rsi
cmp rbp, 0x7f
ja 0x1401bf275
lea r12, [rsp + 0x60]
mov rcx, rbp
mov r14d, 2
mov rdi, r12
rep movsb byte [rdi], byte [rsi]
mov byte [rsp + rbp + 0x60], 0
jmp 0x1401bf331
mov rcx, r12
mov r14d, 1
call sym.strlen
lea r8, [rsp + 0xe0]
mov rdx, r12
mov ecx, 2
mov rbp, rax
call qword [sym.imp.WS2_32.dll_inet_pton]
dec eax
je 0x1401bf331
lea rax, [rbp - 1]
xor r14d, r14d
cmp byte [r12 + rbp - 1], 0x2e
cmove rbp, rax
lea eax, [r14 - 1]
mov dword [rsp + 0x3c], eax
cmp byte [rbx], 0
je 0x1401bf275
mov al, byte [rbx]
test al, al
je 0x1401bf355
cmp al, 0x20
jne 0x1401bf351
inc rbx
jmp 0x1401bf342
cmp al, 9
je 0x1401bf34c
xor r13d, r13d
mov dl, byte [rbx + r13]
cmp dl, 0x2c
jbe 0x1401bf366
inc r13
jmp 0x1401bf358
movabs rsi, 0xffffeffefffffdfe
bt rsi, rdx
jb 0x1401bf361
test r13, r13
je 0x1401bf3e9
cmp dword [rsp + 0x3c], 1
jbe 0x1401bf3e3
cmp byte [rbx + r13 - 1], 0x2e
lea r8, [r13 - 1]
jne 0x1401bf399
test r8, r8
je 0x1401bf5c6
jmp 0x1401bf39c
mov r8, r13
mov rcx, rbx
cmp al, 0x2e
jne 0x1401bf3aa
lea rcx, [rbx + 1]
dec r8
cmp r8, rbp
jne 0x1401bf3c4
mov r8, rbp
mov rdx, r12
call sym.curl_strnequal
test eax, eax
setne al
jmp 0x1401bf5d7
jae 0x1401bf3e9
mov rdx, rbp
sub rdx, r8
cmp byte [r12 + rdx - 1], 0x2e
jne 0x1401bf3e9
add rdx, r12
call sym.curl_strnequal
test eax, eax
jmp 0x1401bf5d9
cmp r13, 0x7f
jbe 0x1401bf3f1
add rbx, r13
jmp 0x1401bf59f
lea rax, [rsp + 0xe0]
mov rsi, rbx
mov rcx, r13
mov edx, 0x2f
mov rdi, rax
mov qword [rsp + 0x20], rax
rep movsb byte [rdi], byte [rsi]
mov rcx, rax
xor esi, esi
mov byte [rsp + r13 + 0xe0], 0
call sym.strchr
mov rdi, rax
test rax, rax
je 0x1401bf437
lea rcx, [rax + 1]
call sym.atoi
mov byte [rdi], 0
mov esi, eax
cmp r14d, 2
jne 0x1401bf504
test esi, esi
jne 0x1401bf44a
mov esi, pe_nt_image_headers64
lea rax, [rsp + 0x40]
mov rdi, qword [sym.imp.WS2_32.dll_inet_pton]
mov rdx, r12
mov ecx, 0x17
mov qword [rsp + 0x28], rax
mov r8, rax
call rdi
dec eax
jne 0x1401bf3e9
lea rax, [rsp + 0x50]
mov rdx, qword [rsp + 0x20]
mov ecx, 0x17
mov qword [rsp + 0x30], rax
mov r8, rax
call rdi
dec eax
jne 0x1401bf3e9
mov edi, esi
shr edi, 3
cmp esi, 0x87
ja 0x1401bf3e9
and esi, 7
cmp edi, 0x10
jne 0x1401bf4b2
test esi, esi
jne 0x1401bf3e9
test edi, edi
je 0x1401bf4d7
mov r8d, edi
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
and r8d, 0x1fffffff
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401bf3e9
test esi, esi
je 0x1401bf5df
movsxd r9, edi
mov ecx, 8
mov edx, 0xff
sub ecx, esi
mov al, byte [rsp + r9 + 0x40]
xor al, byte [rsp + r9 + 0x50]
movzx eax, al
shl edx, cl
test eax, edx
jmp 0x1401bf5d9
xor eax, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x50], eax
cmp esi, 0x20
ja 0x1401bf3e9
mov rdi, qword [sym.imp.WS2_32.dll_inet_pton]
lea r8, [rsp + 0x40]
mov rdx, r12
mov ecx, 2
call rdi
dec eax
jne 0x1401bf3e9
mov rdx, qword [rsp + 0x20]
lea r8, [rsp + 0x50]
mov ecx, 2
call rdi
dec eax
jne 0x1401bf3e9
mov ecx, dword [rsp + 0x40]
test esi, 0xffffffdf
je 0x1401bf58f
mov rdx, qword [sym.imp.WS2_32.dll_htonl]
mov qword [rsp + 0x20], rdx
call rdx
mov ecx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x20]
mov edi, eax
call rdx
mov ecx, 0x20
mov edx, eax
sub ecx, esi
or eax, 0xffffffff
shl eax, cl
xor edi, edx
test eax, edi
jne 0x1401bf3e9
jmp 0x1401bf5df
cmp dword [rsp + 0x50], ecx
sete al
jmp 0x1401bf5d7
cmp al, 9
jne 0x1401bf5a7
inc rbx
mov al, byte [rbx]
cmp al, 0x20
jne 0x1401bf598
jmp 0x1401bf59c
test al, al
je 0x1401bf5b8
cmp al, 0x2c
je 0x1401bf5b8
mov byte [r15], 1
jmp 0x1401bf339
cmp byte [rbx], 0x2c
jne 0x1401bf339
inc rbx
jmp 0x1401bf5b8
mov rcx, rbx
test rbp, rbp
jne 0x1401bf3c6
jmp 0x1401bf3af
test al, al
je 0x1401bf3e9
mov al, byte [rsp + 0x3b]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret