Function at 0x1403b08dd
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmc
push r14
cmp r14d, 0x1c992522
test r11b, dl
push r13
clc
push r12
stc
push rsi
movsx rsi, bp
push rdi
add esi, r11d
and dil, 0xd8
sal sil, 0x6f
push rbp
push rbx
bts bp, dx
ror si, cl
sub rsp, 0xa88
inc bpl
shld di, r10w, 0xcb
rcl sil, cl
mov rsi, rcx
rcl dil, 0x25
shld bp, r14w, 0xd2
movsx rbp, r10w
mov qword [rsp + 0x40], 0
shr dil, 0xf4
bt di, 0xd7
shr bpl, cl
movabs rbp, 0xe78235ad970d2b55
btr di, r15w
rcr di, 0x6b
or di, 0x3a2e
movabs rdi, 0x6cbb02d0d49b29be
stc
clc
cmp r10b, al
cmp dl, 1
mov qword [rsp + 0x128], r8
jmp 0x1403b097c
mov dword [rsp + 0x4c], r9d
jmp 0x1403b0986
jne 0x1403b0a54
movabs rax, 0xe7f735c197612b70
not cx
mov cl, r15b
mov qword [rsp + 0x130], rax
cwde
mov rax, rdi
mov cl, r8b
jmp 0x1403b09b0
mov qword [rsp + 0x138], rax
movsx rcx, r9w
mov rcx, rbp
mov qword [rsp + 0x280], rcx
jmp 0x1403b09cc
mov qword [rsp + 0x288], rax
bswap ax
cmovno ax, r10w
lea rax, [rsp + 0x280]
jmp 0x1403b09e9
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b09f6
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movsx r9w, bpl
xchg r9b, cl
setp ch
lea rcx, [rsp + 0x200]
xchg r8w, r8w
mov edx, 0x2e431328
lea r8, [rsp + 0x130]
mov edx, 0x40
mov r9, rsi
jmp 0x1403b0a32
call fcn.1403b16c9
mov ecx, 0x13ff
sub edx, edx
movzx r8w, r15b
mov r8w, dx
mov r8d, esi
jmp 0x1403b0a4f
jmp 0x1403b0d35
mov ebx, edx
cdqe
movabs rax, 0xe7ee358897752b65
jmp 0x1403b0a67
mov qword [rsp + 0x130], rax
movsx rax, r9w
movabs rax, 0x6cbb02d0d4c329d2
mov qword [rsp + 0x138], rax
movzx rax, bp
xchg ah, ah
mov rax, rbp
mov qword [rsp + 0x280], rax
mov rax, 0x4c38437a
mov rax, rdi
jmp 0x1403b0aa5
mov qword [rsp + 0x288], rax
movsx rax, r11w
cwde
lea rax, [rsp + 0x280]
jmp 0x1403b0abf
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b0acc
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
jmp 0x1403b0adc
lea rcx, [rsp + 0x200]
movzx r8w, r8b
bswap r9w
movzx rdx, r13w
lea r8, [rsp + 0x130]
mov edx, 0x40
mov r9d, 0x221849fa
movzx r9w, spl
mov r9, rsi
jmp 0x1403b0b11
call fcn.1403b16c9
test bl, bl
jmp 0x1403b0b1d
je 0x1403b0cab
movzx eax, bl
clc
cmp eax, 2
jmp 0x1403b0b2f
jne 0x1403b0cb8
movabs r14, 0xcbf29ce484222325
mov ecx, esi
call fcn.1401d4311
mov r8d, eax
stc
sal ch, 0xfc
mov r11b, dil
mov rax, qword gs:[0x30]
sub r11b, 0xb1
sal r11b, cl
bswap cx
mov rax, qword [rax + 0x60]
sal r11d, cl
cmc
mov r11, qword [rax + 0x18]
add r11, 0x10
movabs rdx, 0x2cc10c8855a9a8cd
jmp 0x1403b0b85
movabs r15, 0x1d12a89b9e723ff5
mov ecx, 0x1bff
jmp 0x1403b0b99
jmp 0x1403b0bac
cmp rax, rdx
jmp 0x1403b0ba6
je 0x1403b0ce1
mov r11, qword [r11]
adc r10, 0x1ecb1a10
movzx r10, si
mov r10, qword [r11 + 0x30]
clc
cmp ch, 0x33
test r10, r10
jmp 0x1403b0bca
je 0x1403b0d15
mov r12, qword [r11 + 0x60]
movsx ebx, si
mov rbx, 0xffffffffffffffff
test dil, 0xb3
nop word cs:[rax + rax]
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403b0bfe
jne 0x1403b0bee
mov rax, r14
test rbx, rbx
jmp 0x1403b0c0f
je 0x1403b0b9e
xor esi, esi
ror rdi, 0xbe
rcl r9b, 2
mov rbp, r14
nop word [rax + rax]
btc rdi, rsi
cmovle ax, si
movzx eax, word [r12 + rsi*2]
xor r9, 0x6a756d49
xchg r13b, dil
lea edi, [rax - 0x41]
stc
lea r13d, [rax - 0x410]
not r9
clc
lea r9d, [rax + 0x20]
cmp r13w, 0x20
jmp 0x1403b0c5c
cmovb eax, r9d
jmp 0x1403b0c68
cmp di, 0x1a
jmp 0x1403b0c71
cmovb eax, r9d
movzx eax, ax
xor rax, rbp
and bpl, 0x9f
imul rax, r15
jmp 0x1403b0c8b
inc esi
bsr rbp, r11
xor bpl, 0xb0
mov rbp, rax
cmp rsi, rbx
jmp 0x1403b0ca0
jb 0x1403b0c30
jmp 0x1403b0b9e
sub r13d, r13d
jmp 0x1403b0cb3
jmp 0x1403b0d72
cmp bl, 3
movzx r8d, si
mov ch, 0x72
bswap cx
movsxd rcx, r15d
cmovne r8d, esi
movzx ecx, bx
movsxd rcx, r13d
mov ecx, 0x13ff
jmp 0x1403b0cdc
jmp 0x1403b0d30
test r11, r11
cmove di, di
not bpl
cmove r10, r11
bswap edi
mov rdx, r10
not di
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b0d10
jmp 0x1403b0d35
movabs rbp, 0xe78235ad970d2b55
sal al, 0x96
movabs rdi, 0x6cbb02d0d49b29be
and ax, 0x40ae
sub edx, edx
shr ax, cl
lea rax, [rsp + 0x40]
cmp r15, r9
mov qword [rsp + 0x20], rax
test r14d, eax
cmp esp, esp
mov qword [rsp + 0x30], 0
cmp di, r9w
stc
mov dword [rsp + 0x28], 0
sub r9d, r9d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
sal ch, cl
movzx cx, r12b
lea rcx, [rsp + 0x280]
and r8d, 0x1000212f
setp r8b
mov r8d, 0x800
cmp rcx, 0x781a0932
jmp 0x1403b0d97
xor edx, edx
jmp 0x1403b0d9e
call fcn.1404a4b72
movabs rax, 0xe7ed35df977f2b10
movzx ebx, si
mov qword [rsp + 0x50], rax
movzx r12, bp
cwde
movsx r12w, dl
movabs rax, 0x6c9e02f0d4a129cc
xchg r14b, r12b
movzx r12w, bl
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
not bl
movsx rsi, si
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
mov rbx, 0x3e3213d2
mov qword [rsp + 0x68], rax
movabs rax, 0x23396ef01c4484dc
movzx r12w, spl
xchg r14, rbx
mov qword [rsp + 0x70], rax
movsx rax, r15w
movabs rax, 0x17711b7cc255afae
mov qword [rsp + 0x78], rax
lahf
movzx si, r12b
jmp 0x1403b0e36
movabs rax, 0x314846d9144fae6f
movzx r12d, dx
movsx r15, r9w
mov qword [rsp + 0x80], rax
movzx eax, r15w
mov bx, 0x3fce
movsx r15, r12w
movabs rax, 0x178dd9cfd41ab93e
movsx rbx, dx
mov qword [rsp + 0x88], rax
movsxd rsi, ecx
cwde
movabs rax, 0xafe3d510c4170ff7
movsx r14w, r8b
movzx r12w, spl
mov qword [rsp + 0x90], rax
movsx r15, r8w
movabs rax, 0xf2b1d93b98f8762c
mov qword [rsp + 0x98], rax
movzx esi, ax
movabs rax, 0x9086a47a193ab849
movsx r14w, r11b
xchg sil, r12b
movsx r14d, sp
mov qword [rsp + 0xa0], rax
jmp 0x1403b0ed1
movabs rax, 0xf9f44acd0c6a853c
movsx rbx, si
mov qword [rsp + 0xa8], rax
setl bl
movsx r12w, r10b
cwde
movabs rax, 0x46ec87c61fbaad11
movzx r12d, di
movzx r12w, bl
mov qword [rsp + 0xb0], rax
movabs rax, 0x5102c52d8dbf581e
movzx r15d, r11w
movsx r14d, ax
movsx r15w, dil
mov qword [rsp + 0xb8], rax
xchg si, r14w
jmp 0x1403b0f33
movabs rax, 0x9f52a16fed4b976f
mov bx, si
mov qword [rsp + 0xc0], rax
seto r14b
movabs rax, 0xf6a5483bf0ec9ca3
mov qword [rsp + 0xc8], rax
cwde
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
mov sil, dil
movzx r12w, r8b
xchg r15, rax
movabs rax, 0xbd6f0372efe2893d
movsx r14, bp
jmp 0x1403b0f92
mov qword [rsp + 0xd8], rax
setl r15b
cwde
movzx eax, bp
movabs rax, 0x98880c705ee3d44a
jmp 0x1403b0fb1
mov qword [rsp + 0xe0], rax
movabs rax, 0x9b7661660ff4953f
bswap esi
not r15b
mov qword [rsp + 0xe8], rax
cdqe
movabs rax, 0x53d62999d3e90ae0
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
mov r14w, 0x7fb6
movzx si, r12b
movzx rbx, r10w
mov qword [rsp + 0xf8], rax
not r15b
cdqe
movzx ebx, si
movabs rax, 0x56abc9090122ed13
mov qword [rsp + 0x100], rax
mov r12, rsp
movabs rax, 0xf54db3f725dd577b
movsx r15, r12w
movzx r14, cx
mov qword [rsp + 0x108], rax
movabs rax, 0x12e9428a7f611679
cmovns r15d, ebx
jmp 0x1403b104e
mov qword [rsp + 0x110], rax
bswap r12w
cbw
movzx r12d, di
movabs rax, 0x187f5c28d0b2d517
movzx si, r9b
movsx r15, r13w
mov qword [rsp + 0x118], rax
cmovne r12w, bx
mov qword [rsp + 0x130], rbp
bswap r14
movsx rsi, di
cdqe
mov qword [rsp + 0x138], rdi
cmovbe bx, r9w
movabs rbx, 0xbbeab153fb5d239f
mov r14w, 0x4fb4
movzx ax, spl
movzx esi, sp
mov qword [rsp + 0x140], rbx
not r14
movsx r12d, r10w
movzx rsi, r14w
movabs rsi, 0xd0ef716b104bac0
mov qword [rsp + 0x148], rsi
cwde
movsx r15d, di
not r15d
movabs r14, 0x230f6ec11c7484f9
xchg al, al
bswap r15d
mov qword [rsp + 0x150], r14
movsx rax, r13w
movzx r12d, bx
cwde
movabs r15, 0x177b1b24c239afc2
movzx eax, bx
lahf
movzx ax, r12b
mov qword [rsp + 0x158], r15
mov al, 0xea
cwde
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
movzx rax, di
cbw
setne ah
movabs rax, 0x17e9d9ead43ab904
mov qword [rsp + 0x168], rax
movsxd r12, esp
movabs rax, 0xaf90d535c41d0ffd
mov qword [rsp + 0x170], rax
movzx r12w, cl
movsx eax, cx
lahf
movabs rax, 0xf2ded97898f27626
movsx r12d, r12w
movsxd r12, r12d
mov qword [rsp + 0x178], rax
movabs rax, 0x90e5a41b194eb827
movzx r12w, bpl
movzx r12, cx
not r12b
mov qword [rsp + 0x180], rax
movabs rax, 0xf9814abe0c4a8548
movsx r12, r11w
mov qword [rsp + 0x188], rax
movsx r12d, di
movabs rax, 0x469e87a91fcaad61
not r12b
movzx r12w, spl
mov qword [rsp + 0x190], rax
movabs rax, 0x516cc54c8d9f586a
xchg r12w, r12w
setnp r12b
mov qword [rsp + 0x198], rax
cmovs eax, edi
movabs rax, 0x9f20a11fed6b970b
movzx r12, r11w
mov qword [rsp + 0x1a0], rax
movsx eax, bx
movabs rax, 0xf6c14852f09a9ccc
bswap r12w
cmovp r12w, si
movzx r12d, r13w
mov qword [rsp + 0x1a8], rax
movabs rax, 0x60c699ddbde176e5
mov qword [rsp + 0x1b0], rax
movsxd r12, esi
jmp 0x1403b1245
movabs rax, 0xbd0a0300ef81894e
movsx r12w, r13b
mov qword [rsp + 0x1b8], rax
bswap ax
cwde
mov ax, 0x36a3
movabs rax, 0x98e00c035e8dd42f
movzx r12, si
mov qword [rsp + 0x1c0], rax
setp r12b
movzx r12d, di
movabs rax, 0x9b0161460f809550
mov qword [rsp + 0x1c8], rax
mov r12d, 0x6e42086b
cdqe
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
movabs rax, 0xc1ab1d414ee4452
movsx r12w, r9b
mov qword [rsp + 0x1d8], rax
mov al, r12b
movabs rax, 0x56cdc967014bed33
movzx r12d, r8w
mov qword [rsp + 0x1e0], rax
movzx r12w, sil
movabs rax, 0xf52cb39a25af5714
movzx r12d, dx
cmove r12w, r12w
bswap r12
mov qword [rsp + 0x1e8], rax
mov r12w, 0x70e9
xchg r12d, eax
movsx eax, r13w
movabs rax, 0x128742e57f08160d
jmp 0x1403b1322
mov qword [rsp + 0x1f0], rax
movabs rax, 0x187f5c28d0b2d536
bswap r12w
movsxd r12, r13d
mov qword [rsp + 0x1f8], rax
movsx r12d, di
cbw
not r12w
lea r12, [rsp + 0x130]
mov al, 0x5e
mov rax, r12
jmp 0x1403b135f
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b1369
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b1376
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b1389
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403b139c
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403b13a9
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403b13ba
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403b13c7
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b13d8
movaps xmm0, xmmword [rsp + 0xa0]
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403b13f1
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403b13fe
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403b1417
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403b1428
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b1435
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b1451
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403b1465
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403b1472
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403b148e
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x110]
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x30], r13
movsx r9d, si
movsxd rax, esi
mov eax, dword [rsp + 0x4c]
movsx r13d, sp
movzx r13d, di
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x128]
mov r13b, r12b
cqo
movzx rdx, di
mov qword [rsp + 0x20], rax
mov r13b, 0x47
movzx r8, ax
cmovbe r9w, r15w
lea r8, [rsp + 0x50]
setnp r9b
mov r13b, cl
cwd
lea r9, [rsp + 0x200]
movzx ecx, si
mov edx, 0x400
xchg ch, cl
movsx r13, r10w
bswap cx
lea r13, [rsp + 0x280]
mov rcx, r13
call fcn.1403b16c9
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403b1543
mov qword [rsp + 0x50], rax
cdqe
movabs rax, 0x6cc902b5d4bb29d2
mov qword [rsp + 0x58], rax
jmp 0x1403b1561
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403b1570
mov qword [rsp + 0x60], rax
movsx eax, r13w
jmp 0x1403b157e
movabs rax, 0xd7bf775b167baaf
jmp 0x1403b158d
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
jmp 0x1403b15a1
mov qword [rsp + 0x70], rax
cmovb ax, di
movabs rax, 0x177b1b24c239afe3
mov qword [rsp + 0x78], rax
jmp 0x1403b15be
mov qword [rsp + 0x130], rbp
jmp 0x1403b15cb
mov qword [rsp + 0x138], rdi
jmp 0x1403b15d8
mov qword [rsp + 0x140], rbx
jmp 0x1403b15e5
mov qword [rsp + 0x148], rsi
jmp 0x1403b15f2
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], r15
jmp 0x1403b1607
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b1611
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b1625
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b1635
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b163f
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x50]
neg dh
sal r9w, cl
shr r9w, cl
xor ecx, ecx
mov rdx, r13
mov r9d, 0x10
jmp 0x1403b1669
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
btr r10, r12
mov r10, 0xffffffffffffffff
xor edx, edx
jmp 0x1403b1687
syscall
add rsp, 0xa88
movsx r12w, r12b
movzx r13, bx
jmp 0x1403b169e
pop rbx
pop rbp
movsx r15, di
pop rdi
movzx si, r13b
pop rsi
pop r12
bswap r15d
movzx r13, sp
mov r15w, 0x2b28
pop r13
pop r14
movsx r15d, r10w
pop r15
jmp 0x1403b16c8
ret