Function at 0x705378
Capabilities:
Encrypt data using speck

Disassembly:
dec esi
mov dword [esp + edi*4 - 0xf4], ecx
inc ebp
movsx eax, si
inc ecx
sal dh, 0x42
inc edx
xor dword [esp + edi*2 - 0x76], esi
dec esi
mov ecx, dword [esp + edi - 0x37]
dec esi
mov dword [esp + edi*8 - 0x1f8], esp
dec edi
lea ebx, [ebx + edi*2 - 0x82]
inc esp
sub esp, ebx
dec edx
shl dword [esp + edi*2 - 0x7e], cl
inc ecx
sar esp, 0x93
inc edx
mov dword [edx + ebx - 0xffff], esi
pop ebp
pop ecx
jns fcn.005e92fc
inc ecx
mov edi, 0x1411d53f
dec edi
mov esi, dword [ebx + edi - 0x1411d53f]
inc ecx
movzx esi, di
jmp 0x644ac1
not al
lea ecx, [ecx*4 + 0x341567bf]
not dl
pop ecx
adc ecx, 0xfffd6464
jmp ecx
inc ecx
not bh
jmp fcn.007119fb
dec ebp
mov eax, dword [ebx + ebx - 0x4b281012]
call fcn.0074549e
inc eax
movzx ebx, dh
dec esi
lea ebx, [esi + ebx - 0x6b]
push ebx
inc esp
movsx esi, word [esp + esi*2 - 0xe8]
jmp fcn.006d8e2e
inc sp
xadd dword [esp + ebx + 0x13], edi
inc ecx
adc cl, al
jmp 0x5e9a31
mov eax, 0x7bbd15b1
and al, ah
movzx ax, byte [edi + eax - 0x7bbd1511]
mov ecx, 0x2584ed21
mov dl, byte [edi + ecx*2 - 0x4b09da40]
dec cl
jno 0x56aae5
dec eax
lea edx, [esp + edx + 0x20]
dec edx
xchg dword [esp + edi - 0x188e0092], ebp
dec edx
mov ecx, dword [edx + edi - 0x188e00a2]
dec ecx
dec esp
inc sp
xor edi, ebp
dec ebx
mov dword [ebx + edi*2 - 0x311db6ca], ecx
not ax
inc edx
shr byte [esp + edi - 0x188edb4f], 0x63
dec edi
lea ebx, [ebx + edi*2 - 0x311db6ca]
jae 0x6e9c6f
xor ecx, ebx
call fcn.0061162e
inc ecx
xor dh, cl
inc eax
neg dh
inc eax
sub dh, 0x16
inc ecx
pop ebp
inc eax
not dh
inc eax
rol dh, 1
inc eax
add dh, 0x80
inc ebp
mov esp, eax
dec esi
mov dword [esp + eax*4 - 0x24204], esp
inc eax
not dh
inc esp
xor cl, dh
jmp 0x7350c7
inc bp
mov edi, dword [esi + esi*4 - 0x354fc]
inc esp
mov esi, esi
inc cx
shl esi, 0xec
dec esp
lea ebp, [esi*4 - 0x54e40af8]
dec ebp
lea ebx, [ebx + esi*4 - 0x354f6]
inc si
mov dword [esi + ebx - 0xd53f], edi
inc ecx
movsx ebp, bp
dec ebx
lea ebx, [ebp + esi - 0x57625961]
movzx edx, si
dec ebp
lea edx, [edx + esi*2 - 0x1aa82]
dec eax
sar edx, 0xf1
inc ecx
movzx ecx, bp
inc esi
mov ebp, dword [esi + edx - 0xd53f]
inc ecx
inc esi
call fcn.006470a0
inc ecx
mov esp, 0xd623823c
inc ebp
mov esi, esp
inc ebp
movzx eax, si
dec edi
mov esi, dword [ebx + eax*2 - 0x10478]
call fcn.005ef77a
inc dx
sar dword [esp + ebp - 0xffff], 3
sar dword [esp + edx - 0x133d6ce], 0x8c
dec ebp
lea ebx, [ebx + edx - 0x133d6d3]
inc byte [esp + edx*4 - 0x4cf5b3b]
inc edx
mov dword [edx + ebx - 0x133d6cf], eax
movzx ecx, bl
inc dword [esp + edx - 0x133d6cb]
inc ecx
pop edi
jge fcn.005e92fc
rol dx, 0xe6
inc ecx
push esi
dec ecx
add edi, esp
movzx esi, word [esp + edx - 0x133d6cd]
inc sp
xchg dword [esp + edx*8 - 0x99eb676], ebp
dec ecx
mov eax, ebx
jmp 0x64ca9b
inc esp
xor dword [esp + edx*2 - 0x2667eb6], esp
inc ecx
pop ecx
dec ebp
arpl sp, sp
jmp 0x653073
and eax, ebp
pop ecx
pop ebx
pop eax
pop ebp
jg fcn.005e92fc
inc ebp
movzx ebp, ax
dec ecx
ror edi, cl
dec ebp
xor ecx, edi
dec eax
shl ebp, 0xa6
inc ecx
shr ebp, 0x89
dec ebp
add ebp, esi
dec ebp
mov dword [ebx + esi - 8], edi
inc ebx
xor ebp, dword [edx + eax*2 - 0xe]
dec ecx
dec eax
jp 0x705345
adc dword es:[ebx + 0x37e82953], ebp
mov eax, dword [0xa63dd706]
or edi, edx
rcl esi, cl
out 0xca, al
psubd mm2, mm3
salc
cmpsb byte [esi], byte es:[edi]
or bh, byte [edi - 6]
rcl esi, cl
invalid
inc ecx
xor ebp, ecx
neg ebp
inc cx
dec esi
not si
call fcn.0073dfab
sub cl, 0x16
dec eax
or dword [esp + ebx + 0x17], eax
pop esi
not cl
inc esp
sbb byte [esp + ebx*2 + 0x11], al
inc ebx
rol cl, 1
shl word [esp + ebx*8 + 5], 0xa2
je 0x61a8c6
xor ebp, 0x5595feab
call fcn.006ba2b7
add ebp, ecx
movzx ecx, dx
shl cx, 0xe5
not al
jmp ebp
jle 0x6f69e2
inc ecx
mov ebp, 0xdebb03a5
dec ecx
mov esp, ebx
inc ecx
pop eax
inc ecx
movzx ebp, ch
inc ecx
mov eax, ebp
inc ecx
pop esp
inc ecx
pop esi
pop eax
inc ecx
movsx edi, bp
dec edx
lea ebx, [ebp + ebp*2 - 0x7ccc80ca]
inc esp
movsx edx, di
pop esi
call fcn.006def6f
add dx, ax
neg esi
dec ebx
movsx ecx, al
inc edx
lea esi, [esi + edi*2 + 0x471feab2]
jne 0x5569a8
sar byte [edx], cl
sub al, 0x95
or byte [esi + 0x53], dl
adc esp, dword [edi - 0x2753ea8c]
imul esp, dword [edi + 0x2f], 0xffffffe4
adc eax, 0xdbb7d8ac
out dx, eax
add al, 0x15
lodsb al, byte [esi]
fdiv dword [edi - 0x7d]
ret
inc ecx
dec esp
jp 0x6d9082
dec eax
lea esi, [esp + esi + 8]
call fcn.006fff67
mov eax, 0x1b15da9f
inc esp
movzx eax, al
inc ecx
movzx ebx, ax
dec ecx
mov ebx, dword [ebx + eax*2 - 0x362bb53e]
inc ebp
movsx ebp, al
shr al, 0xc1
dec eax
lea edx, [esp + eax*2 - 0x362bb46e]
call fcn.00718bac
inc ecx
xor esi, ecx
sal ecx, 0x94
rol esi, 1
inc cx
not esp
inc ecx
movsx ebx, ax
inc esi
movsx ebp, byte [esp + edi + 0x2cf164f4]
inc edx
lea esi, [esi + edi*2 - 0x57a2ffb1]
inc cx
neg esi
call fcn.00611e79
sub esi, 4
mov edx, dword [esi]
mov eax, 0x270d890e
xor edx, ebx
movzx ecx, al
dec cx
ror edx, 3
not edx
xor al, ah
call fcn.0064fc62
mov ebx, 0x4b281012
inc ecx
mov esi, 0xb41555b6
jmp 0x5ff370