Function at 0x1403b5675
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmp al, 0x46
test r9b, 0xd9
push r14
push r13
push r12
push rsi
push rdi
bt rsi, 0x5c
rol di, 0x14
rol di, cl
push rbp
push rbx
sbb dil, r11b
sub rsp, 0xa88
mov rsi, rcx
cmc
mov qword [rsp + 0x40], 0
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
cmp edx, esi
cmp dl, 1
mov qword [rsp + 0x128], r8
jmp 0x1403b56d0
mov dword [rsp + 0x4c], r9d
jmp 0x1403b56da
jne 0x1403b57a6
movabs rax, 0xe7f735c197612b70
mov qword [rsp + 0x130], rax
movsx cx, r10b
mov cx, 0x28b2
mov rax, rdi
mov cl, dil
movsx cx, ah
movsx rcx, si
mov qword [rsp + 0x138], rax
setb ch
mov rcx, rbp
mov qword [rsp + 0x280], rcx
jmp 0x1403b5724
mov qword [rsp + 0x288], rax
not ax
cmovle rax, r13
lea rax, [rsp + 0x280]
jmp 0x1403b5740
movaps xmm0, xmmword [rsp + 0x130]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx dx, r15b
lea rcx, [rsp + 0x200]
not r8b
cmovnp r8, rbp
lea r8, [rsp + 0x130]
mov edx, 0x40
jmp 0x1403b5781
mov r9, rsi
jmp 0x1403b5789
call fcn.1403b6492
mov ecx, 0x13ff
xor edx, edx
movzx r8d, r10w
mov r8d, esi
jmp 0x1403b57a1
jmp 0x1403b5adc
mov ebx, edx
cbw
not ah
movabs rax, 0xe7ee358897752b65
jmp 0x1403b57bb
mov qword [rsp + 0x130], rax
cwde
movsxd rax, ebp
movzx eax, r14w
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403b57da
mov qword [rsp + 0x138], rax
movsx eax, dx
movsx rax, r11w
mov rax, rbp
jmp 0x1403b57f1
mov qword [rsp + 0x280], rax
mov rax, rdi
jmp 0x1403b5801
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
jmp 0x1403b5816
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b5823
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
mov cl, 0xfa
movsx rdx, r14w
lea rcx, [rsp + 0x200]
movzx r8, r8w
lea r8, [rsp + 0x130]
cqo
mov edx, 0x40
movsxd r9, r8d
jmp 0x1403b585c
mov r9, rsi
jmp 0x1403b5864
call fcn.1403b6492
test bl, bl
jmp 0x1403b5870
je 0x1403b5a20
movzx eax, bl
clc
cmp r8b, r11b
cmp eax, 2
jmp 0x1403b5885
jne 0x1403b5a2d
movabs r14, 0xcbf29ce484222325
mov rcx, 0x23d6712e
setns cl
movsxd rcx, r9d
mov ecx, esi
jmp 0x1403b58a9
call sub.ntdll.dll_RtlNtStatusToDosError
mov r8d, eax
adc eax, r8d
shl ax, cl
mov rax, qword gs:[0x30]
ror r15b, cl
mov rax, qword [rax + 0x60]
inc r11b
bsr r15w, cx
movzx ecx, r13w
mov r11, qword [rax + 0x18]
xadd dx, cx
sbb cx, bx
add r11, 0x10
xchg r15b, cl
bswap cx
jmp 0x1403b58ed
movabs rdx, 0x2cc10c8855a9a8cd
movsxd r15, r10d
movzx cx, spl
not cx
movabs r15, 0x1d12a89b9e723ff5
mov ecx, 0x1bff
jmp 0x1403b5916
jmp 0x1403b5924
cmp rax, rdx
je 0x1403b5a60
mov r11, qword [r11]
dec r10b
mov r10, qword [r11 + 0x30]
test al, bh
jmp 0x1403b5935
test r10, r10
jmp 0x1403b593d
je 0x1403b5aa8
mov r12, qword [r11 + 0x60]
sar bx, 0x18
seto bl
mov rbx, 0xffffffffffffffff
clc
cmp r15d, r9d
nop word cs:[rax + rax]
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403b5975
jne 0x1403b5965
mov rax, r14
test rbx, rbx
jmp 0x1403b5986
je 0x1403b591b
sub esi, esi
mov rbp, r14
sub di, r13w
rcr r13b, 0xba
nop word [rax + rax]
xor r9b, 0x6f
movzx r9, bx
bsf ax, r13w
movzx eax, word [r12 + rsi*2]
lea edi, [rax - 0x41]
lea r13d, [rax - 0x410]
lea r9d, [rax + 0x20]
cmp r13w, 0x20
jmp 0x1403b59c9
cmovb eax, r9d
stc
test al, r10b
cmp di, 0x1a
jmp 0x1403b59da
cmovb eax, r9d
cmp ah, 0xae
movzx eax, ax
cmp bp, r8w
stc
cmp r15b, 0xce
xor rax, rbp
movzx bp, r11b
imul rax, r15
inc esi
sets bpl
movsx bp, r9b
movzx rbp, r8w
mov rbp, rax
cmp r12b, 0x68
test r11, rdi
cmp rsi, rbx
jb 0x1403b59ac
jmp 0x1403b591b
sub r13d, r13d
jmp 0x1403b5a28
jmp 0x1403b5b20
cmp bl, 3
movzx r8d, r13w
movzx r8d, si
movsx rcx, r15w
bswap cx
seta cl
cmovne r8d, esi
movsx ecx, r9w
mov ch, 0xc2
movsx cx, al
mov ecx, 0x13ff
jmp 0x1403b5a5b
jmp 0x1403b5acf
test r11, r11
not dil
movsx rdi, sp
bswap rbp
cmove r10, r11
not edx
cmove dx, r9w
movsxd rdx, ecx
mov rdx, r10
sets dil
movzx di, spl
movsxd rbp, r14d
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b5aa3
jmp 0x1403b5adc
movabs rbp, 0xe78235ad970d2b55
bsf eax, r10d
bt di, r8w
movabs rdi, 0x6cbb02d0d49b29be
sal rax, 0xc4
shrd ax, r13w, 0x22
sub edx, edx
bswap rax
adc ax, 0x76c1
btc eax, r13d
lea rax, [rsp + 0x40]
stc
clc
cmc
mov qword [rsp + 0x20], rax
cmc
test bpl, r13b
mov qword [rsp + 0x30], 0
stc
mov dword [rsp + 0x28], 0
jmp 0x1403b5b05
sub r9d, r9d
jmp 0x1403b5b0d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
ror r8, 0xd6
cmp ax, 0x5982
lea rcx, [rsp + 0x280]
mov r8d, 0x800
test r8w, 0x6db2
xor edx, edx
call fcn.1404a9cfb
movabs rax, 0xe7ed35df977f2b10
mov qword [rsp + 0x50], rax
movzx rax, bp
mov r15, r15
movsx si, r13b
movabs rax, 0x6c9e02f0d4a129cc
jmp 0x1403b5b6a
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
mov r12b, 0x16
xchg sil, r15b
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
movsx r15d, di
mov qword [rsp + 0x68], rax
movsx r15, sp
lahf
jmp 0x1403b5ba1
movabs rax, 0x23396ef01c4484dc
movsx r12d, ax
mov bl, r11b
mov qword [rsp + 0x70], rax
cmovp r15w, si
jmp 0x1403b5bc4
movabs rax, 0x17711b7cc255afae
cmove bx, r8w
movsx r15w, r10b
mov qword [rsp + 0x78], rax
seto bl
movzx r14, bx
movabs rax, 0x314846d9144fae6f
movsx r15w, r9b
movzx r12, ax
seto r15b
mov qword [rsp + 0x80], rax
movzx rsi, sp
cdqe
not r15
movabs rax, 0x178dd9cfd41ab93e
bswap r12w
mov qword [rsp + 0x88], rax
movsx si, bl
movabs rax, 0xafe3d510c4170ff7
movsx r12w, r14b
movsxd r15, ebp
mov qword [rsp + 0x90], rax
bswap eax
movabs rax, 0xf2b1d93b98f8762c
movsx bx, ch
mov qword [rsp + 0x98], rax
jmp 0x1403b5c5f
movabs rax, 0x9086a47a193ab849
movzx r15w, r13b
mov qword [rsp + 0xa0], rax
not r12w
movsxd rbx, ebp
movabs rax, 0xf9f44acd0c6a853c
mov r14, 0xfd72601
not r12b
mov qword [rsp + 0xa8], rax
xchg sil, al
movabs rax, 0x46ec87c61fbaad11
cmovo r14d, r15d
mov bl, r10b
movsx r15w, dil
mov qword [rsp + 0xb0], rax
lahf
movabs rax, 0x5102c52d8dbf581e
xchg r14b, bl
movzx r14w, r8b
not r12w
mov qword [rsp + 0xb8], rax
movabs rax, 0x9f52a16fed4b976f
setl r15b
mov qword [rsp + 0xc0], rax
movsx r14d, sp
cwde
movabs rax, 0xf6a5483bf0ec9ca3
movsx rbx, r15w
movzx r15, r14w
movzx r12d, r9w
mov qword [rsp + 0xc8], rax
movzx eax, di
bswap eax
movabs rax, 0x60e699bcbdc17680
xchg si, bx
movsx r14d, bx
mov qword [rsp + 0xd0], rax
movsxd rsi, r13d
bswap bx
movabs rax, 0xbd6f0372efe2893d
not r14b
movsx r12w, dl
mov r12, r12
mov qword [rsp + 0xd8], rax
bswap bx
movabs rax, 0x98880c705ee3d44a
movzx r12, r13w
movzx r12w, dil
xchg si, r14w
mov qword [rsp + 0xe0], rax
movabs rax, 0x9b7661660ff4953f
movzx r14w, r14b
xchg r15, rbx
mov qword [rsp + 0xe8], rax
movsx eax, bp
movabs rax, 0x53d62999d3e90ae0
movzx r12w, r11b
mov qword [rsp + 0xf0], rax
movzx rax, r10w
movsxd rbx, r8d
xchg r15, rbx
movabs rax, 0xc69b1bd14864426
movsx r12, r11w
not r14w
mov qword [rsp + 0xf8], rax
not ebx
movabs rax, 0x56abc9090122ed13
movzx si, r9b
jmp 0x1403b5de7
mov qword [rsp + 0x100], rax
movabs rax, 0xf54db3f725dd577b
movsx r14d, r13w
movsx rbx, si
mov qword [rsp + 0x108], rax
movsx si, dl
xchg sil, sil
movabs rax, 0x12e9428a7f611679
not r15b
cmovg rsi, r14
jmp 0x1403b5e26
mov qword [rsp + 0x110], rax
cwde
movsxd rsi, r10d
movabs rax, 0x187f5c28d0b2d517
xchg r15w, r12w
mov qword [rsp + 0x118], rax
cbw
seto r14b
mov qword [rsp + 0x130], rbp
mov r15b, 0x69
mov qword [rsp + 0x138], rdi
movabs rbx, 0xbbeab153fb5d239f
mov sil, 0x99
movsx r12, sp
movzx r12d, si
mov qword [rsp + 0x140], rbx
lahf
movabs rsi, 0xd0ef716b104bac0
movsx r12, sp
cdqe
lahf
mov qword [rsp + 0x148], rsi
mov r12, 0x7fbd6e6f
movabs r14, 0x230f6ec11c7484f9
jmp 0x1403b5eb6
mov qword [rsp + 0x150], r14
movabs r15, 0x177b1b24c239afc2
movzx r12d, cx
mov qword [rsp + 0x158], r15
mov r12w, 0x194
movzx r12w, cl
movabs rax, 0x312d46b71426ae23
movsx r12, r11w
movsxd r12, ebx
mov qword [rsp + 0x160], rax
mov r12d, r8d
movsx eax, di
xchg al, r12b
movabs rax, 0x17e9d9ead43ab904
cmova r12d, edx
movzx r12w, dl
mov qword [rsp + 0x168], rax
movsxd rax, r10d
lahf
cdqe
movabs rax, 0xaf90d535c41d0ffd
mov r12b, 0x44
movsx r12d, r10w
mov qword [rsp + 0x170], rax
cbw
movabs rax, 0xf2ded97898f27626
movsxd r12, r9d
xchg r12, r12
mov qword [rsp + 0x178], rax
movsx r12, r11w
jmp 0x1403b5f5f
movabs rax, 0x90e5a41b194eb827
jmp 0x1403b5f76
mov qword [rsp + 0x180], rax
movzx r12d, sp
movsxd rax, esi
movabs rax, 0xf9814abe0c4a8548
movsxd r12, r8d
movzx r12, r9w
jmp 0x1403b5f9b
mov qword [rsp + 0x188], rax
xchg r12, r12
movabs rax, 0x469e87a91fcaad61
mov qword [rsp + 0x190], rax
cbw
movabs rax, 0x516cc54c8d9f586a
mov qword [rsp + 0x198], rax
bswap rax
movsx rax, r10w
jmp 0x1403b5fd8
movabs rax, 0x9f20a11fed6b970b
movsx r12w, r8b
bswap r12d
mov qword [rsp + 0x1a0], rax
cwde
movzx r12w, r13b
movabs rax, 0xf6c14852f09a9ccc
movzx r12w, r8b
cmove r12w, r13w
mov qword [rsp + 0x1a8], rax
movzx r12, r13w
mov r12w, r13w
cbw
movabs rax, 0x60c699ddbde176e5
mov qword [rsp + 0x1b0], rax
movzx r12w, sil
movabs rax, 0xbd0a0300ef81894e
mov qword [rsp + 0x1b8], rax
bswap ax
movabs rax, 0x98e00c035e8dd42f
movsx r12w, r11b
setne r12b
mov qword [rsp + 0x1c0], rax
cdqe
movsxd rax, r11d
movsx rax, r12w
movabs rax, 0x9b0161460f809550
movsxd r12, r12d
mov qword [rsp + 0x1c8], rax
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
movabs rax, 0xc1ab1d414ee4452
mov qword [rsp + 0x1d8], rax
movsx eax, si
movabs rax, 0x56cdc967014bed33
mov qword [rsp + 0x1e0], rax
movabs rax, 0xf52cb39a25af5714
movzx r12w, r8b
movsxd r12, esp
mov qword [rsp + 0x1e8], rax
movzx r12d, cx
movabs rax, 0x128742e57f08160d
mov r12w, 0x3243
mov qword [rsp + 0x1f0], rax
not r12b
cbw
movabs rax, 0x187f5c28d0b2d536
movsx r12d, r10w
mov r12d, 0x427a1da9
mov qword [rsp + 0x1f8], rax
not ah
movsx r12, r8w
movsxd rax, r14d
lea r12, [rsp + 0x130]
not eax
mov rax, r12
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b613a
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b614d
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b6157
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403b6165
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403b6172
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403b6183
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403b6190
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b61a1
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403b61ae
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403b61bf
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403b61cc
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403b61e5
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403b61f6
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b6203
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403b6217
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b6224
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403b6238
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403b6254
movaps xmm0, xmmword [rsp + 0x100]
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403b6270
movaps xmm0, xmmword [rsp + 0x110]
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
cdqe
cdq
mov qword [rsp + 0x30], r13
mov ch, 0x8d
setle ch
mov eax, dword [rsp + 0x4c]
movsx rdx, di
mov r8b, dil
mov dword [rsp + 0x28], eax
cdq
cdqe
cwde
mov rax, qword [rsp + 0x128]
jmp 0x1403b62b9
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
movsxd rdx, r13d
not dx
lea r9, [rsp + 0x200]
setne cl
cqo
movzx dx, r8b
mov edx, 0x400
movzx cx, r14b
xchg cl, r13b
lea r13, [rsp + 0x280]
seta ch
bswap cx
movzx rcx, r13w
mov rcx, r13
jmp 0x1403b6302
call fcn.1403b6492
mov rcx, qword [rsp + 0x40]
jmp 0x1403b6311
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403b6326
mov qword [rsp + 0x50], rax
cbw
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403b633c
mov qword [rsp + 0x58], rax
movzx eax, r8w
cdqe
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403b6356
mov qword [rsp + 0x60], rax
movsx ax, bh
movabs rax, 0xd7bf775b167baaf
jmp 0x1403b636e
mov qword [rsp + 0x68], rax
movzx rax, r10w
lahf
nop
movabs rax, 0x236b6ea41c06848b
jmp 0x1403b6389
mov qword [rsp + 0x70], rax
cwde
movabs rax, 0x177b1b24c239afe3
jmp 0x1403b639e
mov qword [rsp + 0x78], rax
jmp 0x1403b63a8
mov qword [rsp + 0x130], rbp
jmp 0x1403b63b5
mov qword [rsp + 0x138], rdi
jmp 0x1403b63c2
mov qword [rsp + 0x140], rbx
jmp 0x1403b63cf
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x150], r14
jmp 0x1403b63e4
mov qword [rsp + 0x158], r15
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b63f6
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b6405
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
sal r8b, cl
lea r8, [rsp + 0x50]
sub ecx, ecx
mov rdx, r13
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
mov r10, 0xffffffffffffffff
stc
jmp 0x1403b6455
xor edx, edx
jmp 0x1403b645c
syscall
add rsp, 0xa88
movsxd rbx, edi
pop rbx
pop rbp
pop rdi
pop rsi
movzx r12, r8w
movsxd r14, r14d
xchg r12b, r12b
pop r12
seto r14b
jmp 0x1403b6481
pop r13
xchg r15b, r14b
mov r15w, si
not r15
pop r14
pop r15
ret