Function at 0x1403b48bb
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
clc
shr sil, 9
push rdi
xor di, sp
push rbp
movsx rbp, bp
btr rbp, 0x72
shr si, cl
push rbx
xchg si, di
or si, 0x335c
sub rsp, 0xa88
or sil, 0xde
rol esi, 0xd0
mov rsi, rcx
mov qword [rsp + 0x40], 0
sar dil, cl
cmp r8w, r8w
rol bp, cl
movabs rbp, 0xe78235ad970d2b55
bt edi, 0xdf
xor dil, 0xe
movabs rdi, 0x6cbb02d0d49b29be
clc
cmp rdi, 0x4a3c3b21
cmp dl, 1
jmp 0x1403b4933
mov qword [rsp + 0x128], r8
mov dword [rsp + 0x4c], r9d
jmp 0x1403b4945
jne 0x1403b4a24
movabs rax, 0xe7f735c197612b70
mov rcx, 0x590736f5
movsx ecx, r12w
mov qword [rsp + 0x130], rax
bswap ecx
mov rax, rdi
mov qword [rsp + 0x138], rax
jmp 0x1403b4982
mov rcx, rbp
jmp 0x1403b498a
mov qword [rsp + 0x280], rcx
jmp 0x1403b4997
mov qword [rsp + 0x288], rax
movsx ax, sil
movsx eax, r11w
movzx eax, si
lea rax, [rsp + 0x280]
jmp 0x1403b49b8
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b49c5
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx rdx, r9w
cwd
mov cx, r12w
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
jmp 0x1403b49f1
mov edx, 0x40
movzx r9d, r8w
not r9w
setge r9b
mov r9, rsi
call fcn.1403b56c0
mov ecx, 0x13ff
sub edx, edx
not r8
xchg r8b, r8b
mov r8d, esi
jmp 0x1403b4a1f
jmp 0x1403b4d2e
mov ebx, edx
lahf
movabs rax, 0xe7ee358897752b65
mov qword [rsp + 0x130], rax
cdqe
not rax
cwde
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403b4a4e
mov qword [rsp + 0x138], rax
lahf
mov rax, rbp
jmp 0x1403b4a5f
mov qword [rsp + 0x280], rax
mov rax, rdi
jmp 0x1403b4a6f
mov qword [rsp + 0x288], rax
movsx rax, si
xchg ah, al
not ah
lea rax, [rsp + 0x280]
jmp 0x1403b4a8c
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b4a99
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
cwd
jmp 0x1403b4aab
lea rcx, [rsp + 0x200]
movsx r8w, r13b
mov r8b, 0x4e
not r9
lea r8, [rsp + 0x130]
movsx rdx, r14w
movsx r9d, r15w
mov dl, r13b
mov edx, 0x40
mov r9d, 0xc644192
mov r9, rsi
jmp 0x1403b4ae4
call fcn.1403b56c0
test bl, bl
je 0x1403b4c8a
movzx eax, bl
cmp eax, 2
jmp 0x1403b4afc
jne 0x1403b4c97
movabs r14, 0xcbf29ce484222325
movsx cx, bpl
setle ch
cmovnp cx, dx
mov ecx, esi
call fcn.140236210
mov r8d, eax
cdq
bt edx, 0x6b
sbb al, r12b
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
and r11b, r15b
mov r11, qword [rax + 0x18]
add r11, 0x10
movabs rdx, 0x2cc10c8855a9a8cd
bswap cx
movzx ecx, r12w
movabs r15, 0x1d12a89b9e723ff5
not rcx
sete ch
mov ch, 0x7c
mov ecx, 0x1bff
jmp 0x1403b4b70
jmp 0x1403b4b83
cmp rax, rdx
jmp 0x1403b4b7d
je 0x1403b4cbf
mov r11, qword [r11]
sal r10, 0x47
shl r10b, 0xc1
mov r10, qword [r11 + 0x30]
test r10, r10
jmp 0x1403b4b9a
je 0x1403b4cfc
mov r12, qword [r11 + 0x60]
shr bh, 0xf4
and ebx, r10d
mov rbx, 0xffffffffffffffff
test r9, r15
clc
nop word cs:[rax + rax]
clc
test r10b, 0xd5
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403b4bd2
lea rbx, [rbx + 1]
jmp 0x1403b4bdb
jne 0x1403b4bc6
mov rax, r14
cmc
test rbx, rbx
jmp 0x1403b4bed
je 0x1403b4b75
xor esi, esi
btc r13, 0x92
test r11b, sil
shl r13b, 0x30
mov rbp, r14
nop word [rax + rax]
btr r13w, 0xf2
xadd r9, r9
movzx eax, word [r12 + rsi*2]
movzx rdi, ax
bt di, di
lea edi, [rax - 0x41]
lea r13d, [rax - 0x410]
lea r9d, [rax + 0x20]
cmp r8, r13
cmp r13w, 0x20
jmp 0x1403b4c3c
cmovb eax, r9d
cmp bl, 0x25
jmp 0x1403b4c48
cmp di, 0x1a
jmp 0x1403b4c51
cmovb eax, r9d
movzx eax, ax
cmp r13b, 0x88
cmp dh, dl
test al, 0xbe
xor rax, rbp
imul rax, r15
not bpl
inc esi
cmp sil, r15b
mov rbp, rax
test r12b, 0x3d
stc
cmp rsi, rbx
jmp 0x1403b4c7f
jb 0x1403b4c14
jmp 0x1403b4b75
xor r13d, r13d
jmp 0x1403b4c92
jmp 0x1403b4d6f
cmp bl, 3
xchg ecx, r8d
movzx cx, ch
movzx r8d, si
setne cl
cmova rcx, r12
cmovne r8d, esi
mov ecx, 0x13ff
jmp 0x1403b4cba
jmp 0x1403b4d1e
test r11, r11
movsxd rdx, r9d
cmove r10, r11
mov ebp, 0x4dea4031
cwd
mov rdx, r10
movabs rbp, 0xe78235ad970d2b55
movzx di, cl
movzx edi, bp
setbe dil
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b4cf7
jmp 0x1403b4d2e
movabs rbp, 0xe78235ad970d2b55
ror ah, 0x16
sub dil, 0xb5
movabs rdi, 0x6cbb02d0d49b29be
bts ax, bp
not ax
sub edx, edx
shld ax, r13w, 0xca
jmp 0x1403b4d2e
lea rax, [rsp + 0x40]
cmc
cmp r13b, 0x84
mov qword [rsp + 0x20], rax
cmp r14b, r14b
cmp r9b, 0xd7
cmc
mov qword [rsp + 0x30], 0
test r11d, edi
mov dword [rsp + 0x28], 0
test bl, spl
sub r9d, r9d
jmp 0x1403b4d64
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
lea rcx, [rsp + 0x280]
and r8b, 0x5f
shr r8b, 0xa4
cmc
mov r8d, 0x800
cmc
jmp 0x1403b4d8d
sub edx, edx
jmp 0x1403b4d94
call fcn.1404a8f03
movabs rax, 0xe7ed35df977f2b10
mov qword [rsp + 0x50], rax
mov r14w, bx
movabs rax, 0x6c9e02f0d4a129cc
mov qword [rsp + 0x58], rax
jmp 0x1403b4dc6
movabs rax, 0xbb83b115fb5723ec
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
mov qword [rsp + 0x68], rax
movsx r12w, spl
movabs rax, 0x23396ef01c4484dc
movsx ebx, bp
mov qword [rsp + 0x70], rax
cwde
mov r12b, 0x45
movabs rax, 0x17711b7cc255afae
movsx rsi, bx
mov qword [rsp + 0x78], rax
cwde
movabs rax, 0x314846d9144fae6f
movsx ebx, r8w
mov qword [rsp + 0x80], rax
movabs rax, 0x178dd9cfd41ab93e
movsxd r14, r15d
mov qword [rsp + 0x88], rax
movabs rax, 0xafe3d510c4170ff7
jmp 0x1403b4e4d
mov qword [rsp + 0x90], rax
cwde
mov r14w, 0x4dbc
movsx r15w, cl
movabs rax, 0xf2b1d93b98f8762c
movsxd rsi, r11d
movsx si, dil
mov qword [rsp + 0x98], rax
movabs rax, 0x9086a47a193ab849
cmovno bx, r14w
mov qword [rsp + 0xa0], rax
mov al, 0x18
movsx r14w, r10b
cmove rbx, rbx
movabs rax, 0xf9f44acd0c6a853c
mov qword [rsp + 0xa8], rax
setge bl
cwde
movabs rax, 0x46ec87c61fbaad11
mov qword [rsp + 0xb0], rax
sete r12b
cdqe
bswap r15
movabs rax, 0x5102c52d8dbf581e
mov r12b, 0x1c
movsx rbx, r10w
jmp 0x1403b4ee3
mov qword [rsp + 0xb8], rax
movzx r14w, al
bswap bx
mov r12d, 0x114b4262
movabs rax, 0x9f52a16fed4b976f
movzx r14d, r9w
movsx si, dil
mov qword [rsp + 0xc0], rax
mov bx, 0x47c
movabs rax, 0xf6a5483bf0ec9ca3
xchg r14, rbx
mov qword [rsp + 0xc8], rax
movsxd r12, edi
cbw
movzx r14, bx
movabs rax, 0x60e699bcbdc17680
movsx rsi, sp
movsxd r12, r14d
mov qword [rsp + 0xd0], rax
not bh
xchg al, r15b
setne bh
movabs rax, 0xbd6f0372efe2893d
movzx esi, bp
mov qword [rsp + 0xd8], rax
mov r14b, 0xaa
movabs rax, 0x98880c705ee3d44a
mov r15, rax
movsxd rbx, r10d
mov qword [rsp + 0xe0], rax
lahf
mov si, cx
movabs rax, 0x9b7661660ff4953f
seta r15b
mov r14w, 0x4bf6
mov qword [rsp + 0xe8], rax
movabs rax, 0x53d62999d3e90ae0
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
movsx r12w, r15b
movzx esi, bp
mov qword [rsp + 0xf8], rax
movsx r14, r10w
movsx r14w, sil
movabs rax, 0x56abc9090122ed13
jmp 0x1403b4fea
mov qword [rsp + 0x100], rax
movsx r14, r12w
jmp 0x1403b4ffd
movabs rax, 0xf54db3f725dd577b
mov qword [rsp + 0x108], rax
cdqe
lahf
movzx esi, r13w
movabs rax, 0x12e9428a7f611679
mov qword [rsp + 0x110], rax
cbw
bswap ax
movabs rax, 0x187f5c28d0b2d517
mov rbx, 0x75a50840
not bx
mov qword [rsp + 0x118], rax
setp ah
not r14
cmovbe r14, r9
mov qword [rsp + 0x130], rbp
cmovge r12w, ax
mov qword [rsp + 0x138], rdi
movzx r14d, bp
sete ah
movabs rbx, 0xbbeab153fb5d239f
lahf
movsx rax, r13w
movsx eax, r14w
mov qword [rsp + 0x140], rbx
movabs rsi, 0xd0ef716b104bac0
mov qword [rsp + 0x148], rsi
setg r15b
movzx r12, cx
movsx r12w, r12b
movabs r14, 0x230f6ec11c7484f9
cwde
cdqe
mov r12w, 0x3f88
mov qword [rsp + 0x150], r14
lahf
cbw
movzx r15d, bx
movabs r15, 0x177b1b24c239afc2
cmovs ax, dx
mov rax, r14
mov qword [rsp + 0x158], r15
mov r12b, r10b
movsx ax, r12b
cwde
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
movabs rax, 0x17e9d9ead43ab904
movzx r12d, r11w
setg r12b
bswap r12w
mov qword [rsp + 0x168], rax
lahf
cdqe
movzx r12d, r8w
movabs rax, 0xaf90d535c41d0ffd
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
movzx r12d, r8w
mov qword [rsp + 0x178], rax
movsx rax, dx
cbw
bswap ax
movabs rax, 0x90e5a41b194eb827
jmp 0x1403b5167
mov qword [rsp + 0x180], rax
not al
movsx eax, sp
movabs rax, 0xf9814abe0c4a8548
xchg r12w, r12w
movsx r12w, r14b
mov qword [rsp + 0x188], rax
cbw
movabs rax, 0x469e87a91fcaad61
xchg r12w, r12w
movzx r12, cx
mov qword [rsp + 0x190], rax
cwde
movsx r12d, dx
xchg al, r12b
movabs rax, 0x516cc54c8d9f586a
setbe r12b
not r12w
movzx r12w, bl
mov qword [rsp + 0x198], rax
movsxd rax, esi
movabs rax, 0x9f20a11fed6b970b
mov qword [rsp + 0x1a0], rax
bswap eax
movzx rax, sp
xchg al, r12b
movabs rax, 0xf6c14852f09a9ccc
xchg r12b, r12b
mov r12b, r13b
mov qword [rsp + 0x1a8], rax
cbw
movabs rax, 0x60c699ddbde176e5
mov r12b, sil
mov qword [rsp + 0x1b0], rax
cmovle eax, r14d
movabs rax, 0xbd0a0300ef81894e
mov qword [rsp + 0x1b8], rax
movabs rax, 0x98e00c035e8dd42f
mov r12w, 0x5dcb
not r12b
movzx r12w, r11b
mov qword [rsp + 0x1c0], rax
cbw
not r12w
cwde
movabs rax, 0x9b0161460f809550
setg r12b
mov qword [rsp + 0x1c8], rax
movsx rax, r12w
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
not r12b
bswap ax
movsxd rax, r13d
movabs rax, 0xc1ab1d414ee4452
mov r12b, r11b
mov r12b, 0xc2
mov qword [rsp + 0x1d8], rax
movsx ax, r12b
movabs rax, 0x56cdc967014bed33
bswap r12w
xchg r12, r12
mov qword [rsp + 0x1e0], rax
movabs rax, 0xf52cb39a25af5714
movsx r12d, bp
mov qword [rsp + 0x1e8], rax
cdqe
movzx eax, sp
movabs rax, 0x128742e57f08160d
movsx r12d, r9w
xchg r12, r12
mov qword [rsp + 0x1f0], rax
lahf
cmove ax, sp
movabs rax, 0x187f5c28d0b2d536
movsx r12d, bp
movzx r12d, cx
setne r12b
mov qword [rsp + 0x1f8], rax
movzx rax, si
cbw
lea r12, [rsp + 0x130]
cdqe
xchg ah, al
not ah
mov rax, r12
jmp 0x1403b5339
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b5343
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b5350
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b535a
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b5368
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b5372
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403b5380
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403b538d
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403b539e
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403b53ab
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b53bc
movaps xmm0, xmmword [rsp + 0xa0]
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403b53d5
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403b53e2
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403b53f3
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403b5400
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403b5411
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b541e
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403b5432
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b543f
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403b5453
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403b546f
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403b547c
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403b5498
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
movzx eax, sp
cmovge r9, rax
mov qword [rsp + 0x30], r13
mov eax, dword [rsp + 0x4c]
movsxd r13, ebp
cmovle r9w, r8w
movsx r13d, bp
mov dword [rsp + 0x28], eax
movzx eax, r14w
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x200]
movsx r13d, r8w
cmovbe cx, r13w
movzx r13d, bx
mov edx, 0x400
jmp 0x1403b54fc
lea r13, [rsp + 0x280]
movsx ecx, r12w
mov cx, r11w
mov rcx, r13
jmp 0x1403b5514
call fcn.1403b56c0
mov rcx, qword [rsp + 0x40]
jmp 0x1403b5523
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403b5538
mov qword [rsp + 0x50], rax
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403b554c
mov qword [rsp + 0x58], rax
movsx ax, bl
jmp 0x1403b555a
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403b5569
mov qword [rsp + 0x60], rax
jmp 0x1403b5573
movabs rax, 0xd7bf775b167baaf
jmp 0x1403b5582
mov qword [rsp + 0x68], rax
cwde
movabs rax, 0x236b6ea41c06848b
mov qword [rsp + 0x70], rax
movsxd rax, r15d
bswap ax
movabs rax, 0x177b1b24c239afe3
jmp 0x1403b55ac
mov qword [rsp + 0x78], rax
jmp 0x1403b55b6
mov qword [rsp + 0x130], rbp
jmp 0x1403b55c3
mov qword [rsp + 0x138], rdi
jmp 0x1403b55d0
mov qword [rsp + 0x140], rbx
jmp 0x1403b55dd
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], r15
jmp 0x1403b55fa
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b5604
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b5613
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b5628
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
bsf dx, r12w
lea r8, [rsp + 0x50]
movsx r9w, r11b
shrd edx, r10d, 0xcb
xor dh, 0x37
xor ecx, ecx
seta dh
jmp 0x1403b5659
mov rdx, r13
movzx r9d, r10w
mov r9d, 0x10
jmp 0x1403b566b
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
mov r10, 0xffffffffffffffff
xor edx, edx
jmp 0x1403b5685
syscall
add rsp, 0xa88
movsxd r13, r10d
pop rbx
pop rbp
pop rdi
mov r15b, al
pop rsi
pop r12
setns r14b
jmp 0x1403b56a8
pop r13
mov r14d, ecx
not r14b
pop r14
mov r15, r15
bswap r15d
pop r15
jmp 0x1403b56bf
ret