Function at 0x140250300
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 + 0x478]
xor r14d, r14d
mov rbx, rcx
mov qword [rsp + 0xa0], r14
mov ecx, 0x201
sub eax, ecx
cmp eax, 1
jbe 0x140250568
cmp qword [rbx + 0x370], r14
jne 0x140250366
lea edx, [r14 + 2]
mov rcx, rbx
lea r8d, [r14 + 0x59]
call fcn.140240eb0
test rax, rax
je 0x140250366
mov rcx, rax
call fcn.14023f5d0
mov qword [rbx + 0x370], rax
mov edx, 5
mov rcx, rbx
lea r8d, [rdx + 0x58]
call fcn.140240eb0
xor edx, edx
mov rcx, rbx
mov rdi, rax
lea r8d, [rdx + 0x59]
call fcn.140240eb0
test dword [rbx + 0x498], 0x8000000
lea rsi, [0x1403415a0]
mov rbp, rax
lea r15, [0x140334d50]
lea r12, str.POST
lea r13, [0x140334d4c]
lea r8, str.MQTT
je 0x14025058a
test rdi, rdi
je 0x140250488
mov rcx, r14
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x1402503e8
cmp rcx, 4
jne 0x1402503d0
jmp 0x140250488
mov rcx, r14
nop dword [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r15 + rcx - 1]
jne 0x140250409
cmp rcx, 4
jne 0x1402503f0
jmp 0x140250488
mov rcx, r14
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r12 + rcx - 1]
jne 0x140250426
cmp rcx, 5
jne 0x140250410
jmp 0x140250488
mov rcx, r14
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rcx + r13 - 1]
jne 0x140250446
cmp rcx, 4
jne 0x140250430
jmp 0x140250488
mov rcx, r14
lea rdx, [0x140343fd8]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140250465
cmp rcx, 4
jne 0x140250450
jmp 0x140250488
mov rcx, r14
nop dword [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140250593
cmp rcx, 5
jne 0x140250470
test rbp, rbp
je 0x1402507bb
mov r8, rbp
lea rdx, [rsp + 0xa8]
mov rcx, rbx
call fcn.14024ba70
sub eax, 1
je 0x1402504f3
cmp eax, 1
jne 0x140250583
cmp word [rbx + 0x478], 0x200
mov rdx, qword [rsp + 0xa8]
jne 0x1402504e6
lea rax, [0x140343380]
cmp qword [rdx + 0x340], rax
mov eax, 0x10f
je 0x1402504df
mov eax, reloc.WS2_32.dll_send
mov word [rbx + 0x478], ax
xor r8d, r8d
mov rcx, rbx
call fcn.140258d80
jmp 0x14025056b
mov rcx, rbx
call fcn.140241350
mov rcx, rax
lea rdx, [0x140240a30]
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.14023ac90
lea rax, [0x140343380]
cmp qword [rbx + 0x340], rax
jne 0x140250568
mov rax, qword [rbx + 0x10]
xor r9d, r9d
mov r8, qword [rbx + 0x3b8]
mov rcx, rbx
mov qword [rsp + 0x20], r14
lea edx, [r9 + 0x2c]
call qword [rax + reloc.WS2_32.dll_htonl]
test eax, eax
jne 0x1402507aa
mov rcx, rbx
call fcn.140241c40
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 0x14025066b
mov rcx, r14
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x1402505b5
cmp rcx, 4
jne 0x1402505a0
jmp 0x140250634
mov rcx, r14
nop dword [rax + rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r15 + rcx - 1]
jne 0x1402505d6
cmp rcx, 4
jne 0x1402505c0
jmp 0x140250634
mov rcx, r14
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r12 + rcx - 1]
jne 0x1402505f6
cmp rcx, 5
jne 0x1402505e0
jmp 0x140250634
mov rcx, r14
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [rcx + r13 - 1]
jne 0x140250616
cmp rcx, 4
jne 0x140250600
jmp 0x140250634
mov rcx, r14
nop dword [rax]
movzx eax, byte [rdi + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14025066b
cmp rcx, 5
jne 0x140250620
lea rcx, [rbx + 0x290]
call fcn.14023ef70
test eax, eax
je 0x14025066b
lea rcx, [rbx + 0x278]
call fcn.14023ef70
test eax, eax
je 0x14025066b
mov rdx, qword [rbx + 8]
lea rcx, [rbx + 0x278]
add rdx, 0x3d0
call fcn.14023ed70
test rbp, rbp
je 0x1402507bb
cmp byte [rbp], 0x2b
jne 0x1402506a4
or dword [rbx + 0x498], 8
mov edi, r14d
mov r8, qword [rsp + 0xa0]
mov r9d, edi
mov rdx, rbp
mov qword [rsp + 0x20], r14
mov rcx, rbx
call fcn.140255d30
jmp 0x14025056b
and dword [rbx + 0x494], 0xf7ffffff
mov rcx, qword [rbx + 8]
mov eax, dword [rcx + 0x138]
test eax, eax
je 0x1402506c5
lea rbp, [rcx + 0xa8]
jmp 0x1402506df
mov eax, dword [rcx + 0x48c]
test eax, eax
je 0x1402506d8
lea rbp, [rcx + 0x1c0]
jmp 0x1402506df
movzx eax, word [rbx + 0x4a2]
mov ecx, 0x201
mov word [rbx + 0x4a4], ax
mov edi, r14d
mov word [rbx + 0x478], cx
cmp dword [rbx + 0x300], r14d
jne 0x140250684
xorps xmm0, xmm0
mov esi, 1
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x34], r14d
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
call fcn.14023fb90
and dword [rbx + 0x498], 0xffffefff
lea r9, [rsp + 0xa0]
lea r8, [rsp + 0x30]
mov qword [rbx + 0x3b0], rax
xor edx, edx
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_getaddrinfo]
mov edi, eax
call fcn.14023fb90
sub eax, dword [rbx + 0x3b0]
mov dword [rbx + 0x398], eax
lea eax, [rdi - 0x2af9]
cmp eax, 2
ja 0x140250774
or dword [rbx + 0x498], 0x1000
test edi, edi
mov eax, 3
cmovs esi, eax
mov dword [rbx + 0x3ac], esi
cmp edi, 0x2af9
jne 0x140250684
and dword [rbx + 0x49c], 0xfffffffd
lea r8d, [rax + 9]
lea rdx, str.DNS_NXDOMAIN
mov rcx, rbx
call fcn.14024cee0
lea r8, str.client_connect2
xor edx, edx
mov rcx, rbx
call fcn.14024cea0
xor eax, eax
jmp 0x14025056b