Function at 0x140206d70
Capabilities:
Convert ip address from string

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
mov rbx, qword [rsp + 0xc0]
mov r13d, dword [rsp + 0xc8]
mov r12, rdx
mov rdi, rcx
xor ecx, ecx
mov edx, 0x40
mov qword [rsp + 0x40], rcx
mov rbp, r8
mov r14d, r9d
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rcx
mov rcx, r12
call sym.memchr
mov rsi, rax
test rax, rax
je 0x140206e75
mov rcx, qword [rdi]
inc rsi
test rcx, rcx
jne 0x140206dd3
xor eax, eax
jmp 0x140206deb
call sym.Curl_get_scheme_handler
test rax, rax
je 0x140206dcf
test byte [rax + 0x8d], 4
je 0x140206dcf
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
sub rsi, r12
lea r9, [rsp + 0x48]
mov rcx, r12
lea rdx, [rsi - 1]
lea r8, [rsp + 0x40]
call sym.Curl_parse_login_details
test eax, eax
jne 0x140206e79
cmp qword [rsp + 0x40], 0
je 0x140206e34
mov rax, qword [0x1402c1aa0]
and r14d, 0x20
mov rax, qword [rax]
jne 0x140206e80
mov rcx, qword [rdi + 8]
call rax
mov rax, qword [rsp + 0x40]
mov qword [rdi + 8], rax
cmp qword [rsp + 0x48], 0
je 0x140206e52
mov rax, qword [0x1402c1aa0]
mov rcx, qword [rdi + 0x10]
call qword [rax]
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x10], rax
cmp qword [rsp + 0x50], 0
je 0x140206e70
mov rax, qword [0x1402c1aa0]
mov rcx, qword [rdi + 0x18]
call qword [rax]
mov rax, qword [rsp + 0x50]
mov qword [rdi + 0x18], rax
mov rax, rsi
jmp 0x140206ebc
xor esi, esi
jmp 0x140206e85
mov esi, 0x17
jmp 0x140206e85
mov esi, 8
mov r14, qword [0x1402c1aa0]
mov rcx, qword [rsp + 0x40]
call qword [r14]
mov rcx, qword [rsp + 0x48]
call qword [r14]
mov rcx, qword [rsp + 0x50]
call qword [r14]
xor edx, edx
mov qword [rdi + 8], rdx
mov qword [rdi + 0x10], rdx
mov qword [rdi + 0x18], rdx
test esi, esi
jne 0x1402072e1
xor eax, eax
mov r8, rbp
lea rdx, [r12 + rax]
mov rcx, rbx
sub r8, rax
call sym.Curl_dyn_addn
mov esi, eax
test eax, eax
je 0x140206ee7
cmp eax, 0x64
je 0x1402072ce
mov esi, 7
jmp 0x1402072e1
mov rcx, rbx
call sym.Curl_dyn_ptr
cmp byte [rax], 0x5b
mov r12, rax
jne 0x140206f26
mov edx, 0x5d
mov rcx, rax
call sym.strchr
test rax, rax
je 0x1402072d5
mov dl, byte [rax + 1]
test dl, dl
je 0x140206fbf
lea rbp, [rax + 1]
cmp dl, 0x3a
je 0x140206f3f
jmp 0x140206fb5
mov edx, 0x3a
mov rcx, rax
call sym.strchr
mov rbp, rax
test rax, rax
je 0x140206fbf
mov rdx, rbp
mov rcx, rbx
sub rdx, r12
call sym.Curl_dyn_setlen
mov al, byte [rbp + 1]
test al, al
jne 0x140206f5b
test r13b, r13b
jne 0x140206fbf
jmp 0x140206fb5
sub eax, 0x30
cmp al, 9
ja 0x140206fb5
lea rcx, [rbp + 1]
lea rdx, [rsp + 0x50]
mov r8d, 0xa
call sym.strtol
mov ebp, eax
cmp eax, 0xffff
jg 0x140206fb5
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x140206fb5
mov rax, qword [0x1402c1aa0]
mov rcx, qword [rdi + 0x30]
mov dword [rdi + 0x50], ebp
call qword [rax]
mov edx, ebp
lea rcx, [0x1402b65f5]
call sym.curl_maprintf
mov qword [rdi + 0x30], rax
test rax, rax
jne 0x140206fbf
jmp 0x140206edd
mov esi, 4
jmp 0x1402072e1
mov rcx, rbx
call sym.Curl_dyn_len
test rax, rax
je 0x1402072dc
mov rcx, rbx
call sym.Curl_dyn_ptr
mov rbp, rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
cmp byte [rbp], 0x5b
je 0x1402071e2
xor r12d, r12d
lea r13, [rsp + 0x48]
mov al, byte [rbp]
sub eax, 0x30
cmp al, 9
ja 0x140207215
mov rdx, r13
mov rcx, rbp
xor r8d, r8d
call sym.strtoul
mov rbp, qword [rsp + 0x48]
movsxd rdx, r12d
mov dword [rsp + rdx*4 + 0x50], eax
mov dl, byte [rbp]
test dl, dl
je 0x14020704a
cmp dl, 0x2e
jne 0x140207215
cmp r12d, 3
je 0x140207215
inc r12d
inc rbp
inc eax
jne 0x140206ff9
xor r14d, r14d
jmp 0x140207051
inc eax
jne 0x140207065
mov r14b, 1
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0x22
je 0x140207215
test r14b, r14b
je 0x140206ff9
cmp r12d, 2
je 0x140207110
jg 0x140207080
test r12d, r12d
je 0x14020708f
dec r12d
je 0x1402070bf
jmp 0x1402072e1
cmp r12d, 3
je 0x140207163
jmp 0x1402072e1
mov rcx, rbx
call sym.Curl_dyn_reset
mov eax, dword [rsp + 0x50]
movzx edx, al
mov r9d, eax
mov dword [rsp + 0x28], edx
shr r9d, 0x10
movzx edx, ah
shr eax, 0x18
mov dword [rsp + 0x20], edx
movzx r9d, r9b
mov r8d, eax
jmp 0x1402071c6
mov r8d, dword [rsp + 0x50]
cmp r8d, 0xff
mov dword [rsp + 0x30], r8d
ja 0x140207215
mov ebp, dword [rsp + 0x54]
cmp ebp, 0xffffff
ja 0x140207215
mov rcx, rbx
call sym.Curl_dyn_reset
movzx eax, bpl
mov r9d, ebp
mov r8d, dword [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov eax, ebp
shr r9d, 0x10
movzx eax, ah
mov dword [rsp + 0x20], eax
jmp 0x1402071c6
mov r8d, dword [rsp + 0x50]
cmp r8d, 0xff
mov dword [rsp + 0x3c], r8d
ja 0x140207215
mov r9d, dword [rsp + 0x54]
cmp r9d, 0xff
mov dword [rsp + 0x30], r9d
ja 0x140207215
mov ebp, dword [rsp + 0x58]
cmp ebp, 0xffff
ja 0x140207215
mov rcx, rbx
call sym.Curl_dyn_reset
movzx eax, bpl
shr ebp, 8
mov dword [rsp + 0x28], eax
jmp 0x1402071b8
mov r8d, dword [rsp + 0x50]
cmp r8d, 0xff
mov dword [rsp + 0x3c], r8d
ja 0x140207215
mov r9d, dword [rsp + 0x54]
cmp r9d, 0xff
mov dword [rsp + 0x30], r9d
ja 0x140207215
mov ebp, dword [rsp + 0x58]
cmp ebp, 0xff
ja 0x140207215
mov r12d, dword [rsp + 0x5c]
cmp r12d, 0xff
ja 0x140207215
mov rcx, rbx
call sym.Curl_dyn_reset
mov dword [rsp + 0x28], r12d
mov r9d, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x3c]
mov dword [rsp + 0x20], ebp
lea rdx, str._u._u._u._u
mov rcx, rbx
call sym.Curl_dyn_addf
test eax, eax
je 0x1402072e1
jmp 0x140206edd
mov rcx, rbx
call sym.Curl_dyn_len
mov rcx, rbx
mov qword [rsp + 0x30], rax
call sym.Curl_dyn_ptr
mov r8, qword [rsp + 0x30]
mov rcx, rdi
mov rdx, rax
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.ipv6_parse
mov rcx, rbx
call sym.Curl_dyn_ptr
mov edx, 0x25
mov rcx, rax
mov rsi, rax
call sym.strchr
test rax, rax
je 0x14020729b
mov rcx, rsi
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x50]
xor edx, edx
mov dword [rsp + 0x20], 3
mov esi, 0x15
call sym.Curl_urldecode
test eax, eax
jne 0x1402072e1
mov rcx, rbx
call sym.Curl_dyn_reset
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
call sym.Curl_dyn_addn
mov rcx, qword [rsp + 0x50]
mov esi, eax
mov rax, qword [0x1402c1aa0]
call qword [rax]
test esi, esi
je 0x14020729b
cmp esi, 0x64
mov eax, 0x1f
mov esi, 7
cmove esi, eax
jmp 0x1402072e1
mov rcx, rbx
call sym.Curl_dyn_len
mov rcx, rbx
mov qword [rsp + 0x30], rax
call sym.Curl_dyn_ptr
mov r8, qword [rsp + 0x30]
mov rcx, rdi
mov rdx, rax
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.hostname_check
mov esi, 0x1f
jmp 0x1402072e1
mov esi, 0x16
jmp 0x1402072e1
mov esi, 0xe
mov eax, esi
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret