Function at 0x140c25331
Capabilities:
Encrypt data using aes mixcolumns step
Encrypt data using speck

Disassembly:
lea rsp, [rsp + 8]
jne 0x140c04dbf
push 0xffffffff9e32f4a2
mov r8, rax
jmp 0x140c272a8
call fcn.140c032a4
mov edx, 0x132d9124
lea rdi, [rdi + rdx*4 - 0x4cb64494]
inc dx
mov ebx, dword [rdi + rdx*4 - 0x4cb64494]
call 0x140c2c782
movzx eax, bp
xor edx, r9d
movzx r8d, ax
xor edx, 0xe0aaa51c
lea rbx, [rax + 0x38162222]
lea r10, [rbx*8 + 0x3d089f31]
shr bp, 0x61
ror edx, 1
lea rcx, [rax + rax*4 - 0x29418759]
sub bp, 0xda1e
setne bl
inc edx
ror bx, 0xce
not edx
shr cl, 0xa6
neg r10b
push r9
movzx r9d, al
sub r10, rbp
jno 0x140c3695a
xor ebx, r9d
lea rcx, [r8*2 - 0x5ae9a562]
bswap ecx
rol ebx, 2
jmp 0x140c2a2a2
setno bl
bswap ebp
sbb rdx, 0xf9349a9
sar al, 7
adc ebp, ebx
xadd cl, bl
push r9
ror rax, cl
xor dword [rsp + rax - 0x2b00], ebp
pop r9
xadd cl, dl
neg r8d
cwd
movsxd rbp, ebp
xadd r8d, ebx
and dl, cl
lea rax, [rcx*4 + 0x4423169c]
adc r11, rbp
movzx r10w, byte [rsi + r10*2 - 0x1fe00]
xor dx, 0xe9ae
sub r8w, 0x221d
xadd rcx, rbx
mov r8b, byte [rbx + rsi - 0xd6]
sbb dl, bl
lea rsi, [rbx + rsi - 0xd6]
not r10b
jle 0x140c43752
mov ebx, r10d
xor ebp, r9d
bts rax, rbx
lea r8, [rax + r10 + 0x67b0c9a7]
neg ebp
add ebp, 0x8b851c9d
bt ax, r10w
mul r8
bswap ebp
btr r8d, 3
setae r10b
sal r8b, 0x47
rol ebp, 1
dec dx
dec r10b
ror r10w, 0x28
xor ebp, 0x150a5508
inc ebp
cwd
jmp 0x140c2e0d8
mov byte es:[rax + r8 - 0x5ba7cb8a], bpl
sal word [rsp + rdx*2 - 0x44bdff02], 0xa4
adc qword [rsp + rdx*2 - 0x44bdff0e], r11
ret 8
sar rbp, cl
rol eax, 3
lea rbp, [rdx + rbp*8 - 0x32e4c8d1]
xor cx, word [rsp + rbx*4 - 0xfb2a53e]
push r10
mov qword [rsp + rbx*4 - 0xfb2a538], r9
sete byte [rsp + r8 - 0x3ed0f89]
xor dword [rsp + rbx*4 - 0xfb2a538], eax
push rbx
mov r9, qword [rsp + rbx*2 - 0x7d95290]
dec rdx
sete bl
movsxd rax, eax
add r11, rax
not r10
mov qword [rsp + rbx*4 - 0xfb2a400], r11
ret 0x10
push 0xffffffffd022932c
jmp 0x140bf8f52
push r9
neg edx
xor dword [rsp + r8 - 0x588547a5], ebx
lea r9, [rdx*2 - 0x20fa1efc]
push rcx
mov r9, qword [rsp + rdx + 8]
movsxd rbx, ebx
mov qword [rsp + rdx*2 + 8], 0xffffffffe49311b6
sar r8, 0x8e
div ebp
add r11, rbx
mov ebx, 0x92b61222
xor rdx, r8
mov r8, qword [rsi + r8*4 - 0x58854]
dec edx
shl word [rsp + rdx*2 - 0x2c41b], 0x6f
xor bpl, byte [rsi + rdx - 0x1620c]
add eax, 0x5ba7cb8a
bt rdx, 0x1c
lea rsi, [rsi + rdx*2 - 0x2c41e]
lea rdx, [rbx + rdx*2 - 0x7059d6c3]
jae 0x140bff11e
mov edx, 0xf6092b01
add dx, dx
movzx r8d, dx
movzx ecx, byte [rdi + r8*2 - 0xac05]
xor cl, r9b
rol cl, 1
movsx ebx, r8w
xor cl, 0x3c
rol ebx, 0xa3
ror cl, 1
xor cl, 0x1b
neg edx
xor r9b, cl
imul dx, r8w
neg r8b
movzx r10d, bl
add rcx, rsp
movsx ebp, dl
btr dx, 0x89
sal ebp, 0x26
mov rax, qword [rcx + rdx - 0x9f6a5fc]
btc edx, edx
sub rbp, rbx
mov qword [rsi + rdx - 0x19f6a604], rax
mov edx, dword [rdi + rdx - 0x19f6a601]
and r10d, 0x9e9c2186
shl ebp, 0x5f
shr rbp, 0x83
lea rdi, [rdi + r8 - 0x5703]
btc r10, rbx
xor edx, r9d
neg r10
mov eax, ebx
rol r8d, 0x4a
neg edx
call fcn.140c2f60a
pop r9
not dl
jnp 0x140c03d4e
mov eax, 0xce3ceca9
movzx r10d, al
lea rdi, [rdi + r10 - 0xad]
mov ebp, dword [rdi + r10 - 0xa9]
jmp 0x140bfafe5
movsxd rcx, ecx
jg 0x140c087c2
mov eax, 0x50f500f
mov rbp, qword [rsi + rax*2 - 0xa1ea01e]
cqo
movsx ecx, dx
mov rbx, qword [rax + rsi - 0x50f5007]
rol rcx, 0x4a
add cl, byte [rsi + rax*8 - 0x287a8068]
shr dx, 0x87
lea r8, [rax + rax + 0x3186f191]
movsx r10d, dl
lea rsi, [rax + rsi - 0x50f5005]
lea rdx, [r8 + r10 + 0x268166b3]
xadd dl, r8b
shrd rbp, rbx, cl
shr r8d, 0x85
sbb dl, ah
movsx ecx, dx
mov qword [rax + rsi - 0x50f500f], rbp
lea rdi, [rdi + rax - 0x50f5013]
shl rax, 0x3b
lea rbp, [r8*8 - 0x41695800]
mov ebx, dword [rdi + rdx - 0x6226f8c1]
shl rbp, 0x12
div rcx
rol dl, 0xa1
xor ebx, r9d
or rbp, rax
cqo
xadd r8w, bp
dec ebx
btr ebp, edx
mul ax
neg ebx
add rdx, rdx
mul r8w
div cl
ror ebx, 3
or ebp, edx
cbw
inc ebx
push r9
rol r10b, 0x25
xor dword [rsp + r8 - 0x1ddd001], ebx
sar cx, 0x2e
pop r9
je 0x140c12f5e
imul dx
movsxd rbx, ebx
dec ecx
bt ax, dx
adc r11, rbx
call fcn.140c38ea6
lea eax, [rax + rbx*8 + 0x77b4cc0d]
jmp 0x140bff7de
cmp ebx, 4
push 0xfffffffff0270e31
lea rsp, [rsp + 8]
jne 0x140c34b9f
mov r9, rax
jmp fcn.140c2c3a4
sal r10w, 0x84
xchg ebp, ebx
add r11, rcx
add ebp, 0x7429580b
jo 0x140c003e3
movzx ecx, ax
jmp r11
rol cx, 1
mov r10d, 0xc28be727
and bl, r10b
rol r10, 0x12
dec cx
shr rbp, 0x70
inc r10
xor r9w, cx
xchg rdx, r10
sub r8, 0x5f126622
adc eax, 0x718e2419
mov word [rsi + r8 - 0x562a373a], cx
jno 0x140c0f9fa
test rbx, rbx
call fcn.140c3dbef
movzx ebx, byte [rdi - 1]
xor bl, r9b
mov eax, 0x672a97a9
call fcn.140bfe43f
mov rax, qword [rbp + rbx*8 + 0x20]
push 0xffffffffeb37772d
mov qword [rsp], rax
push 0xffffffffaca4b19e
dec ebx
jmp 0x140bf9f85
xor dword [rsp], ebx
pop r9
cbw
not r10w
movsxd rbx, ebx
add r11, rbx
mov eax, dword [rsi + riz]
ror r8b, 0xa5
adc rsi, 3
movzx edx, bpl
inc r10w
lea rdi, [rdi + rdx*8 - 0x4f9]
shl ecx, 0x2b
mov dl, byte [rdx + rdi - 0x9f]
sub r8w, 0x1eb2
xor dl, r9b
movzx ebx, bpl
sub dl, 0x34
xor dl, 0x92
neg dl
sub dl, 0x25
bts r8, 0x25
jb 0x140c38be5
xor dl, 0x1d
xor r10, 0xffffffff92861833
sbb dl, bpl
not dl
xor rbx, rbp
xor r9b, dl
add rdx, rsp
btr bp, 0x25
mov dword [rdx + rcx - 0x58000000], eax
shl rbp, 5
rol r8w, 0xc4
jmp r11
mov ebx, dword [r8 + rdi - 0x562a3740]
btc r10, rax
xchg dx, ax
add dx, bp
xor ebx, r9d
dec ebx
mov ecx, 0xb308d812
xor ebx, 0x17b51c3a
or r10b, 0xaf
imul r10d
inc ebx
shr dx, 0x6a
not ebx
xor ebx, 0xd221dd25
rol ebx, 2
ror cl, 0xe6
not r10b
inc ebx
or rbp, 0x3f3e6bab
sar r8b, 0x27
push r9
lea r9, [rdx + 0x710c212d]
and rcx, r9
shr rcx, 0x6d
xor dword [rsp + rdx*4 - 0x1bc0064], ebx
pop r9
or bp, 0xe71d
movsxd rbx, ebx
mul r10w
mul eax
add r11, rbx
not rcx
movzx ebp, word [r8 + rdi - 0x562a3708]
inc cl
inc ecx
lea rdi, [rdx + rdi - 0x1abaf21]
shl ax, 0xe9
adc r10b, cl
btr r10w, cx
xor bp, r9w
neg cl
movsx ebx, dx
shl al, 1
sbb bp, cx
rol bp, 1
idiv rax
rol r8d, cl
sbb bp, 0x54b1
dec r10b
push rcx
ror bp, 1
rol al, 0x44
add dl, r10b
xor r9w, bp
xor r8w, 0xe32d
mov word [r8 + rsi - 0x2b15f8af], bp
div ebx
cqo
lea rsi, [rsi + rdx - 2]
pop rcx
jmp fcn.140c020aa
bts ecx, ecx
inc r10w
lea rdi, [rdi + rcx*2 - 0x800030]
not r10d
btr rax, r10
mov eax, dword [rcx + rdi - 0x400016]
or r10w, r10w
xor eax, r9d
dec eax
movzx r8d, r10w
and r10, r10
not eax
xor r8w, 0x8822
jne 0x140c14b8b
xor ebx, r9d
not ebx
mov r10d, 0x888a67be
neg ebx
sub ebx, 0xdbe4729
movzx ecx, r10w
lea rdx, [r10 + r10*2 + 0x60140919]
add dx, cx
xor ebx, 0xcf2f2203
lea rax, [rcx + 0x7bb1949c]
bswap ebx
sal cl, 0x84
or r10w, r10w
push r9
movzx ebp, dl
or ecx, 0xee985282
movzx r8d, bpl
xor dword [rsp + rbp*4 - 0x44], ebx
imul rax, rax
xadd al, bpl
pop r9
sal r10, 0x28
lea rsi, [rsi + rbp*2 - 0x14c]
xchg r10, rbp
mov dword [r10 + rsi - 0xa4], ebx
dec r10w
rol eax, cl
lea rdi, [r10 + rdi - 0xa7]
and r8w, bp
sal rax, cl
movzx ebx, cx
adc eax, dword [r10 + rdi - 0xa3]
xor eax, r9d
or r10, 0xffffffffc83b7822
neg eax
rol eax, 1
lea eax, [rax + r8 + 0x4a06b211]
sub bl, bpl
xadd r8b, cl
shr dx, 0xce
bswap eax
or ecx, ebx
bts bp, r10w
and r8d, ebp
push r9
xor dword [rsp + r10 + 0x37c4875d], eax
pop r9
push rbp
push rdx
movsxd rax, eax
sar byte [rsp + r10 + 0x37c48768], cl
push r8
adc r11, rax
pop rbx
pop rdx
pop rdx
jmp fcn.140c020aa
xor eax, 0x86145b88
or r10, rbx
neg r8d
lea eax, [rcx + rax + 0xaeba29b]
movzx edx, cx
bswap eax
not eax
sbb r8d, 0xc50e5b23
shr r8d, 0xc1
bswap eax
xchg rbx, r10
xadd bx, r10w
push r9
push r8
push r8
dec byte [rsp + rcx - 0x400016]
xor dword [rsp + rcx - 0x400006], eax
call fcn.140c2614f
cmp ebx, 3
jmp 0x140bffc35
adc cx, 0x7d37
cqo
jmp 0x140c09dd9
neg dword [rsp + 0xa]
xor ebx, r9d
mov eax, dword [rsp + 0xc]
not ebx
inc ax
or ax, 0x629a
ror ebx, 1
dec ebx
rol ebx, 1
dec al
sar dword [rsp + rax - 0x6290], 0x2c
not ax
inc ebx
rol eax, 0x11
mov qword [rsp + rax - 0x3acbfff9], rax
cdqe
xor ebx, 0x9120de19
btc eax, eax
push rax
mov qword [rsp + rax*2 - 0x7597fff6], r9
sal al, 0xa6
mov r9d, eax
or eax, dword [rsp + rax*2 - 0x7598017d]
xor dword [rsp + r9*2 - 0x75980170], ebx
mov r9, qword [rsp + r9 - 0x3acc00b0]
xor ax, 0x18a1
movsxd rbx, ebx
setb al
mov qword [rsp + rax - 0x3acc17f0], 0xffffffff9984e8b4
adc r11, rbx
neg ax
lea rbx, [rax + rax*4 - 0xe516fc1]
mov rax, qword [rsi + rax - 0x3acce800]
mov rbx, qword [rsi + riz + 8]
neg qword [rsp]
jb 0x140c2cac1
jmp fcn.140bfa40f
imul cx, r8w
mov eax, 0xd505b03f
not ebx
movsx r10d, cx
bswap ebx
movsx ebp, cl
xor rcx, r10
inc ebx
push r9
jmp 0x140c0dffc
push rax
adc rsi, 0xb
xor r10d, r10d
xor dword [rsp + 4], 0x34202083
ja 0x140c09e5b
rol edx, 0xc1
not ebp
movzx ecx, r8b
xor ebp, 0x9e248287
and rax, r10
jno 0x140bfaa4b
mov ah, 0x1d
invalid
mov eax, 0x2b98996
mov rax, qword [rbp + rbx*8 + 0x20]
jmp 0x140c2c3a3
xor dword [rsp + rbp - 0xa054036], edx
or ax, 0x735
pop r9
movsxd rdx, edx
dec bpl
adc r11, rdx
push r8
neg cx
lea rdx, [rbx*4 - 0x45df1573]
mov esi, dword [rsi + rbp - 0xa054035]
cwd
pop r10
js fcn.140c020aa
movzx bp, byte [rsi]
mov edx, 0xb53c62a3
movsx ecx, dl
and cx, 0x260b
mov r8b, byte [rsi + riz + 2]
and bpl, r8b
mov r8d, edx
movsx ebx, r8w
not bpl
and cx, r8w
mov word [rsi + rbx*8 - 0x31516], bp
mov ebp, 0xc6234cb0
movzx ecx, word [rdi + rbx - 0x62a5]
mov eax, ebp
xor cx, r9w
imul bp
bswap ebx
sal rbp, 0x35
adc cx, bx
ror cx, 1
not r8w
and ebx, edx
bts rbx, 0xe
not cx
jae 0x140c23532
jmp 0x140c3e271
xor r10d, 0xe303423a
push r9
xor dword [rsp + r8*2 - 0x3e0934a], r10d
movzx ebx, dx
pop r9
add dl, 0x24
jge 0x140c39818
mov ecx, 0x8f244e2c
sub rdi, 4
mov ebp, dword [rdi + riz]
movzx eax, cx
mov r10d, eax
xor ebp, r9d
lea rcx, [r10 + 0x6629ac2b]
and ax, cx
bswap ebp
push r10
lea ebp, [rax + rbp + 0x45a05b2b]
ror ebp, 1
movzx r8d, word [rsp + rcx - 0x6629fa57]
ror r10b, 0xa4
lea ebp, [rax + rbp + 0x143e3d0b]
or dword [rsp + rcx - 0x6629fa57], r8d
inc qword [rsp + rcx - 0x6629fa57]
mov qword [rsp + rax*2 - 0x9408], r9
xor dword [rsp + rax*2 - 0x9408], ebp
btr eax, ecx
movzx r9d, r10b
pop r9
movzx ebx, ax
inc al
movzx edx, cx
movsxd rbp, ebp
add dx, r10w
bswap ecx
add r11, rbp
not bl
mov rbx, rsi
lea rsi, [rsi + rcx - 0x57fa296e]
mul r10d
mov qword [rsi + r10*2 - 0x9d84], rbx
jae fcn.140c020aa
btc r10, r10
mov r9, qword [rsp + r8*2 - 0x1f5e0]
push r8
jb 0x140c00563
lea rsi, [rsi + r8 - 0xfb04]
push rbp
shl dword [rsp + r8*2 - 0x1f5e2], cl
mov dword [rsi + r8 - 0xfb00], ebx
pop r8
pop rbx
pop rax
pop rbp
pop r8
pop rcx
pop rdx
jg fcn.140c020aa
lea rbp, [rdx*2 + 0x2c9abf9a]
xor rcx, rax
not r8b
cwde
sbb rbx, rbp
or r10b, r8b
movsx r8d, dl
xchg ebp, eax
rol al, 6
mov word [rsi + rax*4 - 0x36124e44], r10w
xchg bx, ax
mov r10d, eax
cdq
add rdx, r11
jmp rdx