Function at 0x1403aff88
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
clc
push r12
cmp dx, 0x3b9c
cmc
push rsi
movsx si, r15b
shr sil, 0x4b
push rdi
not di
push rbp
bts di, r9w
adc bpl, r8b
push rbx
shld di, bp, 0x23
movzx edi, r14w
sub rsp, 0xa88
mov sil, r9b
rcr dil, 0xde
mov rsi, rcx
cmp r14b, cl
rcr rdi, 0x64
mov qword [rsp + 0x40], 0
sub bpl, r11b
movabs rbp, 0xe78235ad970d2b55
rcr edi, 0xba
movabs rdi, 0x6cbb02d0d49b29be
cmp bx, r9w
stc
clc
cmp dl, 1
jmp 0x1403b0001
mov qword [rsp + 0x128], r8
mov dword [rsp + 0x4c], r9d
jne 0x1403b00d7
movabs rax, 0xe7f735c197612b70
movzx rcx, r15w
movzx ecx, r15w
mov rcx, r13
mov qword [rsp + 0x130], rax
movsx eax, r14w
mov rax, rdi
xchg cx, cx
movsxd rcx, edx
jmp 0x1403b0043
mov qword [rsp + 0x138], rax
setno cl
mov rcx, rbp
jmp 0x1403b0056
mov qword [rsp + 0x280], rcx
jmp 0x1403b0063
mov qword [rsp + 0x288], rax
movzx rax, di
xchg al, al
lea rax, [rsp + 0x280]
jmp 0x1403b007e
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b008b
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
cdq
jmp 0x1403b00af
mov edx, 0x40
mov r9, rsi
call fcn.1403b0d14
mov ecx, 0x13ff
mov r8b, 0x83
sub edx, edx
movzx r8, bp
mov r8d, esi
jmp 0x1403b00d2
jmp 0x1403b03a3
mov ebx, edx
movabs rax, 0xe7ee358897752b65
jmp 0x1403b00e8
mov qword [rsp + 0x130], rax
movabs rax, 0x6cbb02d0d4c329d2
mov qword [rsp + 0x138], rax
jmp 0x1403b0107
mov rax, rbp
jmp 0x1403b010f
mov qword [rsp + 0x280], rax
cwde
mov al, r9b
movsx eax, r14w
mov rax, rdi
mov qword [rsp + 0x288], rax
cwde
jmp 0x1403b0130
lea rax, [rsp + 0x280]
jmp 0x1403b013d
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b014a
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx r8d, r11w
cdq
cqo
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
movzx rdx, r12w
movzx r9d, sp
mov edx, 0x40
mov r9, rsi
jmp 0x1403b0181
call fcn.1403b0d14
test bl, bl
jmp 0x1403b018d
je 0x1403b0321
movzx eax, bl
cmp eax, 2
jmp 0x1403b019e
jne 0x1403b032e
movabs r14, 0xcbf29ce484222325
mov ecx, esi
jmp 0x1403b01b5
call fcn.14024bafc
mov r8d, eax
mov rax, qword gs:[0x30]
or cx, sp
xor dl, 0xf4
clc
mov rax, qword [rax + 0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
mov r15w, 0x3d65
movabs rdx, 0x2cc10c8855a9a8cd
movzx r15, bx
movabs r15, 0x1d12a89b9e723ff5
mov ecx, 0x1bff
jmp 0x1403b0200
jmp 0x1403b020e
cmp rax, rdx
je 0x1403b034b
mov r11, qword [r11]
mov r10, qword [r11 + 0x30]
test r10, r10
je 0x1403b0380
mov r12, qword [r11 + 0x60]
btc bx, 0x17
mov rbx, 0xffffffffffffffff
cmp dx, cx
nop word cs:[rax + rax]
jmp 0x1403b0246
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403b0252
lea rbx, [rbx + 1]
jne 0x1403b0246
mov rax, r14
cmc
jmp 0x1403b0268
test rbx, rbx
jmp 0x1403b0270
je 0x1403b0205
xor esi, esi
inc r9
sbb rax, rcx
mov rbp, r14
sbb r9, 0x6ce84e7d
adc rdi, r10
movsxd rax, eax
nop word [rax + rax]
bts r9w, r12w
shl dil, 0xd6
movzx eax, word [r12 + rsi*2]
sal r9w, 0x43
lea edi, [rax - 0x41]
jmp 0x1403b02af
lea r13d, [rax - 0x410]
sal r9d, cl
not r9w
neg r9b
lea r9d, [rax + 0x20]
cmp r13w, 0x20
cmovb eax, r9d
cmc
stc
cmp di, 0x1a
cmovb eax, r9d
test bpl, r10b
stc
movzx eax, ax
jmp 0x1403b02e3
xor rax, rbp
bsr ebp, edi
bswap bp
add rbp, 0x3d007134
imul rax, r15
movzx rbp, r10w
movsxd rbp, r12d
movsx rbp, r12w
inc esi
xadd bpl, bpl
shrd ebp, esp, 7
mov bp, 0x76ae
mov rbp, rax
cmp rsi, rbx
jb 0x1403b029d
jmp 0x1403b0205
sub r13d, r13d
jmp 0x1403b0329
jmp 0x1403b03df
cmp bl, 3
movzx r8d, si
cmovne r8d, esi
bswap cx
mov ecx, 0x13ff
jmp 0x1403b0346
jmp 0x1403b03a1
test r11, r11
cmove r10, r11
seto dh
mov rdx, r10
mov bpl, 0xce
movsx di, r8b
not edi
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b037b
jmp 0x1403b03a3
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
cmp r14w, 0x9f6
setl ah
movsx rax, bx
sub edx, edx
lea rax, [rsp + 0x40]
jmp 0x1403b03ad
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
clc
xor r9d, r9d
jmp 0x1403b03cc
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
shl r8d, 0x4e
bt r8, rax
lea rcx, [rsp + 0x280]
movsxd r8, r9d
mov r8d, 0x800
test cl, 0x3e
xor edx, edx
jmp 0x1403b03fa
call fcn.1404a4d25
movabs rax, 0xe7ed35df977f2b10
mov sil, 0x99
mov qword [rsp + 0x50], rax
movabs rax, 0x6c9e02f0d4a129cc
seto r15b
cmovbe r15w, sp
movsxd rsi, r8d
mov qword [rsp + 0x58], rax
movzx r12, r9w
movsx r14d, r14w
movabs rax, 0xbb83b115fb5723ec
setae sil
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
movsxd r14, r8d
mov qword [rsp + 0x68], rax
movsx r15d, cx
movabs rax, 0x23396ef01c4484dc
movsx r14w, r13b
jmp 0x1403b0474
mov qword [rsp + 0x70], rax
mov r12b, dil
movabs rax, 0x17711b7cc255afae
mov qword [rsp + 0x78], rax
bswap bx
movabs rax, 0x314846d9144fae6f
xchg esi, esi
setno r15b
movsx rbx, r8w
mov qword [rsp + 0x80], rax
movsxd rsi, edi
movabs rax, 0x178dd9cfd41ab93e
not bx
xchg si, si
mov qword [rsp + 0x88], rax
jmp 0x1403b04ca
movabs rax, 0xafe3d510c4170ff7
movsx r12d, r8w
mov qword [rsp + 0x90], rax
cbw
movsx r14, bp
cwde
movabs rax, 0xf2b1d93b98f8762c
jmp 0x1403b04fd
mov qword [rsp + 0x98], rax
lahf
movabs rax, 0x9086a47a193ab849
cmovns r12, r13
movzx r14, di
mov qword [rsp + 0xa0], rax
not r14b
movabs rax, 0xf9f44acd0c6a853c
mov qword [rsp + 0xa8], rax
not r15b
jmp 0x1403b053d
movabs rax, 0x46ec87c61fbaad11
movsx r14d, di
movzx esi, r14w
mov qword [rsp + 0xb0], rax
lahf
movabs rax, 0x5102c52d8dbf581e
mov r14w, bx
mov qword [rsp + 0xb8], rax
movsx r15, r8w
movabs rax, 0x9f52a16fed4b976f
jmp 0x1403b0588
mov qword [rsp + 0xc0], rax
cbw
jmp 0x1403b059b
movabs rax, 0xf6a5483bf0ec9ca3
cmovg si, di
movsx si, sil
movsxd r12, ecx
mov qword [rsp + 0xc8], rax
cmovp bx, r11w
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
movsxd r15, r12d
bswap r12
movabs rax, 0xbd6f0372efe2893d
setge r14b
movzx r12w, r9b
mov qword [rsp + 0xd8], rax
movabs rax, 0x98880c705ee3d44a
movzx ebx, r14w
bswap r14w
cmovge r15w, r9w
mov qword [rsp + 0xe0], rax
cdqe
movabs rax, 0x9b7661660ff4953f
xchg r15b, r14b
not bx
setb r14b
mov qword [rsp + 0xe8], rax
movabs rax, 0x53d62999d3e90ae0
mov qword [rsp + 0xf0], rax
movzx si, r13b
bswap rax
xchg esi, eax
movabs rax, 0xc69b1bd14864426
movsxd rsi, eax
movsx rbx, cx
jmp 0x1403b065f
mov qword [rsp + 0xf8], rax
lahf
movabs rax, 0x56abc9090122ed13
movzx r12w, r9b
movzx r15d, bx
not r14w
mov qword [rsp + 0x100], rax
bswap bx
movsx ax, r12b
lahf
movabs rax, 0xf54db3f725dd577b
mov qword [rsp + 0x108], rax
cwde
movabs rax, 0x12e9428a7f611679
movzx rbx, r13w
movsx r14, ax
mov qword [rsp + 0x110], rax
movabs rax, 0x187f5c28d0b2d517
xchg r14b, r14b
mov qword [rsp + 0x118], rax
setle r12b
mov qword [rsp + 0x130], rbp
cmove r12w, sp
movzx r12d, bp
setne r15b
mov qword [rsp + 0x138], rdi
movsx r12w, bl
movabs rbx, 0xbbeab153fb5d239f
mov qword [rsp + 0x140], rbx
cbw
movabs rsi, 0xd0ef716b104bac0
movzx r14w, spl
lahf
mov qword [rsp + 0x148], rsi
movabs r14, 0x230f6ec11c7484f9
mov r15b, 0xc8
jmp 0x1403b0736
mov qword [rsp + 0x150], r14
bswap r12
movabs r15, 0x177b1b24c239afc2
movsx eax, r11w
mov ax, dx
mov qword [rsp + 0x158], r15
mov ax, 0x65fd
movabs rax, 0x312d46b71426ae23
movsxd r12, r13d
bswap r12d
movzx r12, sp
mov qword [rsp + 0x160], rax
movabs rax, 0x17e9d9ead43ab904
mov qword [rsp + 0x168], rax
movabs rax, 0xaf90d535c41d0ffd
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
movzx r12d, bp
mov qword [rsp + 0x178], rax
movabs rax, 0x90e5a41b194eb827
mov qword [rsp + 0x180], rax
movzx r12d, dx
cwde
movabs rax, 0xf9814abe0c4a8548
bswap r12
movsx r12, r12w
mov qword [rsp + 0x188], rax
movsx ax, spl
cmovb ax, cx
movzx eax, r8w
movabs rax, 0x469e87a91fcaad61
movsxd r12, esp
movsx r12w, spl
mov qword [rsp + 0x190], rax
mov r12b, r8b
movzx r12, di
cwde
movabs rax, 0x516cc54c8d9f586a
movsx r12w, dl
mov r12b, 3
mov qword [rsp + 0x198], rax
movabs rax, 0x9f20a11fed6b970b
movzx r12w, bl
movzx r12d, sp
movsx r12, r9w
mov qword [rsp + 0x1a0], rax
movzx ax, ch
movabs rax, 0xf6c14852f09a9ccc
mov r12d, 0x3dd31ea7
movsx r12d, ax
mov qword [rsp + 0x1a8], rax
bswap r12w
cbw
cmovg r12d, edx
movabs rax, 0x60c699ddbde176e5
mov qword [rsp + 0x1b0], rax
movsx rax, r12w
cdqe
movabs rax, 0xbd0a0300ef81894e
setae r12b
mov qword [rsp + 0x1b8], rax
movabs rax, 0x98e00c035e8dd42f
mov qword [rsp + 0x1c0], rax
movsxd r12, r15d
movzx rax, ax
movsx rax, bx
movabs rax, 0x9b0161460f809550
mov qword [rsp + 0x1c8], rax
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
movsxd rax, ebp
movabs rax, 0xc1ab1d414ee4452
mov r12b, r15b
mov qword [rsp + 0x1d8], rax
lahf
cmovp ax, di
movabs rax, 0x56cdc967014bed33
movsx r12w, r8b
mov r12b, r8b
mov qword [rsp + 0x1e0], rax
movzx r12, si
movabs rax, 0xf52cb39a25af5714
mov qword [rsp + 0x1e8], rax
lahf
movabs rax, 0x128742e57f08160d
mov r12b, dil
cmovbe r12d, r14d
movsx r12, bx
mov qword [rsp + 0x1f0], rax
movsx r12d, r9w
movabs rax, 0x187f5c28d0b2d536
xchg r12, r12
movsx r12, di
movsxd r12, r13d
mov qword [rsp + 0x1f8], rax
movsx rax, ax
lea r12, [rsp + 0x130]
movsx ax, al
jmp 0x1403b0989
mov rax, r12
jmp 0x1403b0991
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b099b
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b09a8
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b09b2
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 0x1403b09ce
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403b09db
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403b09ec
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403b09f9
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b0a0a
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403b0a17
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403b0a28
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403b0a35
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403b0a46
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403b0a53
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403b0a64
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b0a71
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403b0a85
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b0a92
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403b0aa6
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403b0ab3
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403b0ac7
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403b0ad4
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
cmove r9w, bp
mov qword [rsp + 0x30], r13
movzx r13, r14w
movsx eax, di
mov eax, dword [rsp + 0x4c]
movzx edx, si
jmp 0x1403b0b17
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x128]
jmp 0x1403b0b2a
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x200]
mov edx, 0x400
mov r13d, 0x4c015923
lea r13, [rsp + 0x280]
movzx ecx, dx
movsx rcx, si
mov rcx, r13
jmp 0x1403b0b5e
call fcn.1403b0d14
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403b0b7d
mov qword [rsp + 0x50], rax
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403b0b91
mov qword [rsp + 0x58], rax
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403b0ba5
mov qword [rsp + 0x60], rax
movabs rax, 0xd7bf775b167baaf
jmp 0x1403b0bb9
mov qword [rsp + 0x68], rax
movsxd rax, r11d
movabs rax, 0x236b6ea41c06848b
jmp 0x1403b0bd0
mov qword [rsp + 0x70], rax
movabs rax, 0x177b1b24c239afe3
jmp 0x1403b0be4
mov qword [rsp + 0x78], rax
jmp 0x1403b0bee
mov qword [rsp + 0x130], rbp
jmp 0x1403b0bfb
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], rbx
jmp 0x1403b0c10
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x150], r14
jmp 0x1403b0c25
mov qword [rsp + 0x158], r15
jmp 0x1403b0c32
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b0c3c
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b0c4b
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b0c60
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b0c6a
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
movsxd rdx, r9d
lea r8, [rsp + 0x50]
mov dl, r9b
xor ecx, ecx
mov rdx, r13
movzx r9d, r14w
mov r9d, 0x10
jmp 0x1403b0c94
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
movsx r10w, cl
or r10w, r10w
shld r10w, bx, 0xc7
mov r10, 0xffffffffffffffff
cmc
sub edx, edx
jmp 0x1403b0cbe
syscall
add rsp, 0xa88
cmova r13d, ebp
pop rbx
pop rbp
mov r13b, dil
setl sil
pop rdi
movsx r15d, di
seto r14b
cmovg r14d, r12d
pop rsi
pop r12
jmp 0x1403b0cf1
pop r13
movsx r15, r9w
cmovae r15d, edx
movsxd r14, ebp
pop r14
not r15b
seto r15b
movsx r15w, dl
pop r15
jmp 0x1403b0d13
ret