Function at 0x1403ae073
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmp r14b, r15b
push r14
test r8w, cx
test r15w, 0x749d
cmp eax, 0x12c93113
push r13
cmp r12b, 0x36
test dl, 0x5f
cmp r13w, sp
push r12
stc
test ax, 0x128d
push rsi
cmp r11b, r12b
mov sil, 0xb3
push rdi
or dil, 0x10
mov rdi, 0x29da238e
bt rdi, r10
push rbp
bsr bp, bp
push rbx
sub rsp, 0xa88
sbb sil, sil
movzx rbp, sp
btc si, cx
mov rsi, rcx
cmp r15b, 0xd9
rol bpl, cl
mov qword [rsp + 0x40], 0
sal bpl, cl
clc
movabs rbp, 0xe78235ad970d2b55
test dx, 0x241b
shl edi, 0xd0
sub di, r11w
movabs rdi, 0x6cbb02d0d49b29be
cmp dl, 1
jmp 0x1403ae10b
mov qword [rsp + 0x128], r8
jmp 0x1403ae118
mov dword [rsp + 0x4c], r9d
jmp 0x1403ae122
jne 0x1403ae1f8
movabs rax, 0xe7f735c197612b70
xchg ch, cl
mov qword [rsp + 0x130], rax
lahf
movzx cx, cl
cwde
mov rax, rdi
mov qword [rsp + 0x138], rax
movzx ecx, ax
mov rcx, rbp
jmp 0x1403ae158
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rax
cmovo eax, r14d
seto al
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ae184
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx r8, ax
cdq
jmp 0x1403ae199
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
movsx rdx, cx
bswap r9
mov r9b, cl
mov edx, 0x40
mov r9w, 0x3da
movsx r9d, r9w
mov r9, rsi
jmp 0x1403ae1c9
call fcn.1403aee64
mov ecx, 0x13ff
bts r8, r12
rcl r8d, cl
sar r8, cl
sub edx, edx
movsx r8w, r8b
mov r8, rsp
movzx r8, bp
mov r8d, esi
jmp 0x1403ae1f3
jmp 0x1403ae4df
mov ebx, edx
not eax
nop
movsxd rax, r10d
movabs rax, 0xe7ee358897752b65
jmp 0x1403ae210
mov qword [rsp + 0x130], rax
movsx eax, sp
movabs rax, 0x6cbb02d0d4c329d2
mov qword [rsp + 0x138], rax
movzx rax, sp
mov ax, si
bswap rax
mov rax, rbp
jmp 0x1403ae23f
mov qword [rsp + 0x280], rax
cwde
mov rax, rdi
jmp 0x1403ae250
mov qword [rsp + 0x288], rax
movzx ax, r14b
lea rax, [rsp + 0x280]
jmp 0x1403ae26a
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ae277
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movsx rdx, di
movsx r8w, r14b
jmp 0x1403ae290
lea rcx, [rsp + 0x200]
mov r9, rdi
cdq
cwd
lea r8, [rsp + 0x130]
cmovs r9w, r13w
cqo
movsx r9, bp
mov edx, 0x40
mov r9, rsi
jmp 0x1403ae2be
call fcn.1403aee64
test bl, bl
jmp 0x1403ae2ca
je 0x1403ae452
movzx eax, bl
cmp eax, 2
jne 0x1403ae45f
movabs r14, 0xcbf29ce484222325
mov cx, si
jmp 0x1403ae2ee
mov ecx, esi
call sub.ntdll.dll_RtlNtStatusToDosError
mov r8d, eax
sar rcx, 0x6c
adc dx, 0x230f
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
dec cx
shl cx, 0xc4
cqo
mov r11, qword [rax + 0x18]
rol rdx, cl
test edi, 0x498922ca
add r11, 0x10
cqo
cwd
cmovne cx, r14w
movabs rdx, 0x2cc10c8855a9a8cd
movzx cx, bpl
movabs r15, 0x1d12a89b9e723ff5
movsx rcx, r12w
mov ecx, 0x1bff
jmp 0x1403ae366
cmp rax, rdx
jmp 0x1403ae360
je 0x1403ae48b
mov r11, qword [r11]
ror r10d, cl
and r10b, 0x2e
sub r10w, bx
mov r10, qword [r11 + 0x30]
jmp 0x1403ae37d
test r10, r10
je 0x1403ae4c3
mov r12, qword [r11 + 0x60]
mov rbx, 0xffffffffffffffff
nop word cs:[rax + rax]
clc
stc
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403ae3af
jne 0x1403ae39f
mov rax, r14
jmp 0x1403ae3bd
test rbx, rbx
jmp 0x1403ae3c5
je 0x1403ae358
xor esi, esi
add rax, rbp
movzx r13w, r13b
mov rbp, r14
setae al
btr di, 0xc6
nop word [rax + rax]
lahf
btc eax, 0xe4
movzx eax, word [r12 + rsi*2]
movzx r9, ax
cmovns di, bp
lea edi, [rax - 0x41]
lea r13d, [rax - 0x410]
lea r9d, [rax + 0x20]
test rcx, r10
cmp sil, 0xf8
cmp r9, r13
cmp r13w, 0x20
jmp 0x1403ae41a
cmovb eax, r9d
cmp sil, 0x26
stc
cmp di, 0x1a
jmp 0x1403ae42c
cmovb eax, r9d
movzx eax, ax
xor rax, rbp
imul rax, r15
inc esi
mov rbp, rax
jmp 0x1403ae444
cmp rsi, rbx
jb 0x1403ae3eb
jmp 0x1403ae358
sub r13d, r13d
jmp 0x1403ae45a
jmp 0x1403ae529
cmp bl, 3
movsx rcx, r11w
movzx r8d, si
setns ch
movzx rcx, r10w
cmovne r8d, esi
not cx
movzx rcx, cx
mov ecx, 0x13ff
jmp 0x1403ae486
jmp 0x1403ae4d9
test r11, r11
cdq
cqo
movzx rdx, cx
cmove r10, r11
cqo
cwd
movsx rbp, r13w
mov rdx, r10
not bp
xchg rbp, rbp
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ae4df
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
shr al, cl
xor edx, edx
shld eax, edx, 0x7f
lea rax, [rsp + 0x40]
cmp bl, 0x77
mov qword [rsp + 0x20], rax
cmp bpl, r15b
mov qword [rsp + 0x30], 0
cmp di, r11w
test r11, 0x7dba6f22
mov dword [rsp + 0x28], 0
xor r9d, r9d
jmp 0x1403ae513
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
xchg r8w, r8w
mov r8b, 0xf2
movsx r8, r11w
lea rcx, [rsp + 0x280]
sal r8b, cl
btr r8w, 0x93
mov r8d, 0x800
stc
sub edx, edx
jmp 0x1403ae548
call fcn.1404a2353
movabs rax, 0xe7ed35df977f2b10
mov qword [rsp + 0x50], rax
cmovbe r15, rbp
movabs rax, 0x6c9e02f0d4a129cc
xchg sil, r14b
movzx r14w, bpl
setno bh
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
movsx bx, r15b
movsxd rsi, r10d
cmovns rbx, rdx
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
mov r14b, r14b
mov qword [rsp + 0x68], rax
movabs rax, 0x23396ef01c4484dc
mov qword [rsp + 0x70], rax
lahf
movabs rax, 0x17711b7cc255afae
movsxd r12, ebp
mov qword [rsp + 0x78], rax
bswap r15w
cbw
movabs rax, 0x314846d9144fae6f
movzx r12, r11w
mov qword [rsp + 0x80], rax
movabs rax, 0x178dd9cfd41ab93e
mov qword [rsp + 0x88], rax
movzx r15d, bx
movabs rax, 0xafe3d510c4170ff7
mov sil, r11b
bswap r15d
movsx r15d, r10w
mov qword [rsp + 0x90], rax
cbw
cdqe
jmp 0x1403ae620
movabs rax, 0xf2b1d93b98f8762c
mov qword [rsp + 0x98], rax
movabs rax, 0x9086a47a193ab849
mov sil, 0x8d
movzx r12w, r13b
cmovbe bx, r10w
mov qword [rsp + 0xa0], rax
mov rsi, rax
not ah
movabs rax, 0xf9f44acd0c6a853c
movzx r15, r8w
mov bl, r15b
movsx r15w, sil
mov qword [rsp + 0xa8], rax
movabs rax, 0x46ec87c61fbaad11
movzx r15d, r14w
cmovne bx, si
mov qword [rsp + 0xb0], rax
movsx rsi, r13w
mov r14b, sil
movabs rax, 0x5102c52d8dbf581e
movzx r15w, r11b
movzx r12, bx
mov r15b, bl
mov qword [rsp + 0xb8], rax
movabs rax, 0x9f52a16fed4b976f
xchg r12b, r14b
mov qword [rsp + 0xc0], rax
movzx eax, r12w
mov r15b, r9b
movabs rax, 0xf6a5483bf0ec9ca3
bswap r12
seta sil
mov rbx, 0x56c4151d
mov qword [rsp + 0xc8], rax
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
movabs rax, 0xbd6f0372efe2893d
jmp 0x1403ae714
mov qword [rsp + 0xd8], rax
setge r14b
lahf
not bh
movabs rax, 0x98880c705ee3d44a
movsxd r14, ebp
mov qword [rsp + 0xe0], rax
jmp 0x1403ae746
movabs rax, 0x9b7661660ff4953f
not r12d
mov qword [rsp + 0xe8], rax
jmp 0x1403ae768
movabs rax, 0x53d62999d3e90ae0
mov qword [rsp + 0xf0], rax
setnp sil
movzx r15d, dx
movzx bx, r12b
movabs rax, 0xc69b1bd14864426
not ebx
movsxd r14, ebx
setno bl
mov qword [rsp + 0xf8], rax
lahf
cmovne si, r11w
movabs rax, 0x56abc9090122ed13
bswap r14d
mov qword [rsp + 0x100], rax
lahf
movabs rax, 0xf54db3f725dd577b
movsx bx, r13b
mov bh, 0xfc
mov qword [rsp + 0x108], rax
cdqe
movzx r14w, r11b
movabs rax, 0x12e9428a7f611679
movsx r14w, bl
movsx r12d, r8w
mov qword [rsp + 0x110], rax
movabs rax, 0x187f5c28d0b2d517
mov qword [rsp + 0x118], rax
movzx rbx, r14w
mov qword [rsp + 0x130], rbp
sete ah
mov qword [rsp + 0x138], rdi
bswap r15w
movabs rbx, 0xbbeab153fb5d239f
mov si, r8w
mov r12b, 0xd6
cwde
mov qword [rsp + 0x140], rbx
movabs rsi, 0xd0ef716b104bac0
movsx ax, r11b
cmovnp r14w, ax
movzx r15w, r13b
mov qword [rsp + 0x148], rsi
movsxd r15, esi
movabs r14, 0x230f6ec11c7484f9
mov r12, r9
cwde
lahf
mov qword [rsp + 0x150], r14
jmp 0x1403ae880
movabs r15, 0x177b1b24c239afc2
cbw
xchg r12b, r12b
seta ah
mov qword [rsp + 0x158], r15
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
cwde
movabs rax, 0x17e9d9ead43ab904
mov qword [rsp + 0x168], rax
mov r12b, 0xd5
cbw
cdqe
movabs rax, 0xaf90d535c41d0ffd
xchg r12b, r12b
bswap r12d
jmp 0x1403ae8db
mov qword [rsp + 0x170], rax
xchg al, r12b
movabs rax, 0xf2ded97898f27626
mov r12, r15
mov qword [rsp + 0x178], rax
cmovb ax, dx
cdqe
movabs rax, 0x90e5a41b194eb827
xchg r12b, r12b
setns r12b
mov qword [rsp + 0x180], rax
cbw
movabs rax, 0xf9814abe0c4a8548
mov qword [rsp + 0x188], rax
mov r12b, 0x2d
movabs rax, 0x469e87a91fcaad61
mov qword [rsp + 0x190], rax
bswap r12w
mov r12w, di
movabs rax, 0x516cc54c8d9f586a
movsx r12d, r11w
mov r12b, r9b
mov r12b, 0x98
mov qword [rsp + 0x198], rax
cwde
setge al
lahf
movabs rax, 0x9f20a11fed6b970b
bswap r12
mov r12w, 0x17ca
cmovle r12d, r8d
mov qword [rsp + 0x1a0], rax
movsx eax, r9w
movzx r12, r11w
movabs rax, 0xf6c14852f09a9ccc
movsxd r12, ebx
movsx r12w, cl
mov qword [rsp + 0x1a8], rax
movzx r12w, al
lahf
movzx rax, r9w
movabs rax, 0x60c699ddbde176e5
xchg r12b, r12b
movsx r12, si
mov qword [rsp + 0x1b0], rax
movabs rax, 0xbd0a0300ef81894e
mov r12b, 0xf3
not r12b
xchg r12b, r12b
mov qword [rsp + 0x1b8], rax
not r12w
cmovns ax, r15w
movabs rax, 0x98e00c035e8dd42f
mov qword [rsp + 0x1c0], rax
movsx rax, r13w
movabs rax, 0x9b0161460f809550
movsx r12, r15w
jmp 0x1403aea21
mov qword [rsp + 0x1c8], rax
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
movzx rax, r10w
not r12
movabs rax, 0xc1ab1d414ee4452
mov r12b, al
bswap r12d
mov qword [rsp + 0x1d8], rax
not rax
movabs rax, 0x56cdc967014bed33
movzx r12, dx
setg r12b
mov r12b, cl
mov qword [rsp + 0x1e0], rax
movabs rax, 0xf52cb39a25af5714
setl r12b
cmovs r12, r15
mov qword [rsp + 0x1e8], rax
movabs rax, 0x128742e57f08160d
mov qword [rsp + 0x1f0], rax
xchg r12d, eax
setne al
movabs rax, 0x187f5c28d0b2d536
mov qword [rsp + 0x1f8], rax
not r12d
movsx ax, bpl
movsxd r12, r13d
lea r12, [rsp + 0x130]
movzx rax, dx
xchg ah, ah
mov ax, 0x35f3
mov rax, r12
jmp 0x1403aeae2
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403aeaec
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403aeaf9
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403aeb0c
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403aeb16
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403aeb24
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403aeb31
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403aeb42
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403aeb4f
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403aeb68
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403aeb79
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403aeb86
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403aebab
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403aebb8
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403aebcc
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403aebd9
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403aebed
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403aebfa
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403aec0e
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403aec1b
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403aec2f
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403aec3c
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
cbw
mov qword [rsp + 0x30], r13
cwd
cmovge r8w, r13w
movsxd r9, edi
mov eax, dword [rsp + 0x4c]
movzx r8d, r15w
mov dword [rsp + 0x28], eax
cdq
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
cqo
bswap r13w
lea r8, [rsp + 0x50]
movzx r9w, r9b
mov cl, r14b
not dx
lea r9, [rsp + 0x200]
mov edx, 0x400
lea r13, [rsp + 0x280]
cmovbe ecx, esi
movsx ecx, si
mov rcx, r13
jmp 0x1403aecaf
call fcn.1403aee64
mov rcx, qword [rsp + 0x40]
jmp 0x1403aecbe
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
mov qword [rsp + 0x50], rax
lahf
jmp 0x1403aecde
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403aeced
mov qword [rsp + 0x58], rax
movsx eax, dx
movzx rax, r15w
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403aed08
mov qword [rsp + 0x60], rax
mov al, r9b
movsxd rax, r12d
movabs rax, 0xd7bf775b167baaf
jmp 0x1403aed22
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
jmp 0x1403aed36
mov qword [rsp + 0x70], rax
movzx ax, r12b
movabs rax, 0x177b1b24c239afe3
mov qword [rsp + 0x78], rax
jmp 0x1403aed54
mov qword [rsp + 0x130], rbp
mov qword [rsp + 0x138], rdi
jmp 0x1403aed69
mov qword [rsp + 0x140], rbx
jmp 0x1403aed76
mov qword [rsp + 0x148], rsi
jmp 0x1403aed83
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], r15
jmp 0x1403aed98
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403aeda2
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403aedb1
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403aedbb
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403aedcb
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x50]
ror r9b, cl
xor ecx, ecx
mov rdx, r13
not r9w
mov r9d, 0x10
jmp 0x1403aedf7
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
adc r10, rsi
mov r10, 0xffffffffffffffff
test sil, 0x4f
stc
cmp r9w, 0x6b0e
xor edx, edx
jmp 0x1403aee1f
syscall
add rsp, 0xa88
pop rbx
mov rbp, 0x3ab91499
pop rbp
movsx r15d, r11w
cmovs esi, esp
xchg r12b, dil
pop rdi
not r15w
xchg r15b, sil
movsxd r13, r11d
pop rsi
movsxd r13, edi
pop r12
pop r13
movsx r14d, r13w
movsx r15, bp
movzx r14, bx
pop r14
pop r15
jmp 0x1403aee63
ret