Function at 0x1403ac523
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmp r11b, spl
push r14
push r13
push r12
push rsi
cmp r12w, 0x34fc
clc
cmp r15b, r13b
push rdi
neg sil
push rbp
setae dil
push rbx
sub rsp, 0xa88
clc
sal sil, cl
mov rsi, rcx
mov qword [rsp + 0x40], 0
add dil, dil
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ac576
cmp dl, 1
jmp 0x1403ac57e
mov qword [rsp + 0x128], r8
jmp 0x1403ac58b
mov dword [rsp + 0x4c], r9d
jmp 0x1403ac595
jne 0x1403ac653
movabs rax, 0xe7f735c197612b70
movzx cx, dil
movsx rcx, cx
mov qword [rsp + 0x130], rax
movsx rcx, r12w
bswap ax
mov rax, rdi
mov qword [rsp + 0x138], rax
mov rcx, rbp
mov qword [rsp + 0x280], rcx
jmp 0x1403ac5d8
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
jmp 0x1403ac5ed
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ac5fa
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx r9, ax
setae r8b
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
cdq
not r9b
cqo
mov edx, 0x40
cmovns r9w, r15w
mov r9, rsi
call fcn.1403ad25a
mov ecx, 0x13ff
rcr r8b, cl
sub edx, edx
mov r8, 0x487263ab
mov r8d, esi
jmp 0x1403ac64e
jmp 0x1403ac91b
mov ebx, edx
movzx rax, sp
lahf
movabs rax, 0xe7ee358897752b65
mov qword [rsp + 0x130], rax
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403ac67b
mov qword [rsp + 0x138], rax
mov rax, rbp
mov qword [rsp + 0x280], rax
movsx eax, bp
movzx eax, si
bswap eax
mov rax, rdi
jmp 0x1403ac69e
mov qword [rsp + 0x288], rax
cmovnp ax, r10w
lea rax, [rsp + 0x280]
jmp 0x1403ac6b8
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ac6c5
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
cwd
cqo
movzx dx, r12b
lea rcx, [rsp + 0x200]
cqo
lea r8, [rsp + 0x130]
sete r9b
cwd
mov edx, 0x40
movsx r9w, r8b
movsx r9, dx
mov r9b, 0xf9
mov r9, rsi
jmp 0x1403ac70a
call fcn.1403ad25a
test bl, bl
jmp 0x1403ac716
je 0x1403ac88b
movzx eax, bl
cmp eax, 2
jmp 0x1403ac727
jne 0x1403ac898
movabs r14, 0xcbf29ce484222325
mov ecx, esi
call sub.ntdll.dll_RtlNtStatusToDosError
mov r8d, eax
add cl, 0x6a
movsx cx, bl
mov rax, qword gs:[0x30]
shl dx, 0x6e
mov rax, qword [rax + 0x60]
xor cx, bx
mov r11, qword [rax + 0x18]
add r11, 0x10
not ecx
bswap r15w
cwd
movabs rdx, 0x2cc10c8855a9a8cd
movsx cx, sil
mov r15b, 0x27
movsxd rcx, eax
movabs r15, 0x1d12a89b9e723ff5
movsxd rcx, ebx
movzx ecx, cx
mov ecx, 0x1bff
jmp 0x1403ac79b
jmp 0x1403ac7ae
cmp rax, rdx
jmp 0x1403ac7a8
je 0x1403ac8cc
mov r11, qword [r11]
mov r10, qword [r11 + 0x30]
cmp dil, al
stc
test r10, r10
je 0x1403ac8fc
mov r12, qword [r11 + 0x60]
bt ebx, r13d
mov rbx, 0xffffffffffffffff
nop word cs:[rax + rax]
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403ac7ed
jne 0x1403ac7dd
mov rax, r14
cmp sp, 0x7c2f
stc
jmp 0x1403ac801
test rbx, rbx
je 0x1403ac7a0
xor esi, esi
mov rbp, r14
or rdi, rdx
nop word [rax + rax]
movsxd rdi, edx
movzx eax, word [r12 + rsi*2]
shl r9w, 0xf2
xor r9b, 0x6f
ror dil, 0xeb
lea edi, [rax - 0x41]
cmp r8b, 0xa5
lea r13d, [rax - 0x410]
adc r9b, 0x23
rcl r9, cl
bswap r9d
lea r9d, [rax + 0x20]
stc
cmp r13w, 0x20
jmp 0x1403ac854
cmovb eax, r9d
cmp di, 0x1a
jmp 0x1403ac861
cmovb eax, r9d
movzx eax, ax
xor rax, rbp
imul rax, r15
inc esi
cmp sil, 0x55
mov rbp, rax
cmp rsi, rbx
jmp 0x1403ac880
jb 0x1403ac81b
jmp 0x1403ac7a0
sub r13d, r13d
jmp 0x1403ac893
jmp 0x1403ac958
cmp bl, 3
not r8d
movsx ecx, r9w
movzx r8d, si
movzx ecx, r13w
not rcx
jmp 0x1403ac8b2
cmovne r8d, esi
movsx cx, bh
mov cx, 0x5a8e
movsx rcx, r12w
mov ecx, 0x13ff
jmp 0x1403ac914
test r11, r11
cmove r10, r11
sets dl
jmp 0x1403ac8db
mov rdx, r10
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ac8f7
jmp 0x1403ac91b
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
sal ah, cl
xchg al, ah
sub edx, edx
bt rax, 0x78
lea rax, [rsp + 0x40]
cmp r13b, r12b
mov qword [rsp + 0x20], rax
cmp di, 0x4bf4
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
test r8b, bpl
cmc
sub r9d, r9d
jmp 0x1403ac94a
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
sar cx, cl
lea rcx, [rsp + 0x280]
mov r8d, 0x800
cmp r9, 0x1d6d0c8d
cmp spl, bpl
xor edx, edx
jmp 0x1403ac977
call fcn.1404a12c1
movabs rax, 0xe7ed35df977f2b10
mov qword [rsp + 0x50], rax
mov r12b, 0xfc
lahf
movabs rax, 0x6c9e02f0d4a129cc
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
mov qword [rsp + 0x60], rax
jmp 0x1403ac9b5
movabs rax, 0xd2ef72cb161baac
movzx rbx, dx
mov r12w, 0x1396
mov r15b, r13b
mov qword [rsp + 0x68], rax
cbw
mov r12w, r13w
movabs rax, 0x23396ef01c4484dc
jmp 0x1403ac9e5
mov qword [rsp + 0x70], rax
movzx rsi, si
setnp r15b
lahf
movabs rax, 0x17711b7cc255afae
movzx r15, cx
bswap rsi
mov qword [rsp + 0x78], rax
cdqe
movsx r14d, r12w
not bx
movabs rax, 0x314846d9144fae6f
mov qword [rsp + 0x80], rax
mov esi, 0x36970d0e
movzx esi, r14w
cbw
movabs rax, 0x178dd9cfd41ab93e
mov r15b, 0xa6
mov qword [rsp + 0x88], rax
movabs rax, 0xafe3d510c4170ff7
movsx r12d, r12w
movsx rsi, r13w
mov qword [rsp + 0x90], rax
lahf
not r12b
movzx r15w, r14b
movabs rax, 0xf2b1d93b98f8762c
mov qword [rsp + 0x98], rax
xchg r14w, r15w
jmp 0x1403aca82
movabs rax, 0x9086a47a193ab849
movsx r14, r10w
not r14b
mov qword [rsp + 0xa0], rax
xchg ebx, esi
cdqe
movzx r14w, bpl
movabs rax, 0xf9f44acd0c6a853c
cmovbe bx, r11w
movsx rbx, dx
mov qword [rsp + 0xa8], rax
movabs rax, 0x46ec87c61fbaad11
not r12
mov qword [rsp + 0xb0], rax
cwde
jmp 0x1403acadd
movabs rax, 0x5102c52d8dbf581e
setbe r14b
mov qword [rsp + 0xb8], rax
movsx r14d, dx
movabs rax, 0x9f52a16fed4b976f
mov qword [rsp + 0xc0], rax
setp r12b
movabs rax, 0xf6a5483bf0ec9ca3
mov r12b, r15b
bswap si
movzx rsi, r10w
mov qword [rsp + 0xc8], rax
movzx r12w, spl
mov si, si
movabs rax, 0x60e699bcbdc17680
mov sil, dil
setb r14b
bswap bx
mov qword [rsp + 0xd0], rax
movabs rax, 0xbd6f0372efe2893d
jmp 0x1403acb5c
mov qword [rsp + 0xd8], rax
movsxd rax, r12d
cmova rax, r8
movabs rax, 0x98880c705ee3d44a
movzx bx, r11b
mov qword [rsp + 0xe0], rax
xchg r14b, sil
bswap rsi
movabs rax, 0x9b7661660ff4953f
bswap esi
not r15b
movsxd rsi, r8d
mov qword [rsp + 0xe8], rax
movsx r12d, r13w
cbw
movzx r14d, r9w
movabs rax, 0x53d62999d3e90ae0
movsx r14w, bpl
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
mov qword [rsp + 0xf8], rax
setg r12b
movzx r12, r9w
cwde
movabs rax, 0x56abc9090122ed13
bswap esi
movzx r14, r10w
cmovne r12, rbp
mov qword [rsp + 0x100], rax
movzx esi, si
movzx ax, r14b
movabs rax, 0xf54db3f725dd577b
movzx si, bpl
movzx rsi, bp
mov r12w, r10w
mov qword [rsp + 0x108], rax
movabs rax, 0x12e9428a7f611679
movzx esi, si
jmp 0x1403acc37
mov qword [rsp + 0x110], rax
movabs rax, 0x187f5c28d0b2d517
mov qword [rsp + 0x118], rax
mov r15b, r8b
mov qword [rsp + 0x130], rbp
cmovle r12w, sp
bswap r12
setle sil
mov qword [rsp + 0x138], rdi
movsx r15w, r10b
movabs rbx, 0xbbeab153fb5d239f
setge r14b
mov qword [rsp + 0x140], rbx
mov r14, 0x104269a1
movabs rsi, 0xd0ef716b104bac0
movzx r12, ax
movzx r12w, r10b
mov qword [rsp + 0x148], rsi
cmovne r14d, r12d
movsx r14d, r11w
mov r14w, 0x1a82
movabs r14, 0x230f6ec11c7484f9
movsx eax, r13w
cwde
movsxd r12, r13d
mov qword [rsp + 0x150], r14
movabs r15, 0x177b1b24c239afc2
movzx eax, r11w
mov qword [rsp + 0x158], r15
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
jmp 0x1403acd03
movabs rax, 0x17e9d9ead43ab904
mov r12d, r12d
mov qword [rsp + 0x168], rax
cdqe
movabs rax, 0xaf90d535c41d0ffd
not r12w
movsx r12w, sil
movsx r12, r11w
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
mov r12w, 0x10d9
mov qword [rsp + 0x178], rax
jmp 0x1403acd55
movabs rax, 0x90e5a41b194eb827
jmp 0x1403acd64
mov qword [rsp + 0x180], rax
cbw
movabs rax, 0xf9814abe0c4a8548
mov qword [rsp + 0x188], rax
movabs rax, 0x469e87a91fcaad61
mov qword [rsp + 0x190], rax
movabs rax, 0x516cc54c8d9f586a
movsx r12w, r14b
mov qword [rsp + 0x198], rax
movabs rax, 0x9f20a11fed6b970b
setge r12b
cmovs r12d, edx
mov qword [rsp + 0x1a0], rax
movabs rax, 0xf6c14852f09a9ccc
movzx r12d, r8w
seta r12b
movzx r12, r13w
mov qword [rsp + 0x1a8], rax
movabs rax, 0x60c699ddbde176e5
mov qword [rsp + 0x1b0], rax
cwde
movsx ax, ah
movsx eax, r11w
movabs rax, 0xbd0a0300ef81894e
movsx r12, r9w
mov qword [rsp + 0x1b8], rax
mov al, 6
movabs rax, 0x98e00c035e8dd42f
not r12w
movsx r12w, dl
xchg r12w, r12w
mov qword [rsp + 0x1c0], rax
movabs rax, 0x9b0161460f809550
mov qword [rsp + 0x1c8], rax
bswap ax
lahf
cbw
movabs rax, 0x53f629f1d39d0a89
movsx r12d, sp
movzx r12, bx
movsx r12w, r9b
mov qword [rsp + 0x1d0], rax
movabs rax, 0xc1ab1d414ee4452
mov qword [rsp + 0x1d8], rax
movsx ax, bpl
movabs rax, 0x56cdc967014bed33
mov qword [rsp + 0x1e0], rax
movabs rax, 0xf52cb39a25af5714
setno r12b
mov qword [rsp + 0x1e8], rax
movabs rax, 0x128742e57f08160d
movsx r12w, r8b
mov qword [rsp + 0x1f0], rax
lahf
cdqe
not r12b
movabs rax, 0x187f5c28d0b2d536
mov qword [rsp + 0x1f8], rax
lea r12, [rsp + 0x130]
cdqe
mov rax, r12
jmp 0x1403aceea
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403acef4
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403acf01
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403acf0b
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403acf19
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403acf23
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403acf31
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403acf3e
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403acf4f
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403acf5c
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403acf6d
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403acf7a
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403acf8b
movaps xmm0, xmmword [rsp + 0xb0]
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403acfa4
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403acfb1
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403acfc2
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403acfcf
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403acfe3
movaps xmm0, xmmword [rsp + 0xe0]
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403acfff
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403ad00c
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403ad020
movaps xmm0, xmmword [rsp + 0x100]
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
cdqe
rdtsc
cqo
mov eax, dword [rsp + 0x4c]
movsx ecx, r12w
movzx rcx, sp
movsxd rdx, edi
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x200]
movsx rcx, si
setae dh
movzx edx, r9w
mov edx, 0x400
movzx ecx, r14w
not cl
xchg cl, r13b
lea r13, [rsp + 0x280]
mov rcx, r13
call fcn.1403ad25a
mov rcx, qword [rsp + 0x40]
jmp 0x1403ad0b9
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
mov qword [rsp + 0x50], rax
movzx ax, al
movsxd rax, r13d
lahf
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403ad0e5
mov qword [rsp + 0x58], rax
cwde
nop
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403ad0fc
mov qword [rsp + 0x60], rax
cbw
movabs rax, 0xd7bf775b167baaf
jmp 0x1403ad112
mov qword [rsp + 0x68], rax
movsx eax, r13w
cdqe
movabs rax, 0x236b6ea41c06848b
jmp 0x1403ad12c
mov qword [rsp + 0x70], rax
mov al, dh
movabs rax, 0x177b1b24c239afe3
jmp 0x1403ad142
mov qword [rsp + 0x78], rax
jmp 0x1403ad14c
mov qword [rsp + 0x130], rbp
jmp 0x1403ad159
mov qword [rsp + 0x138], rdi
jmp 0x1403ad166
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rsi
jmp 0x1403ad17b
mov qword [rsp + 0x150], r14
jmp 0x1403ad188
mov qword [rsp + 0x158], r15
jmp 0x1403ad195
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403ad19f
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403ad1ae
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403ad1b8
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403ad1c8
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
btc r9w, 0xd
lea r8, [rsp + 0x50]
btc r9w, 2
sar dh, 0x1b
xor dx, 0x26ae
xor ecx, ecx
movzx rdx, r14w
mov dx, r8w
xchg r9w, r9w
mov rdx, r13
mov r9d, 0x10
jmp 0x1403ad20d
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
bts r10d, r9d
rcr r10w, cl
mov r10, 0xffffffffffffffff
xor edx, edx
syscall
add rsp, 0xa88
pop rbx
movsx rsi, r9w
pop rbp
pop rdi
movzx r14d, bx
cmovl r14, rcx
pop rsi
pop r12
pop r13
pop r14
movzx r15w, dil
setae r15b
pop r15
jmp 0x1403ad259
ret