Function at 0x140a5ec30
Capabilities:
Resolve dns

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
movzx eax, word [rcx + 0x400]
xor ebp, ebp
mov rbx, rcx
mov qword [rsp + 0xa0], rbp
mov ecx, 0x201
sub eax, ecx
cmp eax, 1
jbe 0x140a5ee6e
cmp qword [rbx + 0x390], rbp
jne 0x140a5ec94
lea edx, [rbp + 2]
mov rcx, rbx
lea r8d, [rbp + 0x59]
call fcn.140a58df0
test rax, rax
je 0x140a5ec94
mov rcx, rax
call fcn.140a5f670
mov qword [rbx + 0x390], rax
mov edx, 5
mov rcx, rbx
lea r8d, [rdx + 0x58]
call fcn.140a58df0
xor edx, edx
mov rcx, rbx
mov rdi, rax
lea r8d, [rdx + 0x59]
call fcn.140a58df0
test dword [rbx + 0x420], 0x8000000
lea r14, [0x140a86688]
mov rsi, rax
lea r15, [0x140a87468]
lea r12, str.POST
lea r13, [0x140a87474]
lea r8, str.MQTT
je 0x140a5ee90
test rdi, rdi
je 0x140a5edb8
mov rcx, rbp
nop dword [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x140a5ed19
cmp rcx, 4
jne 0x140a5ed00
jmp 0x140a5edb8
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r15 + rcx - 1]
jne 0x140a5ed39
cmp rcx, 4
jne 0x140a5ed20
jmp 0x140a5edb8
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r12 + rcx - 1]
jne 0x140a5ed56
cmp rcx, 5
jne 0x140a5ed40
jmp 0x140a5edb8
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rcx + r13 - 1]
jne 0x140a5ed76
cmp rcx, 4
jne 0x140a5ed60
jmp 0x140a5edb8
mov rcx, rbp
lea rdx, [0x140a87478]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140a5ed95
cmp rcx, 4
jne 0x140a5ed80
jmp 0x140a5edb8
mov rcx, rbp
nop dword [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140a5ee99
cmp rcx, 5
jne 0x140a5eda0
test rsi, rsi
je 0x140a5f090
mov r8, rsi
lea rdx, [rsp + 0xa8]
mov rcx, rbx
call fcn.140a5ce00
sub eax, 1
je 0x140a5ee31
cmp eax, 1
jne 0x140a5ee89
cmp word [rbx + 0x400], 0x200
mov rdx, qword [rsp + 0xa8]
jne 0x140a5ee24
lea rax, [0x140a893f0]
cmp qword [rdx + 0x360], rax
jne 0x140a5ee1b
xor r8d, r8d
mov word [rbx + 0x400], 0x10f
mov rcx, rbx
call fcn.140a70510
jmp 0x140a5ee71
mov word [rbx + 0x400], 0x13
xor r8d, r8d
mov rcx, rbx
call fcn.140a70510
jmp 0x140a5ee71
lea rax, [0x140a893f0]
cmp qword [rbx + 0x360], rax
jne 0x140a5ee6e
mov rax, qword [rbx + 0x10]
xor r9d, r9d
mov r8, qword [rbx + 0x3d8]
mov rcx, rbx
mov qword [rsp + 0x20], rbp
lea edx, [r9 + 0x2c]
call qword [rax + reloc.WS2_32.dll_htonl]
test eax, eax
jne 0x140a5f07f
mov rcx, rbx
call fcn.140a62490
mov rax, rbx
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, str.MQTT
test rdi, rdi
je 0x140a5ef6b
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x140a5eeb6
cmp rcx, 4
jne 0x140a5eea0
jmp 0x140a5ef34
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r15 + rcx - 1]
jne 0x140a5eed6
cmp rcx, 4
jne 0x140a5eec0
jmp 0x140a5ef34
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r12 + rcx - 1]
jne 0x140a5eef6
cmp rcx, 5
jne 0x140a5eee0
jmp 0x140a5ef34
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rcx + r13 - 1]
jne 0x140a5ef16
cmp rcx, 4
jne 0x140a5ef00
jmp 0x140a5ef34
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140a5ef6b
cmp rcx, 5
jne 0x140a5ef20
lea rcx, [rbx + 0x2b0]
call fcn.140a60590
test eax, eax
je 0x140a5ef6b
lea rcx, [rbx + 0x298]
call fcn.140a60590
test eax, eax
je 0x140a5ef6b
mov rdx, qword [rbx + 8]
lea rcx, [rbx + 0x298]
add rdx, 0x290
call fcn.140a60370
test rsi, rsi
je 0x140a5f090
cmp byte [rsi], 0x2b
jne 0x140a5ef87
or dword [rbx + 0x420], 8
mov edi, ebp
jmp 0x140a5f0a5
and dword [rbx + 0x41c], 0xf7ffffff
mov rcx, qword [rbx + 8]
mov eax, dword [rcx + 0x138]
test eax, eax
je 0x140a5efa8
lea rsi, [rcx + 0xa8]
jmp 0x140a5efaf
movzx eax, word [rbx + 0x42a]
mov edi, ebp
mov word [rbx + 0x400], 0x201
mov word [rbx + 0x42c], ax
cmp dword [rbx + 0x320], ebp
jne 0x140a5f0a5
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x34], ebp
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
call fcn.140a687a0
and dword [rbx + 0x420], 0xffffefff
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0x30]
mov qword [rbx + 0x3d0], rax
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov edi, eax
call fcn.140a687a0
sub eax, dword [rbx + 0x3d0]
mov dword [rbx + 0x3b8], eax
lea eax, [rdi - 0x2af9]
cmp eax, 2
mov eax, edi
ja 0x140a5f097
or dword [rbx + 0x420], 0x1000
sar eax, 0x1f
and eax, 2
mov dword [rbx + 0x3cc], 2
inc eax
mov dword [rbx + 0x3cc], eax
cmp edi, 0x2af9
jne 0x140a5f0a5
and dword [rbx + 0x424], 0xfffffffd
lea rdx, str.DNS_NXDOMAIN
mov r8d, ntohs
mov rcx, rbx
call fcn.140a66390
lea r8, str.client_connect2
xor edx, edx
mov rcx, rbx
call fcn.140a66350
xor eax, eax
jmp 0x140a5ee71
sar eax, 0x1f
and eax, 2
inc eax
mov dword [rbx + 0x3cc], eax
mov r8, qword [rsp + 0xa0]
mov r9d, edi
mov rdx, rsi
mov qword [rsp + 0x20], rbp
mov rcx, rbx
call fcn.140a70860
jmp 0x140a5ee71