Function at 0x1403b2acb
Capabilities:
Encrypt data using speck

Disassembly:
push r15
jmp 0x1403b2ade
push r14
cmp di, bx
push r13
stc
test ax, bx
push r12
stc
jmp 0x1403b2af1
push rsi
neg sil
or sil, 0xec
push rdi
sbb dil, spl
movzx rdi, ax
push rbp
push rbx
rol rsi, cl
sub rsp, 0xa88
xor bpl, 0x2b
mov rsi, rcx
or bpl, 0xed
bswap rdi
mov qword [rsp + 0x40], 0
clc
btr rdi, rbp
sub bpl, 0x92
movabs rbp, 0xe78235ad970d2b55
sub edi, ebx
movabs rdi, 0x6cbb02d0d49b29be
cmp dl, 1
jmp 0x1403b2b4b
mov qword [rsp + 0x128], r8
jmp 0x1403b2b58
mov dword [rsp + 0x4c], r9d
jne 0x1403b2c25
movabs rax, 0xe7f735c197612b70
movsx ecx, di
movzx ecx, bp
movsx cx, spl
mov qword [rsp + 0x130], rax
movsxd rcx, r12d
movzx rcx, r11w
mov rax, rdi
movsxd rcx, r13d
mov qword [rsp + 0x138], rax
mov rcx, rbp
mov qword [rsp + 0x280], rcx
jmp 0x1403b2ba5
mov qword [rsp + 0x288], rax
cdqe
lea rax, [rsp + 0x280]
jmp 0x1403b2bbc
movaps xmm0, xmmword [rsp + 0x130]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
mov r8b, r13b
lea rcx, [rsp + 0x200]
xchg r9b, dl
movsx edx, si
lea r8, [rsp + 0x130]
mov r9b, 0x4c
mov edx, 0x40
not r9d
movzx r9d, r13w
mov r9, rsi
jmp 0x1403b2bff
call fcn.1403b38c6
mov ecx, 0x13ff
or r8w, r8w
btc r8d, 0x56
xor edx, edx
cmovne r8w, ax
movzx r8, r9w
mov r8d, esi
jmp 0x1403b2f11
mov ebx, edx
movzx eax, r15w
cwde
jmp 0x1403b2c31
movabs rax, 0xe7ee358897752b65
jmp 0x1403b2c40
mov qword [rsp + 0x130], rax
cwde
cmovs rax, rsp
movsxd rax, edi
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403b2c5f
mov qword [rsp + 0x138], rax
mov al, r12b
mov rax, rbp
mov qword [rsp + 0x280], rax
jmp 0x1403b2c7d
mov rax, rdi
jmp 0x1403b2c85
mov qword [rsp + 0x288], rax
movzx ax, bpl
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b2ca7
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
mov r8b, r14b
lea rcx, [rsp + 0x200]
xchg r9b, dl
setg dl
movsx r8d, r8w
lea r8, [rsp + 0x130]
cwd
movsxd r9, r9d
cqo
mov edx, 0x40
mov r9b, 0xb0
movzx r9d, r10w
bswap r9
mov r9, rsi
jmp 0x1403b2ced
call fcn.1403b38c6
test bl, bl
jmp 0x1403b2cf9
je 0x1403b2e89
movzx eax, bl
cmp eax, 2
jmp 0x1403b2d0a
jne 0x1403b2e96
movabs r14, 0xcbf29ce484222325
movzx ecx, bp
mov ecx, esi
jmp 0x1403b2d24
call sub.ntdll.dll_RtlNtStatusToDosError
mov r8d, eax
rcl r15b, 0xac
xadd r15, r11
mov rax, qword gs:[0x30]
sar dl, 0x98
mov rax, qword [rax + 0x60]
cwd
mov r11, qword [rax + 0x18]
shl r15b, 0xe6
rcl ch, cl
add r11, 0x10
mov dx, 0x179d
not r15w
movabs rdx, 0x2cc10c8855a9a8cd
movabs r15, 0x1d12a89b9e723ff5
not ch
mov ecx, 0x1bff
jmp 0x1403b2d7c
jmp 0x1403b2d8f
cmp rax, rdx
jmp 0x1403b2d89
je 0x1403b2ebe
mov r11, qword [r11]
mov r10, qword [r11 + 0x30]
cmp r15b, dil
stc
jmp 0x1403b2d9f
test r10, r10
jmp 0x1403b2da7
je 0x1403b2eef
mov r12, qword [r11 + 0x60]
mov rbx, 0xffffffffffffffff
jmp 0x1403b2dbf
nop word cs:[rax + rax]
test r9w, ax
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403b2ddb
lea rbx, [rbx + 1]
jmp 0x1403b2de4
jne 0x1403b2dcf
mov rax, r14
cmp al, 0x54
test sil, 2
test rbx, rbx
jmp 0x1403b2dfb
je 0x1403b2d81
xor esi, esi
mov rbp, r14
nop word [rax + rax]
not r9b
movzx rdi, ax
movzx eax, word [r12 + rsi*2]
bswap r13w
sub r9w, 0x74ff
test r13b, bl
lea edi, [rax - 0x41]
lea r13d, [rax - 0x410]
lea r9d, [rax + 0x20]
test r10d, r11d
cmp ax, bx
clc
cmp r13w, 0x20
jmp 0x1403b2e44
cmovb eax, r9d
cmc
cmp bpl, 0x10
cmp di, 0x1a
jmp 0x1403b2e56
cmovb eax, r9d
movzx eax, ax
cmc
cmp r8b, 0xf9
stc
xor rax, rbp
xor bp, r8w
imul rax, r15
inc esi
not bpl
mov rbp, rax
cmp rsi, rbx
jmp 0x1403b2e7e
jb 0x1403b2e13
jmp 0x1403b2d81
sub r13d, r13d
jmp 0x1403b2e91
jmp 0x1403b2f4d
cmp bl, 3
movsxd r8, esp
movzx r8d, si
movsx rcx, r11w
cmovne r8d, esi
movsx cx, r15b
xchg ch, cl
mov ecx, 0x13ff
jmp 0x1403b2eb9
jmp 0x1403b2f0a
test r11, r11
movsxd rdx, r14d
cmove r10, r11
bswap rdx
mov rdx, r10
movabs rbp, 0xe78235ad970d2b55
xchg dil, dil
movsx di, r11b
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b2f11
movabs rbp, 0xe78235ad970d2b55
rcr ax, cl
rol di, 0x23
movabs rdi, 0x6cbb02d0d49b29be
sub edx, edx
mov al, r14b
cdqe
lea rax, [rsp + 0x40]
cmp r12, r15
cmc
test r15, rsi
mov qword [rsp + 0x20], rax
test r12, r8
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
clc
sub r9d, r9d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
add r8b, r15b
movsx r8d, r14w
clc
lea rcx, [rsp + 0x280]
cmp ecx, 0x464a6f3b
mov r8d, 0x800
cmp r14b, dil
test spl, 0x6a
xor edx, edx
call fcn.1404a7787
movabs rax, 0xe7ed35df977f2b10
mov qword [rsp + 0x50], rax
movabs rax, 0x6c9e02f0d4a129cc
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
movsx esi, r10w
seta sil
jmp 0x1403b2fa4
mov qword [rsp + 0x60], rax
setb r12b
movabs rax, 0xd2ef72cb161baac
mov qword [rsp + 0x68], rax
cbw
movzx r14, r14w
mov r14, 0x499b4726
movabs rax, 0x23396ef01c4484dc
movsx r12, r11w
mov qword [rsp + 0x70], rax
lahf
mov al, 0x5e
movabs rax, 0x17711b7cc255afae
mov qword [rsp + 0x78], rax
movzx r15, r8w
movsx rsi, cx
movabs rax, 0x314846d9144fae6f
mov qword [rsp + 0x80], rax
mov r14w, 0x234e
movabs rax, 0x178dd9cfd41ab93e
mov qword [rsp + 0x88], rax
movabs rax, 0xafe3d510c4170ff7
mov qword [rsp + 0x90], rax
movabs rax, 0xf2b1d93b98f8762c
mov bh, 0x8c
mov qword [rsp + 0x98], rax
movabs rax, 0x9086a47a193ab849
mov qword [rsp + 0xa0], rax
bswap ax
cwde
movabs rax, 0xf9f44acd0c6a853c
movsx r14, cx
not r15
mov qword [rsp + 0xa8], rax
movsxd rbx, r15d
movzx r15, r10w
bswap ebx
movabs rax, 0x46ec87c61fbaad11
setnp sil
movsxd rsi, r9d
cmovge si, dx
mov qword [rsp + 0xb0], rax
movabs rax, 0x5102c52d8dbf581e
movsx r14, bx
mov qword [rsp + 0xb8], rax
movabs rax, 0x9f52a16fed4b976f
not r12w
movsxd r12, ebx
jmp 0x1403b30c7
mov qword [rsp + 0xc0], rax
cmove ax, ax
movabs rax, 0xf6a5483bf0ec9ca3
mov qword [rsp + 0xc8], rax
movsx rbx, r11w
cdqe
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
movzx r12w, dl
cwde
mov r15w, 0x5cc8
movabs rax, 0xbd6f0372efe2893d
movsxd r14, esp
movsx r12d, r14w
bswap si
mov qword [rsp + 0xd8], rax
movsx r14w, dl
movzx rsi, r15w
not bx
movabs rax, 0x98880c705ee3d44a
mov qword [rsp + 0xe0], rax
mov ax, r15w
movzx r15d, ax
movabs rax, 0x9b7661660ff4953f
sets r14b
not rsi
cmove r15d, r13d
mov qword [rsp + 0xe8], rax
movsxd rbx, r9d
movabs rax, 0x53d62999d3e90ae0
jmp 0x1403b3180
mov qword [rsp + 0xf0], rax
mov r15w, r14w
movsx eax, si
movsxd rax, edx
movabs rax, 0xc69b1bd14864426
mov qword [rsp + 0xf8], rax
jmp 0x1403b31ab
movabs rax, 0x56abc9090122ed13
movzx r15w, r13b
movsxd rbx, r13d
not bx
mov qword [rsp + 0x100], rax
mov bl, r15b
movabs rax, 0xf54db3f725dd577b
movzx r14d, ax
xchg r14b, r15b
cmovg si, cx
mov qword [rsp + 0x108], rax
movabs rax, 0x12e9428a7f611679
movsx r15, r14w
movzx ebx, ax
mov qword [rsp + 0x110], rax
movabs rax, 0x187f5c28d0b2d517
movsx r15w, bl
movsx esi, sp
cmovg r15, r8
mov qword [rsp + 0x118], rax
cmovno rbx, rdx
movzx rsi, si
movzx r15w, spl
mov qword [rsp + 0x130], rbp
mov sil, r11b
mov qword [rsp + 0x138], rdi
xchg r15b, r12b
mov bl, 0xdf
bswap si
movabs rbx, 0xbbeab153fb5d239f
mov qword [rsp + 0x140], rbx
setne sil
mov r12w, r12w
cwde
movabs rsi, 0xd0ef716b104bac0
not r14b
setae al
movzx r14w, r14b
mov qword [rsp + 0x148], rsi
movzx r14, dx
movsx rax, cx
movabs r14, 0x230f6ec11c7484f9
mov qword [rsp + 0x150], r14
movsx ax, sil
movabs r15, 0x177b1b24c239afc2
not r12b
movzx r12w, r10b
mov qword [rsp + 0x158], r15
movzx eax, bp
not eax
movzx r12, r10w
movabs rax, 0x312d46b71426ae23
mov r12d, ebp
cmovns r12d, ecx
mov r12b, 0xc8
mov qword [rsp + 0x160], rax
cdqe
not r12b
mov r12b, 0x7e
movabs rax, 0x17e9d9ead43ab904
movsxd r12, r8d
mov qword [rsp + 0x168], rax
movabs rax, 0xaf90d535c41d0ffd
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
mov qword [rsp + 0x178], rax
cwde
movzx r12, r9w
cmovnp r12, r9
movabs rax, 0x90e5a41b194eb827
mov qword [rsp + 0x180], rax
cbw
movsx r12, r14w
movabs rax, 0xf9814abe0c4a8548
jmp 0x1403b3356
mov qword [rsp + 0x188], rax
movabs rax, 0x469e87a91fcaad61
movsx r12w, dl
xchg r12b, r12b
mov qword [rsp + 0x190], rax
lahf
movabs rax, 0x516cc54c8d9f586a
movzx r12w, dil
movsx r12d, r11w
mov qword [rsp + 0x198], rax
movabs rax, 0x9f20a11fed6b970b
movsx r12d, r13w
jmp 0x1403b33a7
mov qword [rsp + 0x1a0], rax
movsx ax, r8b
movsx rax, bx
lahf
movabs rax, 0xf6c14852f09a9ccc
cmove r12, r9
mov qword [rsp + 0x1a8], rax
movabs rax, 0x60c699ddbde176e5
movzx r12d, r14w
movsxd r12, r13d
mov qword [rsp + 0x1b0], rax
setge al
cmovs r12, r10
cbw
movabs rax, 0xbd0a0300ef81894e
movzx r12d, r15w
setge r12b
not r12w
mov qword [rsp + 0x1b8], rax
jmp 0x1403b3418
movabs rax, 0x98e00c035e8dd42f
xchg r12, r12
movsxd r12, ecx
mov r12w, r14w
mov qword [rsp + 0x1c0], rax
not r12b
mov r12w, r10w
movsx rax, di
movabs rax, 0x9b0161460f809550
jmp 0x1403b3452
mov qword [rsp + 0x1c8], rax
xchg ah, al
movzx rax, r14w
movsx rax, si
movabs rax, 0x53f629f1d39d0a89
movsxd r12, ecx
mov r12b, 0xb0
mov r12b, r15b
mov qword [rsp + 0x1d0], rax
mov r12w, 0x50f5
movsx rax, si
setns r12b
movabs rax, 0xc1ab1d414ee4452
movsx r12, cx
not r12
mov qword [rsp + 0x1d8], rax
movsxd r12, eax
jmp 0x1403b34ad
movabs rax, 0x56cdc967014bed33
mov qword [rsp + 0x1e0], rax
movsxd rax, r12d
xchg al, ah
movabs rax, 0xf52cb39a25af5714
movsx r12w, r9b
mov r12w, 0x14c4
not r12b
mov qword [rsp + 0x1e8], rax
movabs rax, 0x128742e57f08160d
sete r12b
mov qword [rsp + 0x1f0], rax
cmovl r12d, edi
movzx r12, si
movsxd rax, eax
movabs rax, 0x187f5c28d0b2d536
bswap r12w
mov r12b, 0x41
mov qword [rsp + 0x1f8], rax
cwde
lea r12, [rsp + 0x130]
movsxd rax, r8d
cmovno ax, ax
mov rax, r12
jmp 0x1403b3535
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b353f
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b354c
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b355f
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b3569
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403b3577
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403b3584
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403b3595
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403b35a2
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b35b3
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403b35c0
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403b35d1
movaps xmm0, xmmword [rsp + 0xb0]
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403b35ea
movaps xmm0, xmmword [rsp + 0xc0]
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403b3603
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b3610
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b362c
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403b3640
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403b364d
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403b3661
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403b366e
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403b3682
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403b368f
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
movsxd rax, edi
cdqe
lahf
mov qword [rsp + 0x30], r13
jmp 0x1403b36ae
mov eax, dword [rsp + 0x4c]
mov cx, bx
mov dword [rsp + 0x28], eax
cwde
cdqe
movzx rdx, cx
mov rax, qword [rsp + 0x128]
setb r8b
mov r8w, ax
movsx cx, r9b
mov qword [rsp + 0x20], rax
movsx r8w, spl
lea r8, [rsp + 0x50]
not r13b
lea r9, [rsp + 0x200]
mov edx, 0x400
mov r13d, 0x72607c93
lea r13, [rsp + 0x280]
mov cl, dil
cmovo cx, r9w
mov rcx, r13
jmp 0x1403b3712
call fcn.1403b38c6
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
mov qword [rsp + 0x50], rax
seta al
mov ah, 0xed
movsx ax, r12b
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403b374b
mov qword [rsp + 0x58], rax
movzx rax, sp
mov al, dil
movabs rax, 0xbbcab121fb3223ed
mov qword [rsp + 0x60], rax
movabs rax, 0xd7bf775b167baaf
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
jmp 0x1403b3784
mov qword [rsp + 0x70], rax
mov ah, bh
movsxd rax, esi
movabs rax, 0x177b1b24c239afe3
jmp 0x1403b379d
mov qword [rsp + 0x78], rax
jmp 0x1403b37a7
mov qword [rsp + 0x130], rbp
mov qword [rsp + 0x138], rdi
jmp 0x1403b37bc
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rsi
jmp 0x1403b37d1
mov qword [rsp + 0x150], r14
jmp 0x1403b37de
mov qword [rsp + 0x158], r15
jmp 0x1403b37eb
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b37f5
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b3804
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b380e
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b381e
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b3828
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
xor r8w, 0xc70
lea r8, [rsp + 0x50]
xor rdx, r14
shrd dx, dx, 1
xor ecx, ecx
not r9b
cqo
mov rdx, r13
mov r9d, 0x10
jmp 0x1403b385b
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
movsx r10w, al
mov r10, 0xffffffffffffffff
test ax, dx
cmp bl, ah
xor edx, edx
jmp 0x1403b387f
syscall
add rsp, 0xa88
pop rbx
cmovbe bp, cx
mov r14, 0x503a6ab9
pop rbp
cmove rsi, r8
movsx di, bpl
pop rdi
movsx r12w, r13b
pop rsi
mov r12d, r10d
xchg r14b, r15b
pop r12
movsx r13w, spl
movzx r13w, r15b
pop r13
mov r14b, 0x80
pop r14
pop r15
jmp 0x1403b38c5
ret