Function at 0x1403b22f3
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
cmp bp, 0x697d
cmc
push r13
push r12
jmp 0x1403b230c
push rsi
push rdi
sar esi, cl
bts rdi, rdi
push rbp
push rbx
sbb dil, 0x1d
shl sil, cl
rcr bpl, 0x6e
sub rsp, 0xa88
mov rsi, rcx
btc bp, 0xc1
cmc
mov qword [rsp + 0x40], 0
movabs rbp, 0xe78235ad970d2b55
adc di, r8w
xor dil, 0xe3
movzx rdi, r14w
movabs rdi, 0x6cbb02d0d49b29be
cmp dl, 1
mov qword [rsp + 0x128], r8
jmp 0x1403b236a
mov dword [rsp + 0x4c], r9d
jmp 0x1403b2374
jne 0x1403b2464
movabs rax, 0xe7f735c197612b70
not cl
movsxd rcx, edx
movsx ecx, bx
mov qword [rsp + 0x130], rax
mov cx, bx
mov rax, rdi
movsx ecx, r15w
mov qword [rsp + 0x138], rax
movzx cx, bpl
bswap rcx
cmove cx, r12w
mov rcx, rbp
jmp 0x1403b23bb
mov qword [rsp + 0x280], rcx
jmp 0x1403b23c8
mov qword [rsp + 0x288], rax
cmove rax, r8
setae al
movsxd rax, r10d
lea rax, [rsp + 0x280]
jmp 0x1403b23e7
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b23f4
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx ecx, r8w
bswap r8d
lea rcx, [rsp + 0x200]
movsx r9w, r10b
cdq
lea r8, [rsp + 0x130]
seto r9b
mov edx, 0x40
jmp 0x1403b242a
mov r9, rsi
call fcn.1403b30f0
mov ecx, 0x13ff
bt r8w, 0x25
bt r8w, r9w
and r8d, 0x1a0a6b16
xor edx, edx
movzx r8w, dl
movsxd r8, r12d
mov r8w, r14w
mov r8d, esi
jmp 0x1403b245f
jmp 0x1403b2758
mov ebx, edx
movabs rax, 0xe7ee358897752b65
mov qword [rsp + 0x130], rax
not rax
movsx rax, r9w
movabs rax, 0x6cbb02d0d4c329d2
mov qword [rsp + 0x138], rax
mov rax, rbp
jmp 0x1403b2499
mov qword [rsp + 0x280], rax
mov eax, r11d
cdqe
jmp 0x1403b24ab
mov rax, rdi
jmp 0x1403b24b3
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
jmp 0x1403b24c8
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b24d5
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
jmp 0x1403b24f4
lea r8, [rsp + 0x130]
not edx
jmp 0x1403b2506
mov edx, 0x40
mov r9, rsi
jmp 0x1403b2513
call fcn.1403b30f0
test bl, bl
jmp 0x1403b251f
je 0x1403b26ac
movzx eax, bl
cmp eax, 2
jmp 0x1403b2530
jne 0x1403b26b4
movabs r14, 0xcbf29ce484222325
movzx rcx, cx
movsx rcx, bx
movsx ecx, cx
mov ecx, esi
call sub.ntdll.dll_RtlNtStatusToDosError
mov r8d, eax
seta dl
sbb r11w, ax
clc
mov rax, qword gs:[0x30]
sbb cl, dil
mov rax, qword [rax + 0x60]
sbb r15w, 0x6964
shl ch, 0xce
rcl rdx, 0x63
mov r11, qword [rax + 0x18]
cqo
shrd dx, di, 0xac
add r11, 0x10
movabs rdx, 0x2cc10c8855a9a8cd
movsxd rcx, r10d
movsx cx, bpl
xchg r15d, ecx
movabs r15, 0x1d12a89b9e723ff5
movsxd rcx, esp
mov ecx, 0x1bff
jmp 0x1403b25be
cmp rax, rdx
je 0x1403b26e7
mov r11, qword [r11]
mov r10, qword [r11 + 0x30]
test r10, r10
jmp 0x1403b25cd
je 0x1403b2732
mov r12, qword [r11 + 0x60]
mov rbx, 0xffffffffffffffff
nop word cs:[rax + rax]
cmp r14d, 0x1876021b
cmc
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403b2602
jne 0x1403b25f2
mov rax, r14
test r13b, 0x2b
test rbx, rbx
jmp 0x1403b2617
je 0x1403b25b5
sub esi, esi
mov rbp, r14
cdqe
dec r9b
nop word [rax + rax]
or r9w, si
movzx eax, word [r12 + rsi*2]
movsx r13, sp
movsxd r9, esp
lea edi, [rax - 0x41]
lea r13d, [rax - 0x410]
movzx r9d, r10w
adc r9, rsp
movsx r9w, r14b
lea r9d, [rax + 0x20]
cmp r13w, 0x20
jmp 0x1403b2661
cmovb eax, r9d
clc
test ecx, 0x4abb172e
cmp di, 0x1a
cmovb eax, r9d
test r11d, r13d
stc
movzx eax, ax
clc
cmp cx, si
xor rax, rbp
imul rax, r15
mov bp, r8w
bswap bp
mov bp, 0x3aab
inc esi
movzx ebp, cx
mov rbp, rax
cmp rsi, rbx
jmp 0x1403b26a1
jb 0x1403b2631
jmp 0x1403b25b5
sub r13d, r13d
jmp 0x1403b278e
cmp bl, 3
movsx cx, r10b
movzx rcx, r15w
movzx r8d, si
mov cl, 0xd5
mov cl, r13b
movzx ecx, r15w
cmovne r8d, esi
setnp ch
movzx rcx, dx
mov ecx, 0x13ff
jmp 0x1403b26e2
jmp 0x1403b2756
test r11, r11
movzx rdi, r12w
mov dh, 0x48
cmove r10, r11
cdq
jmp 0x1403b2700
mov rdx, r10
movsx rbp, r11w
movsxd rbp, r11d
movzx rbp, r12w
movabs rbp, 0xe78235ad970d2b55
bswap edi
movsx edi, r8w
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b272d
jmp 0x1403b2758
movabs rbp, 0xe78235ad970d2b55
add dil, r8b
btr eax, 0x54
movabs rdi, 0x6cbb02d0d49b29be
add eax, 0xcf119e
cmovp eax, r14d
xor edx, edx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
clc
cmp r9w, dx
mov qword [rsp + 0x30], 0
test r10d, edi
mov dword [rsp + 0x28], 0
xor r9d, r9d
jmp 0x1403b2783
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
lea rcx, [rsp + 0x280]
add r8, r10
clc
movzx r8w, r15b
mov r8d, 0x800
stc
cmc
xor edx, edx
jmp 0x1403b27ae
call fcn.1404a6edf
movabs rax, 0xe7ed35df977f2b10
movsx si, r9b
mov qword [rsp + 0x50], rax
not sil
movabs rax, 0x6c9e02f0d4a129cc
setp r15b
mov qword [rsp + 0x58], rax
movsx bx, r10b
mov r12b, 0x30
movabs rax, 0xbb83b115fb5723ec
mov qword [rsp + 0x60], rax
mov r15w, r13w
movsxd r14, ebx
movabs rax, 0xd2ef72cb161baac
movzx rbx, si
movzx ebx, r11w
mov qword [rsp + 0x68], rax
xchg r12b, r14b
lahf
movabs rax, 0x23396ef01c4484dc
cmovg r12d, r8d
movsxd r15, eax
mov r15w, r14w
mov qword [rsp + 0x70], rax
lahf
setle r14b
movsx ebx, r12w
movabs rax, 0x17711b7cc255afae
movsx ebx, r15w
jmp 0x1403b2850
mov qword [rsp + 0x78], rax
movabs rax, 0x314846d9144fae6f
movsx r15w, r13b
mov qword [rsp + 0x80], rax
movzx r12d, cx
movabs rax, 0x178dd9cfd41ab93e
mov qword [rsp + 0x88], rax
xchg rsi, rsi
movabs rax, 0xafe3d510c4170ff7
mov qword [rsp + 0x90], rax
cwde
movabs rax, 0xf2b1d93b98f8762c
cmovno si, bp
movzx si, r15b
mov qword [rsp + 0x98], rax
movsx r15, di
movabs rax, 0x9086a47a193ab849
mov qword [rsp + 0xa0], rax
cmovne r15d, r9d
movabs rax, 0xf9f44acd0c6a853c
movsx r14, sp
movsxd r12, r14d
movsx r15w, bpl
mov qword [rsp + 0xa8], rax
cmovne esi, r10d
movsx r15d, dx
movabs rax, 0x46ec87c61fbaad11
mov qword [rsp + 0xb0], rax
movabs rax, 0x5102c52d8dbf581e
mov qword [rsp + 0xb8], rax
movsxd r14, eax
movabs rax, 0x9f52a16fed4b976f
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
mov qword [rsp + 0xc8], rax
mov sil, bl
movabs rax, 0x60e699bcbdc17680
bswap r15w
mov qword [rsp + 0xd0], rax
jmp 0x1403b295f
movabs rax, 0xbd6f0372efe2893d
setb bl
movsx r12, bp
cmovne rsi, rdx
mov qword [rsp + 0xd8], rax
not r12
movabs rax, 0x98880c705ee3d44a
cmovns rsi, r8
mov qword [rsp + 0xe0], rax
cwde
lahf
movabs rax, 0x9b7661660ff4953f
mov qword [rsp + 0xe8], rax
xchg bx, ax
movabs rax, 0x53d62999d3e90ae0
cmovo r15w, r14w
movsx bx, sil
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
movsx si, r13b
not r15b
mov qword [rsp + 0xf8], rax
cmovne ax, sp
movsxd rsi, esi
cdqe
movabs rax, 0x56abc9090122ed13
jmp 0x1403b29f9
mov qword [rsp + 0x100], rax
movabs rax, 0xf54db3f725dd577b
mov sil, 0xfe
mov r14b, al
mov qword [rsp + 0x108], rax
not r14b
cdqe
movabs rax, 0x12e9428a7f611679
movsx r14d, r14w
jmp 0x1403b2a34
mov qword [rsp + 0x110], rax
cdqe
movabs rax, 0x187f5c28d0b2d517
movsx r14w, r12b
mov qword [rsp + 0x118], rax
cwde
cdqe
cbw
mov qword [rsp + 0x130], rbp
lahf
mov sil, 0x7c
mov qword [rsp + 0x138], rdi
jmp 0x1403b2a77
movabs rbx, 0xbbeab153fb5d239f
movzx r14, r15w
mov qword [rsp + 0x140], rbx
cwde
movsx r15d, sp
movabs rsi, 0xd0ef716b104bac0
movsxd r12, esi
mov r14b, 0xaa
mov qword [rsp + 0x148], rsi
movzx r14, sp
movsx r12d, sp
movsxd rax, r11d
movabs r14, 0x230f6ec11c7484f9
cdqe
movzx ax, ch
movzx r15d, r15w
mov qword [rsp + 0x150], r14
movsx r15w, al
movsx r12, si
movabs r15, 0x177b1b24c239afc2
movsx rax, si
mov qword [rsp + 0x158], r15
setge r12b
movabs rax, 0x312d46b71426ae23
mov r12, 0x1138025a
movzx r12d, r15w
mov qword [rsp + 0x160], rax
cbw
movabs rax, 0x17e9d9ead43ab904
movzx r12w, cl
mov qword [rsp + 0x168], rax
movabs rax, 0xaf90d535c41d0ffd
mov r12b, r8b
movsxd r12, r8d
setnp r12b
mov qword [rsp + 0x170], rax
cwde
movzx eax, r10w
movabs rax, 0xf2ded97898f27626
movzx r12d, cx
cmovp r12d, eax
jmp 0x1403b2b62
mov qword [rsp + 0x178], rax
jmp 0x1403b2b75
movabs rax, 0x90e5a41b194eb827
mov qword [rsp + 0x180], rax
lahf
cdqe
movsx r12d, si
movabs rax, 0xf9814abe0c4a8548
movsx r12, bp
xchg r12b, r12b
mov qword [rsp + 0x188], rax
jmp 0x1403b2bac
movabs rax, 0x469e87a91fcaad61
movzx r12d, r9w
seto r12b
movsxd r12, esi
mov qword [rsp + 0x190], rax
movsx r12, sp
not r12
movsx r12d, dx
movabs rax, 0x516cc54c8d9f586a
movsx r12d, r8w
movsx r12w, spl
movsxd r12, r12d
mov qword [rsp + 0x198], rax
xchg r12w, r12w
cdqe
cbw
movabs rax, 0x9f20a11fed6b970b
cmovp r12w, r8w
jmp 0x1403b2c0e
mov qword [rsp + 0x1a0], rax
movabs rax, 0xf6c14852f09a9ccc
movzx r12w, spl
jmp 0x1403b2c2e
mov qword [rsp + 0x1a8], rax
movzx eax, r10w
cdqe
cwde
movabs rax, 0x60c699ddbde176e5
cmovp r12, r11
bswap r12w
mov r12b, 0xf9
mov qword [rsp + 0x1b0], rax
movsx r12w, sil
movabs rax, 0xbd0a0300ef81894e
movzx r12, ax
not r12w
movzx r12w, al
mov qword [rsp + 0x1b8], rax
movabs rax, 0x98e00c035e8dd42f
cmovge r12w, di
xchg r12d, r12d
movsx r12w, r8b
mov qword [rsp + 0x1c0], rax
movabs rax, 0x9b0161460f809550
movsx r12w, bpl
not r12b
mov r12b, 0xe5
mov qword [rsp + 0x1c8], rax
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
movsx r12d, cx
movsx ax, dil
movabs rax, 0xc1ab1d414ee4452
not r12b
mov qword [rsp + 0x1d8], rax
mov r12, rsi
movzx eax, bx
movabs rax, 0x56cdc967014bed33
movsx r12d, r10w
mov qword [rsp + 0x1e0], rax
cbw
movsx rax, r11w
not r12w
movabs rax, 0xf52cb39a25af5714
jmp 0x1403b2d1f
mov qword [rsp + 0x1e8], rax
movabs rax, 0x128742e57f08160d
movsx r12, bp
setg r12b
mov qword [rsp + 0x1f0], rax
cmovp r12w, r8w
movabs rax, 0x187f5c28d0b2d536
movzx r12, r10w
xchg r12b, r12b
mov qword [rsp + 0x1f8], rax
not r12b
lea r12, [rsp + 0x130]
lahf
movsx ax, spl
movzx eax, ax
mov rax, r12
jmp 0x1403b2d7b
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b2d85
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b2d97
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b2da5
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b2daf
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403b2dc5
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403b2dd6
movaps xmm0, xmmword [rsp + 0x90]
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b2def
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403b2dfc
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403b2e0d
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403b2e1a
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403b2e2b
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403b2e38
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b2e51
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403b2e65
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b2e72
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403b2e8e
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403b2ea2
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403b2eaf
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403b2ec3
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403b2ed0
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
movzx r8d, bx
mov qword [rsp + 0x30], r13
movzx r8d, di
movsx eax, dx
mov eax, dword [rsp + 0x4c]
bswap r8w
movsx rcx, cx
movzx r13d, bx
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x128]
movsx rdx, bx
movzx r9d, r8w
jmp 0x1403b2f18
mov qword [rsp + 0x20], rax
movzx dx, r11b
lea r8, [rsp + 0x50]
not r13b
movzx ecx, bp
lea r9, [rsp + 0x200]
mov edx, 0x400
mov r13d, r13d
not rcx
movzx ecx, bx
lea r13, [rsp + 0x280]
mov rcx, r13
jmp 0x1403b2f53
call fcn.1403b30f0
mov rcx, qword [rsp + 0x40]
jmp 0x1403b2f62
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403b2f77
mov qword [rsp + 0x50], rax
cbw
movzx eax, bp
bswap rax
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403b2f93
mov qword [rsp + 0x58], rax
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403b2fa7
mov qword [rsp + 0x60], rax
movabs rax, 0xd7bf775b167baaf
jmp 0x1403b2fbb
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
jmp 0x1403b2fcf
mov qword [rsp + 0x70], rax
movzx eax, dx
movabs rax, 0x177b1b24c239afe3
jmp 0x1403b2fe6
mov qword [rsp + 0x78], rax
jmp 0x1403b2ff0
mov qword [rsp + 0x130], rbp
jmp 0x1403b2ffd
mov qword [rsp + 0x138], rdi
jmp 0x1403b300a
mov qword [rsp + 0x140], rbx
jmp 0x1403b3017
mov qword [rsp + 0x148], rsi
jmp 0x1403b3024
mov qword [rsp + 0x150], r14
jmp 0x1403b3031
mov qword [rsp + 0x158], r15
jmp 0x1403b303e
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b3057
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b3067
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b3071
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
mov dl, 0xa9
sal r8b, 5
ror r9b, cl
lea r8, [rsp + 0x50]
sub ecx, ecx
movsx edx, ax
cqo
mov rdx, r13
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
mov r10, 0xffffffffffffffff
xor edx, edx
syscall
add rsp, 0xa88
setns dil
movsx r12, r9w
movzx r12d, r15w
pop rbx
mov r14b, 0xeb
pop rbp
movsx rsi, sp
movsxd rsi, r12d
pop rdi
pop rsi
pop r12
not r14b
mov r13w, ax
pop r13
pop r14
mov r15w, 0x781
movzx r15d, bp
pop r15
jmp 0x1403b30ef
ret