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

Disassembly:
neg ecx
xor ebx, ecx
xchg word [esp + edx - 0x2001be3], ax
pop edx
add edi, ecx
jmp edi
mov word [esp], 0x5f22
dec ecx
lea edx, [ecx + ebx*4 - 0x4f1a4e4]
inc ecx
movzx ecx, word [ebp - 2]
dec ecx
xadd ecx, edx
jns 0x166a21e
push ebx
inc esp
movzx eax, ax
dec cl
inc dx
or dword [esp + ecx*4 - 0x49c97805], 0xf414c27
lcall 0x84c, 0xacc042c0
inc esp
sbb ebx, ebx
ror cl, 1
inc ecx
sub cl, al
dec ecx
xchg edi, ebx
inc edx
dec dword [esp + ecx*4 - 0x49c9780e]
ror cl, 1
jmp 0xea4bd8
dec edi
lea esi, [edi + esi - 0x27ffffc]
jnp 0x186986f
dec edx
mov dword [esp + ecx*8], esi
ret 0x10
pop edx
inc eax
xor bh, cl
inc dx
neg dword [esp + ecx - 0x12725de3]
jg 0xef6af0
inc bx
mov dword [esi + ecx*2 - 0x24e4bc0a], ecx
inc edx
sets byte [esp + ecx - 0x12725de4]
inc sp
or ecx, dword [esp + ebx - 0x7cf1afdb]
dec edi
lea esi, [esi + ecx - 0x1272dfa8]
inc esp
or dword [esp + ebx - 0x7cf1afe4], ecx
inc ecx
movsx ebp, cx
inc ecx
push ecx
pop ebp
inc ecx
pop ecx
inc ecx
pop edi
pop ebx
pop ecx
inc ecx
pop edi
jno fcn.018803b6
inc ecx
jmp 0xd1105a
push edx
xor word [esp + eax - 0x1431fa0e], ax
pop eax
jg fcn.00f5ec0e
push dword [esp + 4]
popfd
pop esi
push ebp
call fcn.01713185
push 0x24293b27
jmp 0xf011da
dec eax
sbb dword [esp + ebp*8 - 0x40c], edx
inc esp
mov dword [ebp + eax - 0x82], ebx
dec eax
sub dword [esp + ebp - 0x7a], ebp
dec eax
mov dword [esp + edx - 0xcf82], esi
ret 0x10
inc cx
shl ecx, 0x26
sal edx, 0xd8
inc esi
xor dword [esp + ebx*2 - 0xa414], eax
call fcn.0187a3f2
out dx, eax
add byte [esi + edi*4 - 0x10d39f0a], cl
invalid
lea esp, [esp + 4]
jne 0xf66388
mov eax, dword [ebp]
jmp 0xfbeaf9
dec edi
lea ebp, [ebp + eax - 0x5a36]
inc esp
mov edx, ebx
inc dword [ebx + ecx*4 - 0x2d]
shl dword [esi + 0x45], cl
inc bp
xor eax, eax
jge 0xf57676
frstor dword [esi]
loop 0xf32eda
xor al, byte [edx]
jle 0xf32edd
salc
iretd
inc esp
xor ebx, edi
inc ecx
movzx edx, dl
inc ecx
sub ebx, 0xb8131c14
call fcn.00efeb48
clc
push 0x552edda4
mov eax, dword [ebp + ebx*4]
mov dword [esp], eax
dec ebx
jmp 0xed1269
lea esi, [esi + edx - 0x5db88cc2]
neg dx
jbe 0x16b20c5
mov edx, dword [esi]
mov ecx, 0xe2e9511
mov eax, dword ss:[edx + ecx*2 - 0x1c5d2a22]
and cx, 0xbb8
call fcn.0175c579
mov ecx, 0x3929e17
movsx eax, cx
jmp edi
call eax
mov esi, 0x3593e80f
movzx ebx, si
mov edx, 0x5db8fbbb
mov ebp, dword [ebx + ebp - 0xe813]
mov dword [ebp + esi - 0x3593e80f], eax
lea edi, [edx*2 - 0x58d9cf76]
inc esi
lea ecx, [esi + edi*4 - 0x15cfb52]
pop ebx
pop edi
lea eax, [ecx + esi*8 + 0x799cc3a8]
xchg cx, dx
cmove eax, ecx
pop esi
shr al, 0x45
jnp 0xf9d168
neg word [esp + edx*2 - 0xb0c542]
pop edx
add esi, ecx
lea ecx, [esp + eax - 0x1431f9f1]
mov edx, dword [ecx + edx - 0x5811a7ef]
mov ecx, eax
sub ecx, ecx
and cl, 0xa
mov dword [ebp + eax*2 - 0x2863f404], edx
mov edx, 0x82ace30b
ror al, 0x24
lea ebp, [ebp + eax*4 - 0x50c7e842]
je 0xed124d
inc esi
mov ecx, dword [ecx + ebp - 0x70943fef]
ja 0x161fb99
dec eax
lea edx, [esp + 0x138]
mov ebx, 0xc09b6a88
dec esp
mov esp, dword [edx]
inc esp
mov ecx, ebx
jmp 0x161855e
inc ecx
push ecx
dec ebp
mov eax, esp
jmp 0xd26ddf
inc ecx
add ebx, 0x5fa3dc20
inc esp
xor ecx, edi
jmp 0x187946e
xor cx, di
dec esp
lea esp, [ebx + ebx*4 + 0x46b8569b]
inc cx
shl dword [esp + 4], 0x1e
shr ebx, 0xf6
inc esp
and ah, byte [esp + ebx - 0x302]
ror cx, 1
call fcn.00e74aa6
call fcn.00f21659
sar dl, 0x63
mov ecx, dword [edx + esi - 0x5db87308]
xor ecx, ebx
sar eax, 0xcd
sub dx, 0xce19
call fcn.00ee5569
ror eax, 3
neg dl
neg eax
dec eax
xor edx, ecx
neg eax
xor cx, cx
xor ecx, edx
dec eax
shr edx, cl
call fcn.01744241
inc ecx
shr al, 0x85
ror dword [esp + edx*2 - 0xb0c542], 0xba
xor ebx, ecx
jmp 0xff4c57
pop ecx
pop eax
pop edx
pop eax
pop edx
jbe fcn.00f0da46
lea ecx, [ecx + edx*8 + 0x593d1ef2]
add eax, dword [esp + edx - 0xb0c5434]
xchg word [esp + edx*2 - 0x1618a866], ax
neg ecx
sar edx, 5
jne 0x177f16d
xor eax, ebx
call fcn.016d23fd
inc cx
add edx, edi
inc ecx
or cl, al
inc ecx
bswap esp
not cl
inc esp
or bh, al
inc ebp
movsx ebx, dl
mov ax, cx
jae 0x1846b2b
mov ecx, 0x463ad1ac
mov eax, ecx
lea edi, [ecx + edi - 0x463ad1b0]
sub ecx, ecx
xchg ch, cl
sub ecx, ecx
mov eax, dword [edi + ecx*2]
shl ecx, 0x36
movzx edx, cx
xor eax, ebx
or dl, ch
dec ecx
inc eax
neg edx
sal dx, 4
jp 0x16d48e8
push edi
jmp 0xefa255
inc ecx
movzx eax, ax
inc ecx
rol ecx, 1
push edx
call fcn.00ec8fef
mov ecx, 0xc03a4c35
movsx edx, cx
sub cl, dh
mov ecx, dword [ebp + edx*2 - 0x986a]
movzx eax, dl
jle 0x17aa9ec
inc ecx
mov ebx, 0x38333b10
dec edi
lea esp, [ebx + ebx - 0x3b5c72d6]
inc ecx
push esp
inc bx
mov ebp, dword [esi - 0x6a140694]
inc di
mov esp, dword [esp + esi - 0x350a0348]
inc edx
dec dword [esp + ebx - 0x38333b0f]
dec edx
sar dword [esp + ebx*2 - 0x70667620], 0xc6
inc cx
adc ebp, esp
mov cx, bp
inc bx
mov eax, dword [esi + ebx - 0x38333b0c]
dec edx
sar dword [esp + ebx*2 - 0x70667620], 0xd4
dec ecx
rol ebx, 0x6e
dec edi
lea ecx, [ebx + ebx*2 - 0x2de4ebca]
and cx, ax
not cx
sar byte [esp + 6], 0x23
inc cx
mov dword [esi + 4], ecx
inc ecx
push ecx
dec ebx
lea edx, [ebx + ebx + 0x26a7dc1e]
inc ebp
mov esp, dword [ebp - 4]
inc esp
movzx edx, dl
inc ecx
mov eax, 0xba117f2f
call fcn.0162e981
inc esp
movsx esp, bl
inc esp
movzx eax, bx
dec ebp
mov edx, dword [esi + ebx - 0x48b19684]
dec ebx
lea ebp, [esp + 0x45227e27]
dec bx
inc ecx
push eax
dec ebp
and edi, edx
dec ecx
not edi
inc cx
ror eax, 0xce
inc ecx
inc ah
dec ebp
mov dword [esi + ebx - 0x48b19683], edi
sar dword [esp + ebx - 0x48b1968a], 0x84
dec esp
adc dword [esp + ebx - 0x48b1967c], eax
dec esi
lea esi, [ebx + esi - 0x48b19683]
dec eax
dec dword [esp + ebx - 0x48b1967b]
or ebp, 0x3ab69201
neg ebp
inc edi
mov ebx, dword [ebp + eax*2 - 0xb468]
jle 0xf32ed3
inc edi
add al, byte [esi + edi*4 - 0x9fffffe]
inc ecx
xor esp, 0x9a7319d
jno 0xe7897a