Function at 0x1403aff5a
Capabilities:
Encrypt data using speck

Disassembly:
push r15
stc
push r14
stc
push r13
push r12
test r15w, 0x4c84
cmc
push rsi
cmovb si, r11w
shr si, cl
push rdi
ror dil, cl
push rbp
or si, r10w
push rbx
movzx rdi, r11w
shl sil, cl
add bpl, bpl
sub rsp, 0xa88
movsx si, dl
mov rsi, rcx
stc
clc
ror bpl, cl
mov qword [rsp + 0x40], 0
mov rbp, rdx
btr bp, 0xbf
movabs rbp, 0xe78235ad970d2b55
rcl di, 0xca
movzx rdi, r9w
movabs rdi, 0x6cbb02d0d49b29be
clc
cmp dl, 1
jmp 0x1403affd1
mov qword [rsp + 0x128], r8
jmp 0x1403affde
mov dword [rsp + 0x4c], r9d
jmp 0x1403affe8
jne 0x1403b00ad
movabs rax, 0xe7f735c197612b70
mov qword [rsp + 0x130], rax
jmp 0x1403b0005
mov rax, rdi
movsxd rcx, r13d
mov qword [rsp + 0x138], rax
movsx ecx, r14w
cmove cx, sp
mov rcx, rbp
jmp 0x1403b0023
mov qword [rsp + 0x280], rcx
jmp 0x1403b0030
mov qword [rsp + 0x288], rax
lahf
cwde
xchg al, ah
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b0051
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
bswap r9
movzx r9w, dl
movzx rdx, si
lea rcx, [rsp + 0x200]
cmova r8d, esp
mov dl, 0x1a
movsx rdx, ax
lea r8, [rsp + 0x130]
mov edx, 0x40
xchg r9b, r9b
mov r9, rsi
jmp 0x1403b0092
call fcn.1403b0d7b
mov ecx, 0x13ff
sub edx, edx
not r8b
movzx r8d, bp
mov r8d, esi
jmp 0x1403b03b4
mov ebx, edx
movabs rax, 0xe7ee358897752b65
jmp 0x1403b00be
mov qword [rsp + 0x130], rax
mov al, spl
movsx ax, r12b
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403b00dd
mov qword [rsp + 0x138], rax
lahf
cbw
movzx rax, bp
mov rax, rbp
jmp 0x1403b00f4
mov qword [rsp + 0x280], rax
mov rax, rdi
jmp 0x1403b0104
mov qword [rsp + 0x288], rax
mov ah, 0x4a
movsx rax, si
lea rax, [rsp + 0x280]
jmp 0x1403b0120
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b012d
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
not r8b
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
movzx dx, spl
mov edx, 0x40
movsxd r9, esp
mov r9, rsi
jmp 0x1403b0160
call fcn.1403b0d7b
test bl, bl
je 0x1403b0314
movzx eax, bl
clc
cmp eax, 2
jmp 0x1403b0179
jne 0x1403b0321
movabs r14, 0xcbf29ce484222325
cmovl ecx, r9d
mov ecx, esi
jmp 0x1403b0194
call fcn.1402693cd
mov r8d, eax
xor dl, bpl
mov rax, qword gs:[0x30]
rcl r15, cl
mov rax, qword [rax + 0x60]
cmp spl, r8b
add dx, 0x4c90
xor r15, rbp
mov r11, qword [rax + 0x18]
adc cl, r12b
cqo
add r11, 0x10
movabs rdx, 0x2cc10c8855a9a8cd
movzx cx, r13b
setnp ch
mov r15b, 0x63
movabs r15, 0x1d12a89b9e723ff5
mov ecx, 0x1bff
jmp 0x1403b01f0
jmp 0x1403b0203
cmp rax, rdx
jmp 0x1403b01fd
je 0x1403b0344
mov r11, qword [r11]
mov r10, qword [r11 + 0x30]
test r10, r10
jmp 0x1403b0212
je 0x1403b0393
mov r12, qword [r11 + 0x60]
mov rbx, 0xffffffffffffffff
jmp 0x1403b0228
nop word cs:[rax + rax]
test sil, 0x30
stc
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403b0245
lea rbx, [rbx + 1]
jmp 0x1403b024e
jne 0x1403b0239
mov rax, r14
stc
clc
test rbx, rbx
jmp 0x1403b0261
je 0x1403b01f5
sub esi, esi
lahf
shld r9w, sp, 0x87
mov rbp, r14
setbe dil
bsr di, ax
mov r9d, ebx
nop word [rax + rax]
xor r13b, spl
xchg edi, eax
rcl r9w, cl
movzx eax, word [r12 + rsi*2]
xchg r9w, r9w
sar r9b, 0x8f
shr r9b, 0x29
lea edi, [rax - 0x41]
bt r13w, r13w
movsx r9, r9w
lea r13d, [rax - 0x410]
lea r9d, [rax + 0x20]
cmp r13w, 0x20
jmp 0x1403b02be
cmovb eax, r9d
cmp bl, 0x26
test bpl, r13b
cmp di, 0x1a
jmp 0x1403b02d1
cmovb eax, r9d
movzx eax, ax
cmp r15b, 0x63
stc
test r9b, al
xor rax, rbp
movzx bp, cl
imul rax, r15
inc esi
dec bpl
shrd rbp, rdi, 0xf7
sbb rbp, 0x2ad01ac
mov rbp, rax
cmp r14w, r14w
test r15d, r8d
cmp rsi, rbx
jb 0x1403b028c
jmp 0x1403b01f5
xor r13d, r13d
jmp 0x1403b031c
jmp 0x1403b03f8
cmp bl, 3
movzx r8d, si
movzx ecx, r8w
movsx rcx, si
cmovne r8d, esi
movsxd rcx, r13d
bswap cx
mov ecx, 0x13ff
jmp 0x1403b03b2
test r11, r11
movzx di, dl
cmove r10, r11
mov dil, 0x19
movzx edi, r9w
not rdx
mov rdx, r10
movsx bp, cl
mov bp, 0x308
movsxd rdi, r10d
movabs rbp, 0xe78235ad970d2b55
movsx di, bpl
movzx di, r10b
cmovns rdi, r8
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b038e
jmp 0x1403b03b4
movabs rbp, 0xe78235ad970d2b55
test spl, 0xb0
bsr rax, r14
btr eax, esp
movabs rdi, 0x6cbb02d0d49b29be
sub edx, edx
lea rax, [rsp + 0x40]
test rsp, rbx
mov qword [rsp + 0x20], rax
clc
jmp 0x1403b03c8
mov qword [rsp + 0x30], 0
jmp 0x1403b03d6
mov dword [rsp + 0x28], 0
xor r9d, r9d
jmp 0x1403b03e6
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
mov rcx, 0x3b156132
lea rcx, [rsp + 0x280]
mov r8b, 0x3d
mov r8d, 0x800
jmp 0x1403b040e
xor edx, edx
call fcn.1404a4df5
movabs rax, 0xe7ed35df977f2b10
movzx r12w, r11b
movzx rsi, ax
movsx r14w, bpl
mov qword [rsp + 0x50], rax
movabs rax, 0x6c9e02f0d4a129cc
movsx r14w, bl
xchg bx, si
seta r14b
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
bswap rbx
movzx si, r11b
mov qword [rsp + 0x60], rax
mov r12w, r12w
xchg sil, r15b
movabs rax, 0xd2ef72cb161baac
cmovp r14w, di
setne r12b
mov qword [rsp + 0x68], rax
movabs rax, 0x23396ef01c4484dc
cmovle r14, r11
mov qword [rsp + 0x70], rax
movabs rax, 0x17711b7cc255afae
mov qword [rsp + 0x78], rax
movabs rax, 0x314846d9144fae6f
setl bl
movzx r12w, r13b
cmovae bx, sp
mov qword [rsp + 0x80], rax
cbw
movabs rax, 0x178dd9cfd41ab93e
movzx r15, r14w
cmovne r12, rsp
mov qword [rsp + 0x88], rax
jmp 0x1403b04e4
movabs rax, 0xafe3d510c4170ff7
movsxd r14, r15d
movzx r12w, bl
mov qword [rsp + 0x90], rax
movsxd rax, ebp
movabs rax, 0xf2b1d93b98f8762c
movsxd rbx, r10d
mov qword [rsp + 0x98], rax
not r12b
movzx r15, r8w
bswap ax
movabs rax, 0x9086a47a193ab849
setbe r14b
not sil
mov qword [rsp + 0xa0], rax
jmp 0x1403b0547
movabs rax, 0xf9f44acd0c6a853c
mov r14b, 0xd
movsxd rbx, r8d
movzx rbx, r15w
mov qword [rsp + 0xa8], rax
setnp bl
not r12d
movabs rax, 0x46ec87c61fbaad11
movzx r14d, bx
movzx r12w, spl
jmp 0x1403b0581
mov qword [rsp + 0xb0], rax
movzx r14d, r9w
bswap esi
movzx r12, r11w
movabs rax, 0x5102c52d8dbf581e
movzx r14w, dl
movsx r12w, r9b
mov qword [rsp + 0xb8], rax
movabs rax, 0x9f52a16fed4b976f
movzx r15w, r9b
movsx r12, di
mov r12b, 0x22
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
movzx rbx, r13w
mov qword [rsp + 0xc8], rax
cwde
movabs rax, 0x60e699bcbdc17680
movsx rsi, si
bswap si
not bx
mov qword [rsp + 0xd0], rax
movzx r14, r10w
movsx eax, r12w
movzx esi, dx
movabs rax, 0xbd6f0372efe2893d
movsx r12, r15w
xchg r12w, r12w
movsxd rbx, eax
mov qword [rsp + 0xd8], rax
movabs rax, 0x98880c705ee3d44a
xchg r15d, r12d
setp r12b
movzx r12d, r10w
mov qword [rsp + 0xe0], rax
cdqe
movabs rax, 0x9b7661660ff4953f
mov si, r13w
mov qword [rsp + 0xe8], rax
lahf
movsxd r12, r9d
movabs rax, 0x53d62999d3e90ae0
movzx r12d, si
xchg r15b, r14b
mov qword [rsp + 0xf0], rax
movsx r12d, r9w
movabs rax, 0xc69b1bd14864426
mov qword [rsp + 0xf8], rax
mov rsi, r12
setne al
movzx r15w, sil
movabs rax, 0x56abc9090122ed13
movzx rsi, si
mov qword [rsp + 0x100], rax
movabs rax, 0xf54db3f725dd577b
mov qword [rsp + 0x108], rax
movzx bx, r14b
mov al, dh
not rbx
movabs rax, 0x12e9428a7f611679
movzx esi, r8w
xchg bx, si
mov qword [rsp + 0x110], rax
movabs rax, 0x187f5c28d0b2d517
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x130], rbp
mov ax, cx
mov qword [rsp + 0x138], rdi
cmovno r14, r12
movabs rbx, 0xbbeab153fb5d239f
mov r12b, 0x22
mov qword [rsp + 0x140], rbx
movzx si, bl
movabs rsi, 0xd0ef716b104bac0
mov qword [rsp + 0x148], rsi
movsx r14, r12w
movabs r14, 0x230f6ec11c7484f9
movzx ax, bh
cbw
mov qword [rsp + 0x150], r14
xchg al, al
cmovle ax, si
movsxd r12, ebp
movabs r15, 0x177b1b24c239afc2
movzx r12w, r9b
mov qword [rsp + 0x158], r15
mov al, r10b
movabs rax, 0x312d46b71426ae23
movsx r12d, cx
movsx r12, r12w
jmp 0x1403b0790
mov qword [rsp + 0x160], rax
movzx rax, di
movabs rax, 0x17e9d9ead43ab904
bswap r12d
movsx r12w, r13b
xchg r12b, r12b
mov qword [rsp + 0x168], rax
setae r12b
jmp 0x1403b07c2
movabs rax, 0xaf90d535c41d0ffd
jmp 0x1403b07d4
mov qword [rsp + 0x170], rax
movsx eax, sp
bswap r12d
movabs rax, 0xf2ded97898f27626
mov qword [rsp + 0x178], rax
movzx eax, ax
jmp 0x1403b07fc
movabs rax, 0x90e5a41b194eb827
movzx r12, sp
movsx r12w, r13b
movsx r12d, si
mov qword [rsp + 0x180], rax
lahf
movabs rax, 0xf9814abe0c4a8548
movsx r12, bp
xchg r12b, r12b
mov qword [rsp + 0x188], rax
movabs rax, 0x469e87a91fcaad61
not r12b
jmp 0x1403b0847
mov qword [rsp + 0x190], rax
mov r12b, cl
movabs rax, 0x516cc54c8d9f586a
mov r12b, r12b
movsxd r12, esi
movzx r12d, ax
mov qword [rsp + 0x198], rax
cwde
movzx r12w, r9b
movsx r12w, r13b
movabs rax, 0x9f20a11fed6b970b
cmovl r12d, ebx
mov qword [rsp + 0x1a0], rax
movsx ax, bl
mov ax, bx
movabs rax, 0xf6c14852f09a9ccc
not r12b
mov qword [rsp + 0x1a8], rax
cmovne eax, r14d
movabs rax, 0x60c699ddbde176e5
not r12b
movzx r12d, ax
movsx r12w, sil
mov qword [rsp + 0x1b0], rax
movabs rax, 0xbd0a0300ef81894e
movsx r12, bx
mov qword [rsp + 0x1b8], rax
movzx rax, dx
movabs rax, 0x98e00c035e8dd42f
cmovbe r12d, ebx
mov qword [rsp + 0x1c0], rax
mov al, r9b
mov ah, 0xea
movzx rax, r8w
movabs rax, 0x9b0161460f809550
mov qword [rsp + 0x1c8], rax
movzx eax, r12w
movsx eax, dx
lahf
movabs rax, 0x53f629f1d39d0a89
movsx r12d, si
movzx r12, r10w
mov r12b, 0x15
mov qword [rsp + 0x1d0], rax
movabs rax, 0xc1ab1d414ee4452
movsx r12, sp
jmp 0x1403b0956
mov qword [rsp + 0x1d8], rax
not r12b
lahf
movabs rax, 0x56cdc967014bed33
movsx r12w, al
mov qword [rsp + 0x1e0], rax
mov r12w, 0x7597
movzx r12d, sp
movabs rax, 0xf52cb39a25af5714
setnp r12b
mov r12b, dl
movsx r12, bx
mov qword [rsp + 0x1e8], rax
not r12
movzx r12, r10w
movabs rax, 0x128742e57f08160d
mov qword [rsp + 0x1f0], rax
cmovge r12d, esp
movabs rax, 0x187f5c28d0b2d536
movzx r12d, sp
xchg r12b, r12b
movsx r12d, r13w
mov qword [rsp + 0x1f8], rax
cwde
lea r12, [rsp + 0x130]
jmp 0x1403b09ea
mov rax, r12
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b09f7
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b0a04
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b0a0e
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
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403b0a32
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403b0a43
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403b0a50
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b0a61
movaps xmm0, xmmword [rsp + 0xa0]
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403b0a7a
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403b0a87
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403b0a98
movaps xmm0, xmmword [rsp + 0xc0]
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403b0ab1
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b0abe
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403b0ad2
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b0adf
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403b0af3
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403b0b0f
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403b0b1c
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403b0b30
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403b0b3d
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
mov cx, r10w
bswap r8
mov qword [rsp + 0x30], r13
rdtsc
cmovae r9d, r13d
setns ch
mov eax, dword [rsp + 0x4c]
mov r13, 0x54b1629b
cwd
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x128]
setg r8b
cwd
mov qword [rsp + 0x20], rax
not r13w
movzx dx, al
lea r8, [rsp + 0x50]
cdq
movsx cx, r10b
movsxd r9, ebp
lea r9, [rsp + 0x200]
movsx cx, r9b
not rcx
cqo
mov edx, 0x400
mov cl, 0xd0
jmp 0x1403b0bbd
lea r13, [rsp + 0x280]
movzx ecx, r9w
movsx rcx, bx
cmovbe rcx, r8
mov rcx, r13
jmp 0x1403b0bd9
call fcn.1403b0d7b
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
mov qword [rsp + 0x50], rax
mov ah, 0x4b
bswap rax
movzx rax, r8w
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403b0c11
mov qword [rsp + 0x58], rax
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403b0c25
mov qword [rsp + 0x60], rax
setns ah
not ah
movabs rax, 0xd7bf775b167baaf
jmp 0x1403b0c3e
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
jmp 0x1403b0c52
mov qword [rsp + 0x70], rax
movsxd rax, esi
movabs rax, 0x177b1b24c239afe3
mov qword [rsp + 0x78], rax
jmp 0x1403b0c6e
mov qword [rsp + 0x130], rbp
mov qword [rsp + 0x138], rdi
jmp 0x1403b0c83
mov qword [rsp + 0x140], rbx
jmp 0x1403b0c90
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x150], r14
jmp 0x1403b0ca5
mov qword [rsp + 0x158], r15
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b0cb7
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b0ccb
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b0cdb
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b0ce5
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x50]
sub ecx, ecx
movzx rdx, sp
movsx r9, r11w
movsx edx, r13w
mov rdx, r13
movzx r9, ax
mov r9d, 0x10
jmp 0x1403b0d15
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
clc
mov r10, 0xffffffffffffffff
cmc
cmp r15b, 0xec
clc
sub edx, edx
jmp 0x1403b0d36
syscall
add rsp, 0xa88
cmovge r13, r9
pop rbx
mov sil, 0x45
pop rbp
movsx r12d, di
not r12d
pop rdi
movzx esi, r14w
pop rsi
jmp 0x1403b0d60
pop r12
movsxd r14, ebx
movzx r13d, bx
mov r13d, r8d
pop r13
pop r14
not r15w
movzx r15, r13w
pop r15
ret