Function at 0x10027d60
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x2b4]
and eax, 0xffff
cmp eax, 0x201
je 0x10027fc0
cmp eax, 0x202
je 0x10027fc0
cmp dword [esi + 0x264], 0
jne 0x10027dbd
push 0x59
push 2
push esi
call fcn.1001c0b0
add esp, 0xc
test eax, eax
je 0x10027dbd
push eax
call fcn.100204a0
add esp, 4
mov dword [esi + 0x264], eax
push 0x5d
push 5
push esi
call fcn.1001c0b0
push 0x59
push 0
push esi
mov edi, eax
call fcn.1001c0b0
add esp, 0x18
mov ebx, eax
test dword [esi + 0x2d4], 0x8000000
mov dword [ebp + 8], ebx
je 0x10027fc9
test edi, edi
je 0x10027f2d
mov ecx, 0x10045444
mov eax, edi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10027e20
test dl, dl
je 0x10027e1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10027e20
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027e00
xor eax, eax
jmp 0x10027e25
sbb eax, eax
or eax, 1
test eax, eax
je 0x10027f2d
mov ecx, 0x1004647c
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10027e54
test dl, dl
je 0x10027e50
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10027e54
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027e34
xor eax, eax
jmp 0x10027e59
sbb eax, eax
or eax, 1
test eax, eax
je 0x10027f2d
mov ecx, str.POST
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10027e88
test dl, dl
je 0x10027e84
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10027e88
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027e68
xor eax, eax
jmp 0x10027e8d
sbb eax, eax
or eax, 1
test eax, eax
je 0x10027f2d
mov ecx, 0x10046490
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10027ec0
test dl, dl
je 0x10027ebc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10027ec0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027ea0
xor eax, eax
jmp 0x10027ec5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10027f2d
mov ecx, 0x10046d28
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10027ef0
test dl, dl
je 0x10027eec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10027ef0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027ed0
xor eax, eax
jmp 0x10027ef5
sbb eax, eax
or eax, 1
test eax, eax
je 0x10027f2d
mov ecx, str.MQTT
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10027f20
test dl, dl
je 0x10027f1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10027f20
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027f00
xor eax, eax
jmp 0x10027f25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10027fd1
test ebx, ebx
je 0x10028252
push ebx
lea eax, [ebp - 8]
push eax
push esi
call fcn.1001f8d0
add esp, 0xc
sub eax, 1
je 0x10027f8b
sub eax, 1
jne 0x10027fc9
cmp word [esi + 0x2b4], 0x200
mov eax, dword [ebp - 8]
jne 0x10027f78
cmp dword [eax + 0x24c], 0x100483a0
mov ecx, 0x10f
je 0x10027f71
mov ecx, 0x13
mov word [esi + 0x2b4], cx
push 0
push eax
push esi
call fcn.100343e0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x24c], 0x100483a0
jne 0x10027fc0
mov eax, dword [esi + 8]
push 0
push 0
push dword [esi + 0x2a0]
mov eax, dword [eax + 4]
push 0x2c
push esi
call eax
add esp, 0x14
test eax, eax
jne 0x10028242
push esi
call fcn.1002a110
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x10028103
mov ecx, 0x10045444
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10027ff8
test dl, dl
je 0x10027ff4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10027ff8
add eax, 2
add ecx, 2
test dl, dl
jne 0x10027fd8
xor eax, eax
jmp 0x10027ffd
sbb eax, eax
or eax, 1
test eax, eax
je 0x100280cb
mov ecx, 0x1004647c
mov eax, edi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028030
test dl, dl
je 0x1002802c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028030
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028010
xor eax, eax
jmp 0x10028035
sbb eax, eax
or eax, 1
test eax, eax
je 0x100280cb
mov ecx, str.POST
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028064
test dl, dl
je 0x10028060
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028064
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028044
xor eax, eax
jmp 0x10028069
sbb eax, eax
or eax, 1
test eax, eax
je 0x100280cb
mov ecx, 0x10046490
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10028094
test dl, dl
je 0x10028090
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10028094
add eax, 2
add ecx, 2
test dl, dl
jne 0x10028074
xor eax, eax
jmp 0x10028099
sbb eax, eax
or eax, 1
test eax, eax
je 0x100280cb
mov eax, str.MQTT
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x100280c2
test cl, cl
je 0x100280be
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x100280c2
add edi, 2
add eax, 2
test cl, cl
jne 0x100280a2
xor eax, eax
jmp 0x100280c7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10028103
lea eax, [esi + 0x1e4]
push eax
call fcn.10028870
add esp, 4
test eax, eax
je 0x10028103
lea edi, [esi + 0x1d8]
push edi
call fcn.10028870
add esp, 4
test eax, eax
je 0x10028103
mov eax, dword [esi + 4]
add eax, 0x208
push eax
push edi
call fcn.10028710
add esp, 8
test ebx, ebx
je 0x10028252
cmp byte [ebx], 0x2b
jne 0x10028132
or dword [esi + 0x2d4], 8
xor ebx, ebx
push 0
push ebx
push dword [ebp - 4]
push dword [ebp + 8]
push esi
call fcn.100346d0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 4]
and dword [esi + 0x2d0], 0xf7ffffff
mov eax, dword [ecx + 0x12c]
test eax, eax
je 0x10028154
lea edi, [ecx + 0xa4]
mov dword [ebp + 8], edi
jmp 0x1002815e
movzx eax, word [esi + 0x2de]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov word [esi + 0x2e0], ax
mov ecx, 0x201
mov word [esi + 0x2b4], cx
cmp dword [esi + 0x21c], ebx
jne 0x10028119
xorps xmm0, xmm0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x20], 1
movups xmmword [ebp - 0x18], xmm0
mov dword [ebp - 0x24], ebx
call fcn.10020a20
and dword [esi + 0x2d4], 0xffffefff
mov dword [esi + 0x298], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
mov dword [esi + 0x29c], edx
push eax
push ebx
push edi
call dword [sym.imp.WS2_32.dll_getaddrinfo]
mov edi, eax
mov ebx, edi
call fcn.10020a20
sub eax, dword [esi + 0x298]
mov dword [esi + 0x280], eax
cmp edi, 0x2af9
je 0x100281fa
cmp edi, 0x2afb
je 0x100281fa
cmp edi, 0x2afa
je 0x100281fa
sar edi, 0x1f
and edi, 2
inc edi
mov dword [esi + 0x294], edi
jmp 0x10028119
or dword [esi + 0x2d4], 0x1000
mov eax, edi
sar eax, 0x1f
mov ebx, edi
and eax, 2
mov dword [esi + 0x294], 2
inc eax
mov dword [esi + 0x294], eax
cmp edi, 0x2af9
jne 0x10028119
and dword [esi + 0x2d8], 0xfffffffd
push 0xc
push str.DNS_NXDOMAIN
push esi
call fcn.10021ad0
add esp, 0xc
push str.client_connect2
push 0
push esi
call fcn.10021aa0
add esp, 0xc
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret