Function at 0x140cb8b70
Capabilities:
Convert ip address from string
Resolve dns

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x14100f500]
xor rax, rsp
mov qword [rsp + 0x80], rax
movzx eax, word [rcx + 0x4b8]
xor ebp, ebp
mov rbx, rcx
mov qword [rsp + 0x30], rbp
mov ecx, 0x201
sub eax, ecx
cmp eax, 1
jbe 0x140cb8e04
cmp qword [rbx + 0x3d8], rbp
jne 0x140cb8bf2
mov edx, 2
mov r8d, 0x59
mov rcx, rbx
call fcn.140ca7920
test rax, rax
je 0x140cb8bf2
mov rcx, rax
call fcn.140ca6450
mov qword [rbx + 0x3d8], rax
mov edx, 5
mov r8d, 0x5d
mov rcx, rbx
call fcn.140ca7920
xor edx, edx
mov r8d, 0x59
mov rcx, rbx
mov rdi, rax
call fcn.140ca7920
test dword [rbx + 0x4d8], 0x8000000
lea r14, [0x140e77c98]
mov rsi, rax
lea r15, [0x140daee6c]
lea r12, [0x140daee64]
lea r13, [0x140daee80]
lea r8, str.MQTT
je 0x140cb8e3f
test rdi, rdi
je 0x140cb8d18
mov rcx, rbp
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x140cb8c79
cmp rcx, 4
jne 0x140cb8c60
jmp 0x140cb8d18
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r15 + rcx - 1]
jne 0x140cb8c99
cmp rcx, 4
jne 0x140cb8c80
jmp 0x140cb8d18
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r12 + rcx - 1]
jne 0x140cb8cb6
cmp rcx, 5
jne 0x140cb8ca0
jmp 0x140cb8d18
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rcx + r13 - 1]
jne 0x140cb8cd6
cmp rcx, 4
jne 0x140cb8cc0
jmp 0x140cb8d18
mov rcx, rbp
lea rdx, [0x140e7b170]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140cb8cf5
cmp rcx, 4
jne 0x140cb8ce0
jmp 0x140cb8d18
mov rcx, rbp
nop dword [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140cb8e48
cmp rcx, 5
jne 0x140cb8d00
test rsi, rsi
je 0x140cb9100
mov r8, rsi
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.140caaf30
sub eax, 1
je 0x140cb8d8e
cmp eax, 1
jne 0x140cb8e38
cmp word [rbx + 0x4b8], 0x200
mov rdx, qword [rsp + 0x38]
jne 0x140cb8d81
lea rax, [0x140e7bf30]
cmp qword [rdx + 0x3a8], rax
jne 0x140cb8d78
xor r8d, r8d
mov word [rbx + 0x4b8], 0x10f
mov rcx, rbx
call fcn.140cc9090
jmp 0x140cb8e07
mov word [rbx + 0x4b8], 0x13
xor r8d, r8d
mov rcx, rbx
call fcn.140cc9090
jmp 0x140cb8e07
mov rcx, rbx
call fcn.140ca7dc0
mov rcx, rax
lea rdx, [0x140ca7400]
lea rax, str.ACTIVE_CONNS_MUXED
mov r9d, 4
mov qword [rsp + 0x28], rax
mov r8, rbx
lea rax, str.lws_client_connect_2_dnsreq
mov qword [rsp + 0x20], rax
call fcn.140ca8530
lea rax, [0x140e7bf30]
cmp qword [rbx + 0x3a8], rax
jne 0x140cb8e04
mov rax, qword [rbx + 0x10]
xor r9d, r9d
mov r8, qword [rbx + 0x428]
mov edx, 0x2c
mov rcx, rbx
mov qword [rsp + 0x20], rbp
call qword [rax + reloc.WS2_32.dll_htonl]
test eax, eax
jne 0x140cb90ef
mov rcx, rbx
call fcn.140cad060
mov rax, rbx
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140cd9320
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea r8, str.MQTT
test rdi, rdi
je 0x140cb8f1b
mov rcx, rbp
nop dword [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x140cb8e66
cmp rcx, 4
jne 0x140cb8e50
jmp 0x140cb8ee4
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r15 + rcx - 1]
jne 0x140cb8e86
cmp rcx, 4
jne 0x140cb8e70
jmp 0x140cb8ee4
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r12 + rcx - 1]
jne 0x140cb8ea6
cmp rcx, 5
jne 0x140cb8e90
jmp 0x140cb8ee4
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rcx + r13 - 1]
jne 0x140cb8ec6
cmp rcx, 4
jne 0x140cb8eb0
jmp 0x140cb8ee4
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140cb8f1b
cmp rcx, 5
jne 0x140cb8ed0
lea rcx, [rbx + 0x2e0]
call fcn.140cb9a90
test eax, eax
je 0x140cb8f1b
lea rcx, [rbx + 0x2c8]
call fcn.140cb9a90
test eax, eax
je 0x140cb8f1b
mov rdx, qword [rbx + 8]
lea rcx, [rbx + 0x2c8]
add rdx, 0x298
call fcn.140cb9870
test rsi, rsi
je 0x140cb9100
cmp byte [rsi], 0x2b
jne 0x140cb8f37
or dword [rbx + 0x4d8], 8
mov edi, ebp
jmp 0x140cb9115
mov rcx, qword [rbx + 8]
mov rax, qword [rcx + 0x1e8]
test byte [rax + 0x870], 0x20
jne 0x140cb8f59
test byte [rcx + 0x1e0], 0x20
mov ecx, 0x8000000
je 0x140cb8f5b
mov ecx, ebp
mov eax, dword [rbx + 0x4d4]
btr eax, 0x1b
or eax, ecx
mov dword [rbx + 0x4d4], eax
mov rax, qword [rbx + 0x3d0]
test rax, rax
je 0x140cb8f7f
mov rax, qword [rax + 0x30]
jmp 0x140cb8f8c
mov edx, 0x5e
mov rcx, rbx
call fcn.140cb0340
test dword [rbx + 0x4d4], 0x8000000
je 0x140cb8ff7
test rax, rax
je 0x140cb8ff7
lea r8, [rsp + 0x74]
mov rdx, rax
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140cb8ff7
mov rcx, rbx
call fcn.140ca7dc0
mov rcx, rax
lea rdx, [0x140ca7400]
lea rax, str.client_connection_forced_to_IPv4
mov r9d, 4
mov qword [rsp + 0x28], rax
mov r8, rbx
lea rax, str.lws_client_connect_2_dnsreq
mov qword [rsp + 0x20], rax
call fcn.140ca8530
and dword [rbx + 0x4d4], 0xf7ffffff
mov rcx, qword [rbx + 8]
mov eax, dword [rcx + 0x138]
test eax, eax
je 0x140cb900e
lea rsi, [rcx + 0xa8]
jmp 0x140cb9015
movzx eax, word [rbx + 0x4e2]
mov edi, ebp
mov word [rbx + 0x4b8], 0x201
mov word [rbx + 0x4e4], ax
cmp dword [rbx + 0x350], ebp
jne 0x140cb9115
test dword [rbx + 0x4d4], 0x8000000
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], 1
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
je 0x140cb9064
mov qword [rsp + 0x40], 0x800
jmp 0x140cb9068
mov dword [rsp + 0x44], ebp
call fcn.140cade10
and dword [rbx + 0x4d8], 0xffffefff
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x40]
mov qword [rbx + 0x420], rax
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov edi, eax
call fcn.140cade10
sub eax, dword [rbx + 0x420]
mov dword [rbx + 0x408], eax
lea eax, [rdi - 0x2af9]
cmp eax, 2
mov eax, edi
ja 0x140cb9107
or dword [rbx + 0x4d8], 0x1000
sar eax, 0x1f
and eax, 2
inc eax
mov dword [rbx + 0x41c], eax
cmp edi, 0x2af9
jne 0x140cb9115
and dword [rbx + 0x4dc], 0xfffffffd
lea rdx, str.DNS_NXDOMAIN
mov r8d, reloc.WS2_32.dll_inet_ntoa
mov rcx, rbx
call fcn.140caefc0
lea r8, str.client_connect2
xor edx, edx
mov rcx, rbx
call fcn.140caef80
xor eax, eax
jmp 0x140cb8e07
sar eax, 0x1f
and eax, 2
inc eax
mov dword [rbx + 0x41c], eax
mov r8, qword [rsp + 0x30]
mov r9d, edi
mov rdx, rsi
mov qword [rsp + 0x20], rbp
mov rcx, rbx
call fcn.140cc94b0
jmp 0x140cb8e07