Function at 0x1403ae879
Capabilities:
Encrypt data using speck

Disassembly:
push r15
stc
test bpl, 0xbe
push r14
jmp 0x1403ae88f
push r13
push r12
push rsi
push rdi
movzx si, cl
sbb di, 0x3437
sar dil, cl
push rbp
and di, dx
ror sil, 0xcb
add bpl, 0xd
push rbx
mov edi, 0x2c572cf8
adc bpl, bpl
sub rsp, 0xa88
neg di
mov rsi, rcx
btr edi, esi
mov qword [rsp + 0x40], 0
movabs rbp, 0xe78235ad970d2b55
btr rdi, r12
sub di, 0x7e15
shr di, cl
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ae8f4
cmp dl, 1
jmp 0x1403ae8fc
mov qword [rsp + 0x128], r8
jmp 0x1403ae909
mov dword [rsp + 0x4c], r9d
jmp 0x1403ae913
jne 0x1403ae9c6
movabs rax, 0xe7f735c197612b70
not cl
movsx ecx, ax
bswap rcx
mov qword [rsp + 0x130], rax
mov cl, 0x3a
movsx eax, si
mov rax, rdi
mov qword [rsp + 0x138], rax
mov rcx, rbp
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rax
movsx eax, r9w
lahf
lea rax, [rsp + 0x280]
jmp 0x1403ae968
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ae975
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
setne dl
lea r8, [rsp + 0x130]
mov edx, 0x40
mov r9w, 0xa0d
bswap r9w
mov r9, rsi
jmp 0x1403ae9a9
call fcn.1403af64b
mov ecx, 0x13ff
sub edx, edx
cmovl r8, r14
mov r8d, esi
jmp 0x1403ae9c1
jmp 0x1403aec78
mov ebx, edx
movzx rax, r9w
movabs rax, 0xe7ee358897752b65
jmp 0x1403ae9db
mov qword [rsp + 0x130], rax
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403ae9f2
mov qword [rsp + 0x138], rax
mov rax, rbp
mov qword [rsp + 0x280], rax
movsx ax, sil
cdqe
mov rax, rdi
jmp 0x1403aea14
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403aea31
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
seta dh
movzx edx, sp
mov edx, 0x40
movzx r9, si
mov r9, rsi
call fcn.1403af64b
test bl, bl
je 0x1403aebdb
movzx eax, bl
cmp eax, 2
jmp 0x1403aea76
jne 0x1403aebe8
movabs r14, 0xcbf29ce484222325
mov ecx, esi
jmp 0x1403aea8d
call sub.ntdll.dll_RtlNtStatusToDosError
mov r8d, eax
bts r15w, r14w
cmp sil, r8b
jmp 0x1403aeaa2
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
cqo
mov r11, qword [rax + 0x18]
shr r15, cl
add r11, 0x10
movabs rdx, 0x2cc10c8855a9a8cd
mov ecx, esi
movzx r15w, r8b
movabs r15, 0x1d12a89b9e723ff5
movsxd rcx, ecx
mov ecx, 0x1bff
jmp 0x1403aeae4
jmp 0x1403aeaf7
cmp rax, rdx
jmp 0x1403aeaf1
je 0x1403aec12
mov r11, qword [r11]
mov r10, qword [r11 + 0x30]
test r10, r10
jmp 0x1403aeb06
je 0x1403aec50
mov r12, qword [r11 + 0x60]
not rbx
mov bh, 0x7f
cmp dil, r11b
mov rbx, 0xffffffffffffffff
test r12b, r8b
cmc
nop word cs:[rax + rax]
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403aeb40
jne 0x1403aeb30
mov rax, r14
clc
test ax, 0x5cdb
test rbx, rbx
je 0x1403aeae9
sub esi, esi
mov rbp, r14
cbw
nop word [rax + rax]
sbb r13w, 0x3567
movzx eax, word [r12 + rsi*2]
add di, sp
lea edi, [rax - 0x41]
rcl r9b, 0xf4
neg r9w
lea r13d, [rax - 0x410]
test rcx, r8
lea r9d, [rax + 0x20]
cmp r10w, 0x5cdd
cmp r13w, 0x20
cmovb eax, r9d
cmp di, 0x1a
jmp 0x1403aeba3
cmovb eax, r9d
movzx eax, ax
test bh, 0x2e
test r13b, r11b
xor rax, rbp
imul rax, r15
inc esi
ror bp, 0xcc
btr rbp, 0x5f
movsx ebp, dx
mov rbp, rax
cmp rsi, rbx
jmp 0x1403aebd0
jb 0x1403aeb6a
jmp 0x1403aeae9
sub r13d, r13d
jmp 0x1403aebe3
jmp 0x1403aecb2
cmp bl, 3
movzx r8d, si
movsx rcx, r12w
cmovo rcx, rax
cmovne r8d, esi
not cl
bswap rcx
mov cl, r8b
mov ecx, 0x13ff
jmp 0x1403aec0d
jmp 0x1403aec6e
test r11, r11
movsx rbp, di
cdq
seta bpl
cmove r10, r11
mov dx, 0x6d63
cwd
cdq
mov rdx, r10
movzx rbp, r9w
movzx edi, r11w
movabs rbp, 0xe78235ad970d2b55
xchg dil, dil
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403aec78
movabs rbp, 0xe78235ad970d2b55
sub dil, r13b
and ax, di
btc eax, 0x80
movabs rdi, 0x6cbb02d0d49b29be
xor edx, edx
mov ax, 0x3bd0
bts ax, cx
lea rax, [rsp + 0x40]
clc
test dil, 0x97
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
cmc
xor r9d, r9d
jmp 0x1403aeca1
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
movsx rcx, bp
xchg ch, ch
lea rcx, [rsp + 0x280]
adc r8b, 0x40
mov r8d, 0x800
jmp 0x1403aeccb
sub edx, edx
call fcn.1404a317d
movabs rax, 0xe7ed35df977f2b10
jmp 0x1403aece1
mov qword [rsp + 0x50], rax
movsx rbx, ax
xchg r12w, ax
movabs rax, 0x6c9e02f0d4a129cc
movzx r12d, sp
mov bl, 0xd7
movzx r14w, r9b
mov qword [rsp + 0x58], rax
movsx eax, bx
movzx rax, di
bswap r15w
movabs rax, 0xbb83b115fb5723ec
movsx esi, r15w
mov qword [rsp + 0x60], rax
lahf
mov bl, 0x96
movabs rax, 0xd2ef72cb161baac
mov qword [rsp + 0x68], rax
movabs rax, 0x23396ef01c4484dc
not r14w
mov qword [rsp + 0x70], rax
sete r14b
cwde
movabs rax, 0x17711b7cc255afae
movsx r14d, ax
sete r12b
movsxd rsi, edx
mov qword [rsp + 0x78], rax
movsx bx, bl
movabs rax, 0x314846d9144fae6f
mov sil, bpl
movzx r12, dx
movsx rsi, si
mov qword [rsp + 0x80], rax
movsx r14, r13w
mov ebx, 0x37c35f4c
bswap r14w
movabs rax, 0x178dd9cfd41ab93e
movsx r15w, dl
mov r15d, 0x7e35b7f
movsx r15, ax
mov qword [rsp + 0x88], rax
movabs rax, 0xafe3d510c4170ff7
bswap r15d
movsx r15d, r12w
mov qword [rsp + 0x90], rax
mov sil, spl
movabs rax, 0xf2b1d93b98f8762c
mov qword [rsp + 0x98], rax
setae r15b
movabs rax, 0x9086a47a193ab849
bswap r15d
cmove r14d, r14d
mov qword [rsp + 0xa0], rax
seto sil
jmp 0x1403aee0c
movabs rax, 0xf9f44acd0c6a853c
movsx r14d, r15w
movzx r12, sp
xchg r12w, r12w
mov qword [rsp + 0xa8], rax
cdqe
setns sil
movabs rax, 0x46ec87c61fbaad11
mov qword [rsp + 0xb0], rax
movsxd r15, r12d
bswap r12w
movabs rax, 0x5102c52d8dbf581e
xchg bh, bh
movzx r15d, bp
movsx esi, r13w
mov qword [rsp + 0xb8], rax
movabs rax, 0x9f52a16fed4b976f
xchg si, r15w
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
movzx esi, cx
mov qword [rsp + 0xc8], rax
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
movsx r15, r11w
setb bh
movabs rax, 0xbd6f0372efe2893d
movzx rsi, r11w
movsx r14d, r10w
movsxd rsi, r14d
mov qword [rsp + 0xd8], rax
movabs rax, 0x98880c705ee3d44a
mov qword [rsp + 0xe0], rax
mov r15b, al
movabs rax, 0x9b7661660ff4953f
mov qword [rsp + 0xe8], rax
cmovbe bx, r8w
movabs rax, 0x53d62999d3e90ae0
movsx r12d, r12w
bswap r14w
cmovs ebx, edx
mov qword [rsp + 0xf0], rax
not esi
sets bh
cdqe
movabs rax, 0xc69b1bd14864426
movsx r14, r10w
movzx ebx, di
bswap r14
mov qword [rsp + 0xf8], rax
cbw
lahf
movzx ax, r13b
movabs rax, 0x56abc9090122ed13
movzx r12, r14w
movsxd rsi, esi
seto r14b
mov qword [rsp + 0x100], rax
setae bl
cdqe
movzx r12, r12w
movabs rax, 0xf54db3f725dd577b
mov qword [rsp + 0x108], rax
jmp 0x1403aef7c
movabs rax, 0x12e9428a7f611679
bswap rsi
movzx si, dl
mov qword [rsp + 0x110], rax
cdqe
movabs rax, 0x187f5c28d0b2d517
mov qword [rsp + 0x118], rax
mov r14b, r13b
mov qword [rsp + 0x130], rbp
jmp 0x1403aefbf
mov qword [rsp + 0x138], rdi
movsx r15, bp
lahf
movsx ebx, r14w
movabs rbx, 0xbbeab153fb5d239f
cwde
mov qword [rsp + 0x140], rbx
movabs rsi, 0xd0ef716b104bac0
not r15b
lahf
cmovg ax, sp
mov qword [rsp + 0x148], rsi
not r12b
bswap r15w
movabs r14, 0x230f6ec11c7484f9
not r12d
cwde
mov qword [rsp + 0x150], r14
xchg r15, r15
movzx rax, r12w
movabs r15, 0x177b1b24c239afc2
movzx r12w, r15b
mov r12b, bpl
mov qword [rsp + 0x158], r15
movsx ax, r11b
cwde
bswap r12w
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
movzx r12d, r11w
movabs rax, 0x17e9d9ead43ab904
movsx r12w, spl
setne r12b
mov qword [rsp + 0x168], rax
movzx rax, r13w
movabs rax, 0xaf90d535c41d0ffd
movsx r12w, r9b
setb r12b
jmp 0x1403af092
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
not r12b
mov qword [rsp + 0x178], rax
cmovs r12, r9
movabs rax, 0x90e5a41b194eb827
setae r12b
jmp 0x1403af0ca
mov qword [rsp + 0x180], rax
movzx r12w, bl
cdqe
movabs rax, 0xf9814abe0c4a8548
not r12b
mov qword [rsp + 0x188], rax
cdqe
movsx eax, ax
setg r12b
movabs rax, 0x469e87a91fcaad61
movsx r12d, di
movzx r12d, r9w
mov qword [rsp + 0x190], rax
cmovle eax, esi
lahf
movzx r12, r12w
movabs rax, 0x516cc54c8d9f586a
mov r12d, ebp
not r12b
mov qword [rsp + 0x198], rax
movsx rax, bp
movabs rax, 0x9f20a11fed6b970b
mov qword [rsp + 0x1a0], rax
jmp 0x1403af14f
movabs rax, 0xf6c14852f09a9ccc
xchg r12b, r12b
mov qword [rsp + 0x1a8], rax
movzx eax, r12w
movabs rax, 0x60c699ddbde176e5
not r12b
xchg r12w, r12w
movsx r12d, cx
mov qword [rsp + 0x1b0], rax
cbw
movabs rax, 0xbd0a0300ef81894e
not r12b
setnp r12b
movsxd r12, esp
mov qword [rsp + 0x1b8], rax
cbw
lahf
movabs rax, 0x98e00c035e8dd42f
cmovns r12d, edi
mov qword [rsp + 0x1c0], rax
not al
movabs rax, 0x9b0161460f809550
bswap r12w
movzx r12, r15w
mov qword [rsp + 0x1c8], rax
movsxd rax, r10d
movsx r12w, al
lahf
movabs rax, 0x53f629f1d39d0a89
jmp 0x1403af1f0
mov qword [rsp + 0x1d0], rax
movabs rax, 0xc1ab1d414ee4452
cmove r12w, r12w
xchg r12w, r12w
mov qword [rsp + 0x1d8], rax
bswap eax
jmp 0x1403af21a
movabs rax, 0x56cdc967014bed33
movsx r12w, bpl
xchg r12w, r12w
mov r12b, 0x3e
mov qword [rsp + 0x1e0], rax
jmp 0x1403af243
movabs rax, 0xf52cb39a25af5714
mov r12b, 0x24
movsx r12, bp
movsx r12d, r9w
mov qword [rsp + 0x1e8], rax
movsx ax, cl
movzx ax, cl
movsx rax, r10w
movabs rax, 0x128742e57f08160d
movzx r12d, si
seta r12b
not r12w
mov qword [rsp + 0x1f0], rax
setge al
mov r12w, r14w
movsxd rax, r9d
movabs rax, 0x187f5c28d0b2d536
movzx r12w, dl
mov qword [rsp + 0x1f8], rax
lea r12, [rsp + 0x130]
cmovs rax, r10
mov rax, r12
jmp 0x1403af2bf
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403af2c9
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403af2d6
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403af2e0
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403af2ee
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403af2f8
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
jmp 0x1403af31a
movaps xmm0, xmmword [rsp + 0x90]
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403af333
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403af340
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403af351
movaps xmm0, xmmword [rsp + 0xb0]
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403af372
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403af383
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403af390
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403af3ac
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403af3c0
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403af3dc
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403af3e9
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403af3fd
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403af40a
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
movsxd rcx, r8d
mov qword [rsp + 0x30], r13
movsxd r9, esi
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x28], eax
cwd
rdtsc
mov rax, qword [rsp + 0x128]
movzx r8w, al
movsxd rcx, eax
bswap r8w
mov qword [rsp + 0x20], rax
mov r9, 0x325949e1
setnp dl
jmp 0x1403af458
lea r8, [rsp + 0x50]
movzx r9d, r14w
movsxd r13, ebx
movzx r13, cx
lea r9, [rsp + 0x200]
mov r13w, si
xchg rcx, r13
mov edx, 0x400
movzx rcx, r12w
lea r13, [rsp + 0x280]
mov rcx, r13
jmp 0x1403af490
call fcn.1403af64b
mov rcx, qword [rsp + 0x40]
jmp 0x1403af49f
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
mov qword [rsp + 0x50], rax
xchg ah, al
movzx ax, r13b
movsx rax, r10w
movabs rax, 0x6cc902b5d4bb29d2
mov qword [rsp + 0x58], rax
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403af4dd
mov qword [rsp + 0x60], rax
movabs rax, 0xd7bf775b167baaf
jmp 0x1403af4f1
mov qword [rsp + 0x68], rax
bswap eax
movabs rax, 0x236b6ea41c06848b
mov qword [rsp + 0x70], rax
not ax
movsxd rax, ecx
bswap ax
movabs rax, 0x177b1b24c239afe3
jmp 0x1403af51f
mov qword [rsp + 0x78], rax
jmp 0x1403af529
mov qword [rsp + 0x130], rbp
jmp 0x1403af536
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], rbx
jmp 0x1403af54b
mov qword [rsp + 0x148], rsi
jmp 0x1403af558
mov qword [rsp + 0x150], r14
jmp 0x1403af565
mov qword [rsp + 0x158], r15
jmp 0x1403af572
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403af586
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403af59b
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403af5a5
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
and r9, 0x1dc11537
add r8w, 0x80e
lea r8, [rsp + 0x50]
not dl
sub ecx, ecx
mov dl, 0xc3
mov rdx, r13
jmp 0x1403af5d7
mov r9d, 0x10
jmp 0x1403af5e2
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
test sil, dl
bts r10, rax
mov r10, 0xffffffffffffffff
jmp 0x1403af601
sub edx, edx
syscall
add rsp, 0xa88
setl bl
movzx r14d, r15w
pop rbx
pop rbp
bswap r13w
movsx r15d, r8w
pop rdi
movsxd r13, r15d
movsx si, al
movzx si, dil
pop rsi
pop r12
mov r14w, 0x26fd
cmovle r15w, cx
pop r13
pop r14
movzx r15d, cx
movsx r15d, r12w
pop r15
jmp 0x1403af64a
ret