Function at 0x14008c730
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, 0x178
mov byte [r8], 0
mov rdi, rcx
mov r13, rdx
mov r15, r8
test rcx, rcx
je 0x14008c769
movzx edx, byte [rcx]
test dl, dl
setne r12b
test r13, r13
setne al
and r12b, al
jne 0x14008c788
xor r12d, r12d
mov eax, r12d
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx ebp, byte [r13]
test bpl, bpl
je 0x14008c769
cmp bpl, 0x2a
jne 0x14008c79f
cmp byte [r13 + 1], 0
je 0x14008c76c
cmp dl, 0x5b
jne 0x14008c7ea
mov edx, 0x5d
mov rcx, rdi
call sym.strchr
test rax, rax
je 0x14008c769
lea rdx, [rdi + 1]
sub rax, rdx
mov qword [rsp + 0x28], rax
mov rsi, rax
cmp rax, 0x7f
ja 0x14008c769
lea rdi, [rsp + 0x70]
mov r8, rax
mov rcx, rdi
call sym.memcpy
mov byte [rsp + rsi + 0x70], 0
mov dword [rsp + 0x34], 2
jmp 0x14008c845
mov rcx, rdi
call sym.strlen
lea r8, [rsp + 0xf0]
mov rdx, rdi
mov ecx, 2
mov qword [rsp + 0x28], rax
mov rsi, rax
call qword [sym.imp.WS2_32.dll_inet_pton]
mov dword [rsp + 0x34], 1
cmp eax, 1
je 0x14008c837
lea rax, [rsi - 1]
cmp byte [rdi + rsi - 1], 0x2e
mov dword [rsp + 0x34], 0
cmovne rax, rsi
mov qword [rsp + 0x28], rax
movzx ebp, byte [r13]
test bpl, bpl
je 0x14008c769
mov eax, dword [rsp + 0x34]
mov rcx, r13
movabs rsi, 0xffffeffefffffdff
sub eax, 1
mov dword [rsp + 0x30], eax
jmp 0x14008c871
movzx ebp, byte [rcx + 1]
add rcx, 1
test bpl, bpl
je 0x14008cbda
cmp bpl, 0x20
je 0x14008c860
cmp bpl, 9
je 0x14008c860
movzx eax, byte [rcx]
test al, al
je 0x14008cbda
mov rbx, rcx
xor r13d, r13d
jmp 0x14008c8a0
movzx eax, byte [rbx + 1]
add rbx, 1
add r13, 1
test al, al
je 0x14008c8aa
cmp al, 0x2c
ja 0x14008c890
bt rsi, rax
jb 0x14008c890
test r13, r13
je 0x14008c8f4
cmp dword [rsp + 0x30], 1
jbe 0x14008c938
cmp byte [rcx + r13 - 1], 0x2e
lea r8, [r13 - 1]
je 0x14008ca08
cmp bpl, 0x2e
jne 0x14008c8d8
add rcx, 1
sub r13, 1
mov rax, qword [rsp + 0x28]
cmp r13, rax
je 0x14008ca40
jae 0x14008c8f4
jmp 0x14008ca60
add rbx, 1
movzx eax, byte [rbx]
cmp al, 0x20
je 0x14008c8f0
cmp al, 9
je 0x14008c8f0
test al, al
je 0x14008c924
cmp al, 0x2c
je 0x14008c924
mov byte [r15], 1
movzx ebp, byte [rbx]
mov rcx, rbx
test bpl, bpl
jne 0x14008c871
jmp 0x14008c769
add rbx, 1
movzx ebp, byte [rbx]
cmp bpl, 0x2c
je 0x14008c920
mov rcx, rbx
jmp 0x14008c911
cmp r13, 0x7f
ja 0x14008c8f4
lea r14, [rsp + 0xf0]
mov r8, r13
mov rdx, rcx
mov rcx, r14
call sym.memcpy
mov edx, 0x2f
mov rcx, r14
mov byte [rsp + r13 + 0xf0], 0
call sym.strchr
mov r13, rax
test rax, rax
je 0x14008ca6d
lea rcx, [rax + 1]
call sym.atoi
cmp dword [rsp + 0x34], 2
mov byte [r13], 0
mov ebp, eax
je 0x14008ca8f
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
cmp eax, 0x20
ja 0x14008c8f4
mov r13, qword [sym.imp.WS2_32.dll_inet_pton]
lea r8, [rsp + 0x50]
mov rdx, rdi
mov ecx, 2
call r13
cmp eax, 1
jne 0x14008c8f4
lea r8, [rsp + 0x60]
mov rdx, r14
mov ecx, 2
call r13
cmp eax, 1
jne 0x14008c8f4
mov ecx, dword [rsp + 0x50]
test ebp, 0xffffffdf
jne 0x14008cba5
cmp dword [rsp + 0x60], ecx
jne 0x14008c8f4
jmp 0x14008c76c
test r8, r8
jne 0x14008cb9d
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x14008ca40
cmp byte [rdi + rdx - 1], 0x2e
jne 0x14008c8f4
add rdx, rdi
call sym.curl_strnequal
test eax, eax
je 0x14008c8f4
jmp 0x14008c76c
mov r8, qword [rsp + 0x28]
mov rdx, rdi
call sym.curl_strnequal
test eax, eax
je 0x14008c8f4
jmp 0x14008c76c
mov rdx, qword [rsp + 0x28]
mov r8, r13
sub rdx, r13
jmp 0x14008ca1b
cmp dword [rsp + 0x34], 2
je 0x14008cb80
mov dword [rsp + 0x50], 0
xor ebp, ebp
mov dword [rsp + 0x60], 0
jmp 0x14008c9aa
test eax, eax
je 0x14008cb80
mov r13d, eax
and ebp, 7
shr r13d, 3
mov dword [rsp + 0x44], ebp
mov dword [rsp + 0x40], r13d
mov r9, qword [sym.imp.WS2_32.dll_inet_pton]
lea rax, [rsp + 0x50]
mov rdx, rdi
mov ecx, 0x17
mov qword [rsp + 0x48], rax
mov r8, rax
mov qword [rsp + 0x38], r9
call r9
mov r9, qword [rsp + 0x38]
cmp eax, 1
jne 0x14008c8f4
lea r10, [rsp + 0x60]
mov rdx, r14
mov ecx, 0x17
mov qword [rsp + 0x38], r10
mov r8, r10
call r9
cmp eax, 1
jne 0x14008c8f4
cmp r13d, 0x10
ja 0x14008c8f4
cmp dword [rsp + 0x40], 0x10
mov r10, qword [rsp + 0x38]
jne 0x14008cb1b
test ebp, ebp
jne 0x14008c8f4
test r13d, r13d
je 0x14008cb3f
mov r8d, r13d
mov rcx, qword [rsp + 0x48]
mov rdx, r10
and r8d, 0x1fffffff
call sym.memcmp
test eax, eax
jne 0x14008c8f4
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x14008c76c
movsxd r13, dword [rsp + 0x40]
mov ecx, 8
mov edx, 0xff
sub ecx, ebp
movzx eax, byte [rsp + r13 + 0x50]
xor al, byte [rsp + r13 + 0x60]
shl edx, cl
movzx eax, al
test eax, edx
jne 0x14008c76c
jmp 0x14008c8f4
mov dword [rsp + 0x44], 0
xor ebp, ebp
mov r13d, 0x10
mov dword [rsp + 0x40], 0x10
jmp 0x14008caaa
mov r13, r8
jmp 0x14008c8ca
mov r14, qword [sym.imp.WS2_32.dll_htonl]
call r14
mov ecx, dword [rsp + 0x60]
mov r13d, eax
call r14
mov ecx, 0x20
mov edx, eax
sub ecx, ebp
mov eax, 0xffffffff
shl eax, cl
xor r13d, edx
test eax, r13d
jne 0x14008c8f4
jmp 0x14008c76c
mov rbx, rcx
jmp 0x14008c924