Function at 0x1403ad169
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
stc
test rsi, r10
cmp rax, 0x71e83884
push r13
push r12
cmc
test r11b, 0x13
jmp 0x1403ad186
push rsi
test r10d, 0x42372c4
push rdi
cmova si, cx
btr rdi, 0x4e
sar sil, 0xa1
push rbp
sar dil, 0x6b
btr bp, 0x16
rcr si, cl
push rbx
btr bp, r10w
sar bp, 4
sub rsp, 0xa88
rol sil, cl
movzx edi, r11w
mov rsi, rcx
or rbp, 0x5aac6db6
mov qword [rsp + 0x40], 0
movabs rbp, 0xe78235ad970d2b55
bts di, r11w
movabs rdi, 0x6cbb02d0d49b29be
stc
jmp 0x1403ad1f3
cmp dl, 1
jmp 0x1403ad1fb
mov qword [rsp + 0x128], r8
jmp 0x1403ad208
mov dword [rsp + 0x4c], r9d
jmp 0x1403ad212
jne 0x1403ad2fd
movabs rax, 0xe7f735c197612b70
movsxd rcx, r9d
cmovge ecx, r14d
movzx cx, spl
mov qword [rsp + 0x130], rax
mov al, 0x3f
jmp 0x1403ad23d
mov rax, rdi
mov qword [rsp + 0x138], rax
mov rcx, rbp
jmp 0x1403ad250
mov qword [rsp + 0x280], rcx
jmp 0x1403ad25d
mov qword [rsp + 0x288], rax
movsx eax, bp
lea rax, [rsp + 0x280]
jmp 0x1403ad275
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ad282
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx dx, r9b
movsx r9w, cl
movzx r9, r12w
lea rcx, [rsp + 0x200]
movsx r9d, r15w
lea r8, [rsp + 0x130]
xchg r9b, r9b
movsx rdx, r13w
movsx r9w, dil
mov edx, 0x40
movzx r9, si
xchg r9, r9
movsxd r9, ebp
mov r9, rsi
jmp 0x1403ad2d2
call fcn.1403adf46
mov ecx, 0x13ff
bsr r8w, r15w
sub edx, edx
movsx r8w, r12b
mov r8b, 0x34
movzx r8w, r15b
mov r8d, esi
jmp 0x1403ad2f8
jmp 0x1403ad5ec
mov ebx, edx
not ah
movabs rax, 0xe7ee358897752b65
jmp 0x1403ad310
mov qword [rsp + 0x130], rax
nop
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403ad329
mov qword [rsp + 0x138], rax
mov rax, rbp
jmp 0x1403ad339
mov qword [rsp + 0x280], rax
mov rax, rdi
jmp 0x1403ad349
mov qword [rsp + 0x288], rax
movsxd rax, ebp
mov ah, 0xd1
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
mov r9, r12
lea rcx, [rsp + 0x200]
movsx r8d, bp
lea r8, [rsp + 0x130]
movzx rdx, bx
mov edx, 0x40
movsx r9, r14w
setae r9b
not r9w
mov r9, rsi
jmp 0x1403ad3a6
call fcn.1403adf46
test bl, bl
je 0x1403ad54e
movzx eax, bl
cmp di, 0x9c3
clc
stc
cmp eax, 2
jmp 0x1403ad3c5
jne 0x1403ad55b
movabs r14, 0xcbf29ce484222325
movsx cx, r15b
mov ecx, esi
jmp 0x1403ad3e1
call fcn.140236cd8
mov r8d, eax
mov rax, qword gs:[0x30]
add r15b, 0x31
dec ecx
ror cl, 0x36
mov rax, qword [rax + 0x60]
movsx rcx, sp
bsr rcx, rsp
and cl, r11b
mov r11, qword [rax + 0x18]
rcl rcx, cl
add r11, 0x10
not r15d
movzx rdx, r9w
xchg r15b, dl
movabs rdx, 0x2cc10c8855a9a8cd
movzx ecx, sp
movabs r15, 0x1d12a89b9e723ff5
mov ecx, 0x1bff
jmp 0x1403ad440
jmp 0x1403ad44e
cmp rax, rdx
je 0x1403ad587
mov r11, qword [r11]
mov r10, qword [r11 + 0x30]
test r12w, sp
test r10, r10
jmp 0x1403ad461
je 0x1403ad5ca
mov r12, qword [r11 + 0x60]
dec ebx
mov rbx, 0xffffffffffffffff
jmp 0x1403ad479
nop word cs:[rax + rax]
cmp spl, bl
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403ad494
lea rbx, [rbx + 1]
jmp 0x1403ad49d
jne 0x1403ad488
mov rax, r14
cmp dil, al
stc
test si, 0x5afe
test rbx, rbx
je 0x1403ad445
xor esi, esi
shrd r13w, r11w, 0xfc
sal rax, cl
movzx bp, r13b
mov rbp, r14
bsf di, bp
nop word [rax + rax]
add r9d, r11d
movzx eax, word [r12 + rsi*2]
or edi, edx
lea edi, [rax - 0x41]
lea r13d, [rax - 0x410]
cmp r12w, 0x70bd
neg r9w
lea r9d, [rax + 0x20]
cmp edi, r13d
cmp r13w, 0x20
cmovb eax, r9d
cmp spl, spl
cmp di, 0x1a
jmp 0x1403ad50f
cmovb eax, r9d
stc
cmp ebp, 0xe7f4e41
test r13w, 0x2e3f
movzx eax, ax
cmp ah, 0x8c
cmp r12b, r11b
xor rax, rbp
sbb bp, si
imul rax, r15
inc esi
bts bp, r11w
dec bpl
mov rbp, rax
cmp rsi, rbx
jb 0x1403ad4d8
jmp 0x1403ad445
sub r13d, r13d
jmp 0x1403ad556
jmp 0x1403ad62b
cmp bl, 3
movzx r8d, r8w
movzx r8d, si
seto cl
mov cx, 0x206a
movsx rcx, bx
cmovne r8d, esi
setnp ch
mov ecx, 0x13ff
jmp 0x1403ad582
jmp 0x1403ad5e9
test r11, r11
cmove r10, r11
mov di, ax
xchg bp, di
mov rdx, r10
not bpl
movzx ebp, r8w
mov bp, 0x55c2
movabs rbp, 0xe78235ad970d2b55
not dil
xchg di, di
movsx edi, r14w
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ad5c5
jmp 0x1403ad5ec
movabs rbp, 0xe78235ad970d2b55
btr ax, 0xf6
rol dil, cl
sbb rdi, rbx
movabs rdi, 0x6cbb02d0d49b29be
sub edx, edx
lahf
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
jmp 0x1403ad5fb
mov qword [rsp + 0x30], 0
stc
cmc
test dh, 0x26
mov dword [rsp + 0x28], 0
cmc
clc
sub r9d, r9d
jmp 0x1403ad61b
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
btr rcx, 0xec
lea rcx, [rsp + 0x280]
sar r8b, 1
mov r8d, 0x800
stc
clc
test bl, sil
xor edx, edx
jmp 0x1403ad648
call fcn.1404a169a
movabs rax, 0xe7ed35df977f2b10
bswap bx
not r15b
movzx r14d, si
mov qword [rsp + 0x50], rax
setbe sil
movabs rax, 0x6c9e02f0d4a129cc
jmp 0x1403ad679
mov qword [rsp + 0x58], rax
movzx ax, r10b
movabs rax, 0xbb83b115fb5723ec
movzx r14d, r15w
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
mov bh, 0x3b
bswap r15w
mov qword [rsp + 0x68], rax
movzx r15w, dl
jmp 0x1403ad6b6
movabs rax, 0x23396ef01c4484dc
mov sil, 0x33
movsxd r14, ebp
mov r15w, sp
mov qword [rsp + 0x70], rax
movabs rax, 0x17711b7cc255afae
bswap r15w
movzx r14d, ax
movsx r12d, r10w
mov qword [rsp + 0x78], rax
movzx ebx, bx
mov r15w, r13w
xchg r15b, r15b
movabs rax, 0x314846d9144fae6f
mov qword [rsp + 0x80], rax
movabs rax, 0x178dd9cfd41ab93e
bswap esi
mov r12d, r13d
mov qword [rsp + 0x88], rax
movabs rax, 0xafe3d510c4170ff7
mov qword [rsp + 0x90], rax
bswap r12d
mov r15w, bp
movabs rax, 0xf2b1d93b98f8762c
mov qword [rsp + 0x98], rax
jmp 0x1403ad752
movabs rax, 0x9086a47a193ab849
mov qword [rsp + 0xa0], rax
movabs rax, 0xf9f44acd0c6a853c
mov qword [rsp + 0xa8], rax
cwde
xchg r12b, sil
movabs rax, 0x46ec87c61fbaad11
not r14b
setae r14b
jmp 0x1403ad790
mov qword [rsp + 0xb0], rax
lahf
movzx r12, r12w
movabs rax, 0x5102c52d8dbf581e
mov qword [rsp + 0xb8], rax
not r15
cdqe
movzx eax, di
movabs rax, 0x9f52a16fed4b976f
not r12b
mov qword [rsp + 0xc0], rax
cmovl eax, r12d
movzx r12d, bx
movabs rax, 0xf6a5483bf0ec9ca3
movsx esi, dx
cmovg r14, rsi
movsxd rsi, esp
mov qword [rsp + 0xc8], rax
cdqe
cmove r15w, sp
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
movabs rax, 0xbd6f0372efe2893d
not r12w
seta bl
mov qword [rsp + 0xd8], rax
bswap r14w
seta r14b
movzx eax, bp
movabs rax, 0x98880c705ee3d44a
movzx r12, r10w
mov qword [rsp + 0xe0], rax
mov r15w, r11w
movabs rax, 0x9b7661660ff4953f
jmp 0x1403ad85d
mov qword [rsp + 0xe8], rax
movabs rax, 0x53d62999d3e90ae0
movzx r12d, dx
mov qword [rsp + 0xf0], rax
movsx r14, r13w
movzx ax, spl
movabs rax, 0xc69b1bd14864426
mov r12b, 0x7d
movsxd r12, r10d
mov qword [rsp + 0xf8], rax
not ebx
movabs rax, 0x56abc9090122ed13
movzx r12w, r11b
bswap r12w
mov qword [rsp + 0x100], rax
movzx r15d, dx
cmovae si, r14w
bswap r15d
movabs rax, 0xf54db3f725dd577b
mov qword [rsp + 0x108], rax
movabs rax, 0x12e9428a7f611679
cmovs rsi, r12
movsx rbx, r15w
mov qword [rsp + 0x110], rax
lahf
movzx si, r10b
movabs rax, 0x187f5c28d0b2d517
xchg r14w, r14w
movzx si, r12b
movsxd r12, esp
mov qword [rsp + 0x118], rax
bswap r15
mov qword [rsp + 0x130], rbp
movsxd rsi, r10d
cdqe
movzx r12d, si
mov qword [rsp + 0x138], rdi
mov al, 0x8b
movzx ax, ah
movsxd r12, esp
movabs rbx, 0xbbeab153fb5d239f
jmp 0x1403ad952
mov qword [rsp + 0x140], rbx
movabs rsi, 0xd0ef716b104bac0
mov r15d, r11d
lahf
cmovae r14w, cx
mov qword [rsp + 0x148], rsi
cbw
movsx rax, r8w
movabs r14, 0x230f6ec11c7484f9
movsx r15w, r9b
cmovae r15, r11
mov qword [rsp + 0x150], r14
cwde
mov r15b, 0xf3
movzx ax, cl
movabs r15, 0x177b1b24c239afc2
jmp 0x1403ad9b1
mov qword [rsp + 0x158], r15
movabs rax, 0x312d46b71426ae23
setle r12b
mov r12d, 0x1d50633b
movsx r12w, r10b
mov qword [rsp + 0x160], rax
cmovb r12d, esi
mov al, 0x7b
movabs rax, 0x17e9d9ead43ab904
mov qword [rsp + 0x168], rax
mov r12w, 0x6b0
movzx eax, si
cbw
movabs rax, 0xaf90d535c41d0ffd
movzx r12w, al
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
mov r12d, r10d
movsx r12, r15w
mov qword [rsp + 0x178], rax
movsx r12d, r14w
cbw
movabs rax, 0x90e5a41b194eb827
movsx r12d, r11w
movzx r12, bx
mov qword [rsp + 0x180], rax
mov r12w, 0x475
movzx rax, r9w
movabs rax, 0xf9814abe0c4a8548
mov qword [rsp + 0x188], rax
xchg r12w, r12w
bswap r12w
movabs rax, 0x469e87a91fcaad61
mov qword [rsp + 0x190], rax
cmovl eax, ecx
not r12
xchg al, r12b
movabs rax, 0x516cc54c8d9f586a
movsx r12, si
not r12w
movsxd r12, r15d
mov qword [rsp + 0x198], rax
cdqe
mov ah, 0x2e
movabs rax, 0x9f20a11fed6b970b
jmp 0x1403adabb
mov qword [rsp + 0x1a0], rax
movabs rax, 0xf6c14852f09a9ccc
mov qword [rsp + 0x1a8], rax
cdqe
movabs rax, 0x60c699ddbde176e5
movzx r12, r13w
mov qword [rsp + 0x1b0], rax
movsx r12d, dx
movabs rax, 0xbd0a0300ef81894e
setb r12b
xchg r12b, r12b
mov qword [rsp + 0x1b8], rax
cdqe
movabs rax, 0x98e00c035e8dd42f
mov qword [rsp + 0x1c0], rax
mov rax, rax
movsx r12, cx
cbw
movabs rax, 0x9b0161460f809550
not r12w
movsx r12d, si
mov r12w, 0x1c46
mov qword [rsp + 0x1c8], rax
cdqe
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
cbw
movabs rax, 0xc1ab1d414ee4452
bswap r12
mov qword [rsp + 0x1d8], rax
movabs rax, 0x56cdc967014bed33
mov qword [rsp + 0x1e0], rax
movsx r12d, r15w
cmovae rax, rbp
movabs rax, 0xf52cb39a25af5714
setbe r12b
movzx r12w, r9b
not r12w
mov qword [rsp + 0x1e8], rax
movsxd rax, esp
movabs rax, 0x128742e57f08160d
mov qword [rsp + 0x1f0], rax
lahf
mov r12b, r13b
movabs rax, 0x187f5c28d0b2d536
mov qword [rsp + 0x1f8], rax
bswap r12w
lea r12, [rsp + 0x130]
lahf
movsx ax, dh
cbw
mov rax, r12
jmp 0x1403adbf0
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403adbfa
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403adc0c
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403adc1f
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403adc35
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403adc46
movaps xmm0, xmmword [rsp + 0x90]
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403adc67
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403adc80
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403adc91
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403adc9e
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403adcaf
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403adcbc
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403adcd0
movaps xmm0, xmmword [rsp + 0xe0]
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403adcec
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403adcf9
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403add0d
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403add1a
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403add2e
movaps xmm0, xmmword [rsp + 0x110]
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x30], r13
cwde
cwd
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x28], eax
movsx r9, r9w
cdq
mov rax, qword [rsp + 0x128]
movsx dx, r14b
mov qword [rsp + 0x20], rax
bswap rcx
movzx edx, r11w
movsxd rcx, r11d
lea r8, [rsp + 0x50]
movzx r9d, ax
lea r9, [rsp + 0x200]
xchg ch, dl
movsxd rdx, r13d
mov edx, 0x400
not r13d
movsxd r13, ebp
lea r13, [rsp + 0x280]
mov rcx, r13
jmp 0x1403adda7
call fcn.1403adf46
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403addc6
mov qword [rsp + 0x50], rax
movzx eax, bx
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403adddd
mov qword [rsp + 0x58], rax
movsx eax, r9w
mov al, 0xb3
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403addf7
mov qword [rsp + 0x60], rax
movabs rax, 0xd7bf775b167baaf
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
jmp 0x1403ade1a
mov qword [rsp + 0x70], rax
movsx rax, r11w
movabs rax, 0x177b1b24c239afe3
jmp 0x1403ade32
mov qword [rsp + 0x78], rax
jmp 0x1403ade3c
mov qword [rsp + 0x130], rbp
jmp 0x1403ade49
mov qword [rsp + 0x138], rdi
jmp 0x1403ade56
mov qword [rsp + 0x140], rbx
jmp 0x1403ade63
mov qword [rsp + 0x148], rsi
jmp 0x1403ade70
mov qword [rsp + 0x150], r14
jmp 0x1403ade7d
mov qword [rsp + 0x158], r15
jmp 0x1403ade8a
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403ade94
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403adeb3
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403adebd
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
movsx dx, bh
lea r8, [rsp + 0x50]
xor ecx, ecx
movzx dx, sil
movzx rdx, dx
movzx r9d, r10w
mov rdx, r13
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
mov r10, 0xffffffffffffffff
stc
cmp sil, r9b
xor edx, edx
jmp 0x1403adf07
syscall
add rsp, 0xa88
movsxd r14, ebx
pop rbx
pop rbp
bswap r14w
pop rdi
pop rsi
movzx r15w, r9b
xchg r12b, r14b
movzx r12, r12w
pop r12
movzx r13, r11w
movzx r14w, bpl
pop r13
cmova r15, r15
movsx r14, r8w
pop r14
pop r15
jmp 0x1403adf45
ret