Function at 0x140195fe0
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 0x14019600f
mov byte [rsp + 0x3b], 0
jmp 0x14019636f
mov sil, byte [rcx]
test sil, sil
setne dl
test rbx, rbx
setne al
and dl, al
mov byte [rsp + 0x3b], dl
je 0x140196005
cmp byte [rbx], 0
je 0x140196005
mov rdx, rbx
lea rcx, [0x140292150]
call sym.strcmp
test eax, eax
je 0x14019636f
cmp sil, 0x5b
jne 0x140196085
mov edx, 0x5d
mov rcx, r12
call sym.strchr
mov rbp, rax
test rax, rax
je 0x140196005
lea rsi, [r12 + 1]
sub rbp, rsi
cmp rbp, 0x7f
ja 0x140196005
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 0x1401960c1
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 0x1401960c1
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 0x140196005
mov al, byte [rbx]
test al, al
je 0x1401960e5
cmp al, 0x20
jne 0x1401960e1
inc rbx
jmp 0x1401960d2
cmp al, 9
je 0x1401960dc
xor r13d, r13d
mov dl, byte [rbx + r13]
cmp dl, 0x2c
jbe 0x1401960f6
inc r13
jmp 0x1401960e8
movabs rsi, 0xffffeffefffffdfe
bt rsi, rdx
jb 0x1401960f1
test r13, r13
je 0x140196179
cmp dword [rsp + 0x3c], 1
jbe 0x140196173
cmp byte [rbx + r13 - 1], 0x2e
lea r8, [r13 - 1]
jne 0x140196129
test r8, r8
je 0x140196356
jmp 0x14019612c
mov r8, r13
mov rcx, rbx
cmp al, 0x2e
jne 0x14019613a
lea rcx, [rbx + 1]
dec r8
cmp r8, rbp
jne 0x140196154
mov r8, rbp
mov rdx, r12
call sym.curl_strnequal
test eax, eax
setne al
jmp 0x140196367
jae 0x140196179
mov rdx, rbp
sub rdx, r8
cmp byte [r12 + rdx - 1], 0x2e
jne 0x140196179
add rdx, r12
call sym.curl_strnequal
test eax, eax
jmp 0x140196369
cmp r13, 0x7f
jbe 0x140196181
add rbx, r13
jmp 0x14019632f
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 0x1401961c7
lea rcx, [rax + 1]
call sym.atoi
mov byte [rdi], 0
mov esi, eax
cmp r14d, 2
jne 0x140196294
test esi, esi
jne 0x1401961da
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 0x140196179
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 0x140196179
mov edi, esi
shr edi, 3
cmp esi, 0x87
ja 0x140196179
and esi, 7
cmp edi, 0x10
jne 0x140196242
test esi, esi
jne 0x140196179
test edi, edi
je 0x140196267
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 0x140196179
test esi, esi
je 0x14019636f
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 0x140196369
xor eax, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x50], eax
cmp esi, 0x20
ja 0x140196179
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 0x140196179
mov rdx, qword [rsp + 0x20]
lea r8, [rsp + 0x50]
mov ecx, 2
call rdi
dec eax
jne 0x140196179
mov ecx, dword [rsp + 0x40]
test esi, 0xffffffdf
je 0x14019631f
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 0x140196179
jmp 0x14019636f
cmp dword [rsp + 0x50], ecx
sete al
jmp 0x140196367
cmp al, 9
jne 0x140196337
inc rbx
mov al, byte [rbx]
cmp al, 0x20
jne 0x140196328
jmp 0x14019632c
test al, al
je 0x140196348
cmp al, 0x2c
je 0x140196348
mov byte [r15], 1
jmp 0x1401960c9
cmp byte [rbx], 0x2c
jne 0x1401960c9
inc rbx
jmp 0x140196348
mov rcx, rbx
test rbp, rbp
jne 0x140196156
jmp 0x14019613f
test al, al
je 0x140196179
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