Function at 0x1400511e0
Capabilities:
Convert ip address from string

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov rax, qword [0x140084070]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rdi, rdx
mov r12, rcx
test rdx, rdx
je 0x140051547
cmp byte [rdx], 0
je 0x140051547
xor ebx, ebx
mov eax, 0x2a
cmp al, byte [rdx]
jne 0x140051235
cmp bl, byte [rdx + 1]
je 0x1400514d2
cmp byte [rcx], 0x5b
mov ebx, 0x80
jne 0x140051285
lea edx, [rbx - 0x23]
call sub.VCRUNTIME140.dll_strchr
mov r15, rax
test rax, rax
je 0x140051547
inc r12
sub r15, r12
cmp r15, rbx
jae 0x140051547
mov r8, r15
lea rcx, [rsp + 0x50]
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
xor edx, edx
mov byte [rsp + r15 + 0x50], 0
lea r12, [rsp + 0x50]
lea r13d, [rbx - 0x7e]
jmp 0x1400512b9
lea r8, [rsp + 0x20]
mov rdx, r12
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
xor edx, edx
mov ecx, 1
cmp eax, ecx
mov r13d, edx
mov r15, 0xffffffffffffffff
cmove r13d, ecx
nop
inc r15
cmp byte [r12 + r15], dl
jne 0x1400512b0
movzx eax, byte [rdi]
test al, al
je 0x140051547
movabs r8, 0x100100000200
mov rbx, rdx
cmp al, 0x20
je 0x1400512dc
movzx ecx, al
cmp al, 9
jne 0x1400512ea
movzx eax, byte [rdi + 1]
inc rdi
movzx ecx, al
test al, al
jne 0x1400512d1
mov r14, rdi
test cl, cl
je 0x14005152d
cmp cl, 0x2c
ja 0x140051304
movsx rax, cl
bt r8, rax
jb 0x140051312
movzx ecx, byte [rdi + 1]
inc rdi
inc rbx
test cl, cl
jne 0x1400512f5
test rbx, rbx
je 0x14005152d
mov ecx, r13d
test r13d, r13d
je 0x1400514e3
sub ecx, 1
je 0x140051335
cmp ecx, 1
jne 0x14005152d
mov edx, 0x2f
mov rcx, r14
call sub.VCRUNTIME140.dll_strchr
xor edx, edx
mov rbp, rax
mov esi, edx
test rax, rax
je 0x1400513a8
lea rcx, [r14 + rbx]
cmp rax, rcx
jae 0x1400513a8
lea rcx, [rax + 1]
call sub.api_ms_win_crt_convert_l1_1_0.dll_atoi
mov esi, eax
mov eax, 0x80
cmp rbx, rax
jae 0x140051521
mov r8, rbx
lea rcx, [rsp + 0xd0]
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x80
sub rbp, r14
cmp rbp, rax
jae 0x140051574
mov byte [rsp + rbp + 0xd0], 0
lea r14, [rsp + 0xd0]
xor edx, edx
jmp 0x1400513ad
mov eax, 0x80
cmp r13d, 2
jne 0x140051459
test esi, esi
lea r8, [rsp + 0x38]
mov rdx, r12
lea ecx, [r13 + 0x15]
cmove esi, eax
mov ebx, esi
and esi, 7
shr ebx, 3
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140051521
lea r8, [rsp + 0x28]
mov rdx, r14
lea ecx, [rax + 0x16]
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140051521
cmp ebx, 0x10
ja 0x140051521
jne 0x14005140c
test esi, esi
jne 0x140051521
test ebx, ebx
je 0x14005142b
mov r8, rbx
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x38]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14005142d
jmp 0x140051521
xor ebx, ebx
test esi, esi
je 0x1400514d2
movzx r8d, byte [rsp + rbx + 0x28]
mov ecx, 8
movzx eax, byte [rsp + rbx + 0x38]
sub ecx, esi
mov edx, 0xff
xor r8d, eax
shl edx, cl
test edx, r8d
jmp 0x14005151f
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], edx
cmp esi, 0x20
ja 0x140051523
lea r8, [rsp + 0x20]
mov rdx, r12
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140051521
lea r8, [rsp + 0x24]
mov rdx, r14
lea ecx, [rax + 1]
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140051521
test esi, 0xffffffdf
je 0x1400514d6
mov ecx, dword [rsp + 0x20]
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [rsp + 0x24]
mov ebx, eax
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, 0x20
mov edx, 0xffffffff
sub ecx, esi
xor eax, ebx
shl edx, cl
test edx, eax
jne 0x140051521
mov al, 1
jmp 0x140051549
mov eax, dword [rsp + 0x24]
cmp dword [rsp + 0x20], eax
sete al
jmp 0x14005151d
cmp byte [r14], 0x2e
jne 0x140051500
dec rbx
cmp rbx, r15
ja 0x14005151b
mov rdx, r12
lea rcx, [r14 + 1]
sub rdx, rbx
add rdx, r15
jmp 0x14005150b
cmp rbx, r15
jne 0x14005151b
mov rdx, r12
mov rcx, r14
mov r8, r15
call fcn.140027d40
test eax, eax
je 0x14005151b
mov al, 1
jmp 0x14005151d
xor al, al
test al, al
jne 0x1400514d2
xor edx, edx
movabs r8, 0x100100000200
movzx eax, byte [rdi]
cmp al, 0x2c
jne 0x14005153f
movzx eax, byte [rdi + 1]
inc rdi
cmp al, 0x2c
je 0x140051534
test al, al
jne 0x1400512ce
xor al, al
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.140063d10
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140064548
int3