Function at 0x1403b1aa9
Capabilities:
Encrypt data using speck

Disassembly:
push r15
stc
push r14
push r13
cmp ch, dh
push r12
cmp sp, 0x47b3
stc
push rsi
movsx si, bl
push rdi
rcl di, cl
sbb rsi, rdi
push rbp
shld ebp, r13d, 0xc5
add esi, 0x17474725
push rbx
shrd si, sp, 0x44
sub rsp, 0xa88
neg si
mov rsi, rcx
btc bp, di
btr edi, r15d
sal rbp, cl
mov qword [rsp + 0x40], 0
xor bpl, bpl
bswap rbp
movabs rbp, 0xe78235ad970d2b55
sal dil, 0xad
movabs rdi, 0x6cbb02d0d49b29be
cmp dl, 1
mov qword [rsp + 0x128], r8
jmp 0x1403b1b27
mov dword [rsp + 0x4c], r9d
jne 0x1403b1c11
movabs rax, 0xe7f735c197612b70
movsx ecx, r9w
xchg cx, cx
mov qword [rsp + 0x130], rax
movzx ax, r8b
bswap eax
movsx cx, sil
mov rax, rdi
not cl
mov qword [rsp + 0x138], rax
movsx cx, bl
jmp 0x1403b1b6f
mov rcx, rbp
jmp 0x1403b1b77
mov qword [rsp + 0x280], rcx
jmp 0x1403b1b84
mov qword [rsp + 0x288], rax
movsxd rax, ecx
jmp 0x1403b1b94
lea rax, [rsp + 0x280]
jmp 0x1403b1ba1
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b1bae
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
cqo
not cl
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
jmp 0x1403b1bd4
mov edx, 0x40
movsxd r9, r11d
bswap r9d
mov r9, rsi
jmp 0x1403b1be7
call fcn.1403b28cd
mov ecx, 0x13ff
movzx r8w, bpl
dec r8b
sub r8, 0x47385d16
xor edx, edx
mov r8, rdx
bswap r8w
mov r8d, esi
jmp 0x1403b1efb
mov ebx, edx
not rax
movsx eax, r10w
movabs rax, 0xe7ee358897752b65
jmp 0x1403b1c29
mov qword [rsp + 0x130], rax
movsx ax, r9b
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403b1c45
mov qword [rsp + 0x138], rax
movzx ax, dh
lahf
mov rax, rbp
jmp 0x1403b1c5a
mov qword [rsp + 0x280], rax
mov rax, rdi
jmp 0x1403b1c6a
mov qword [rsp + 0x288], rax
cbw
cwde
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b1c8a
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx rcx, r14w
movsx dx, r12b
cqo
lea rcx, [rsp + 0x200]
movzx r8d, ax
lea r8, [rsp + 0x130]
bswap r9
mov edx, 0x40
movsx r9d, di
movzx r9w, sil
mov r9, rsi
call fcn.1403b28cd
test bl, bl
jmp 0x1403b1cd4
je 0x1403b1e46
movzx eax, bl
jmp 0x1403b1ce2
cmp eax, 2
jmp 0x1403b1cea
jne 0x1403b1e53
movabs r14, 0xcbf29ce484222325
cmovg rcx, r10
sets ch
mov ecx, esi
jmp 0x1403b1d08
call fcn.14024d364
mov r8d, eax
sar dx, cl
not r15b
xor dx, 0x65c8
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
cdq
movabs rdx, 0x2cc10c8855a9a8cd
movsx r15w, dl
movabs r15, 0x1d12a89b9e723ff5
mov ecx, 0x1bff
jmp 0x1403b1d54
jmp 0x1403b1d62
cmp rax, rdx
je 0x1403b1e90
mov r11, qword [r11]
setbe r10b
mov r10, qword [r11 + 0x30]
cmc
cmp di, r14w
test r10, r10
je 0x1403b1ed2
mov r12, qword [r11 + 0x60]
shl rbx, cl
mov rbx, 0xffffffffffffffff
clc
nop word cs:[rax + rax]
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403b1da2
lea rbx, [rbx + 1]
jne 0x1403b1d96
mov rax, r14
test rbx, rbx
jmp 0x1403b1db7
je 0x1403b1d59
xor esi, esi
mov rbp, r14
rcl r13, cl
nop word [rax + rax]
xchg rdi, r13
inc al
movzx eax, word [r12 + rsi*2]
lea edi, [rax - 0x41]
lea r13d, [rax - 0x410]
cmc
rcr r9, cl
lea r9d, [rax + 0x20]
stc
cmp bpl, al
cmp r13w, 0x20
cmovb eax, r9d
cmp r9b, 0x82
cmp di, 0x1a
jmp 0x1403b1e01
cmovb eax, r9d
clc
test r10d, ebp
movzx eax, ax
xor rax, rbp
bsf ebp, esi
movsx ebp, si
stc
imul rax, r15
inc bp
movsx rbp, r8w
inc esi
rol rbp, cl
sub bp, bx
mov rbp, rax
cmp esi, 0x688e37f1
stc
cmp rsi, rbx
jmp 0x1403b1e3b
jb 0x1403b1dd0
jmp 0x1403b1d59
sub r13d, r13d
jmp 0x1403b1e4e
jmp 0x1403b1f47
cmp bl, 3
mov r8d, 0x2a6d4121
movsx r8, r11w
jmp 0x1403b1e65
movzx r8d, si
movsx cx, r15b
movzx rcx, si
bswap ecx
cmovne r8d, esi
movsx cx, sil
movsx ecx, r12w
mov ecx, 0x13ff
jmp 0x1403b1e8b
jmp 0x1403b1ef8
test r11, r11
cmove r10, r11
jmp 0x1403b1ea4
mov rdx, r10
movsx edi, sp
movabs rbp, 0xe78235ad970d2b55
movsx di, r8b
movzx di, r14b
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b1ecd
jmp 0x1403b1efb
movabs rbp, 0xe78235ad970d2b55
rol ah, cl
dec ah
movabs rdi, 0x6cbb02d0d49b29be
shld ax, r14w, 0xdd
shrd ax, bx, 5
rcl ah, 0xb6
xor edx, edx
stc
lea rax, [rsp + 0x40]
clc
test edi, 0x6d867fbd
mov qword [rsp + 0x20], rax
clc
jmp 0x1403b1f16
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
cmp r14w, 0x3ee4
xor r9d, r9d
jmp 0x1403b1f35
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
shld r8, r9, 0x2c
add cl, bh
lea rcx, [rsp + 0x280]
jmp 0x1403b1f5d
mov r8d, 0x800
test spl, 0x6b
jmp 0x1403b1f70
sub edx, edx
jmp 0x1403b1f77
call fcn.1404a6391
movabs rax, 0xe7ed35df977f2b10
seta bl
movsx r14w, r8b
jmp 0x1403b1f93
mov qword [rsp + 0x50], rax
movsx rbx, r13w
movzx r15, r12w
lahf
movabs rax, 0x6c9e02f0d4a129cc
cmovo si, r13w
mov qword [rsp + 0x58], rax
cmovle r14w, r15w
cwde
movabs rax, 0xbb83b115fb5723ec
jmp 0x1403b1fd3
mov qword [rsp + 0x60], rax
not ah
movabs rax, 0xd2ef72cb161baac
movzx r15, r11w
mov qword [rsp + 0x68], rax
movzx r14d, sp
movabs rax, 0x23396ef01c4484dc
jmp 0x1403b2000
mov qword [rsp + 0x70], rax
movsx ax, spl
movabs rax, 0x17711b7cc255afae
not r15w
movsx r15, si
movzx r14, r8w
mov qword [rsp + 0x78], rax
cdqe
movabs rax, 0x314846d9144fae6f
bswap r15w
cmovno r14, r12
jmp 0x1403b203e
mov qword [rsp + 0x80], rax
movzx rax, r14w
setns sil
movsx bx, sil
movabs rax, 0x178dd9cfd41ab93e
mov ebx, 0x60f14137
mov qword [rsp + 0x88], rax
xchg si, ax
not bl
setle r15b
movabs rax, 0xafe3d510c4170ff7
mov qword [rsp + 0x90], rax
xchg si, ax
movabs rax, 0xf2b1d93b98f8762c
mov bl, 0x4b
mov qword [rsp + 0x98], rax
movzx si, r13b
movzx rax, r9w
movabs rax, 0x9086a47a193ab849
mov r15b, 0x84
movsx r12d, r8w
mov qword [rsp + 0xa0], rax
movsx r15w, cl
movabs rax, 0xf9f44acd0c6a853c
sets r12b
mov qword [rsp + 0xa8], rax
movabs rax, 0x46ec87c61fbaad11
mov qword [rsp + 0xb0], rax
movzx r15w, r10b
movabs rax, 0x5102c52d8dbf581e
mov sil, 0x7d
jmp 0x1403b2100
mov qword [rsp + 0xb8], rax
mov r12w, di
cbw
cwde
movabs rax, 0x9f52a16fed4b976f
movsxd r14, ebx
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
cmovne r12w, dx
mov qword [rsp + 0xc8], rax
movsx ebx, r14w
mov si, 0x184
movabs rax, 0x60e699bcbdc17680
movsx ebx, di
not bl
mov r12b, 0x49
mov qword [rsp + 0xd0], rax
movzx si, cl
cwde
movabs rax, 0xbd6f0372efe2893d
mov qword [rsp + 0xd8], rax
lahf
movabs rax, 0x98880c705ee3d44a
movzx rbx, r8w
jmp 0x1403b2188
mov qword [rsp + 0xe0], rax
movabs rax, 0x9b7661660ff4953f
movzx r12w, r11b
movsx bx, bpl
mov qword [rsp + 0xe8], rax
setg sil
lahf
movabs rax, 0x53d62999d3e90ae0
not bh
jmp 0x1403b21c6
mov qword [rsp + 0xf0], rax
movsx r14, bp
movabs rax, 0xc69b1bd14864426
mov qword [rsp + 0xf8], rax
movsx ebx, si
bswap rax
xchg r14w, r12w
movabs rax, 0x56abc9090122ed13
movzx r14w, r13b
mov bl, ch
mov qword [rsp + 0x100], rax
cbw
bswap si
movzx r14d, sp
movabs rax, 0xf54db3f725dd577b
movsx r12w, bl
movzx r15, r10w
bswap r15
mov qword [rsp + 0x108], rax
bswap r15w
movzx r12w, r11b
movabs rax, 0x12e9428a7f611679
movsx r14w, dil
movsxd r14, ebx
movzx rsi, bp
mov qword [rsp + 0x110], rax
cwde
bswap r15w
movabs rax, 0x187f5c28d0b2d517
movsx r12d, r11w
not r14b
mov qword [rsp + 0x118], rax
lahf
cwde
setbe r15b
mov qword [rsp + 0x130], rbp
movzx r14d, di
mov qword [rsp + 0x138], rdi
movzx ebx, r15w
movabs rbx, 0xbbeab153fb5d239f
movzx r15, r10w
cdqe
mov r15w, 0x49a
mov qword [rsp + 0x140], rbx
movsx esi, r9w
movzx r15w, r11b
bswap r15w
movabs rsi, 0xd0ef716b104bac0
cbw
mov qword [rsp + 0x148], rsi
not r14d
movabs r14, 0x230f6ec11c7484f9
jmp 0x1403b22e1
mov qword [rsp + 0x150], r14
movzx r15, r8w
movabs r15, 0x177b1b24c239afc2
mov ax, bx
mov qword [rsp + 0x158], r15
cwde
jmp 0x1403b230d
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
movsx ax, al
movsx r12, r9w
movabs rax, 0x17e9d9ead43ab904
mov r12b, 0x42
setns r12b
movzx r12d, ax
mov qword [rsp + 0x168], rax
movabs rax, 0xaf90d535c41d0ffd
xchg r12b, r12b
mov qword [rsp + 0x170], rax
movsx ax, dl
movzx r12w, al
xchg r12b, r12b
movabs rax, 0xf2ded97898f27626
movzx r12w, al
movzx r12d, bx
not r12b
mov qword [rsp + 0x178], rax
movzx eax, cx
cbw
movsxd r12, esp
movabs rax, 0x90e5a41b194eb827
movzx r12d, cx
mov qword [rsp + 0x180], rax
movabs rax, 0xf9814abe0c4a8548
mov qword [rsp + 0x188], rax
not eax
movsx r12, ax
movabs rax, 0x469e87a91fcaad61
xchg r12b, r12b
not r12b
movsxd r12, ebp
mov qword [rsp + 0x190], rax
movabs rax, 0x516cc54c8d9f586a
mov r12d, r14d
not r12b
xchg r12b, r12b
mov qword [rsp + 0x198], rax
movabs rax, 0x9f20a11fed6b970b
setle r12b
mov qword [rsp + 0x1a0], rax
setb r12b
movsx ax, r11b
movabs rax, 0xf6c14852f09a9ccc
mov r12d, ecx
mov qword [rsp + 0x1a8], rax
movabs rax, 0x60c699ddbde176e5
movzx r12w, dl
movzx r12, bp
mov qword [rsp + 0x1b0], rax
movabs rax, 0xbd0a0300ef81894e
bswap r12w
mov qword [rsp + 0x1b8], rax
cdqe
jmp 0x1403b245b
movabs rax, 0x98e00c035e8dd42f
movsx r12d, di
setp r12b
mov r12b, 0x8c
mov qword [rsp + 0x1c0], rax
movsxd rax, esp
mov r12b, 0xb6
movabs rax, 0x9b0161460f809550
mov qword [rsp + 0x1c8], rax
cbw
not al
mov r12w, 0x5c39
movabs rax, 0x53f629f1d39d0a89
jmp 0x1403b24ab
mov qword [rsp + 0x1d0], rax
movabs rax, 0xc1ab1d414ee4452
mov r12, 0x7edb15e5
jmp 0x1403b24c9
mov qword [rsp + 0x1d8], rax
movabs rax, 0x56cdc967014bed33
mov qword [rsp + 0x1e0], rax
cbw
movzx r12, r15w
movabs rax, 0xf52cb39a25af5714
mov qword [rsp + 0x1e8], rax
movzx eax, sp
movabs rax, 0x128742e57f08160d
bswap r12
setl r12b
mov qword [rsp + 0x1f0], rax
mov r12w, r8w
movabs rax, 0x187f5c28d0b2d536
movzx r12, r11w
mov r12b, dil
mov qword [rsp + 0x1f8], rax
lea r12, [rsp + 0x130]
cdqe
movsx rax, si
mov rax, r12
jmp 0x1403b254a
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b2554
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b2561
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b256b
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]
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x90]
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b25af
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403b25bc
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403b25d5
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403b25e6
movaps xmm0, xmmword [rsp + 0xc0]
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403b25ff
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b260c
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403b2620
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b262d
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403b2649
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403b265d
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403b266a
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403b267e
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403b268b
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
bswap r9w
mov qword [rsp + 0x30], r13
mov r13b, 0xad
mov eax, dword [rsp + 0x4c]
movsx r9, cx
movsx dx, bpl
not dl
mov dword [rsp + 0x28], eax
cdqe
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
cdq
lea r8, [rsp + 0x50]
movzx dx, r10b
lea r9, [rsp + 0x200]
mov edx, 0x400
mov cx, 0x22b2
setae ch
mov r13b, r15b
lea r13, [rsp + 0x280]
cmovs cx, r11w
movzx cx, bl
bswap cx
mov rcx, r13
call fcn.1403b28cd
mov rcx, qword [rsp + 0x40]
jmp 0x1403b2710
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403b2725
mov qword [rsp + 0x50], rax
xchg ah, ah
movabs rax, 0x6cc902b5d4bb29d2
mov qword [rsp + 0x58], rax
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403b274a
mov qword [rsp + 0x60], rax
cwde
not al
mov ah, 0xbd
movabs rax, 0xd7bf775b167baaf
jmp 0x1403b2764
mov qword [rsp + 0x68], rax
mov eax, 0xd19243a
lahf
movabs rax, 0x236b6ea41c06848b
jmp 0x1403b277e
mov qword [rsp + 0x70], rax
nop
movabs rax, 0x177b1b24c239afe3
jmp 0x1403b2794
mov qword [rsp + 0x78], rax
jmp 0x1403b279e
mov qword [rsp + 0x130], rbp
jmp 0x1403b27ab
mov qword [rsp + 0x138], rdi
jmp 0x1403b27b8
mov qword [rsp + 0x140], rbx
jmp 0x1403b27c5
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x150], r14
jmp 0x1403b27da
mov qword [rsp + 0x158], r15
jmp 0x1403b27e7
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b27f1
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b2800
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b280a
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b281a
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b2824
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
ror r9b, 0x83
lea r8, [rsp + 0x50]
cwd
sub ecx, ecx
cmovne dx, r11w
jmp 0x1403b2846
mov rdx, r13
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
test r10b, 0xd8
mov r10, 0xffffffffffffffff
cmc
sub edx, edx
jmp 0x1403b286e
syscall
add rsp, 0xa88
not r12d
movsx ebp, r12w
pop rbx
movzx r15d, r14w
movzx r14, dx
pop rbp
movsx r15w, r15b
pop rdi
movsxd r12, ebx
movzx r15d, cx
pop rsi
pop r12
cmovns r14, r14
mov r14, 0x13220ec0
not r13b
pop r13
xchg r15w, r15w
movsxd r15, r12d
jmp 0x1403b28b4
pop r14
jmp 0x1403b28c5
pop r15
jmp 0x1403b28cc
ret