Function at 0x14007c570
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 0x14007c5a9
movzx edx, byte [rcx]
test dl, dl
setne r12b
test r13, r13
setne al
and r12b, al
jne 0x14007c5c8
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 0x14007c5a9
cmp bpl, 0x2a
jne 0x14007c5df
cmp byte [r13 + 1], 0
je 0x14007c5ac
cmp dl, 0x5b
jne 0x14007c62a
mov edx, 0x5d
mov rcx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
test rax, rax
je 0x14007c5a9
lea rdx, [rdi + 1]
sub rax, rdx
mov qword [rsp + 0x28], rax
mov rsi, rax
cmp rax, 0x7f
ja 0x14007c5a9
lea rdi, [rsp + 0x70]
mov r8, rax
mov rcx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov byte [rsp + rsi + 0x70], 0
mov dword [rsp + 0x34], 2
jmp 0x14007c685
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_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 0x14007c677
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 0x14007c5a9
mov eax, dword [rsp + 0x34]
mov rcx, r13
movabs rsi, 0xffffeffefffffdff
sub eax, 1
mov dword [rsp + 0x30], eax
jmp 0x14007c6b1
movzx ebp, byte [rcx + 1]
add rcx, 1
test bpl, bpl
je 0x14007ca1a
cmp bpl, 0x20
je 0x14007c6a0
cmp bpl, 9
je 0x14007c6a0
movzx eax, byte [rcx]
test al, al
je 0x14007ca1a
mov rbx, rcx
xor r13d, r13d
jmp 0x14007c6e0
movzx eax, byte [rbx + 1]
add rbx, 1
add r13, 1
test al, al
je 0x14007c6ea
cmp al, 0x2c
ja 0x14007c6d0
bt rsi, rax
jb 0x14007c6d0
test r13, r13
je 0x14007c734
cmp dword [rsp + 0x30], 1
jbe 0x14007c778
cmp byte [rcx + r13 - 1], 0x2e
lea r8, [r13 - 1]
je 0x14007c848
cmp bpl, 0x2e
jne 0x14007c718
add rcx, 1
sub r13, 1
mov rax, qword [rsp + 0x28]
cmp r13, rax
je 0x14007c880
jae 0x14007c734
jmp 0x14007c8a0
add rbx, 1
movzx eax, byte [rbx]
cmp al, 0x20
je 0x14007c730
cmp al, 9
je 0x14007c730
test al, al
je 0x14007c764
cmp al, 0x2c
je 0x14007c764
mov byte [r15], 1
movzx ebp, byte [rbx]
mov rcx, rbx
test bpl, bpl
jne 0x14007c6b1
jmp 0x14007c5a9
add rbx, 1
movzx ebp, byte [rbx]
cmp bpl, 0x2c
je 0x14007c760
mov rcx, rbx
jmp 0x14007c751
cmp r13, 0x7f
ja 0x14007c734
lea r14, [rsp + 0xf0]
mov r8, r13
mov rdx, rcx
mov rcx, r14
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edx, 0x2f
mov rcx, r14
mov byte [rsp + r13 + 0xf0], 0
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
mov r13, rax
test rax, rax
je 0x14007c8ad
lea rcx, [rax + 1]
call sub.api_ms_win_crt_convert_l1_1_0.dll_atoi
cmp dword [rsp + 0x34], 2
mov byte [r13], 0
mov ebp, eax
je 0x14007c8cf
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
cmp eax, 0x20
ja 0x14007c734
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 0x14007c734
lea r8, [rsp + 0x60]
mov rdx, r14
mov ecx, 2
call r13
cmp eax, 1
jne 0x14007c734
mov ecx, dword [rsp + 0x50]
test ebp, 0xffffffdf
jne 0x14007c9e5
cmp dword [rsp + 0x60], ecx
jne 0x14007c734
jmp 0x14007c5ac
test r8, r8
jne 0x14007c9dd
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x14007c880
cmp byte [rdi + rdx - 1], 0x2e
jne 0x14007c734
add rdx, rdi
call fcn.14005bea0
test eax, eax
je 0x14007c734
jmp 0x14007c5ac
mov r8, qword [rsp + 0x28]
mov rdx, rdi
call fcn.14005bea0
test eax, eax
je 0x14007c734
jmp 0x14007c5ac
mov rdx, qword [rsp + 0x28]
mov r8, r13
sub rdx, r13
jmp 0x14007c85b
cmp dword [rsp + 0x34], 2
je 0x14007c9c0
mov dword [rsp + 0x50], 0
xor ebp, ebp
mov dword [rsp + 0x60], 0
jmp 0x14007c7ea
test eax, eax
je 0x14007c9c0
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 0x14007c734
lea r10, [rsp + 0x60]
mov rdx, r14
mov ecx, 0x17
mov qword [rsp + 0x38], r10
mov r8, r10
call r9
cmp eax, 1
jne 0x14007c734
cmp r13d, 0x10
ja 0x14007c734
cmp dword [rsp + 0x40], 0x10
mov r10, qword [rsp + 0x38]
jne 0x14007c95b
test ebp, ebp
jne 0x14007c734
test r13d, r13d
je 0x14007c97f
mov r8d, r13d
mov rcx, qword [rsp + 0x48]
mov rdx, r10
and r8d, 0x1fffffff
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
jne 0x14007c734
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x14007c5ac
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 0x14007c5ac
jmp 0x14007c734
mov dword [rsp + 0x44], 0
xor ebp, ebp
mov r13d, 0x10
mov dword [rsp + 0x40], 0x10
jmp 0x14007c8ea
mov r13, r8
jmp 0x14007c70a
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 0x14007c734
jmp 0x14007c5ac
mov rbx, rcx
jmp 0x14007c764