Function at 0x1403a9fbd
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
stc
test r9b, 0xa7
push r13
test ebp, 0x25b729b3
stc
clc
push r12
clc
push rsi
bt rsi, r15
clc
push rdi
push rbp
push rbx
movsx si, r8b
neg bp
movsx rdi, r11w
sub rsp, 0xa88
inc sil
not rbp
mov rsi, rcx
mov qword [rsp + 0x40], 0
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
test r15b, 0x76
cmp dl, 1
jmp 0x1403aa021
mov qword [rsp + 0x128], r8
jmp 0x1403aa02e
mov dword [rsp + 0x4c], r9d
jne 0x1403aa0f9
movabs rax, 0xe7f735c197612b70
movsx ecx, bp
mov ecx, 0x194a55ad
movzx rcx, bx
mov qword [rsp + 0x130], rax
mov rax, rdi
xchg cx, cx
mov qword [rsp + 0x138], rax
movsx rcx, bp
not ch
mov rcx, rbp
jmp 0x1403aa073
mov qword [rsp + 0x280], rcx
jmp 0x1403aa080
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
jmp 0x1403aa095
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403aa0a2
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
cwd
movsx r8, ax
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
mov edx, 0x40
movzx r9d, r11w
jmp 0x1403aa0d1
mov r9, rsi
jmp 0x1403aa0d9
call fcn.1403aad46
mov ecx, 0x13ff
xor edx, edx
movsx r8d, cx
movsxd r8, r15d
mov r8d, esi
jmp 0x1403aa0f4
jmp 0x1403aa3f7
mov ebx, edx
movabs rax, 0xe7ee358897752b65
jmp 0x1403aa10a
mov qword [rsp + 0x130], rax
cwde
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403aa122
mov qword [rsp + 0x138], rax
cmova ax, r9w
mov rax, rbp
mov qword [rsp + 0x280], rax
mov ah, 0x20
movzx ax, r11b
bswap rax
mov rax, rdi
mov qword [rsp + 0x288], rax
bswap ax
lea rax, [rsp + 0x280]
jmp 0x1403aa160
movaps xmm0, xmmword [rsp + 0x130]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
jmp 0x1403aa178
lea rcx, [rsp + 0x200]
movzx r8d, bx
movzx dx, cl
movsxd rdx, r12d
lea r8, [rsp + 0x130]
cqo
movzx dx, r13b
jmp 0x1403aa19f
mov edx, 0x40
bswap r9w
jmp 0x1403aa1ad
mov r9, rsi
jmp 0x1403aa1b5
call fcn.1403aad46
test bl, bl
jmp 0x1403aa1c1
je 0x1403aa34c
movzx eax, bl
jmp 0x1403aa1cf
cmp eax, 2
jmp 0x1403aa1d7
jne 0x1403aa354
movabs r14, 0xcbf29ce484222325
mov cl, bpl
xchg cl, ch
mov ecx, esi
call fcn.1401d113d
mov r8d, eax
mov rax, qword gs:[0x30]
mov cl, sil
mov rax, qword [rax + 0x60]
mov r11, qword [rax + 0x18]
movzx edx, r10w
shld rcx, r11, 0x4e
add r11, 0x10
seta dl
cqo
movzx dx, r14b
movabs rdx, 0x2cc10c8855a9a8cd
not r15w
movabs r15, 0x1d12a89b9e723ff5
mov ecx, 0x1bff
jmp 0x1403aa243
jmp 0x1403aa251
cmp rax, rdx
je 0x1403aa38f
mov r11, qword [r11]
shl r10, 0x25
btr r10w, r8w
add r10b, 0x42
mov r10, qword [r11 + 0x30]
test r11w, 0x1697
cmp r12w, di
test r10, r10
jmp 0x1403aa277
je 0x1403aa3d2
mov r12, qword [r11 + 0x60]
mov rbx, 0xffffffffffffffff
clc
nop word cs:[rax + rax]
test r8w, 0x2122
test dl, r13b
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403aa2aa
lea rbx, [rbx + 1]
jmp 0x1403aa2b3
jne 0x1403aa29e
mov rax, r14
test rbx, rbx
jmp 0x1403aa2c4
je 0x1403aa248
sub esi, esi
adc dil, al
mov rbp, r14
shld r9, r8, 0x37
nop word [rax + rax]
sets r9b
add r9b, 0xd
movzx eax, word [r12 + rsi*2]
lea edi, [rax - 0x41]
lea r13d, [rax - 0x410]
sal r9b, 0x9f
adc r9b, 0x9d
lea r9d, [rax + 0x20]
clc
cmp r13w, 0x20
jmp 0x1403aa30b
cmovb eax, r9d
test ch, bh
test al, 0xf8
cmp di, 0x1a
jmp 0x1403aa31c
cmovb eax, r9d
jmp 0x1403aa326
movzx eax, ax
xor rax, rbp
movsx rbp, r12w
imul rax, r15
inc esi
mov rbp, rax
cmp rsi, rbx
jmp 0x1403aa341
jb 0x1403aa2e5
jmp 0x1403aa248
xor r13d, r13d
jmp 0x1403aa42b
cmp bl, 3
bswap r8w
movzx r8w, spl
mov r8b, 0xb4
movzx r8d, si
mov cl, 0x1f
not ch
jmp 0x1403aa370
cmovne r8d, esi
movzx cx, r15b
not cx
movzx rcx, dx
mov ecx, 0x13ff
jmp 0x1403aa38a
jmp 0x1403aa3f5
test r11, r11
cmove r10, r11
bswap ebp
jmp 0x1403aa39d
mov rdx, r10
movzx edi, r14w
movsx rbp, sp
movabs rbp, 0xe78235ad970d2b55
movzx rdi, r10w
movsx di, r13b
mov dil, 0x22
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403aa3cd
jmp 0x1403aa3f7
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
bts ax, r12w
add eax, 0x344d0ff1
movsx ax, r15b
sub edx, edx
lea rax, [rsp + 0x40]
stc
mov qword [rsp + 0x20], rax
cmc
cmp r13b, cl
test sil, r10b
mov qword [rsp + 0x30], 0
stc
mov dword [rsp + 0x28], 0
stc
cmc
sub r9d, r9d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
lea rcx, [rsp + 0x280]
mov r8d, 0x800
clc
cmc
xor edx, edx
jmp 0x1403aa442
call fcn.14049e97b
movabs rax, 0xe7ed35df977f2b10
xchg r12d, r15d
mov sil, 0x21
mov qword [rsp + 0x50], rax
movabs rax, 0x6c9e02f0d4a129cc
movsx bx, sil
mov qword [rsp + 0x58], rax
not ah
movabs rax, 0xbb83b115fb5723ec
movsx r12w, r9b
movsx r15d, cx
jmp 0x1403aa48a
mov qword [rsp + 0x60], rax
jmp 0x1403aa499
movabs rax, 0xd2ef72cb161baac
mov qword [rsp + 0x68], rax
mov r12d, 0x37ac4f99
movsx r12w, r15b
lahf
movabs rax, 0x23396ef01c4484dc
jmp 0x1403aa4ca
mov qword [rsp + 0x70], rax
movabs rax, 0x17711b7cc255afae
movzx r14w, cl
mov qword [rsp + 0x78], rax
jmp 0x1403aa4ed
movabs rax, 0x314846d9144fae6f
movsxd rsi, r12d
jmp 0x1403aa505
mov qword [rsp + 0x80], rax
xchg bx, si
mov r14b, cl
movabs rax, 0x178dd9cfd41ab93e
movsx r14d, r8w
mov qword [rsp + 0x88], rax
lahf
bswap ax
movabs rax, 0xafe3d510c4170ff7
mov qword [rsp + 0x90], rax
movsx eax, r9w
movabs rax, 0xf2b1d93b98f8762c
mov rsi, 0x212f4ee8
mov qword [rsp + 0x98], rax
movabs rax, 0x9086a47a193ab849
mov qword [rsp + 0xa0], rax
cmovge r14w, bx
mov sil, 0x23
movabs rax, 0xf9f44acd0c6a853c
not ebx
mov qword [rsp + 0xa8], rax
bswap rax
movabs rax, 0x46ec87c61fbaad11
movsx rbx, r13w
mov qword [rsp + 0xb0], rax
movabs rax, 0x5102c52d8dbf581e
bswap rbx
mov qword [rsp + 0xb8], rax
movzx rax, dx
movabs rax, 0x9f52a16fed4b976f
movsx bx, r8b
bswap r14
mov qword [rsp + 0xc0], rax
lahf
movabs rax, 0xf6a5483bf0ec9ca3
xchg r15b, r15b
movzx esi, cx
mov qword [rsp + 0xc8], rax
mov r14, 0x43065ca9
movsx r15w, dil
cdqe
movabs rax, 0x60e699bcbdc17680
movsxd rsi, esp
not r12b
bswap r12
mov qword [rsp + 0xd0], rax
movzx r14, bx
jmp 0x1403aa621
movabs rax, 0xbd6f0372efe2893d
bswap esi
jmp 0x1403aa632
mov qword [rsp + 0xd8], rax
movsx r14d, si
movabs rax, 0x98880c705ee3d44a
cmovg ebx, r12d
mov qword [rsp + 0xe0], rax
movsx r12, r8w
mov rbx, rsp
movabs rax, 0x9b7661660ff4953f
movsx r12w, r9b
movsx r12, bx
mov qword [rsp + 0xe8], rax
jmp 0x1403aa67b
movabs rax, 0x53d62999d3e90ae0
setle r15b
movsxd r12, r11d
jmp 0x1403aa691
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
movsxd rsi, r8d
movzx ebx, di
movzx rsi, bp
mov qword [rsp + 0xf8], rax
movabs rax, 0x56abc9090122ed13
not rbx
movzx si, dl
mov qword [rsp + 0x100], rax
movzx eax, r14w
movsx eax, r9w
movzx rbx, r10w
movabs rax, 0xf54db3f725dd577b
movzx rbx, bp
jmp 0x1403aa6f1
mov qword [rsp + 0x108], rax
movabs rax, 0x12e9428a7f611679
movsx r15w, dil
mov qword [rsp + 0x110], rax
cmovbe r12, rdx
lahf
movsx r12w, al
movabs rax, 0x187f5c28d0b2d517
movsxd rsi, r15d
jmp 0x1403aa731
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x130], rbp
movsx r15w, r15b
xchg r15b, r15b
movsxd rbx, edi
mov qword [rsp + 0x138], rdi
movabs rbx, 0xbbeab153fb5d239f
setns ah
mov qword [rsp + 0x140], rbx
not al
movabs rsi, 0xd0ef716b104bac0
mov qword [rsp + 0x148], rsi
movsx r15d, bp
movzx rax, r11w
movabs r14, 0x230f6ec11c7484f9
mov qword [rsp + 0x150], r14
movabs r15, 0x177b1b24c239afc2
mov r12b, r13b
mov r12b, 0x66
mov qword [rsp + 0x158], r15
movabs rax, 0x312d46b71426ae23
xchg r12b, r12b
not r12
movsx r12w, cl
mov qword [rsp + 0x160], rax
cwde
movabs rax, 0x17e9d9ead43ab904
setno r12b
mov qword [rsp + 0x168], rax
not r12b
movzx ax, sil
xchg r12, rax
movabs rax, 0xaf90d535c41d0ffd
mov qword [rsp + 0x170], rax
movsx eax, si
movzx rax, di
movabs rax, 0xf2ded97898f27626
mov qword [rsp + 0x178], rax
movabs rax, 0x90e5a41b194eb827
mov r12, 0x37ce067d
xchg r12b, r12b
mov qword [rsp + 0x180], rax
movzx r12w, dl
movzx r12, si
movabs rax, 0xf9814abe0c4a8548
movsxd r12, esp
not r12w
movzx r12, r15w
mov qword [rsp + 0x188], rax
movabs rax, 0x469e87a91fcaad61
bswap r12w
mov qword [rsp + 0x190], rax
movsx eax, r14w
movabs rax, 0x516cc54c8d9f586a
bswap r12d
mov qword [rsp + 0x198], rax
mov ah, 0xf6
cdqe
movzx eax, cx
movabs rax, 0x9f20a11fed6b970b
mov qword [rsp + 0x1a0], rax
movsx r12, r8w
cbw
movabs rax, 0xf6c14852f09a9ccc
mov qword [rsp + 0x1a8], rax
movabs rax, 0x60c699ddbde176e5
jmp 0x1403aa8ce
mov qword [rsp + 0x1b0], rax
movsx r12w, r15b
mov eax, r14d
movabs rax, 0xbd0a0300ef81894e
mov qword [rsp + 0x1b8], rax
movzx ax, bpl
not rax
movabs rax, 0x98e00c035e8dd42f
movzx r12, ax
cmovnp r12w, di
movsx r12w, spl
mov qword [rsp + 0x1c0], rax
cwde
lahf
setae r12b
movabs rax, 0x9b0161460f809550
mov qword [rsp + 0x1c8], rax
cdqe
movzx r12, r9w
movabs rax, 0x53f629f1d39d0a89
seta r12b
mov qword [rsp + 0x1d0], rax
cwde
movabs rax, 0xc1ab1d414ee4452
movzx r12, cx
movsxd r12, r10d
mov qword [rsp + 0x1d8], rax
xchg r12w, r12w
movabs rax, 0x56cdc967014bed33
movsxd r12, r14d
mov qword [rsp + 0x1e0], rax
movsxd rax, esi
bswap ax
movabs rax, 0xf52cb39a25af5714
movsx r12w, r14b
movsxd r12, r11d
movsx r12d, si
mov qword [rsp + 0x1e8], rax
movabs rax, 0x128742e57f08160d
mov r12d, 0x7dea777b
movsx r12, r13w
mov qword [rsp + 0x1f0], rax
cmovne r12, r10
setbe r12b
movabs rax, 0x187f5c28d0b2d536
mov qword [rsp + 0x1f8], rax
movsx r12, sp
lea r12, [rsp + 0x130]
not rax
mov rax, r12
jmp 0x1403aa9f0
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403aaa02
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403aaa0c
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403aaa28
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403aaa35
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403aaa46
movaps xmm0, xmmword [rsp + 0x90]
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403aaa5f
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403aaa6c
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403aaa7d
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403aaa8a
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403aaa9b
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403aaaa8
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403aaab9
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403aaac6
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403aaae2
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403aaaf6
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403aab12
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403aab1f
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403aab3b
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
xchg dx, cx
movsx dx, r13b
mov qword [rsp + 0x30], r13
setle r9b
cbw
lahf
mov eax, dword [rsp + 0x4c]
cqo
cdq
movsx ecx, r14w
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
movsx rcx, sp
lea r8, [rsp + 0x50]
movsx edx, di
cwd
lea r9, [rsp + 0x200]
mov ecx, 0x67346b5a
jmp 0x1403aab9d
mov edx, 0x400
lea r13, [rsp + 0x280]
mov rcx, r13
jmp 0x1403aabb2
call fcn.1403aad46
mov rcx, qword [rsp + 0x40]
jmp 0x1403aabc1
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403aabd6
mov qword [rsp + 0x50], rax
movabs rax, 0x6cc902b5d4bb29d2
mov qword [rsp + 0x58], rax
bswap rax
movsx eax, cx
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403aabff
mov qword [rsp + 0x60], rax
movabs rax, 0xd7bf775b167baaf
jmp 0x1403aac13
mov qword [rsp + 0x68], rax
movzx rax, r10w
cwde
movabs rax, 0x236b6ea41c06848b
jmp 0x1403aac2c
mov qword [rsp + 0x70], rax
movabs rax, 0x177b1b24c239afe3
jmp 0x1403aac40
mov qword [rsp + 0x78], rax
jmp 0x1403aac4a
mov qword [rsp + 0x130], rbp
mov qword [rsp + 0x138], rdi
jmp 0x1403aac5f
mov qword [rsp + 0x140], rbx
jmp 0x1403aac6c
mov qword [rsp + 0x148], rsi
jmp 0x1403aac79
mov qword [rsp + 0x150], r14
jmp 0x1403aac86
mov qword [rsp + 0x158], r15
jmp 0x1403aac93
movaps xmm0, xmmword [rsp + 0x50]
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 0x1403aacb7
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403aacc1
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
cmp al, r12b
sub edx, 0x1e7e482a
lea r8, [rsp + 0x50]
adc dh, 0xe4
clc
xor ecx, ecx
mov rdx, r13
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
sal r10d, 0x48
mov r10, 0xffffffffffffffff
sub edx, edx
syscall
add rsp, 0xa88
pop rbx
movzx r14w, cl
pop rbp
pop rdi
pop rsi
setb r13b
xchg r15w, r13w
pop r12
cmovns r14w, dx
movsx r13d, sp
pop r13
mov r14w, r11w
setle r15b
pop r14
movsx r15d, dx
setle r15b
not r15b
pop r15
jmp 0x1403aad45
ret