Function at 0x287f4c
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x18], rbx
test r14d, r12d
mov qword [rsp + 0x20], rbp
sar r11, cl
or bx, 0x6a26
sal bx, 7
push rsi
sar bp, 7
inc si
push rdi
push r12
shrd r12d, r14d, 0x38
push r13
push r15
mov r10d, dword [rcx + 0x28]
ror r13b, 0xce
xchg al, bpl
shr r15d, cl
mov esi, dword [rcx + 0x48]
mov r12d, dword [rcx + 0x40]
mov r9d, dword [rcx + 0x2c]
mov r13w, 0x3de3
mov r15, qword [rcx + 0x10]
lea rdi, [rdx + r8]
mov rbx, rcx
sar bp, cl
movzx r8w, spl
mov ecx, dword [rcx + 8]
movzx r11, bx
mov r8d, esi
shl r8d, 4
sbb r13w, r9w
cwde
mov r13d, 1
dec rbp
cmp si, bp
mov r11, rdx
jmp 0x287fd9
mov ebp, r13d
sbb ax, 0x248a
shl ebp, cl
cdqe
dec ebp
shrd rax, rcx, 0x29
or al, r14b
and ebp, r12d
bt rax, 0xb0
sub cl, r11b
mov eax, ebp
sar cl, cl
shld cx, r8w, 0xde
shrd cx, r8w, 0xac
lea r8, [r8 + rax]
btr rcx, 0x2b
movzx ecx, word [r15 + r8*2]
clc
cmc
cmp r10d, 0x1000000
jmp 0x288025
jae 0x288058
cmp rdx, rdi
jmp 0x288033
jb 0x288045
sub eax, eax
jmp 0x288040
jmp 0x288c12
movzx eax, byte [rdx]
shl r9d, 8
stc
cmc
shl r10d, 8
or r9d, eax
inc r11
mov eax, r10d
test r15b, r8b
test di, 0x1352
cmp r13w, 0x1b3b
mov qword [rsp + 0x38], r14
shr eax, 0xb
clc
imul eax, ecx
cmc
cmp r9d, eax
jmp 0x28807e
jae 0x28839a
cmp dword [rbx + 0x44], 0
movsx r14, dx
mov r10w, di
mov r10d, eax
lea r14, [r15 + 0xe6c]
jmp 0x28809f
jne 0x2880b3
test r12d, r12d
jmp 0x2880ad
je 0x288147
mov rcx, qword [rbx + 0x30]
test dil, bl
test rcx, rcx
jmp 0x2880c2
jne 0x2880cc
mov rcx, qword [rbx + 0x38]
mov rax, qword [rbx + 0x18]
btr r8, rdi
bsf edx, r14d
mov edx, dword [rbx]
cmovae r8d, edx
sal r8w, cl
movzx r8d, byte [rax + rcx - 1]
sar rax, cl
mov cl, r11b
or al, r15b
mov ecx, 8
shr al, 0x29
cbw
mov rax, rax
mov eax, r13d
jmp 0x288106
sub cl, dl
cmp r13b, 0x8f
shr r8d, cl
stc
mov ecx, dword [rbx + 4]
clc
shl eax, cl
mov ecx, edx
dec eax
and eax, r12d
cmp rdi, 0x59121514
shl eax, cl
stc
cmc
add r8d, eax
rcl ah, cl
btr rax, rbx
lea eax, [r8 + r8*2]
stc
cmp r12b, 0xdd
shl eax, 8
test spl, 0x35
clc
lea r14, [r14 + rax*2]
cmc
cmp esi, 7
jmp 0x28814f
jae 0x28823b
mov edx, r13d
sub bpl, 0x1c
movzx rcx, r11w
mov rcx, r13
xor r8w, 0x5dba
mov ebp, 0x100
or r8b, 0xac
movsxd r8, ebp
nop
mov r8d, 0x443b2631
xor r8b, dl
lea rcx, [rcx + rcx]
movsxd r8, r11d
movzx r8d, word [rcx + r14]
test r13b, 0xe6
test r14w, r15w
cmp r10d, 0x1000000
jae 0x2881d5
cmp r11, rdi
jmp 0x2881a8
jae 0x288c07
movzx eax, byte [r11]
test r12b, 0x8e
cmp ah, 0x5d
shl r9d, 8
shl r10d, 8
clc
cmc
test r15d, r9d
or r9d, eax
xchg al, al
movzx eax, sp
inc r11
movzx rax, r11w
mov eax, r10d
cmp r8b, r11b
test r9, r10
shr eax, 0xb
test r15d, 0x455507e3
imul eax, r8d
cmp r14b, 0x7d
cmp r9d, eax
jmp 0x2881f8
jae 0x288209
mov r10d, eax
cmc
add edx, edx
jmp 0x288226
sub r10d, eax
cmp r13w, 0x569b
sub r9d, eax
jmp 0x28821a
lea edx, [rdx + rdx + 1]
jmp 0x288223
inc rcx
cmp edx, ebp
jb 0x28817f
mov eax, r13d
jmp 0x288236
jmp 0x288bec
mov ecx, dword [rbx + 0x4c]
setg dh
add dx, 0x4f3
cmovo dx, r9w
mov rdx, qword [rbx + 0x30]
stc
cmp rdx, rcx
jmp 0x288258
jae 0x28826c
mov rsi, qword [rbx + 0x38]
jmp 0x288267
jmp 0x28826e
xor esi, esi
mov rax, qword [rbx + 0x18]
mov ebp, 0x100
xor bl, al
mov ebx, r13d
xadd r8, r8
sub rax, rcx
mov r8d, ebp
test r14b, 0x23
lea rax, [rax + rdx]
sal dh, 0xab
adc r12, r13
movzx r12d, byte [rax + rsi]
mov rsi, r13
cmp bpl, bpl
nop
add r12d, r12d
mov edx, r8d
mov ecx, r8d
and edx, r12d
shr al, cl
mov eax, edx
stc
cmc
add rax, rsi
test dx, r13w
lea rcx, [rcx + rax]
movzx ecx, word [r14 + rcx*2]
cmp r10d, 0x1000000
jae 0x288303
cmp r11, rdi
jmp 0x2882d7
jae 0x288c07
movzx eax, byte [r11]
clc
shl r9d, 8
jmp 0x2882eb
shl r10d, 8
cmp r15b, al
jmp 0x2882f7
or r9d, eax
mov al, bpl
inc eax
cwde
inc r11
mov eax, r10d
clc
shr eax, 0xb
imul eax, ecx
test r10w, 0x4574
cmp r9d, eax
jmp 0x28831b
jae 0x288354
not edx
sar r10w, 0x93
add ebx, ebx
rol r10b, cl
rol r10d, 0x31
lea rsi, [rsi + rsi]
btc r10d, r15d
and r8d, edx
movzx r10, r14w
mov r10b, 0xa7
movsx r10d, r9w
mov r10d, eax
jmp 0x28834f
jmp 0x288380
sub r10d, eax
clc
jmp 0x28835d
sub r9d, eax
cmp r10w, 0x1888
test ax, 0xba3
lea ebx, [rbx + rbx + 1]
cmp rax, rsp
and r8d, edx
stc
test r14w, 0x1e9e
lea rsi, [rsi + rsi + 1]
cmp ebx, ebp
jmp 0x288387
jb 0x2882a0
mov eax, r13d
jmp 0x288395
jmp 0x288bec
movzx edx, word [r15 + rsi*2 + 0x180]
add ch, bl
neg ch
sub r10d, eax
shr ch, cl
sub ch, 0xaf
sub r9d, eax
rol rcx, 0x7d
mov rcx, rsi
cmp r10d, 0x1000000
jae 0x2883f6
cmp r11, rdi
jmp 0x2883ce
jae 0x288c07
movzx eax, byte [r11]
xor r12b, r11b
jmp 0x2883e0
shl r9d, 8
bts r12, r10
shl r10d, 8
or r9d, eax
movsx eax, r10w
inc r11
xor esi, esi
btr ax, 0x48
dec r12b
setnp al
mov eax, r10d
shr eax, 0xb
clc
or r12d, esi
lea r12d, [rsi + 3]
imul eax, edx
test dil, 0xe0
cmp dil, dil
cmp r9d, eax
jmp 0x288423
jae 0x28844e
mov r10d, eax
mov r14d, esi
cdq
lea rdx, [r15 + 0x664]
jmp 0x28843c
mov dword [rsp + 0x30], 2
jmp 0x288449
jmp 0x288699
movzx edx, word [r15 + rcx*2 + 0x198]
sub r10d, eax
test r10b, 0xd3
stc
sub r9d, eax
cmp ax, 0x7b7
mov dword [rsp + 0x30], r12d
stc
cmp r10d, 0x1000000
jmp 0x288478
jae 0x2884b0
cmp r11, rdi
jmp 0x288486
jae 0x288c07
movzx eax, byte [r11]
cmp r13b, 0xc1
stc
shl r9d, 8
shl r10d, 8
or r9d, eax
inc r11
shld rax, r13, 0x89
bts ax, r8w
bswap rax
mov eax, r10d
shr eax, 0xb
cmc
clc
imul eax, edx
cmp r9d, eax
jae 0x288572
movzx ecx, word [r15 + r8*2 + 0x1e0]
mov r10d, eax
clc
test si, ax
cmp eax, 0x1000000
jmp 0x2884de
jae 0x28851e
cmp r11, rdi
jmp 0x2884ec
jae 0x288c07
movzx eax, byte [r11]
cmp r12w, r8w
clc
shl r9d, 8
test r14b, 0x35
cmp ah, 0x2f
shl r10d, 8
test di, 0x752e
cmc
cmp spl, 0x37
or r9d, eax
movzx eax, r13w
inc r11
mov eax, r10d
stc
shr eax, 0xb
cmp r8b, bl
imul eax, ecx
stc
cmp r9d, eax
jae 0x28855b
cmp eax, 0x1000000
jae 0x28854e
cmp r11, rdi
jmp 0x288548
jae 0x288c07
mov eax, r12d
jmp 0x288556
jmp 0x288c09
sub r10d, eax
cmp r9b, 0x1b
cmp r9b, dil
sub r9d, eax
jmp 0x28856d
jmp 0x28867c
movzx edx, word [r15 + rcx*2 + 0x1b0]
clc
test si, r11w
sub r10d, eax
sub r9d, eax
test r9d, 0x35d65040
clc
cmp r10d, 0x1000000
jmp 0x28859a
jae 0x2885d0
cmp r11, rdi
jae 0x288c07
movzx eax, byte [r11]
shl r9d, 8
test bpl, 0xf4
clc
shl r10d, 8
cmp r11, 0x47875008
stc
or r9d, eax
cdqe
movzx ax, cl
cbw
inc r11
mov eax, r10d
shr eax, 0xb
imul eax, edx
cmp r9d, eax
jae 0x2885ef
mov r10d, eax
jmp 0x2885ea
jmp 0x28867c
movzx edx, word [r15 + rcx*2 + 0x1c8]
clc
sub r10d, eax
jmp 0x288601
sub r9d, eax
cmc
cmp r10d, 0x1000000
jae 0x288637
cmp r11, rdi
jmp 0x28861a
jae 0x288c07
movzx eax, byte [r11]
shl r9d, 8
stc
test spl, 0xbb
shl r10d, 8
or r9d, eax
inc r11
mov eax, r10d
test r15b, 0xee
shr eax, 0xb
jmp 0x28864a
imul eax, edx
cmp r9d, eax
jmp 0x288655
jae 0x288663
mov r10d, eax
jmp 0x28867c
sub r10d, eax
sal r14b, cl
sub r9d, eax
add ecx, 0x72cc3abc
bt cx, 0x5d
movzx cx, dil
mov r14d, 0xc
cdq
mov dh, 0xd5
test r9w, 0x485f
lea rdx, [r15 + 0xa68]
shl ch, cl
test sp, r9w
movzx ecx, word [rdx]
test edx, eax
cmp r10d, 0x1000000
jmp 0x2886aa
jae 0x2886eb
cmp r11, rdi
jmp 0x2886b8
jae 0x288c07
movzx eax, byte [r11]
jmp 0x2886c7
shl r9d, 8
cmp si, 0x68a7
cmc
stc
shl r10d, 8
jmp 0x2886db
or r9d, eax
movsx ax, r10b
not ax
cbw
inc r11
mov eax, r10d
cmc
test al, r9b
test dh, 0x9f
shr eax, 0xb
cmc
imul eax, ecx
jmp 0x288705
cmp r9d, eax
jmp 0x28870d
jae 0x288737
mov r10d, eax
movsx eax, di
setb bh
lea eax, [rbp*8]
mov ebp, 8
lea rbx, [rdx + rax*2 + 4]
jmp 0x288732
jmp 0x288815
movzx ecx, word [rdx + 2]
cmp r13w, r9w
jmp 0x288744
sub r10d, eax
sub r9d, eax
cmp r10d, 0x1000000
jmp 0x288756
jae 0x288791
cmp r11, rdi
jmp 0x288764
jae 0x288c07
movzx eax, byte [r11]
jmp 0x288774
shl r9d, 8
clc
jmp 0x28877e
shl r10d, 8
stc
test r13w, 0x381a
cmc
or r9d, eax
inc r11
cmc
mov eax, r10d
shr eax, 0xb
cmp esi, edi
imul eax, ecx
cmp r9d, eax
jae 0x2887df
mov r10d, eax
movsx bx, bpl
cmovae ax, r11w
movzx esi, r11w
lea eax, [rbp*8]
mov ebp, 8
movzx bx, r9b
movzx rbx, r13w
lea rbx, [rdx + rax*2 + 0x104]
mov esi, ebp
jmp 0x2887da
jmp 0x288815
sub r10d, eax
bsr bp, dx
adc sil, dl
or rsi, 0x115338cf
lea rbx, [rdx + 0x204]
mov esi, 0x10
bts ecx, r8d
sub r9d, eax
cqo
rcr dx, 0x9e
cdq
mov ebp, 0x100
sbb ecx, 0x3e6b431d
mov ecx, r13d
add r8d, 0x5f5c7209
rcl r8d, 0xe6
mov rdx, r13
sal r8, cl
shl r8b, 0x36
nop
btc r8d, 0x24
lea rdx, [rdx + rdx]
sub r8b, spl
xor r8d, r14d
movzx r8d, word [rdx + rbx]
jmp 0x288849
cmp r10d, 0x1000000
jmp 0x288855
jae 0x288891
cmp r11, rdi
jmp 0x288863
jae 0x288c07
movzx eax, byte [r11]
cmp dl, dh
shl r9d, 8
cmc
stc
shl r10d, 8
cmp cx, 0x55b3
stc
or r9d, eax
mov al, 0x10
xchg al, ah
inc r11
xadd ah, al
rcr ah, 0x1a
rcr al, cl
mov eax, r10d
test r14b, bl
shr eax, 0xb
test edx, 0x380e1ee6
cmp rbp, rsp
imul eax, r8d
test spl, 0x70
jmp 0x2888b1
cmp r9d, eax
jmp 0x2888b9
jae 0x2888ce
mov r10d, eax
add ecx, ecx
jmp 0x2888c9
jmp 0x2888f7
sub r10d, eax
cmc
jmp 0x2888de
sub r9d, eax
jmp 0x2888e6
lea ecx, [rcx + rcx + 1]
jmp 0x2888ef
inc rdx
test r14b, 0x24
stc
cmp ecx, ebp
jmp 0x2888fe
jb 0x288833
sub esi, ebp
add ecx, esi
cmp r14d, 4
jmp 0x288911
jae 0x288bd4
cmp ecx, 4
cdq
cwd
mov edx, r13d
cmovb r12d, ecx
cmp r14, r9
shrd rcx, r15, 0xd
mov rcx, r13
and bl, bpl
cmovae r8d, r13d
shl r12d, 6
not r8
jmp 0x288942
lea rbx, [r15 + r12*2 + 0x360]
sbb r8w, r11w
nop
sar r8b, cl
lea rcx, [rcx + rcx]
jmp 0x28895b
movzx r8d, word [rcx + rbx]
cmp r10d, 0x1000000
jmp 0x28896c
jae 0x2889c1
cmp r11, rdi
jmp 0x28897a
jae 0x288c07
movzx eax, byte [r11]
test r15b, r13b
test sil, 0x95
shl r9d, 8
test r14, 0x58fb570c
cmc
cmp r8w, 0x4af1
shl r10d, 8
test r14d, r12d
or r9d, eax
nop
cmovs eax, r12d
setnp ah
inc r11
test rsi, 0x597601ed
sub ah, bh
btc ax, 0xd5
mov eax, r10d
shr eax, 0xb
clc
stc
cmp r15b, r11b
imul eax, r8d
clc
cmp r9d, eax
jmp 0x2889d9
jae 0x2889ee
mov r10d, eax
add edx, edx
jmp 0x2889e9
jmp 0x288a07
sub r10d, eax
test edx, 0x762313b9
cmc
sub r9d, eax
lea edx, [rdx + rdx + 1]
jmp 0x288a04
inc rcx
cmp edx, 0x40
jmp 0x288a0f
jb 0x288952
add edx, 0xffffffc0
stc
test bx, r14w
cmp edx, 4
jb 0x288be2
mov r8d, edx
shr r8d, 1
jmp 0x288a31
dec r8d
stc
cmc
cmp edx, 0xe
jae 0x288a96
mov eax, edx
mov ecx, r8d
and eax, r13d
cmp rcx, 0x33430523
clc
cmp r9b, bl
or eax, 2
jmp 0x288a5c
shl eax, cl
or cl, r11b
movsx cx, dl
mov ecx, eax
sub ah, 0xad
bsf rax, r13
or al, bh
mov eax, edx
rcl edx, 0x63
or dl, sil
rol dh, cl
sub rcx, rax
sete dl
xchg edx, edx
cwd
lea rdx, [r15 + rcx*2 + 0x55e]
jmp 0x288a91
jmp 0x288b40
sub r8d, 4
stc
cmp r10d, 0x1000000
jmp 0x288aa7
jae 0x288aea
cmp r11, rdi
jmp 0x288ab5
jae 0x288c07
movzx eax, byte [r11]
shl r9d, 8
cmp bp, r12w
stc
test sp, 0x54ef
shl r10d, 8
jmp 0x288ada
or r9d, eax
inc r11
xadd al, al
not ax
shld eax, esi, 0x48
shr r10d, 1
xchg al, al
mov eax, r9d
cmp r12w, r9w
test rbp, 0xe1914cb
sub eax, r10d
test r12, r15
shr eax, 0x1f
dec eax
and eax, r10d
test dl, ah
clc
sub r9d, eax
test r9, 0x583c6460
stc
sub r8d, r13d
jne 0x288a9b
lea rdx, [r15 + 0x644]
adc cx, 0x65cd
mov r8d, 4
shl rcx, 0x87
nop
mov cl, 0x79
cmc
sal rcx, 0x7d
add r13, r13
movsxd rcx, r13d
movzx ecx, word [r13 + rdx]
cmc
stc
cmp r10d, 0x1000000
jae 0x288b8b
cmp r11, rdi
jae 0x288c07
movzx eax, byte [r11]
shl r9d, 8
shl r10d, 8
cmp edi, 0x107c7ca1
jmp 0x288b7b
or r9d, eax
lahf
bswap ax
inc r11
mov al, 0x50
cmp dh, al
sal al, cl
mov eax, r10d
shr eax, 0xb
imul eax, ecx
cmp spl, r12b
cmp r9d, eax
jmp 0x288b9f
jae 0x288bb2
mov r10d, eax
jmp 0x288bad
jmp 0x288bc1
sub r10d, eax
clc
sub r9d, eax
jmp 0x288bbe
inc r13
sub r8d, 1
jne 0x288b40
mov eax, dword [rsp + 0x30]
jmp 0x288bec
mov eax, dword [rsp + 0x30]
jmp 0x288bdd
jmp 0x288bec
mov eax, dword [rsp + 0x30]
jmp 0x288bec
cmp r10d, 0x1000000
jae 0x288c09
cmp r11, rdi
jmp 0x288c01
jb 0x288c09
xor eax, eax
mov r14, qword [rsp + 0x38]
movzx rdi, ax
mov rbx, qword [rsp + 0x40]
jmp 0x288c1c
mov rbp, qword [rsp + 0x48]
movzx di, cl
pop r15
not r13b
mov sil, sil
pop r13
jmp 0x288c3d
pop r12
mov si, ax
movzx esi, cx
pop rdi
setge sil
movsx esi, r13w
pop rsi
jmp 0x288c54
ret