Function at 0x1403ae47e
Capabilities:
Encrypt data using speck

Disassembly:
push r15
jmp 0x1403ae494
push r14
test al, r11b
push r13
test r12w, 0x7f1a
push r12
push rsi
adc si, 0x6587
sbb sil, 0xe4
push rdi
sar di, cl
mov dil, 0x26
push rbp
add di, 0x18a5
push rbx
movzx di, spl
sub rsp, 0xa88
clc
movsxd rbp, r9d
mov rsi, rcx
and bp, 0x1a38
mov qword [rsp + 0x40], 0
movabs rbp, 0xe78235ad970d2b55
add di, r14w
movabs rdi, 0x6cbb02d0d49b29be
cmp dl, 1
mov qword [rsp + 0x128], r8
mov dword [rsp + 0x4c], r9d
jmp 0x1403ae509
jne 0x1403ae5de
movabs rax, 0xe7f735c197612b70
bswap cx
jmp 0x1403ae526
mov qword [rsp + 0x130], rax
mov rax, rdi
not rcx
movsx ecx, r9w
mov qword [rsp + 0x138], rax
movzx cx, r12b
mov ch, 0xbb
mov rcx, rbp
jmp 0x1403ae550
mov qword [rsp + 0x280], rcx
jmp 0x1403ae55d
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
jmp 0x1403ae572
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ae57f
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
cmovo r9d, ebp
lea rcx, [rsp + 0x200]
cmovl r8d, edi
movsxd r9, ebp
cdq
lea r8, [rsp + 0x130]
movzx r9d, r10w
bswap r9d
mov dx, 0x2cd4
mov edx, 0x40
movzx r9d, dx
mov r9, rsi
call fcn.1403af27c
mov ecx, 0x13ff
xor edx, edx
xchg r8w, r8w
movzx r8, cx
movzx r8w, bpl
mov r8d, esi
jmp 0x1403ae8d8
mov ebx, edx
movzx rax, r14w
movsxd rax, r15d
movsx eax, dx
movabs rax, 0xe7ee358897752b65
jmp 0x1403ae5f9
mov qword [rsp + 0x130], rax
cwde
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403ae611
mov qword [rsp + 0x138], rax
movzx ax, ah
mov rax, rbp
jmp 0x1403ae625
mov qword [rsp + 0x280], rax
bswap eax
mov rax, rdi
jmp 0x1403ae637
mov qword [rsp + 0x288], rax
mov rax, 0xb4f50af
movzx ax, sil
jmp 0x1403ae650
lea rax, [rsp + 0x280]
jmp 0x1403ae65d
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ae66a
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
movzx r9w, bpl
movzx r9, r10w
not r9d
lea r8, [rsp + 0x130]
mov edx, 0x40
mov r9, rsi
call fcn.1403af27c
test bl, bl
jmp 0x1403ae6a5
je 0x1403ae841
movzx eax, bl
cmp eax, 2
jmp 0x1403ae6b6
jne 0x1403ae84e
movabs r14, 0xcbf29ce484222325
movsxd rcx, ecx
mov ecx, esi
jmp 0x1403ae6d0
call fcn.1401eb072
mov r8d, eax
cdq
sal ax, cl
mov rax, qword gs:[0x30]
mov rax, qword [rax + 0x60]
setg r15b
and r11b, 0xf
inc r11b
mov r11, qword [rax + 0x18]
add r11, 0x10
movsx rcx, r12w
movzx ecx, r10w
bswap rcx
movabs rdx, 0x2cc10c8855a9a8cd
movabs r15, 0x1d12a89b9e723ff5
mov ecx, 0x1bff
jmp 0x1403ae725
jmp 0x1403ae738
cmp rax, rdx
jmp 0x1403ae732
je 0x1403ae885
mov r11, qword [r11]
bsf r10d, r14d
movsx r10d, r11w
cmp r12b, r9b
mov r10, qword [r11 + 0x30]
test r10, r10
je 0x1403ae8bd
mov r12, qword [r11 + 0x60]
sub bx, 0x682a
mov rbx, 0xffffffffffffffff
jmp 0x1403ae768
nop word cs:[rax + rax]
test r9b, dil
cmc
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403ae788
jne 0x1403ae778
mov rax, r14
clc
test rbx, rbx
je 0x1403ae72a
sub esi, esi
sal r9d, 0xd2
btr r13d, r12d
mov rbp, r14
setge r13b
nop word [rax + rax]
movsxd rax, r15d
rcr ah, cl
adc ah, cl
movzx eax, word [r12 + rsi*2]
dec r9b
bsf r13w, cx
lea edi, [rax - 0x41]
adc r13w, di
sub r9w, 0x4689
dec r9b
lea r13d, [rax - 0x410]
test r13w, 0x7955
movsx r9w, r13b
or r9b, spl
lea r9d, [rax + 0x20]
test r9b, r9b
cmp r14b, 0xe5
cmp r13w, 0x20
jmp 0x1403ae800
cmovb eax, r9d
cmc
cmp di, 0x1a
jmp 0x1403ae80e
cmovb eax, r9d
cmc
stc
movzx eax, ax
xor rax, rbp
stc
sbb bpl, r14b
imul rax, r15
bswap rbp
mov bpl, r14b
inc esi
movsxd rbp, esp
dec bpl
mov rbp, rax
cmp rsi, rbx
jb 0x1403ae7b9
jmp 0x1403ae72a
sub r13d, r13d
jmp 0x1403ae849
jmp 0x1403ae90f
cmp bl, 3
not r8
bswap cx
cmovl r8, rsp
movzx r8d, si
mov ecx, ebx
cmovno rcx, r13
mov ecx, 0x6bc50692
cmovne r8d, esi
movsx rcx, r9w
movsx ecx, r11w
mov ecx, 0x13ff
jmp 0x1403ae880
jmp 0x1403ae8d3
test r11, r11
cmove r10, r11
mov rdx, r10
movsx edi, r11w
movabs rbp, 0xe78235ad970d2b55
mov di, 0x3fdd
movsx rdi, si
setbe dil
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ae8b8
jmp 0x1403ae8d8
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
not ah
xor edx, edx
bswap ax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
cmc
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
cmp bpl, al
sub r9d, r9d
jmp 0x1403ae8ff
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
rol r8w, 0x30
lea rcx, [rsp + 0x280]
ror r8b, cl
mov r8d, 0x800
stc
cmp r15b, 0xc
sub edx, edx
jmp 0x1403ae92c
call fcn.1404a304e
movabs rax, 0xe7ed35df977f2b10
movzx bx, r15b
xchg r15, r14
movsx si, dl
mov qword [rsp + 0x50], rax
bswap esi
movzx rax, r14w
cwde
movabs rax, 0x6c9e02f0d4a129cc
xchg r12b, r14b
mov qword [rsp + 0x58], rax
movzx esi, bp
movsxd rbx, ecx
movabs rax, 0xbb83b115fb5723ec
mov qword [rsp + 0x60], rax
cmovnp ax, bp
movabs rax, 0xd2ef72cb161baac
movsx r15, r13w
mov qword [rsp + 0x68], rax
movzx si, sil
movabs rax, 0x23396ef01c4484dc
cmovns bx, dx
mov qword [rsp + 0x70], rax
movabs rax, 0x17711b7cc255afae
mov qword [rsp + 0x78], rax
movabs rax, 0x314846d9144fae6f
movzx si, r13b
bswap si
cmove r15, rsi
mov qword [rsp + 0x80], rax
movzx si, al
lahf
xchg r14b, al
movabs rax, 0x178dd9cfd41ab93e
movsx r12w, bl
movsx esi, bp
mov qword [rsp + 0x88], rax
jmp 0x1403ae9fd
movabs rax, 0xafe3d510c4170ff7
mov qword [rsp + 0x90], rax
cdqe
jmp 0x1403aea16
movabs rax, 0xf2b1d93b98f8762c
movsxd r14, r13d
jmp 0x1403aea2d
mov qword [rsp + 0x98], rax
movsx si, r13b
movabs rax, 0x9086a47a193ab849
mov qword [rsp + 0xa0], rax
cwde
jmp 0x1403aea52
movabs rax, 0xf9f44acd0c6a853c
mov r12b, bpl
not r12d
movzx rsi, bp
mov qword [rsp + 0xa8], rax
movsx rbx, ax
mov r15b, r8b
movabs rax, 0x46ec87c61fbaad11
mov r15b, 0x6f
mov qword [rsp + 0xb0], rax
movzx r12, bx
movabs rax, 0x5102c52d8dbf581e
setg r15b
mov qword [rsp + 0xb8], rax
movsx r12d, r14w
movsx r15, r10w
movabs rax, 0x9f52a16fed4b976f
movsxd r14, r12d
movzx esi, si
movzx r12, r8w
mov qword [rsp + 0xc0], rax
movsx ebx, cx
jmp 0x1403aead0
movabs rax, 0xf6a5483bf0ec9ca3
xchg sil, r14b
mov qword [rsp + 0xc8], rax
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
cmovo r15, r9
movabs rax, 0xbd6f0372efe2893d
bswap si
jmp 0x1403aeb0d
mov qword [rsp + 0xd8], rax
movsxd rbx, esi
movabs rax, 0x98880c705ee3d44a
movsxd rbx, ecx
bswap r14w
mov sil, 0x4d
mov qword [rsp + 0xe0], rax
xchg r15b, bl
lahf
movsx ebx, r9w
movabs rax, 0x9b7661660ff4953f
movsx r14w, al
mov qword [rsp + 0xe8], rax
cbw
not r12b
movabs rax, 0x53d62999d3e90ae0
movsxd r12, r10d
movsx rbx, di
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
xchg bx, r14w
mov qword [rsp + 0xf8], rax
movzx r12, cx
jmp 0x1403aeb91
movabs rax, 0x56abc9090122ed13
mov qword [rsp + 0x100], rax
movabs rax, 0xf54db3f725dd577b
mov qword [rsp + 0x108], rax
jmp 0x1403aebbd
movabs rax, 0x12e9428a7f611679
jmp 0x1403aebd2
mov qword [rsp + 0x110], rax
xchg r12b, sil
cmovl rbx, rcx
movzx ax, ah
movabs rax, 0x187f5c28d0b2d517
bswap r14d
xchg sil, r15b
mov qword [rsp + 0x118], rax
not bl
mov qword [rsp + 0x130], rbp
cbw
movsx rax, r12w
mov qword [rsp + 0x138], rdi
mov eax, 0x3b9a30bb
movzx ax, r8b
movabs rbx, 0xbbeab153fb5d239f
sete r15b
movzx si, r11b
mov qword [rsp + 0x140], rbx
movabs rsi, 0xd0ef716b104bac0
cbw
movsxd rax, esi
not r12d
mov qword [rsp + 0x148], rsi
movzx eax, cx
mov r15b, dl
movabs r14, 0x230f6ec11c7484f9
mov r12b, 0xf5
movzx r15w, r12b
mov qword [rsp + 0x150], r14
movsx ax, r8b
movabs r15, 0x177b1b24c239afc2
lahf
movsx r12d, dx
jmp 0x1403aec8d
mov qword [rsp + 0x158], r15
jmp 0x1403aec9b
movabs rax, 0x312d46b71426ae23
not r12b
bswap r12w
movzx r12d, r14w
mov qword [rsp + 0x160], rax
setle r12b
mov r12w, 0x68cf
movabs rax, 0x17e9d9ead43ab904
mov r12w, bp
movzx r12, r13w
mov qword [rsp + 0x168], rax
movzx r12w, dil
xchg r12, r12
movabs rax, 0xaf90d535c41d0ffd
bswap r12w
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
xchg r12b, r12b
mov qword [rsp + 0x178], rax
movabs rax, 0x90e5a41b194eb827
movsx r12d, r11w
seta r12b
mov qword [rsp + 0x180], rax
cbw
movsxd r12, esp
movsx r12w, bpl
movabs rax, 0xf9814abe0c4a8548
mov qword [rsp + 0x188], rax
movsx eax, ax
cbw
movzx r12d, r12w
movabs rax, 0x469e87a91fcaad61
mov qword [rsp + 0x190], rax
not r12d
movzx eax, r13w
xchg al, r12b
movabs rax, 0x516cc54c8d9f586a
mov qword [rsp + 0x198], rax
movabs rax, 0x9f20a11fed6b970b
xchg r12w, r12w
movsx r12w, bl
bswap r12w
mov qword [rsp + 0x1a0], rax
movabs rax, 0xf6c14852f09a9ccc
movsx r12w, cl
mov qword [rsp + 0x1a8], rax
cwde
movabs rax, 0x60c699ddbde176e5
movzx r12w, r10b
movsx r12, si
movsx r12w, r10b
mov qword [rsp + 0x1b0], rax
movsx r12w, dil
movsx rax, r10w
movzx r12w, cl
movabs rax, 0xbd0a0300ef81894e
mov r12b, r9b
movzx r12d, r9w
movsx r12w, dil
mov qword [rsp + 0x1b8], rax
lahf
movsx rax, bp
not ah
movabs rax, 0x98e00c035e8dd42f
movsx r12d, sp
movsxd r12, edi
movzx r12w, r10b
mov qword [rsp + 0x1c0], rax
movabs rax, 0x9b0161460f809550
movzx r12w, r11b
cmova r12w, r15w
mov qword [rsp + 0x1c8], rax
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
cdqe
movabs rax, 0xc1ab1d414ee4452
movsx r12w, cl
movzx r12d, cx
jmp 0x1403aee6b
mov qword [rsp + 0x1d8], rax
movzx ax, dil
bswap r12w
cwde
movabs rax, 0x56cdc967014bed33
mov r12w, r9w
mov qword [rsp + 0x1e0], rax
lahf
cwde
movabs rax, 0xf52cb39a25af5714
movsxd r12, r11d
movzx r12w, r12b
mov qword [rsp + 0x1e8], rax
bswap ax
mov ax, 0x2e7b
lahf
movabs rax, 0x128742e57f08160d
cmove r12w, cx
mov qword [rsp + 0x1f0], rax
jmp 0x1403aeed3
movabs rax, 0x187f5c28d0b2d536
mov qword [rsp + 0x1f8], rax
cwde
movzx r12d, r14w
lea r12, [rsp + 0x130]
mov rax, r12
jmp 0x1403aeefa
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403aef0c
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403aef1f
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403aef32
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403aef3f
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403aef58
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403aef69
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403aef76
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403aef8f
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403aefa0
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403aefad
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403aefbe
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403aefcb
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403aefdf
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403aefec
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403af000
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403af01c
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403af029
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403af03d
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403af04a
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
setnp dh
bswap cx
not r8d
mov qword [rsp + 0x30], r13
mov r9b, 0xf7
jmp 0x1403af070
mov eax, dword [rsp + 0x4c]
movsx r9d, r9w
mov dword [rsp + 0x28], eax
cmovbe cx, bp
movzx r8, sp
lahf
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
cqo
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x200]
movsx dx, al
setge dh
mov edx, 0x400
bswap rcx
movzx r13w, al
movsx r13d, dx
lea r13, [rsp + 0x280]
mov rcx, r13
jmp 0x1403af0c9
call fcn.1403af27c
mov rcx, qword [rsp + 0x40]
jmp 0x1403af0d8
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403af0ed
mov qword [rsp + 0x50], rax
lahf
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403af102
mov qword [rsp + 0x58], rax
movsx ax, r11b
cmovg ax, cx
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403af11f
mov qword [rsp + 0x60], rax
cdqe
movabs rax, 0xd7bf775b167baaf
jmp 0x1403af135
mov qword [rsp + 0x68], rax
mov al, r14b
movabs rax, 0x236b6ea41c06848b
jmp 0x1403af14c
mov qword [rsp + 0x70], rax
mov ax, r8w
movabs rax, 0x177b1b24c239afe3
jmp 0x1403af164
mov qword [rsp + 0x78], rax
jmp 0x1403af16e
mov qword [rsp + 0x130], rbp
jmp 0x1403af17b
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], rbx
jmp 0x1403af190
mov qword [rsp + 0x148], rsi
jmp 0x1403af19d
mov qword [rsp + 0x150], r14
jmp 0x1403af1aa
mov qword [rsp + 0x158], r15
jmp 0x1403af1b7
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403af1c1
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403af1d0
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403af1e5
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403af1ef
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
dec r9b
movzx dx, r12b
and dl, 0xb1
lea r8, [rsp + 0x50]
cwd
btc r9d, 0x6d
bt r9, rdx
xor ecx, ecx
movsx rdx, r15w
jmp 0x1403af223
mov rdx, r13
mov r9d, 0x10
jmp 0x1403af231
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
mov r10, 0xffffffffffffffff
jmp 0x1403af249
sub edx, edx
jmp 0x1403af250
syscall
add rsp, 0xa88
pop rbx
pop rbp
not di
pop rdi
movzx r13d, r14w
pop rsi
movsxd r14, r10d
pop r12
mov r14b, 0xb7
pop r13
setge r14b
pop r14
pop r15
jmp 0x1403af27b
ret