Function at 0x1403ab54a
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmp r8, rbx
cmp r11w, 0x64c8
push r14
test r15b, r8b
push r13
test r15b, r9b
push r12
cmc
jmp 0x1403ab567
push rsi
push rdi
shl dil, 0xf6
movsx rsi, bp
push rbp
setnp sil
jmp 0x1403ab57b
push rbx
sub rsp, 0xa88
bts esi, esp
mov rsi, rcx
shl di, cl
mov qword [rsp + 0x40], 0
bt ebp, 0x59
sub dil, 0x60
movabs rbp, 0xe78235ad970d2b55
test rsp, 0x446d5452
xor rdi, 0xc263f4a
sar edi, cl
movabs rdi, 0x6cbb02d0d49b29be
cmp si, cx
jmp 0x1403ab5c9
cmp dl, 1
mov qword [rsp + 0x128], r8
jmp 0x1403ab5d9
mov dword [rsp + 0x4c], r9d
jmp 0x1403ab5e3
jne 0x1403ab6a2
movabs rax, 0xe7f735c197612b70
movzx ecx, r13w
mov cx, cx
setae ch
mov qword [rsp + 0x130], rax
movsx rcx, r13w
jmp 0x1403ab60e
mov rax, rdi
mov qword [rsp + 0x138], rax
movzx rcx, ax
mov rcx, rbp
mov qword [rsp + 0x280], rcx
jmp 0x1403ab62d
mov qword [rsp + 0x288], rax
movzx ax, r13b
cwde
movsx rax, ax
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ab654
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
not r9b
cqo
cdq
mov edx, 0x40
movzx r9d, dx
mov r9, rsi
jmp 0x1403ab686
call fcn.1403ac3d4
mov ecx, 0x13ff
inc r8d
sub edx, edx
mov r8d, esi
jmp 0x1403ab69d
jmp 0x1403ab9d0
mov ebx, edx
cdqe
movzx ax, r9b
movabs rax, 0xe7ee358897752b65
jmp 0x1403ab6ba
mov qword [rsp + 0x130], rax
cbw
mov ax, 0x21a1
cwde
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403ab6d8
mov qword [rsp + 0x138], rax
movsx ax, r11b
mov rax, rbp
jmp 0x1403ab6ed
mov qword [rsp + 0x280], rax
sets al
mov rax, rdi
jmp 0x1403ab700
mov qword [rsp + 0x288], rax
cdqe
movsx ax, r12b
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ab724
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
jmp 0x1403ab73a
lea rcx, [rsp + 0x200]
not r8b
movzx r9w, sil
movsx r9w, bpl
lea r8, [rsp + 0x130]
movsx edx, dx
bswap r9w
mov edx, 0x40
not r9d
movsxd r9, r9d
movsx r9w, bl
mov r9, rsi
call fcn.1403ac3d4
test bl, bl
je 0x1403ab92e
movzx eax, bl
cmp eax, 2
jne 0x1403ab936
movabs r14, 0xcbf29ce484222325
mov ecx, esi
jmp 0x1403ab79b
call fcn.140202197
mov r8d, eax
mov rax, qword gs:[0x30]
movsx rcx, r11w
sub cl, 0x6c
xadd r15w, dx
mov rax, qword [rax + 0x60]
rcl ecx, cl
btr r15d, r12d
mov r11, qword [rax + 0x18]
sbb cl, r10b
add r11, 0x10
movabs rdx, 0x2cc10c8855a9a8cd
jmp 0x1403ab7e3
movabs r15, 0x1d12a89b9e723ff5
movsx ecx, r14w
not cx
movzx ecx, si
mov ecx, 0x1bff
jmp 0x1403ab801
jmp 0x1403ab814
cmp rax, rdx
jmp 0x1403ab80e
je 0x1403ab962
mov r11, qword [r11]
seto r10b
stc
btc r10, 0x1f
mov r10, qword [r11 + 0x30]
test r10, r10
je 0x1403ab9af
mov r12, qword [r11 + 0x60]
mov rbx, 0xffffffffffffffff
nop word cs:[rax + rax]
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403ab851
lea rbx, [rbx + 1]
jmp 0x1403ab85a
jne 0x1403ab845
mov rax, r14
test rbx, rbx
je 0x1403ab806
sub esi, esi
sub r9b, 0x2f
bts di, di
mov rbp, r14
test r9w, 0x2962
or r9b, bpl
nop word [rax + rax]
and ah, 0x5e
shld di, r8w, 0x2d
sar di, cl
movzx eax, word [r12 + rsi*2]
movsx r13w, bl
shrd edi, eax, 0x3d
lea edi, [rax - 0x41]
sbb r9b, r13b
movsx r13d, r14w
movzx r13, r12w
lea r13d, [rax - 0x410]
shr r9w, 0x4f
adc r9b, 0xee
lea r9d, [rax + 0x20]
test r11d, 0x538661b6
test r14, r10
cmp r13w, 0x20
jmp 0x1403ab8d8
cmovb eax, r9d
jmp 0x1403ab8e1
cmp di, 0x1a
jmp 0x1403ab8ea
cmovb eax, r9d
movzx eax, ax
stc
test r11b, r9b
xor rax, rbp
rcr bp, 0x72
shld bp, si, 0xf2
adc bpl, cl
imul rax, r15
inc esi
cmc
sbb rbp, 0x5079710e
mov rbp, rax
cmp dl, ah
stc
test r13b, r10b
cmp rsi, rbx
jmp 0x1403ab923
jb 0x1403ab894
jmp 0x1403ab806
xor r13d, r13d
jmp 0x1403aba18
cmp bl, 3
setnp r8b
movzx r8w, al
jmp 0x1403ab947
movzx r8d, si
not cl
movzx rcx, ax
seta ch
cmovne r8d, esi
mov ecx, 0x13ff
jmp 0x1403ab9cb
test r11, r11
cqo
bswap rdx
movsx dx, al
cmove r10, r11
cmovne dx, r8w
mov rdx, r10
xchg rbp, rdi
movsx rbp, bp
movzx ebp, sp
movabs rbp, 0xe78235ad970d2b55
movsx rdi, cx
cmovp rdi, rdx
movsx di, r11b
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ab9aa
jmp 0x1403ab9d0
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
movsx ax, r14b
add ah, 0x1a
sub edx, edx
cmp ebp, r14d
lea rax, [rsp + 0x40]
clc
cmp r13w, r14w
mov qword [rsp + 0x20], rax
test r15b, 0xd3
mov qword [rsp + 0x30], 0
cmc
jmp 0x1403ab9f2
mov dword [rsp + 0x28], 0
test r13, 0x4f6a68fc
cmp spl, 0xd5
sub r9d, r9d
jmp 0x1403aba0d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
lea rcx, [rsp + 0x280]
rcr r8b, cl
inc r8b
sub r8b, dil
mov r8d, 0x800
cmp bl, r14b
test r15w, ax
cmc
sub edx, edx
call fcn.14049fe7a
movabs rax, 0xe7ed35df977f2b10
cmovs rbx, rbx
movzx r12d, di
mov qword [rsp + 0x50], rax
movzx si, bl
movabs rax, 0x6c9e02f0d4a129cc
movzx rsi, r11w
movzx bx, ah
mov qword [rsp + 0x58], rax
xchg r15b, bl
movabs rax, 0xbb83b115fb5723ec
setae bl
not r15b
mov r15b, 0xd7
mov qword [rsp + 0x60], rax
movsx bx, spl
movabs rax, 0xd2ef72cb161baac
jmp 0x1403abaa3
mov qword [rsp + 0x68], rax
movabs rax, 0x23396ef01c4484dc
mov qword [rsp + 0x70], rax
movsx r14, sp
seta bl
movabs rax, 0x17711b7cc255afae
jmp 0x1403abacd
mov qword [rsp + 0x78], rax
movsxd rsi, r11d
lahf
movabs rax, 0x314846d9144fae6f
movsx rsi, r15w
mov bl, 0x98
movsx r12w, bl
mov qword [rsp + 0x80], rax
cwde
xchg r14w, si
movabs rax, 0x178dd9cfd41ab93e
movsx r14d, r14w
movsx si, al
mov qword [rsp + 0x88], rax
nop
movsx r12w, r8b
movabs rax, 0xafe3d510c4170ff7
movzx r12w, spl
mov qword [rsp + 0x90], rax
cbw
movsx r15d, di
lahf
movabs rax, 0xf2b1d93b98f8762c
mov qword [rsp + 0x98], rax
xchg r14b, bl
cbw
cwde
movabs rax, 0x9086a47a193ab849
mov si, 0x4f95
mov qword [rsp + 0xa0], rax
cwde
movabs rax, 0xf9f44acd0c6a853c
movsx r14, ax
movzx ebx, r8w
mov r15b, 0x66
mov qword [rsp + 0xa8], rax
bswap r15w
cdqe
movabs rax, 0x46ec87c61fbaad11
xchg bl, r12b
movsx r14d, bx
mov bh, ah
mov qword [rsp + 0xb0], rax
movabs rax, 0x5102c52d8dbf581e
mov r14w, dx
setg r15b
cmovg r14w, dx
mov qword [rsp + 0xb8], rax
cbw
xchg bl, r12b
movzx r15d, bp
movabs rax, 0x9f52a16fed4b976f
setge r15b
movzx r12, di
mov qword [rsp + 0xc0], rax
lahf
cmovae esi, r9d
jmp 0x1403abbf0
movabs rax, 0xf6a5483bf0ec9ca3
mov qword [rsp + 0xc8], rax
movsx r12d, ax
setg al
movabs rax, 0x60e699bcbdc17680
cmovb r12w, bx
movzx bx, r14b
mov qword [rsp + 0xd0], rax
setg r14b
movabs rax, 0xbd6f0372efe2893d
movsxd r14, r9d
not bh
movsx r14, di
mov qword [rsp + 0xd8], rax
movabs rax, 0x98880c705ee3d44a
movzx r15, r14w
movsx si, r15b
mov qword [rsp + 0xe0], rax
not ah
movabs rax, 0x9b7661660ff4953f
movsx ebx, r9w
movzx rsi, r11w
movsx si, dil
mov qword [rsp + 0xe8], rax
movzx r15w, dl
movabs rax, 0x53d62999d3e90ae0
cmovns r12d, eax
mov r12w, bx
setb sil
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
not r14w
movzx r15w, sil
jmp 0x1403abcbb
mov qword [rsp + 0xf8], rax
jmp 0x1403abccb
movabs rax, 0x56abc9090122ed13
mov bl, r10b
movzx r14, r12w
mov qword [rsp + 0x100], rax
movabs rax, 0xf54db3f725dd577b
movzx si, dl
mov qword [rsp + 0x108], rax
movsx r15w, cl
cdqe
movabs rax, 0x12e9428a7f611679
mov r12d, 0x437f07f2
movzx r12d, bp
mov r14b, r15b
mov qword [rsp + 0x110], rax
mov r14b, cl
movabs rax, 0x187f5c28d0b2d517
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x130], rbp
movsx eax, bp
xchg al, al
mov qword [rsp + 0x138], rdi
cwde
mov r14w, di
movabs rbx, 0xbbeab153fb5d239f
movsx r15d, r9w
movsxd r12, eax
movsx r14, di
mov qword [rsp + 0x140], rbx
movzx r14d, r12w
cwde
lahf
movabs rsi, 0xd0ef716b104bac0
bswap r15d
sets r15b
mov qword [rsp + 0x148], rsi
jmp 0x1403abd90
movabs r14, 0x230f6ec11c7484f9
xchg al, r15b
cmovno ax, si
mov qword [rsp + 0x150], r14
movsxd r15, r10d
movzx rax, r10w
movabs r15, 0x177b1b24c239afc2
mov qword [rsp + 0x158], r15
jmp 0x1403abdca
movabs rax, 0x312d46b71426ae23
cmovs r12w, bx
movzx r12w, spl
bswap r12
mov qword [rsp + 0x160], rax
movabs rax, 0x17e9d9ead43ab904
sete r12b
mov qword [rsp + 0x168], rax
movabs rax, 0xaf90d535c41d0ffd
movsx r12w, cl
mov qword [rsp + 0x170], rax
mov al, 0x7b
movabs rax, 0xf2ded97898f27626
cmovno r12, rbx
movzx r12, sp
setnp r12b
mov qword [rsp + 0x178], rax
movsx eax, r8w
movabs rax, 0x90e5a41b194eb827
mov qword [rsp + 0x180], rax
cmovo eax, ecx
movsx ax, r9b
movabs rax, 0xf9814abe0c4a8548
not r12b
mov qword [rsp + 0x188], rax
movsx ax, sil
movabs rax, 0x469e87a91fcaad61
movzx r12d, r13w
mov qword [rsp + 0x190], rax
movabs rax, 0x516cc54c8d9f586a
mov qword [rsp + 0x198], rax
movsxd rax, ebx
cdqe
movabs rax, 0x9f20a11fed6b970b
movsx r12w, dl
jmp 0x1403abeb2
mov qword [rsp + 0x1a0], rax
movabs rax, 0xf6c14852f09a9ccc
movsx r12d, bx
movsx r12, bx
xchg r12, r12
mov qword [rsp + 0x1a8], rax
movsxd r12, ebp
movsx r12d, r10w
movabs rax, 0x60c699ddbde176e5
movzx r12w, spl
movsx r12, r9w
not r12
mov qword [rsp + 0x1b0], rax
movsx r12d, r15w
cwde
movabs rax, 0xbd0a0300ef81894e
mov qword [rsp + 0x1b8], rax
movabs rax, 0x98e00c035e8dd42f
xchg r12b, r12b
mov qword [rsp + 0x1c0], rax
movabs rax, 0x9b0161460f809550
xchg r12b, r12b
setle r12b
mov qword [rsp + 0x1c8], rax
movabs rax, 0x53f629f1d39d0a89
cmovle r12, r11
seto r12b
mov qword [rsp + 0x1d0], rax
xchg r12w, ax
movzx r12, r11w
movabs rax, 0xc1ab1d414ee4452
movzx r12, r10w
movsx r12d, r12w
movzx r12d, di
mov qword [rsp + 0x1d8], rax
mov rax, r13
movsxd rax, ebx
movabs rax, 0x56cdc967014bed33
movzx r12w, r12b
mov qword [rsp + 0x1e0], rax
movsx r12, di
mov r12b, 0x99
movabs rax, 0xf52cb39a25af5714
not r12d
seto r12b
movzx r12w, al
mov qword [rsp + 0x1e8], rax
bswap r12
xchg r12b, r12b
not r12
movabs rax, 0x128742e57f08160d
movzx r12w, r9b
not r12b
mov qword [rsp + 0x1f0], rax
cdqe
jmp 0x1403abfed
movabs rax, 0x187f5c28d0b2d536
movzx r12w, r11b
movzx r12d, r9w
xchg r12d, r12d
mov qword [rsp + 0x1f8], rax
movzx r12w, r10b
lea r12, [rsp + 0x130]
not rax
bswap ax
movsx ax, ah
mov rax, r12
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403ac03c
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403ac04a
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403ac054
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403ac06a
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403ac07b
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403ac088
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403ac0ad
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403ac0ba
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403ac0cb
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403ac0d8
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403ac0f1
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403ac105
movaps xmm0, xmmword [rsp + 0xe0]
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403ac121
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403ac12e
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403ac142
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403ac14f
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x110]
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
cmovle ecx, esp
movsx r9d, cx
bswap r9w
mov qword [rsp + 0x30], r13
bswap cx
movsx edx, r11w
mov eax, dword [rsp + 0x4c]
movsxd rdx, r14d
jmp 0x1403ac19b
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x128]
movzx r9w, cl
mov qword [rsp + 0x20], rax
bswap cx
cqo
lea r8, [rsp + 0x50]
mov r9w, r15w
lea r9, [rsp + 0x200]
movsx rcx, r14w
jmp 0x1403ac1d2
mov edx, 0x400
cmova rcx, rbx
setb r13b
mov ch, 0xf6
lea r13, [rsp + 0x280]
setle ch
jmp 0x1403ac1f6
mov rcx, r13
call fcn.1403ac3d4
mov rcx, qword [rsp + 0x40]
jmp 0x1403ac208
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403ac21d
mov qword [rsp + 0x50], rax
cdqe
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403ac233
mov qword [rsp + 0x58], rax
nop
movzx eax, ax
movzx ax, r14b
movabs rax, 0xbbcab121fb3223ed
mov qword [rsp + 0x60], rax
jmp 0x1403ac259
movabs rax, 0xd7bf775b167baaf
mov qword [rsp + 0x68], rax
cdqe
setnp ah
movabs rax, 0x236b6ea41c06848b
jmp 0x1403ac27c
mov qword [rsp + 0x70], rax
cdqe
mov rax, 0x1b2312ec
bswap ax
movabs rax, 0x177b1b24c239afe3
jmp 0x1403ac29c
mov qword [rsp + 0x78], rax
jmp 0x1403ac2a6
mov qword [rsp + 0x130], rbp
jmp 0x1403ac2b3
mov qword [rsp + 0x138], rdi
jmp 0x1403ac2c0
mov qword [rsp + 0x140], rbx
jmp 0x1403ac2cd
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], r15
jmp 0x1403ac2ea
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403ac2f4
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403ac303
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403ac30d
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403ac31d
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403ac327
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x50]
btc rdx, r13
test r11d, 0x3c177abf
rol dh, 0xe3
sub ecx, ecx
mov r9, 0x59247f2f
movzx r9, r10w
movzx r9w, sil
mov rdx, r13
setge r9b
bswap r9
cmovae r9w, r14w
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
movsx r10w, r14b
cmp r12d, 0x61f93dd6
xadd r10w, r10w
mov r10, 0xffffffffffffffff
cmp r8d, r13d
xor edx, edx
syscall
add rsp, 0xa88
movsx di, spl
jmp 0x1403ac3ab
pop rbx
bswap r13w
pop rbp
jmp 0x1403ac3b6
pop rdi
movsxd r13, esp
movzx r13d, r13w
pop rsi
movsx r15w, r12b
bswap r12w
movsxd r13, esi
pop r12
pop r13
pop r14
pop r15
ret