Function at 0x140073830
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 r12, rcx
mov rbx, rdx
test rcx, rcx
jne 0x140073858
mov byte [rsp + 0x3b], 0
jmp 0x140073bb4
mov sil, byte [rcx]
test sil, sil
setne dl
test rbx, rbx
setne al
and dl, al
mov byte [rsp + 0x3b], dl
je 0x14007384e
cmp byte [rbx], 0
je 0x14007384e
mov rdx, rbx
lea rcx, [0x140133bc0]
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140073bb4
cmp sil, 0x5b
jne 0x1400738ce
mov edx, 0x5d
mov rcx, r12
call sub.msvcrt.dll_strchr
mov rbp, rax
test rax, rax
je 0x14007384e
lea rsi, [r12 + 1]
sub rbp, rsi
cmp rbp, 0x7f
ja 0x14007384e
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 0x14007390a
mov rcx, r12
mov r14d, 1
call sub.msvcrt.dll_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 0x14007390a
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 0x14007384e
mov al, byte [rbx]
test al, al
je 0x14007392e
cmp al, 0x20
jne 0x14007392a
inc rbx
jmp 0x14007391b
cmp al, 9
je 0x140073925
xor r13d, r13d
mov dl, byte [rbx + r13]
cmp dl, 0x2c
jbe 0x14007393f
inc r13
jmp 0x140073931
movabs rsi, 0xffffeffefffffdfe
bt rsi, rdx
jb 0x14007393a
test r13, r13
je 0x1400739c2
cmp dword [rsp + 0x3c], 1
jbe 0x1400739bc
cmp byte [rbx + r13 - 1], 0x2e
lea r8, [r13 - 1]
jne 0x140073972
test r8, r8
je 0x140073b9b
jmp 0x140073975
mov r8, r13
mov rcx, rbx
cmp al, 0x2e
jne 0x140073983
lea rcx, [rbx + 1]
dec r8
cmp r8, rbp
jne 0x14007399d
mov r8, rbp
mov rdx, r12
call fcn.1400b6a10
test eax, eax
setne al
jmp 0x140073bac
jae 0x1400739c2
mov rdx, rbp
sub rdx, r8
cmp byte [r12 + rdx - 1], 0x2e
jne 0x1400739c2
add rdx, r12
call fcn.1400b6a10
test eax, eax
jmp 0x140073bae
cmp r13, 0x7f
jbe 0x1400739ca
add rbx, r13
jmp 0x140073b7d
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 sub.msvcrt.dll_strchr
mov rdi, rax
test rax, rax
je 0x140073a10
lea rcx, [rax + 1]
call sub.msvcrt.dll_atoi
mov byte [rdi], 0
mov esi, eax
cmp r14d, 2
jne 0x140073aea
test esi, esi
je 0x140073a28
cmp esi, 0x87
ja 0x1400739c2
jmp 0x140073a2d
mov esi, pe_nt_image_headers64
mov edi, esi
mov r15d, esi
shr edi, 3
and r15d, 7
cmp edi, 0x10
jne 0x140073a47
test r15d, r15d
jne 0x1400739c2
mov r9, qword [sym.imp.WS2_32.dll_inet_pton]
lea rax, [rsp + 0x40]
mov rdx, r12
mov ecx, 0x17
mov qword [rsp + 0x28], rax
mov r8, rax
mov qword [rsp + 0x30], r9
call r9
mov r9, qword [rsp + 0x30]
dec eax
jne 0x1400739c2
lea rax, [rsp + 0x50]
mov rdx, qword [rsp + 0x20]
mov ecx, 0x17
mov qword [rsp + 0x30], rax
mov r8, rax
call r9
dec eax
jne 0x1400739c2
cmp esi, 7
jbe 0x140073ac0
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 0x1400739c2
test r15d, r15d
je 0x140073bb4
mov ecx, 8
mov al, byte [rsp + rdi + 0x40]
mov edx, 0xff
xor al, byte [rsp + rdi + 0x50]
sub ecx, r15d
movzx eax, al
shl edx, cl
test eax, edx
jmp 0x140073bae
xor eax, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x50], eax
cmp esi, 0x20
ja 0x1400739c2
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 0x1400739c2
mov rdx, qword [rsp + 0x20]
lea r8, [rsp + 0x50]
mov ecx, 2
call rdi
dec eax
jne 0x1400739c2
mov ecx, dword [rsp + 0x40]
test esi, 0xffffffdf
je 0x140073b6d
mov r15, qword [sym.imp.WS2_32.dll_htonl]
call r15
mov ecx, dword [rsp + 0x50]
mov edi, eax
call r15
mov ecx, 0x20
mov edx, eax
sub ecx, esi
or eax, 0xffffffff
shl eax, cl
xor edi, edx
test eax, edi
jne 0x1400739c2
jmp 0x140073bb4
cmp dword [rsp + 0x50], ecx
sete al
jmp 0x140073bac
cmp al, 9
jne 0x140073b85
inc rbx
mov al, byte [rbx]
cmp al, 0x20
jne 0x140073b76
jmp 0x140073b7a
cmp al, 0x2c
jne 0x14007384e
cmp byte [rbx], 0x2c
jne 0x140073912
inc rbx
jmp 0x140073b8d
mov rcx, rbx
test rbp, rbp
jne 0x14007399f
jmp 0x140073988
test al, al
je 0x1400739c2
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