Function at 0x1403a847c
Capabilities:
Encrypt data using speck

Disassembly:
push r15
clc
cmp ah, 0xdf
push r14
test r12w, 0x1b55
jmp 0x1403a848f
push r13
push r12
push rsi
shld si, r14w, 0x9e
push rdi
shl rsi, 0x99
sbb sil, r15b
push rbp
stc
movsx rbp, r14w
push rbx
rol rsi, 0xa0
sub rsp, 0xa88
add dil, 0xca
add sil, al
xor sil, r14b
mov rsi, rcx
mov qword [rsp + 0x40], 0
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
cmp dl, 1
jmp 0x1403a84e6
mov qword [rsp + 0x128], r8
jmp 0x1403a84f3
mov dword [rsp + 0x4c], r9d
jmp 0x1403a84fd
jne 0x1403a85c7
movabs rax, 0xe7f735c197612b70
mov qword [rsp + 0x130], rax
mov rax, rdi
mov ecx, r13d
movsx rcx, r10w
movzx rcx, r12w
mov qword [rsp + 0x138], rax
mov rcx, rbp
jmp 0x1403a8533
mov qword [rsp + 0x280], rcx
jmp 0x1403a8540
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
jmp 0x1403a8555
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403a8562
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
cwd
cmovne r9d, r12d
bswap dx
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
jmp 0x1403a858e
mov edx, 0x40
setae r9b
not r9d
mov r9b, bl
mov r9, rsi
jmp 0x1403a85a5
call fcn.1403a929d
mov ecx, 0x13ff
shrd r8, r15, 0x1b
shr r8, 0xc6
movsx r8w, cl
sub edx, edx
mov r8d, esi
jmp 0x1403a88bd
mov ebx, edx
movzx eax, r10w
not ax
movabs rax, 0xe7ee358897752b65
mov qword [rsp + 0x130], rax
nop
movsx rax, sp
cdqe
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403a85f8
mov qword [rsp + 0x138], rax
mov rax, rbp
jmp 0x1403a8608
mov qword [rsp + 0x280], rax
cdqe
not ax
mov rax, rdi
jmp 0x1403a861d
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
jmp 0x1403a8632
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403a863f
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movsx r9, r11w
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
mov edx, 0x40
movzx r9d, r12w
mov r9, rsi
call fcn.1403a929d
test bl, bl
jmp 0x1403a8676
je 0x1403a881f
movzx eax, bl
cmp dh, dl
cmp eax, 2
jmp 0x1403a8689
jne 0x1403a882c
movabs r14, 0xcbf29ce484222325
mov cl, r15b
seto ch
movsxd rcx, edx
mov ecx, esi
jmp 0x1403a86a9
call sub.ntdll.dll_RtlNtStatusToDosError
mov r8d, eax
stc
mov rax, qword gs:[0x30]
cdq
mov rax, qword [rax + 0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
movzx r15, r13w
xchg r15w, r15w
movabs rdx, 0x2cc10c8855a9a8cd
movzx r15d, cx
mov ch, 0x45
movabs r15, 0x1d12a89b9e723ff5
movsx rcx, r9w
movzx rcx, r15w
setg cl
mov ecx, 0x1bff
jmp 0x1403a870e
cmp rax, rdx
jmp 0x1403a8708
je 0x1403a885c
mov r11, qword [r11]
mov r10, qword [r11 + 0x30]
test r10, r10
je 0x1403a8898
mov r12, qword [r11 + 0x60]
rol bx, 0xd
or bl, 0xd5
mov rbx, 0xffffffffffffffff
jmp 0x1403a8739
nop word cs:[rax + rax]
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403a8755
jne 0x1403a8745
mov rax, r14
test rbx, rbx
je 0x1403a8700
xor esi, esi
movsxd r13, r12d
xchg r9w, di
add r9b, bpl
mov rbp, r14
cmp rsi, 0x37701cd3
movsx r9w, dil
nop word [rax + rax]
xor r9w, 0x137c
movzx eax, word [r12 + rsi*2]
shr r9b, cl
bt r9, r11
movsx r13d, ax
lea edi, [rax - 0x41]
shr r9b, 0x32
lea r13d, [rax - 0x410]
ror r9b, 0x9f
shrd r9w, bp, 0x37
bsf r9d, r10d
lea r9d, [rax + 0x20]
clc
cmc
cmp r12, r14
cmp r13w, 0x20
jmp 0x1403a87cd
cmovb eax, r9d
clc
cmp di, 0x1a
cmovb eax, r9d
cmp rsi, rbp
cmp r13b, 0x7a
movzx eax, ax
cmp si, 0xeb9
xor rax, rbp
xor rbp, r15
movsx rbp, r8w
movsxd rbp, edi
imul rax, r15
movzx rbp, r8w
inc bp
inc esi
clc
rol ebp, cl
mov rbp, rax
cmp r8d, r13d
cmp rsi, rbx
jmp 0x1403a8814
jb 0x1403a878e
jmp 0x1403a8700
xor r13d, r13d
jmp 0x1403a8827
jmp 0x1403a88fc
cmp bl, 3
setl r8b
movzx r8, sp
jmp 0x1403a883c
movzx r8d, si
mov cl, 0x63
movsxd rcx, esp
movzx rcx, r15w
cmovne r8d, esi
mov ecx, 0x13ff
jmp 0x1403a8857
jmp 0x1403a88b5
test r11, r11
cwd
cmove r10, r11
cmovg rbp, rax
movsx edx, si
mov rdx, r10
movsxd rdi, eax
xchg dil, dil
jmp 0x1403a887a
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403a8893
jmp 0x1403a88bd
movabs rbp, 0xe78235ad970d2b55
btc di, ax
movabs rdi, 0x6cbb02d0d49b29be
and eax, 0x452a312c
sub edx, edx
test r9b, r9b
mov eax, r12d
lea rax, [rsp + 0x40]
clc
cmp r11, 0x2136550e
test cx, bp
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
stc
mov dword [rsp + 0x28], 0
sub r9d, r9d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
neg ecx
xchg r8b, cl
movzx r8w, al
lea rcx, [rsp + 0x280]
rcr r8w, 0xc8
adc r8d, 0x73bb735e
jmp 0x1403a8915
mov r8d, 0x800
sub edx, edx
jmp 0x1403a8922
call fcn.14049d026
movabs rax, 0xe7ed35df977f2b10
mov qword [rsp + 0x50], rax
movabs rax, 0x6c9e02f0d4a129cc
xchg r14b, r12b
mov qword [rsp + 0x58], rax
jmp 0x1403a8957
movabs rax, 0xbb83b115fb5723ec
setbe sil
jmp 0x1403a896d
mov qword [rsp + 0x60], rax
movsx rbx, r9w
cbw
bswap bx
movabs rax, 0xd2ef72cb161baac
mov qword [rsp + 0x68], rax
movzx si, dl
lahf
cbw
movabs rax, 0x23396ef01c4484dc
movsx r12w, r13b
mov qword [rsp + 0x70], rax
xchg rbx, r12
mov si, sp
movabs rax, 0x17711b7cc255afae
mov sil, 0x63
mov qword [rsp + 0x78], rax
setp bh
cbw
movabs rax, 0x314846d9144fae6f
movsx rsi, r12w
mov r15w, 0x4d0d
bswap r12
mov qword [rsp + 0x80], rax
mov si, 0x43d5
setge bl
xchg r12b, bl
movabs rax, 0x178dd9cfd41ab93e
movsx r15w, r10b
bswap r14w
mov qword [rsp + 0x88], rax
movabs rax, 0xafe3d510c4170ff7
movsxd r15, ebx
mov qword [rsp + 0x90], rax
mov ah, 0x62
movabs rax, 0xf2b1d93b98f8762c
movsx r12d, di
movsx bx, r8b
movzx rsi, r9w
mov qword [rsp + 0x98], rax
not r15w
movzx ebx, cx
movabs rax, 0x9086a47a193ab849
movsx bx, r9b
cmova r12d, r14d
mov qword [rsp + 0xa0], rax
movsx r14w, r10b
movabs rax, 0xf9f44acd0c6a853c
setb r12b
movzx rsi, di
mov qword [rsp + 0xa8], rax
movsx rbx, dx
movzx rbx, bp
bswap r15w
movabs rax, 0x46ec87c61fbaad11
mov qword [rsp + 0xb0], rax
cbw
movabs rax, 0x5102c52d8dbf581e
not r15b
movsx rsi, r12w
setne r15b
mov qword [rsp + 0xb8], rax
bswap rbx
cmovnp bx, r10w
jmp 0x1403a8ac7
movabs rax, 0x9f52a16fed4b976f
jmp 0x1403a8ae0
mov qword [rsp + 0xc0], rax
seto al
movabs rax, 0xf6a5483bf0ec9ca3
xchg r15, r14
cmovae rbx, rbx
movsx r12d, ax
mov qword [rsp + 0xc8], rax
movsx r15d, cx
movabs rax, 0x60e699bcbdc17680
movzx r14, r11w
xchg esi, ebx
movsxd r15, esi
mov qword [rsp + 0xd0], rax
lahf
movsxd r14, r9d
movabs rax, 0xbd6f0372efe2893d
movsx r14, dx
mov qword [rsp + 0xd8], rax
movabs rax, 0x98880c705ee3d44a
cmova r12w, r15w
mov qword [rsp + 0xe0], rax
not esi
jmp 0x1403a8b5f
movabs rax, 0x9b7661660ff4953f
setg sil
cmovp r15w, r9w
xchg r12, r15
mov qword [rsp + 0xe8], rax
cbw
jmp 0x1403a8b84
movabs rax, 0x53d62999d3e90ae0
mov bx, 0x27de
not esi
mov qword [rsp + 0xf0], rax
movzx rax, bx
movabs rax, 0xc69b1bd14864426
mov r12, rsi
mov rbx, 0x226d0b63
movzx r14d, r9w
mov qword [rsp + 0xf8], rax
movsx r15, r14w
lahf
movabs rax, 0x56abc9090122ed13
jmp 0x1403a8bd4
mov qword [rsp + 0x100], rax
movzx r15d, r15w
jmp 0x1403a8be8
movabs rax, 0xf54db3f725dd577b
mov bh, 0xa6
not sil
mov r15b, sil
mov qword [rsp + 0x108], rax
movzx rsi, r14w
movsxd rsi, edx
movabs rax, 0x12e9428a7f611679
movsx r12, r14w
mov qword [rsp + 0x110], rax
jmp 0x1403a8c2d
movabs rax, 0x187f5c28d0b2d517
mov bx, 0x5324
movsx ebx, r10w
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x130], rbp
mov qword [rsp + 0x138], rdi
movsxd rbx, eax
bswap r15w
movabs rbx, 0xbbeab153fb5d239f
movsx esi, r14w
mov qword [rsp + 0x140], rbx
mov eax, 0x63f55cf9
movzx r15, sp
bswap r14d
movabs rsi, 0xd0ef716b104bac0
movsxd r15, edx
mov qword [rsp + 0x148], rsi
movabs r14, 0x230f6ec11c7484f9
cdqe
bswap ax
movzx r15d, ax
mov qword [rsp + 0x150], r14
movabs r15, 0x177b1b24c239afc2
mov r12, rsi
mov qword [rsp + 0x158], r15
movsx ax, al
cbw
not ax
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
cdqe
setnp al
movabs rax, 0x17e9d9ead43ab904
movzx r12w, r9b
setge r12b
mov qword [rsp + 0x168], rax
movzx r12w, r13b
movsx ax, r15b
movsx rax, sp
movabs rax, 0xaf90d535c41d0ffd
mov qword [rsp + 0x170], rax
movsx r12d, r8w
movsx r12w, r8b
lahf
movabs rax, 0xf2ded97898f27626
movsxd r12, r14d
jmp 0x1403a8d41
mov qword [rsp + 0x178], rax
setnp r12b
movabs rax, 0x90e5a41b194eb827
jmp 0x1403a8d5c
mov qword [rsp + 0x180], rax
movabs rax, 0xf9814abe0c4a8548
mov r12b, r11b
movzx r12d, r10w
movsxd r12, edx
mov qword [rsp + 0x188], rax
movabs rax, 0x469e87a91fcaad61
mov qword [rsp + 0x190], rax
mov ah, bh
movzx rax, ax
movabs rax, 0x516cc54c8d9f586a
mov qword [rsp + 0x198], rax
not r12d
mov r12b, al
movabs rax, 0x9f20a11fed6b970b
movsx r12w, cl
xchg r12b, r12b
mov qword [rsp + 0x1a0], rax
lahf
cmovo r12d, r11d
xchg al, ah
movabs rax, 0xf6c14852f09a9ccc
mov qword [rsp + 0x1a8], rax
setl r12b
movabs rax, 0x60c699ddbde176e5
xchg r12b, r12b
jmp 0x1403a8df9
mov qword [rsp + 0x1b0], rax
mov eax, 0xd6147fc
movzx r12, r11w
movabs rax, 0xbd0a0300ef81894e
mov qword [rsp + 0x1b8], rax
movabs rax, 0x98e00c035e8dd42f
movzx r12, r14w
mov qword [rsp + 0x1c0], rax
cdqe
movabs rax, 0x9b0161460f809550
jmp 0x1403a8e49
mov qword [rsp + 0x1c8], rax
movabs rax, 0x53f629f1d39d0a89
movsx r12w, sil
not r12b
xchg r12b, r12b
mov qword [rsp + 0x1d0], rax
cbw
movsx ax, r8b
movabs rax, 0xc1ab1d414ee4452
mov r12w, 0x1e95
not r12
mov qword [rsp + 0x1d8], rax
nop
movzx rax, r9w
bswap ax
movabs rax, 0x56cdc967014bed33
bswap r12w
jmp 0x1403a8eae
mov qword [rsp + 0x1e0], rax
cwde
cbw
movabs rax, 0xf52cb39a25af5714
mov qword [rsp + 0x1e8], rax
not r12w
movabs rax, 0x128742e57f08160d
bswap r12w
not r12b
mov qword [rsp + 0x1f0], rax
movzx r12w, dil
cmovg ax, r14w
movabs rax, 0x187f5c28d0b2d536
movsxd r12, r11d
mov qword [rsp + 0x1f8], rax
lea r12, [rsp + 0x130]
cmovbe rax, r10
lahf
xchg al, ah
mov rax, r12
jmp 0x1403a8f1e
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403a8f28
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403a8f43
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403a8f4d
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403a8f5b
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403a8f68
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403a8f79
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403a8f86
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403a8f97
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403a8fa4
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403a8fb5
movaps xmm0, xmmword [rsp + 0xb0]
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403a8fd6
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403a8fe7
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403a8ff4
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403a9008
movaps xmm0, xmmword [rsp + 0xe0]
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403a9024
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403a9031
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403a904d
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403a9061
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403a906e
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x30], r13
mov eax, dword [rsp + 0x4c]
not r13
movzx r9d, r8w
bswap r8d
mov dword [rsp + 0x28], eax
cqo
movsx r8d, r15w
sete ah
mov rax, qword [rsp + 0x128]
xchg r8b, r13b
mov qword [rsp + 0x20], rax
xchg dx, r13w
mov r8b, 0x41
mov r13w, sp
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x200]
mov edx, 0x400
sete ch
bswap cx
not ch
lea r13, [rsp + 0x280]
movsxd rcx, esi
mov rcx, r13
jmp 0x1403a90e5
call fcn.1403a929d
mov rcx, qword [rsp + 0x40]
jmp 0x1403a90f4
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403a9109
mov qword [rsp + 0x50], rax
jmp 0x1403a9113
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403a9122
mov qword [rsp + 0x58], rax
movsx rax, r10w
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403a913a
mov qword [rsp + 0x60], rax
movabs rax, 0xd7bf775b167baaf
jmp 0x1403a914e
mov qword [rsp + 0x68], rax
movsx rax, r12w
lahf
cwde
movabs rax, 0x236b6ea41c06848b
jmp 0x1403a9168
mov qword [rsp + 0x70], rax
movabs rax, 0x177b1b24c239afe3
mov qword [rsp + 0x78], rax
jmp 0x1403a9181
mov qword [rsp + 0x130], rbp
jmp 0x1403a918e
mov qword [rsp + 0x138], rdi
jmp 0x1403a919b
mov qword [rsp + 0x140], rbx
jmp 0x1403a91a8
mov qword [rsp + 0x148], rsi
jmp 0x1403a91b5
mov qword [rsp + 0x150], r14
jmp 0x1403a91c2
mov qword [rsp + 0x158], r15
jmp 0x1403a91cf
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403a91e3
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403a91ed
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403a91fd
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403a9207
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
cdq
lea r8, [rsp + 0x50]
xor ecx, ecx
movsx dx, r8b
movsx rdx, r13w
mov rdx, r13
movzx r9w, spl
mov r9d, 0x10
jmp 0x1403a9236
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
cmp sp, 0x2e5d
shr r10b, 0x8f
mov r10, 0xffffffffffffffff
stc
sub edx, edx
jmp 0x1403a925a
syscall
add rsp, 0xa88
pop rbx
pop rbp
xchg dil, r14b
pop rdi
pop rsi
pop r12
mov r15, 0x54ff5b21
cmovno r15w, r8w
seta r15b
pop r13
xchg r14b, r14b
movsxd r15, r12d
mov r15b, bpl
pop r14
jmp 0x1403a9295
pop r15
jmp 0x1403a929c
ret