Function at 0x1403abf97
Capabilities:
Encrypt data using speck

Disassembly:
push r15
jmp 0x1403abfab
push r14
cmp r8b, 0x33
cmc
push r13
cmc
stc
cmp r10b, 0x86
push r12
clc
stc
push rsi
rol si, 0x26
push rdi
rcr dil, cl
push rbp
btr ebp, r12d
push rbx
sar rdi, 0x7f
sub rsp, 0xa88
not esi
rcr rsi, cl
mov rsi, rcx
add bpl, 0xe9
mov qword [rsp + 0x40], 0
jmp 0x1403abff2
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
cmp dil, 0xde
cmp ch, bl
test bpl, 0xc3
cmp dl, 1
jmp 0x1403ac018
mov qword [rsp + 0x128], r8
mov dword [rsp + 0x4c], r9d
jmp 0x1403ac02a
jne 0x1403ac101
movabs rax, 0xe7f735c197612b70
movsx ecx, r12w
bswap ecx
movsx rcx, si
mov qword [rsp + 0x130], rax
movsx rcx, r10w
mov rax, rdi
mov qword [rsp + 0x138], rax
movzx cx, dil
movsx cx, r8b
mov rcx, rbp
jmp 0x1403ac06d
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rax
movzx rax, r15w
movsxd rax, r12d
not rax
lea rax, [rsp + 0x280]
jmp 0x1403ac094
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ac0a1
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
jmp 0x1403ac0c1
mov edx, 0x40
bswap r9w
mov r9b, 0xeb
movsx r9, r8w
mov r9, rsi
jmp 0x1403ac0d9
call fcn.1403acdd6
mov ecx, 0x13ff
sete r8b
add r8d, esp
inc r8
xor edx, edx
movzx r8w, r9b
mov r8d, esi
jmp 0x1403ac0fc
jmp 0x1403ac416
mov ebx, edx
not ah
bswap ax
movabs rax, 0xe7ee358897752b65
jmp 0x1403ac117
mov qword [rsp + 0x130], rax
movsx ax, r14b
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403ac133
mov qword [rsp + 0x138], rax
movzx rax, r9w
cbw
setae al
mov rax, rbp
jmp 0x1403ac14c
mov qword [rsp + 0x280], rax
movzx rax, bx
mov eax, 0x7cf40e6e
mov rax, rdi
jmp 0x1403ac165
mov qword [rsp + 0x288], rax
movsxd rax, ebx
lea rax, [rsp + 0x280]
jmp 0x1403ac17d
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ac18a
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movsx r8, r10w
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
movzx r9, r12w
cmovge dx, ax
mov edx, 0x40
mov r9b, 0x79
movsx r9w, r10b
mov r9, rsi
jmp 0x1403ac1c6
call fcn.1403acdd6
test bl, bl
je 0x1403ac367
movzx eax, bl
cmp eax, 2
jmp 0x1403ac1de
jne 0x1403ac374
movabs r14, 0xcbf29ce484222325
mov cx, dx
not cl
mov ecx, esi
call sub.ntdll.dll_RtlNtStatusToDosError
mov r8d, eax
sbb al, 0x99
rcl r15b, cl
sbb r15d, r10d
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
sub r11b, 0x30
shr ch, 0x64
mov r11, qword [rax + 0x18]
shrd r15d, esi, 0xe2
rcr rcx, 0x7d
add r11, 0x10
movsx r15d, si
cqo
movsxd rcx, r12d
movabs rdx, 0x2cc10c8855a9a8cd
movsxd rcx, r13d
not cl
movabs r15, 0x1d12a89b9e723ff5
mov ecx, 0x1bff
jmp 0x1403ac264
cmp rax, rdx
jmp 0x1403ac25e
je 0x1403ac3ab
mov r11, qword [r11]
mov r10, qword [r11 + 0x30]
cmp r15w, 0x1a87
jmp 0x1403ac279
test r10, r10
jmp 0x1403ac281
je 0x1403ac3e6
mov r12, qword [r11 + 0x60]
mov rbx, 0xffffffffffffffff
test sil, 0x7b
clc
jmp 0x1403ac29c
nop word cs:[rax + rax]
test r8w, 0x5957
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403ac2ba
lea rbx, [rbx + 1]
jne 0x1403ac2ae
mov rax, r14
test rbx, rbx
jmp 0x1403ac2cf
je 0x1403ac256
xor esi, esi
rcl dil, 0x2d
mov rbp, r14
nop word [rax + rax]
movzx eax, word [r12 + rsi*2]
xadd di, r13w
movzx rdi, bp
movzx di, dl
lea edi, [rax - 0x41]
sub r9b, spl
lea r13d, [rax - 0x410]
sar r9b, cl
sal r9w, 0x3f
lea r9d, [rax + 0x20]
jmp 0x1403ac317
cmp r13w, 0x20
jmp 0x1403ac321
cmovb eax, r9d
test dl, 0x7b
cmp di, 0x1a
jmp 0x1403ac331
cmovb eax, r9d
cmp dl, 0xd0
movzx eax, ax
xor rax, rbp
imul rax, r15
inc esi
bt rbp, 0x22
sub bpl, 0x6e
movzx rbp, r14w
mov rbp, rax
cmp rsi, rbx
jmp 0x1403ac35c
jb 0x1403ac2e4
jmp 0x1403ac256
sub r13d, r13d
jmp 0x1403ac36f
jmp 0x1403ac454
cmp bl, 3
not r8d
sete cl
mov r8b, spl
movzx r8d, si
jmp 0x1403ac390
cmovne r8d, esi
movsxd rcx, edx
movzx cx, r8b
mov ecx, 0x13ff
jmp 0x1403ac3a6
jmp 0x1403ac40e
test r11, r11
cqo
cmove r10, r11
movzx bp, dil
mov bp, 0x14f
movsx bp, bl
mov rdx, r10
movsx rbp, r10w
movabs rbp, 0xe78235ad970d2b55
jmp 0x1403ac3d7
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ac416
movabs rbp, 0xe78235ad970d2b55
sbb dil, r10b
movzx edi, r15w
movabs rdi, 0x6cbb02d0d49b29be
test bl, r11b
movsx ax, dil
xor eax, 0x25a446ea
sub edx, edx
shl al, 0x9f
movsx eax, dx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
clc
jmp 0x1403ac426
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
jmp 0x1403ac43c
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
shl cl, 0x4c
movsxd rcx, r12d
bts ecx, r15d
lea rcx, [rsp + 0x280]
bswap r8w
mov r8d, 0x800
stc
test sil, dil
sub edx, edx
jmp 0x1403ac471
call fcn.1404a051f
movabs rax, 0xe7ed35df977f2b10
movsx ebx, si
mov qword [rsp + 0x50], rax
movabs rax, 0x6c9e02f0d4a129cc
movzx r14d, sp
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
movzx r12, r10w
mov qword [rsp + 0x60], rax
setno ah
movabs rax, 0xd2ef72cb161baac
mov qword [rsp + 0x68], rax
lahf
bswap rbx
not ax
movabs rax, 0x23396ef01c4484dc
movsx r14, r14w
mov qword [rsp + 0x70], rax
movabs rax, 0x17711b7cc255afae
movsxd r12, r9d
jmp 0x1403ac4ee
mov qword [rsp + 0x78], rax
movabs rax, 0x314846d9144fae6f
movzx rbx, r11w
xchg r14b, r14b
mov qword [rsp + 0x80], rax
mov r14d, 0x374e5942
xchg al, r12b
setbe sil
movabs rax, 0x178dd9cfd41ab93e
jmp 0x1403ac530
mov qword [rsp + 0x88], rax
cmovo rsi, rsi
bswap bx
movabs rax, 0xafe3d510c4170ff7
jmp 0x1403ac552
mov qword [rsp + 0x90], rax
cbw
mov r14b, 0xa2
mov r12b, cl
movabs rax, 0xf2b1d93b98f8762c
xchg r12b, bl
mov qword [rsp + 0x98], rax
movzx esi, bp
movabs rax, 0x9086a47a193ab849
mov r14b, 0x84
mov qword [rsp + 0xa0], rax
movabs rax, 0xf9f44acd0c6a853c
movzx r15d, r13w
setne sil
mov qword [rsp + 0xa8], rax
jmp 0x1403ac5ae
movabs rax, 0x46ec87c61fbaad11
mov r15w, r13w
mov qword [rsp + 0xb0], rax
movsx rax, r9w
movabs rax, 0x5102c52d8dbf581e
movsx r15d, r14w
movzx r15, r10w
mov qword [rsp + 0xb8], rax
not r12d
movabs rax, 0x9f52a16fed4b976f
cmovb bx, r10w
mov bx, cx
movzx r14w, r13b
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
xchg r12, rbx
mov qword [rsp + 0xc8], rax
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
jmp 0x1403ac636
movabs rax, 0xbd6f0372efe2893d
xchg bl, r12b
mov sil, r11b
mov qword [rsp + 0xd8], rax
jmp 0x1403ac653
movabs rax, 0x98880c705ee3d44a
bswap r15
jmp 0x1403ac669
mov qword [rsp + 0xe0], rax
movabs rax, 0x9b7661660ff4953f
bswap si
mov qword [rsp + 0xe8], rax
movzx rsi, di
xchg al, ah
movabs rax, 0x53d62999d3e90ae0
jmp 0x1403ac6a5
mov qword [rsp + 0xf0], rax
bswap r15d
movsx bx, r15b
jmp 0x1403ac6ba
movabs rax, 0xc69b1bd14864426
movsx r12w, r12b
xchg bh, bl
mov r12, r9
mov qword [rsp + 0xf8], rax
jmp 0x1403ac6df
movabs rax, 0x56abc9090122ed13
not r14w
cmovg rsi, rdi
mov qword [rsp + 0x100], rax
mov si, r9w
bswap r12
seta r15b
movabs rax, 0xf54db3f725dd577b
bswap r15w
jmp 0x1403ac717
mov qword [rsp + 0x108], rax
cwde
movsx r15d, r14w
jmp 0x1403ac729
movabs rax, 0x12e9428a7f611679
bswap r15w
movzx r15, sp
mov qword [rsp + 0x110], rax
cwde
movzx rsi, r12w
cmova r12w, r10w
movabs rax, 0x187f5c28d0b2d517
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x130], rbp
lahf
movzx eax, bx
movzx r15, di
mov qword [rsp + 0x138], rdi
movsx r12w, r12b
movabs rbx, 0xbbeab153fb5d239f
mov qword [rsp + 0x140], rbx
cdqe
movabs rsi, 0xd0ef716b104bac0
setae al
mov qword [rsp + 0x148], rsi
bswap r14
movzx r15d, di
mov ah, 0xe8
movabs r14, 0x230f6ec11c7484f9
movzx rax, cx
movsx r15, r14w
mov qword [rsp + 0x150], r14
movsx r12, sp
movsxd rax, r9d
xchg r15w, r12w
movabs r15, 0x177b1b24c239afc2
not r12d
mov r12b, bl
mov qword [rsp + 0x158], r15
cbw
lahf
mov eax, ebx
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
movsx r12w, dl
movsx rax, ax
cbw
movabs rax, 0x17e9d9ead43ab904
movsxd r12, r14d
movsx r12, r8w
mov r12b, cl
mov qword [rsp + 0x168], rax
movabs rax, 0xaf90d535c41d0ffd
setp r12b
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
mov qword [rsp + 0x178], rax
movsx r12, r9w
cmovnp ax, r12w
movabs rax, 0x90e5a41b194eb827
movzx r12, dx
movsxd r12, ebx
mov qword [rsp + 0x180], rax
mov r12w, 0x20f4
mov al, dil
movabs rax, 0xf9814abe0c4a8548
bswap r12d
not r12b
mov qword [rsp + 0x188], rax
movabs rax, 0x469e87a91fcaad61
mov r12d, 0x644d09c5
not r12w
mov qword [rsp + 0x190], rax
cdqe
movabs rax, 0x516cc54c8d9f586a
movsx r12w, r10b
not r12b
mov qword [rsp + 0x198], rax
movsxd r12, edi
mov r12b, cl
movabs rax, 0x9f20a11fed6b970b
mov qword [rsp + 0x1a0], rax
not r12b
movzx ax, r8b
bswap r12d
movabs rax, 0xf6c14852f09a9ccc
xchg r12b, r12b
movzx r12, bp
mov qword [rsp + 0x1a8], rax
movabs rax, 0x60c699ddbde176e5
setae r12b
mov qword [rsp + 0x1b0], rax
movabs rax, 0xbd0a0300ef81894e
movzx r12, r10w
mov r12b, 0xbb
mov qword [rsp + 0x1b8], rax
cmove r12w, di
seto al
not r12b
movabs rax, 0x98e00c035e8dd42f
movzx r12w, r8b
mov qword [rsp + 0x1c0], rax
movabs rax, 0x9b0161460f809550
mov qword [rsp + 0x1c8], rax
movabs rax, 0x53f629f1d39d0a89
movzx r12d, bx
mov qword [rsp + 0x1d0], rax
mov al, r9b
movabs rax, 0xc1ab1d414ee4452
mov r12b, 0x97
jmp 0x1403ac996
mov qword [rsp + 0x1d8], rax
movsxd rax, esp
lahf
movsx r12, r13w
movabs rax, 0x56cdc967014bed33
xchg r12d, r12d
mov qword [rsp + 0x1e0], rax
movsx r12, r9w
movabs rax, 0xf52cb39a25af5714
mov r12w, r8w
mov r12b, 0xb1
mov qword [rsp + 0x1e8], rax
movsx ax, r10b
movzx r12w, spl
movabs rax, 0x128742e57f08160d
movzx r12d, r9w
mov r12w, r15w
mov r12w, 0x1e13
mov qword [rsp + 0x1f0], rax
mov r12w, sp
movsx r12w, r10b
movzx eax, cx
movabs rax, 0x187f5c28d0b2d536
movzx r12w, r13b
cmovg r12w, ax
movsxd r12, r11d
mov qword [rsp + 0x1f8], rax
lea r12, [rsp + 0x130]
bswap rax
mov rax, r12
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403aca44
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403aca51
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403aca5b
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403aca69
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403aca73
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403aca89
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403acaa2
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403acabb
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403acacc
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403acad9
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403acaea
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403acaf7
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403acb08
movaps xmm0, xmmword [rsp + 0xd0]
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403acb2c
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403acb40
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403acb5c
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403acb69
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403acb7d
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403acb8a
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
xchg r8w, r8w
cdq
cbw
mov qword [rsp + 0x30], r13
movzx rdx, r12w
cdqe
movsxd r13, edx
mov eax, dword [rsp + 0x4c]
movzx r13, r8w
movsx r9, bp
mov dword [rsp + 0x28], eax
cmovle r8d, ebp
mov rax, qword [rsp + 0x128]
movsx r9d, r9w
movsxd r8, r8d
not r13d
mov qword [rsp + 0x20], rax
movsx r8d, bp
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x200]
movzx r13, r13w
movsx rdx, r11w
mov edx, 0x400
movzx ecx, r15w
lea r13, [rsp + 0x280]
movsx rcx, r15w
mov rcx, r13
jmp 0x1403acc0f
call fcn.1403acdd6
mov rcx, qword [rsp + 0x40]
jmp 0x1403acc1e
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403acc33
mov qword [rsp + 0x50], rax
movsx ax, dil
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403acc4c
mov qword [rsp + 0x58], rax
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403acc60
mov qword [rsp + 0x60], rax
cmovns ax, r14w
movabs rax, 0xd7bf775b167baaf
jmp 0x1403acc79
mov qword [rsp + 0x68], rax
cwde
bswap rax
movabs rax, 0x236b6ea41c06848b
mov qword [rsp + 0x70], rax
bswap ax
movabs rax, 0x177b1b24c239afe3
jmp 0x1403acca3
mov qword [rsp + 0x78], rax
jmp 0x1403accad
mov qword [rsp + 0x130], rbp
jmp 0x1403accba
mov qword [rsp + 0x138], rdi
jmp 0x1403accc7
mov qword [rsp + 0x140], rbx
jmp 0x1403accd4
mov qword [rsp + 0x148], rsi
jmp 0x1403acce1
mov qword [rsp + 0x150], r14
jmp 0x1403accee
mov qword [rsp + 0x158], r15
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403acd00
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403acd0f
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403acd19
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403acd29
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403acd33
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
bts rdx, r8
cdq
stc
lea r8, [rsp + 0x50]
xor ecx, ecx
bswap r9d
seta r9b
mov rdx, r13
movsx r9, si
jmp 0x1403acd62
mov r9d, 0x10
jmp 0x1403acd6d
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
mov r10, 0xffffffffffffffff
stc
sub edx, edx
jmp 0x1403acd88
syscall
add rsp, 0xa88
bswap r13w
movsx r14d, bp
mov r14w, 0x1fa1
pop rbx
mov rbp, r9
pop rbp
movsx r12d, cx
pop rdi
bswap r14w
pop rsi
cmovnp r13d, ebx
pop r12
movsx r15w, r10b
pop r13
cmovbe r15w, r13w
movsx r14d, r15w
pop r14
movsx r15d, dx
movzx r15w, bpl
pop r15
jmp 0x1403acdd5
ret