Function at 0x1403ae3a8
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmp r10, r9
cmc
push r14
stc
test r15w, 0x183a
push r13
stc
push r12
stc
push rsi
cmp dil, 0x57
push rdi
bswap si
shl di, 0xf0
btc di, 0x41
push rbp
push rbx
ror rbp, 0x79
add dil, r8b
sub esi, ecx
sub rsp, 0xa88
sar rbp, 0x28
setbe dil
rcr rdi, 0x65
mov rsi, rcx
shld di, r15w, 0x1f
rol rdi, cl
mov qword [rsp + 0x40], 0
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
test cl, dh
cmp r13d, r10d
test ebx, 0x38d37944
cmp dl, 1
jmp 0x1403ae429
mov qword [rsp + 0x128], r8
jmp 0x1403ae436
mov dword [rsp + 0x4c], r9d
jmp 0x1403ae440
jne 0x1403ae52c
movabs rax, 0xe7f735c197612b70
not rcx
movsx rcx, bp
mov qword [rsp + 0x130], rax
cbw
mov ax, sp
mov rax, rdi
movsx ecx, r10w
mov qword [rsp + 0x138], rax
movsx ecx, r15w
mov rcx, rbp
jmp 0x1403ae47f
mov qword [rsp + 0x280], rcx
jmp 0x1403ae48c
mov qword [rsp + 0x288], rax
cmovo ax, bp
movsx eax, r14w
bswap rax
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ae4b4
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
setge r8b
movzx edx, r9w
movzx cx, r11b
lea rcx, [rsp + 0x200]
cwd
lea r8, [rsp + 0x130]
cmova edx, r11d
mov edx, 0x40
movsx r9w, r9b
movsx r9, cx
movzx r9d, r9w
mov r9, rsi
jmp 0x1403ae4fc
call fcn.1403af1d3
mov ecx, 0x13ff
ror r8w, cl
add r8w, r14w
sub r8d, 0x368b137e
xor edx, edx
movsx r8d, r13w
movzx r8d, dx
mov r8d, esi
jmp 0x1403ae527
jmp 0x1403ae84e
mov ebx, edx
movabs rax, 0xe7ee358897752b65
jmp 0x1403ae53d
mov qword [rsp + 0x130], rax
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403ae554
mov qword [rsp + 0x138], rax
cmovnp ax, sp
movsx ax, dl
mov rax, rbp
mov qword [rsp + 0x280], rax
setl al
xchg al, ah
mov rax, rdi
jmp 0x1403ae57c
mov qword [rsp + 0x288], rax
movsx rax, ax
lea rax, [rsp + 0x280]
jmp 0x1403ae595
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ae5a2
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movsx r9, r12w
not edx
lea rcx, [rsp + 0x200]
movzx r9w, al
mov dl, r15b
movsxd r8, r9d
lea r8, [rsp + 0x130]
mov edx, 0x40
movzx r9d, r14w
cmova r9w, si
mov r9, rsi
jmp 0x1403ae5e4
call fcn.1403af1d3
test bl, bl
jmp 0x1403ae5f0
je 0x1403ae7a5
movzx eax, bl
clc
test bx, 0x181b
cmp eax, 2
jne 0x1403ae7b2
movabs r14, 0xcbf29ce484222325
movsx rcx, r8w
movzx ecx, r11w
mov ecx, esi
jmp 0x1403ae621
call sub.ntdll.dll_RtlNtStatusToDosError
mov r8d, eax
rol r15w, cl
dec dx
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
add cx, 0x2a8a
mov r11, qword [rax + 0x18]
bts r15d, r15d
add r11, 0x10
mov r15w, r11w
movabs rdx, 0x2cc10c8855a9a8cd
jmp 0x1403ae668
movabs r15, 0x1d12a89b9e723ff5
movsx ecx, sp
movsx cx, spl
setp ch
mov ecx, 0x1bff
jmp 0x1403ae687
jmp 0x1403ae69a
cmp rax, rdx
jmp 0x1403ae694
je 0x1403ae7dd
mov r11, qword [r11]
setnp r10b
ror r10b, 0xbe
sbb r10d, eax
mov r10, qword [r11 + 0x30]
test dx, 0x76f
test r10, r10
je 0x1403ae827
mov r12, qword [r11 + 0x60]
rol bl, cl
movzx rbx, di
mov rbx, 0xffffffffffffffff
test rdi, 0x7fbc08ae
nop word cs:[rax + rax]
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403ae6ea
lea rbx, [rbx + 1]
jne 0x1403ae6de
mov rax, r14
test r15b, 1
test rbx, rbx
jmp 0x1403ae703
je 0x1403ae68c
sub esi, esi
cdqe
movzx rdi, dx
mov rbp, r14
cbw
nop word [rax + rax]
movzx eax, word [r12 + rsi*2]
mov r13b, 0xfd
lea edi, [rax - 0x41]
sub r13b, 0xb7
add r13w, 0x288b
lea r13d, [rax - 0x410]
shr r9b, cl
mov r9w, 0x11b3
lea r9d, [rax + 0x20]
cmp edi, 0x24dd2349
cmp r13w, 0x20
jmp 0x1403ae754
cmovb eax, r9d
test spl, 0xeb
cmp di, 0x1a
jmp 0x1403ae765
cmovb eax, r9d
movzx eax, ax
stc
cmp r12d, r11d
jmp 0x1403ae775
xor rax, rbp
movsxd rbp, r11d
xor bpl, 0xef
imul rax, r15
inc esi
rcr ebp, 0x2d
movzx rbp, ax
bts ebp, esp
mov rbp, rax
cmp rsi, rbx
jmp 0x1403ae79a
jb 0x1403ae71c
jmp 0x1403ae68c
xor r13d, r13d
jmp 0x1403ae7ad
jmp 0x1403ae890
cmp bl, 3
cmovne r8w, dx
movzx r8d, si
bswap cx
movsx cx, r15b
cmovp rcx, rdx
cmovne r8d, esi
mov ecx, 0x13ff
jmp 0x1403ae7d8
jmp 0x1403ae84c
test r11, r11
cdq
bswap dx
setnp bpl
cmove r10, r11
movsxd rdx, r10d
movsx ebp, r11w
movsx rdx, bx
mov rdx, r10
jmp 0x1403ae7ff
movabs rbp, 0xe78235ad970d2b55
not di
movsx di, r10b
bswap edi
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ae822
jmp 0x1403ae84e
movabs rbp, 0xe78235ad970d2b55
dec al
adc di, 0x2f5e
movabs rdi, 0x6cbb02d0d49b29be
test rbp, 0x1da162ce
test r10b, bl
sub edx, edx
lea rax, [rsp + 0x40]
cmp bx, 0x20b1
clc
mov qword [rsp + 0x20], rax
cmp r11b, dl
clc
mov qword [rsp + 0x30], 0
cmp spl, 0x26
mov dword [rsp + 0x28], 0
jmp 0x1403ae87d
sub r9d, r9d
jmp 0x1403ae885
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
lea rcx, [rsp + 0x280]
and r8w, 0x5b3d
shr r8d, 0xf0
mov r8d, 0x800
sub edx, edx
jmp 0x1403ae8af
call fcn.1404a2cc4
movabs rax, 0xe7ed35df977f2b10
mov si, r13w
jmp 0x1403ae8cb
mov qword [rsp + 0x50], rax
movzx rax, r12w
movabs rax, 0x6c9e02f0d4a129cc
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
setno r12b
movzx r14w, r11b
movsxd r12, ebx
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
movsx bx, r10b
mov esi, 0x35f7294f
movsx rsi, dx
mov qword [rsp + 0x68], rax
movsx ebx, di
cwde
movabs rax, 0x23396ef01c4484dc
mov qword [rsp + 0x70], rax
movsx r12w, r8b
cmovo r12, r14
lahf
movabs rax, 0x17711b7cc255afae
cmovno r14d, ecx
bswap rbx
movzx esi, cx
mov qword [rsp + 0x78], rax
movabs rax, 0x314846d9144fae6f
mov qword [rsp + 0x80], rax
movsx r15d, dx
movabs rax, 0x178dd9cfd41ab93e
movsx r15w, r10b
movzx r14w, spl
movzx r14, sp
mov qword [rsp + 0x88], rax
movabs rax, 0xafe3d510c4170ff7
mov qword [rsp + 0x90], rax
cmovs r15, r11
cbw
movabs rax, 0xf2b1d93b98f8762c
setge bl
movzx r14w, r13b
mov qword [rsp + 0x98], rax
cwde
not r14w
lahf
movabs rax, 0x9086a47a193ab849
mov qword [rsp + 0xa0], rax
movabs rax, 0xf9f44acd0c6a853c
movsx rsi, r12w
mov r12b, sil
mov qword [rsp + 0xa8], rax
movabs rax, 0x46ec87c61fbaad11
mov qword [rsp + 0xb0], rax
seta r12b
bswap r15
movabs rax, 0x5102c52d8dbf581e
bswap r12w
setge r12b
mov qword [rsp + 0xb8], rax
movabs rax, 0x9f52a16fed4b976f
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
movzx r15w, bl
mov qword [rsp + 0xc8], rax
movzx si, r14b
cdqe
cbw
movabs rax, 0x60e699bcbdc17680
cmovb si, dx
movzx rbx, ax
movsx r12d, cx
mov qword [rsp + 0xd0], rax
movabs rax, 0xbd6f0372efe2893d
mov qword [rsp + 0xd8], rax
cdqe
movabs rax, 0x98880c705ee3d44a
jmp 0x1403aea98
mov qword [rsp + 0xe0], rax
movzx r14, r10w
cdqe
mov bx, 0x215a
movabs rax, 0x9b7661660ff4953f
mov qword [rsp + 0xe8], rax
movabs rax, 0x53d62999d3e90ae0
bswap r12d
not r12d
mov qword [rsp + 0xf0], rax
cwde
cdqe
movabs rax, 0xc69b1bd14864426
movzx rsi, r8w
cmovs r15w, r14w
mov qword [rsp + 0xf8], rax
movsxd rax, ecx
movabs rax, 0x56abc9090122ed13
mov qword [rsp + 0x100], rax
movsxd r15, esp
movsx ax, r13b
movabs rax, 0xf54db3f725dd577b
movsxd r15, esi
mov qword [rsp + 0x108], rax
cbw
cwde
movabs rax, 0x12e9428a7f611679
not rsi
jmp 0x1403aeb3d
mov qword [rsp + 0x110], rax
bswap ax
movabs rax, 0x187f5c28d0b2d517
movsxd r14, r15d
bswap r14
mov qword [rsp + 0x118], rax
cmovle r15d, r15d
jmp 0x1403aeb69
mov qword [rsp + 0x130], rbp
cmovae r14, r12
mov qword [rsp + 0x138], rdi
movsxd r12, r10d
lahf
movabs rbx, 0xbbeab153fb5d239f
movzx rsi, r12w
mov qword [rsp + 0x140], rbx
bswap ax
movzx r15w, r9b
jmp 0x1403aeba4
movabs rsi, 0xd0ef716b104bac0
movsx r14, r12w
lahf
mov qword [rsp + 0x148], rsi
movabs r14, 0x230f6ec11c7484f9
cbw
bswap r15w
mov qword [rsp + 0x150], r14
movsx r12w, dil
jmp 0x1403aebe1
movabs r15, 0x177b1b24c239afc2
mov qword [rsp + 0x158], r15
movabs rax, 0x312d46b71426ae23
movsx r12d, r9w
movsx r12, di
movzx r12d, r13w
mov qword [rsp + 0x160], rax
cmovg r12, rbp
movzx r12, r15w
setns ah
movabs rax, 0x17e9d9ead43ab904
movzx r12d, sp
movsx r12w, r15b
mov r12d, r13d
mov qword [rsp + 0x168], rax
movabs rax, 0xaf90d535c41d0ffd
movzx r12w, bl
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
not r12w
cmovo r12w, r11w
movzx r12w, spl
mov qword [rsp + 0x178], rax
movabs rax, 0x90e5a41b194eb827
cmovg r12, rsp
not r12b
mov qword [rsp + 0x180], rax
setae al
xchg r12b, al
movzx r12d, si
movabs rax, 0xf9814abe0c4a8548
setnp r12b
movzx r12, r12w
mov r12b, dl
mov qword [rsp + 0x188], rax
movabs rax, 0x469e87a91fcaad61
cmovge r12w, cx
jmp 0x1403aecc5
mov qword [rsp + 0x190], rax
movsxd rax, r10d
lahf
movabs rax, 0x516cc54c8d9f586a
mov qword [rsp + 0x198], rax
movsxd r12, r12d
movabs rax, 0x9f20a11fed6b970b
mov qword [rsp + 0x1a0], rax
cwde
cdqe
movzx r12, r8w
movabs rax, 0xf6c14852f09a9ccc
movsx r12d, r11w
mov r12b, 0x2c
mov qword [rsp + 0x1a8], rax
movabs rax, 0x60c699ddbde176e5
movzx r12, bx
jmp 0x1403aed2b
mov qword [rsp + 0x1b0], rax
lahf
movabs rax, 0xbd0a0300ef81894e
bswap r12
mov qword [rsp + 0x1b8], rax
mov eax, r15d
movsx r12w, r9b
cmovae r12d, r10d
movabs rax, 0x98e00c035e8dd42f
mov qword [rsp + 0x1c0], rax
cdqe
mov r12b, al
setp r12b
movabs rax, 0x9b0161460f809550
movzx r12w, bl
mov qword [rsp + 0x1c8], rax
movabs rax, 0x53f629f1d39d0a89
movzx r12d, r11w
movzx r12, bp
not r12
mov qword [rsp + 0x1d0], rax
movabs rax, 0xc1ab1d414ee4452
movsx r12d, sp
setg r12b
movzx r12d, bp
mov qword [rsp + 0x1d8], rax
movabs rax, 0x56cdc967014bed33
mov qword [rsp + 0x1e0], rax
not al
mov r12b, 6
movabs rax, 0xf52cb39a25af5714
movsx r12w, sil
movzx r12d, r11w
movzx r12w, dil
mov qword [rsp + 0x1e8], rax
xchg al, r12b
setae ah
movabs rax, 0x128742e57f08160d
mov qword [rsp + 0x1f0], rax
not r12b
mov r12d, eax
movabs rax, 0x187f5c28d0b2d536
mov qword [rsp + 0x1f8], rax
not r12b
cwde
lea r12, [rsp + 0x130]
jmp 0x1403aee3e
mov rax, r12
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403aee4b
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403aee6b
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403aee79
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403aee86
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x90]
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403aeeab
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403aeeb8
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403aeec9
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403aeed6
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403aeee7
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403aeef4
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403aef05
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403aef12
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403aef26
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403aef33
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403aef4f
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403aef63
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403aef70
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403aef84
movaps xmm0, xmmword [rsp + 0x110]
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
mov r9, 0x670e12cb
mov qword [rsp + 0x30], r13
movsx dx, sil
movsx ecx, bp
mov eax, dword [rsp + 0x4c]
movzx r9w, r8b
bswap r9
cwd
mov dword [rsp + 0x28], eax
bswap ax
movsx rcx, r10w
mov rax, qword [rsp + 0x128]
movzx r13, r9w
mov qword [rsp + 0x20], rax
jmp 0x1403aefe2
lea r8, [rsp + 0x50]
movzx r13, r13w
movsx rdx, dx
movzx r13w, r10b
lea r9, [rsp + 0x200]
cmovo cx, r9w
mov edx, 0x400
mov ecx, r8d
movzx rcx, r11w
lea r13, [rsp + 0x280]
movzx rcx, r9w
cmovge rcx, rbx
mov rcx, r13
jmp 0x1403af025
call fcn.1403af1d3
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403af044
mov qword [rsp + 0x50], rax
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403af058
mov qword [rsp + 0x58], rax
cdqe
not ax
sets ah
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403af074
mov qword [rsp + 0x60], rax
xchg al, al
movabs rax, 0xd7bf775b167baaf
jmp 0x1403af08a
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
jmp 0x1403af09e
mov qword [rsp + 0x70], rax
cwde
movabs rax, 0x177b1b24c239afe3
jmp 0x1403af0b3
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x130], rbp
jmp 0x1403af0c5
mov qword [rsp + 0x138], rdi
jmp 0x1403af0d2
mov qword [rsp + 0x140], rbx
jmp 0x1403af0df
mov qword [rsp + 0x148], rsi
jmp 0x1403af0ec
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], r15
jmp 0x1403af101
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403af10b
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403af12a
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403af134
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x50]
test r12w, r9w
btc r9, 0xf2
movzx r9, r15w
xor ecx, ecx
cdq
xchg dl, dl
mov rdx, r13
movsxd r9, ebp
movsx r9d, r9w
mov r9d, 0x10
jmp 0x1403af16b
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
rcl r10b, 0xed
shr r10, 0x6e
btc r10w, 0x14
mov r10, 0xffffffffffffffff
sub edx, edx
jmp 0x1403af193
syscall
add rsp, 0xa88
movzx r14, r15w
pop rbx
pop rbp
mov si, 0x49fa
pop rdi
movzx rsi, r15w
movsx r12w, r11b
not r15w
pop rsi
xchg r12, r12
pop r12
mov r15w, 0x1367
pop r13
pop r14
cmovb r15w, r11w
xchg r15b, r15b
movzx r15w, spl
pop r15
ret