Function at 0x170ca19
Capabilities:
Encrypt data using speck
Execute anti-debugging instructions

Disassembly:
push eax
call 0x170ca6c
xor ebx, edi
mov ecx, 0x589e349e
dec ecx
rol ecx, cl
dec ebp
lea esp, [edx + 0x2a9795b3]
xor ebx, 0xa4bcab1e
call fcn.0167b747
xor edx, 0xb1b18b2c
and eax, eax
jg 0x10ac477
mov ebx, 0x7aa5b2f
dec esp
lea ecx, [ebx + ebx*4 - 0x5d52a775]
inc esp
movsx edi, bx
inc edx
movzx eax, word [ebx + ebp - 0x7aa5b31]
inc ecx
movsx ebp, di
inc esp
movzx edx, ch
or bx, 0x93f
xor ax, di
inc ebp
mov esp, ecx
inc sp
sub edi, ebx
add ax, 0xa80a
inc ecx
neg esp
inc cx
sbb esp, 0xc381a015
and bl, al
lodsd eax, dword [esi]
salc
rol ax, 1
dec eax
lea ecx, [ebp + ebp*8 + 0x5b8f20a]
dec ecx
sal esp, cl
inc ecx
movsx edx, cl
dec ax
not ebp
rol ax, 1
inc cx
and ecx, 0xc040ea88
in eax, dx
popal
xor di, ax
inc esp
xadd edx, ecx
inc esp
movzx ebx, ch
dec eax
adc eax, esp
inc cx
ror ebx, 0xa9
dec ecx
and edx, 0xba7186
inc esi
mov ecx, dword [eax + ecx*4 - 0x1d8]
inc esp
movzx eax, bp
inc ecx
shr ah, 6
dec eax
neg edx
inc edi
mov dword [esi + edi*8 - 0x7ff84], ecx
call fcn.00f9f08f
mov edx, 0xa427de24
mov eax, edx
shr eax, 0x59
lea edi, [edi + eax*2 - 0xa8]
xor ax, ax
dec ax
mov ecx, edx
mov edx, dword [edi + eax*2 - 0x1fffe]
sar eax, 0x3b
js 0x184cb2d
shl ecx, 0x81
xor edx, ebx
inc edx
bswap ecx
bswap edx
ror al, 0x46
shr cl, 1
neg edx
and eax, ecx
rol cl, cl
rol edx, cl
dec edx
xor ebx, edx
add ebp, edx
sar al, 0xa1
shl eax, cl
movzx edx, al
add dl, byte [esi + edx*2]
jmp 0x185e83b
lea edi, [edi + ecx*2 - 0x678e9df6]
lea eax, [ecx + ecx*2 - 0x16fd8f5]
mov edx, ecx
mov edx, dword [edi + edx*2 - 0x678e9df2]
neg cx
xor edx, ebx
rol ecx, cl
lea eax, [eax*8 + 0x27a46baa]
dec edx
neg ecx
xadd al, ah
xor edx, 0xbe331e36
call fcn.0166e20b
rol cl, 1
xor ebx, edx
or ax, cx
not ecx
sbb eax, 0x9738e73e
add edi, edx
lea edx, [eax + ecx*8 - 0x15e48d7d]
sub al, ah
movzx dx, byte [ecx + ebp - 0x1f72ffff]
call fcn.016e75c7
mov word [esi + ecx*8 - 0x1b2d28], ax
shr cl, cl
push edx
lea edi, [edi + ecx*2 - 0x6ca0e]
mov eax, dword [ebp + ebx*4]
jmp 0xd05fab
lea esp, [esp + 4]
jne 0x16adda0
call fcn.01737361
mov ecx, 0xe08da73a
movzx edx, cl
shr edx, 3
lea esi, [edx + esi - 0xb]
mov edx, dword [edx + esi - 7]
lea eax, [ecx + ecx*2 + 0x11917009]
xor edx, ebx
and al, ch
sal cx, 0x6f
dec edx
not edx
rol eax, 0x11
not eax
neg cl
dec edx
jmp 0xf7d3b5
ror edx, 3
xor ecx, 0xf3fc1b2
call fcn.0182ea50
call fcn.016a4184
mov dword [esp], 0x819ffbb3
sub ebp, 5
mov eax, dword [esp]
xadd dword [esp], ecx
neg ecx
xor edx, ebx
dec al
rol edx, 1
bswap edx
sar al, 1
ror ecx, 6
sbb edx, 0xd093c829
rol al, 0xc1
not edx
xor al, byte [esp + ecx - 0x35f98010]
or ax, word [esp + ecx*2 - 0x6bf30022]
jnp 0x16eae47
mov eax, 0xb8bd8d2b
dec eax
rdtsc
mov ecx, 0xe393fc98
js 0x175f1a3
dec ebx
jmp 0x16e5497
sub esi, 8
inc cl
rol ecx, cl
shr cl, 0x61
mov dword [esi + ecx*2 - 0x678e4ef4], eax
mov dword [ecx + esi - 0x33c7277c], edx
adc cx, cx
jge 0x100ce1e
mov eax, 0xfa809426
lea edx, [eax - 0x5c7e80c1]
lea edx, [eax*4 + 0x1aa3588]
mov ecx, dword [esi - 4]
xchg dx, ax
bswap edx
xor ecx, ebx
inc dx
neg ecx
not ecx
shr al, 0x44
call fcn.017571ab
add eax, 0x94ec
jmp eax
mov cl, byte [esi + eax*2 + 2]
lea eax, [eax*4 + 0x531a9d8b]
or eax, eax
push eax
lea esi, [esi + eax - 0x531a9d89]
js 0x16a52c7
adc al, ah
xor dword [esp + eax - 0x531a9d28], eax
shr dl, cl
xadd word [esp + eax - 0x531a9d27], ax
movsx ecx, byte [esp + eax - 0x531a0000]
ja 0x16b78ab