Function at 0x140063a60
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 r13, rcx
mov rbx, rdx
test rcx, rcx
je 0x140063a92
movzx edx, byte [rcx]
test dl, dl
setne r14b
test rbx, rbx
setne al
and r14b, al
jne 0x140063ab0
xor r14d, r14d
mov eax, r14d
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx r12d, byte [rbx]
test r12b, r12b
je 0x140063a92
cmp r12b, 0x2a
jne 0x140063ac5
cmp byte [rbx + 1], 0
je 0x140063a95
cmp dl, 0x5b
jne 0x140063b0b
mov edx, 0x5d
mov rcx, r13
call sym.strchr
mov rdi, rax
test rax, rax
je 0x140063a92
lea rdx, [r13 + 1]
sub rdi, rdx
cmp rdi, 0x7f
ja 0x140063a92
lea r9, [rsp + 0x60]
mov r8, rdi
mov rcx, r9
call sym.memcpy
mov byte [rsp + rdi + 0x60], 0
mov edx, 2
mov r13, rax
jmp 0x140063b53
mov rcx, r13
call sym.strlen
mov rdx, r13
mov ecx, 2
lea r8, [rsp + 0xe0]
mov rdi, rax
call qword [sym.imp.WS2_32.dll_inet_pton]
mov edx, 1
cmp eax, 1
je 0x140063b46
lea rax, [rdi - 1]
xor edx, edx
cmp byte [r13 + rdi - 1], 0x2e
cmove rdi, rax
movzx r12d, byte [rbx]
test r12b, r12b
je 0x140063a92
lea rax, [rsp + 0xe0]
mov dword [rsp + 0x28], edx
lea ebp, [rdx - 1]
movabs rsi, 0xffffeffefffffdff
mov qword [rsp + 0x20], rax
mov r15d, ebp
nop dword [rax]
mov rcx, rbx
jmp 0x140063b92
movzx r12d, byte [rcx + 1]
add rcx, 1
test r12b, r12b
je 0x140063a92
cmp r12b, 0x20
je 0x140063b80
cmp r12b, 9
je 0x140063b80
mov rbx, rcx
mov eax, r12d
xor ebp, ebp
jmp 0x140063bc0
movzx eax, byte [rbx + 1]
add rbx, 1
add rbp, 1
test al, al
je 0x140063bca
cmp al, 0x2c
ja 0x140063bb0
bt rsi, rax
jb 0x140063bb0
test rbp, rbp
je 0x140063c08
cmp r15d, 1
jbe 0x140063c50
cmp byte [rcx + rbp - 1], 0x2e
lea r8, [rbp - 1]
je 0x140063d20
cmp r12b, 0x2e
jne 0x140063bf2
add rcx, 1
sub rbp, 1
cmp rbp, rdi
je 0x140063d58
jb 0x140063d75
nop dword [rax]
cmp al, 0x20
je 0x140063c10
cmp al, 9
jne 0x140063c1f
add rbx, 1
movzx eax, byte [rbx]
cmp al, 0x20
je 0x140063c10
cmp al, 9
je 0x140063c10
cmp al, 0x2c
jne 0x140063a92
nop word [rax + rax]
movzx r12d, byte [rbx + 1]
add rbx, 1
cmp r12b, 0x2c
je 0x140063c30
test r12b, r12b
jne 0x140063b78
jmp 0x140063a92
cmp rbp, 0x7f
ja 0x140063c08
mov r12, qword [rsp + 0x20]
mov r8, rbp
mov rdx, rcx
mov rcx, r12
call sym.memcpy
mov edx, 0x2f
mov rcx, r12
mov byte [rsp + rbp + 0xe0], 0
call sym.strchr
mov rbp, rax
test rax, rax
je 0x140063e60
lea rcx, [rax + 1]
call sym.atoi
cmp dword [rsp + 0x28], 2
mov byte [rbp], 0
mov dword [rsp + 0x2c], eax
mov r12d, eax
je 0x140063d80
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x50], 0
cmp eax, 0x20
ja 0x140063c14
mov rbp, qword [sym.imp.WS2_32.dll_inet_pton]
lea r8, [rsp + 0x40]
mov rdx, r13
mov ecx, 2
call rbp
cmp eax, 1
jne 0x140063c14
mov rdx, qword [rsp + 0x20]
lea r8, [rsp + 0x50]
mov ecx, 2
call rbp
cmp eax, 1
jne 0x140063c14
mov ecx, dword [rsp + 0x40]
test dword [rsp + 0x2c], 0xffffffdf
jne 0x140063ea1
cmp dword [rsp + 0x50], ecx
sete al
jmp 0x140063d68
test r8, r8
jne 0x140063e84
test rdi, rdi
je 0x140063d58
mov rdx, rdi
cmp byte [r13 + rdx - 1], 0x2e
jne 0x140063c08
add rdx, r13
call sym.curl_strnequal
test eax, eax
je 0x140063c14
jmp 0x140063a95
mov r8, rdi
mov rdx, r13
call sym.curl_strnequal
test eax, eax
setne al
test al, al
je 0x140063c14
jmp 0x140063a95
mov rdx, rdi
mov r8, rbp
sub rdx, rbp
jmp 0x140063d31
test eax, eax
je 0x140063e8c
cmp eax, 0x87
ja 0x140063c14
mov ebp, eax
and r12d, 7
shr ebp, 3
cmp ebp, 0x10
jne 0x140063daa
test r12d, r12d
jne 0x140063c14
mov r10, qword [sym.imp.WS2_32.dll_inet_pton]
lea rax, [rsp + 0x40]
mov rdx, r13
mov ecx, 0x17
mov qword [rsp + 0x30], rax
mov r8, rax
mov qword [rsp + 0x38], r10
call r10
mov r10, qword [rsp + 0x38]
cmp eax, 1
jne 0x140063c14
lea r11, [rsp + 0x50]
mov rdx, qword [rsp + 0x20]
mov ecx, 0x17
mov qword [rsp + 0x38], r11
mov r8, r11
call r10
mov r11, qword [rsp + 0x38]
cmp eax, 1
jne 0x140063c14
cmp dword [rsp + 0x2c], 7
jbe 0x140063e2a
mov r8d, ebp
mov rcx, qword [rsp + 0x30]
mov rdx, r11
and r8d, 0x1fffffff
call sym.memcmp
test eax, eax
jne 0x140063c14
test r12d, r12d
je 0x140063a95
mov ecx, 8
movzx eax, byte [rsp + rbp + 0x40]
mov edx, 0xff
xor al, byte [rsp + rbp + 0x50]
sub ecx, r12d
movzx eax, al
shl edx, cl
test eax, edx
jne 0x140063a95
jmp 0x140063c14
cmp dword [rsp + 0x28], 2
je 0x140063e8c
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x2c], 0
jmp 0x140063cc2
mov rbp, r8
jmp 0x140063be4
mov dword [rsp + 0x2c], pe_nt_image_headers64
xor r12d, r12d
mov ebp, 0x10
jmp 0x140063daa
mov r12, qword [sym.imp.WS2_32.dll_htonl]
call r12
mov ecx, dword [rsp + 0x50]
mov ebp, eax
call r12
mov ecx, 0x20
mov edx, eax
mov eax, dword [rsp + 0x2c]
xor ebp, edx
sub ecx, eax
mov eax, 0xffffffff
shl eax, cl
test eax, ebp
jne 0x140063c14
jmp 0x140063a95