Function at 0x1403ad972
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmc
test dh, 0x1b
push r14
push r13
cmc
push r12
push rsi
push rdi
bt rdi, 0x59
push rbp
bts bp, di
movzx bp, spl
btc si, r8w
push rbx
jmp 0x1403ad99f
sub rsp, 0xa88
test r15w, dx
mov rsi, rcx
btc bp, cx
mov dil, r10b
movzx ebp, r13w
mov qword [rsp + 0x40], 0
sal dil, 0x67
ror dil, 0x2b
movabs rbp, 0xe78235ad970d2b55
bt edi, r12d
movabs rdi, 0x6cbb02d0d49b29be
test bpl, spl
test dh, 0x24
cmp dl, 1
mov qword [rsp + 0x128], r8
jmp 0x1403ad9f7
mov dword [rsp + 0x4c], r9d
jmp 0x1403ada01
jne 0x1403adacc
movabs rax, 0xe7f735c197612b70
mov ch, ah
movsx rcx, r10w
movzx rcx, ax
mov qword [rsp + 0x130], rax
cdqe
mov cl, 0x79
mov rax, rdi
xchg ch, cl
movsx cx, r14b
mov qword [rsp + 0x138], rax
not cx
bswap ecx
movzx ecx, r9w
mov rcx, rbp
mov qword [rsp + 0x280], rcx
jmp 0x1403ada52
mov qword [rsp + 0x288], rax
movsx ax, r9b
lea rax, [rsp + 0x280]
jmp 0x1403ada6c
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ada79
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx edx, r12w
not r8
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
cwd
mov dl, 0xfd
mov edx, 0x40
mov r9, rsi
call fcn.1403ae746
mov ecx, 0x13ff
rcl r8b, cl
rol r8, 0xad
sub edx, edx
movsxd r8, r10d
bswap r8w
xchg r8b, r8b
mov r8d, esi
jmp 0x1403addc4
mov ebx, edx
jmp 0x1403adad4
movabs rax, 0xe7ee358897752b65
jmp 0x1403adae3
mov qword [rsp + 0x130], rax
jmp 0x1403adaf7
movabs rax, 0x6cbb02d0d4c329d2
mov qword [rsp + 0x138], rax
cwde
jmp 0x1403adb0f
mov rax, rbp
jmp 0x1403adb17
mov qword [rsp + 0x280], rax
mov rax, 0x5e787875
mov rax, rdi
jmp 0x1403adb2e
mov qword [rsp + 0x288], rax
movsx eax, cx
lea rax, [rsp + 0x280]
jmp 0x1403adb46
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403adb53
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movsx r9w, r10b
lea rcx, [rsp + 0x200]
jmp 0x1403adb74
lea r8, [rsp + 0x130]
movzx r9w, r14b
movsxd rdx, ebp
bswap dx
mov edx, 0x40
bswap r9d
mov r9, rsi
jmp 0x1403adb97
call fcn.1403ae746
test bl, bl
jmp 0x1403adba3
je 0x1403add27
movzx eax, bl
cmp eax, 2
jmp 0x1403adbb4
jne 0x1403add34
movabs r14, 0xcbf29ce484222325
mov ecx, esi
jmp 0x1403adbcb
call fcn.140227fe0
mov r8d, eax
mov rax, qword gs:[0x30]
not r11b
xadd rdx, rcx
ror r15w, 0x11
mov rax, qword [rax + 0x60]
movsxd r15, r15d
mov r11, qword [rax + 0x18]
add cx, 0x7890
movzx rcx, si
add r11, 0x10
movzx r15w, cl
movabs rdx, 0x2cc10c8855a9a8cd
movabs r15, 0x1d12a89b9e723ff5
movsx ecx, r14w
not rcx
mov ecx, 0x1bff
jmp 0x1403adc2a
jmp 0x1403adc3d
cmp rax, rdx
jmp 0x1403adc37
je 0x1403add65
mov r11, qword [r11]
dec r10b
mov r10, qword [r11 + 0x30]
test r10, r10
jmp 0x1403adc4f
je 0x1403add9e
mov r12, qword [r11 + 0x60]
rcr bl, 0x9a
bts rbx, r9
mov rbx, 0xffffffffffffffff
nop word cs:[rax + rax]
cmp ebp, ebx
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403adc85
jne 0x1403adc75
mov rax, r14
test rbx, rbx
jmp 0x1403adc96
je 0x1403adc2f
sub esi, esi
mov rbp, r14
cdqe
jmp 0x1403adcad
nop word [rax + rax]
movzx eax, word [r12 + rsi*2]
lea edi, [rax - 0x41]
add r13b, 0x13
lea r13d, [rax - 0x410]
not r9
clc
lea r9d, [rax + 0x20]
test bpl, sil
cmp r13w, 0x20
cmovb eax, r9d
test r13, rsi
test dx, 0x4940
cmp di, 0x1a
jmp 0x1403adceb
cmovb eax, r9d
movzx eax, ax
xor rax, rbp
and rbp, 0x50d76aac
xor ebp, 0x7a44592a
imul rax, r15
sete bpl
not bpl
inc esi
stc
mov rbp, rax
cmc
cmp rsi, rbx
jmp 0x1403add1c
jb 0x1403adcb3
jmp 0x1403adc2f
sub r13d, r13d
jmp 0x1403add2f
jmp 0x1403ade01
cmp bl, 3
bswap cx
movsx r8w, r13b
movzx r8d, si
cmovns cx, r10w
bswap ecx
cmovne r8d, esi
movsxd rcx, ecx
jmp 0x1403add56
mov ecx, 0x13ff
jmp 0x1403add60
jmp 0x1403addbc
test r11, r11
cwd
setle bpl
movzx edx, r8w
cmove r10, r11
cdq
mov rdx, r10
movabs rbp, 0xe78235ad970d2b55
movzx edi, bp
movzx di, r10b
movsxd rdi, esi
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403addc4
movabs rbp, 0xe78235ad970d2b55
shr rax, 0x80
cbw
movzx ax, dh
movabs rdi, 0x6cbb02d0d49b29be
sub edx, edx
btc rax, rsi
sar al, cl
lea rax, [rsp + 0x40]
cmp ax, 0x741c
mov qword [rsp + 0x20], rax
test r15b, 0x6f
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
test r12, 0x377b1bb5
cmp dil, 0xb6
clc
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
lea rcx, [rsp + 0x280]
ror r8d, 0xf2
adc r8w, r13w
sal r8b, cl
mov r8d, 0x800
xor edx, edx
jmp 0x1403ade21
call fcn.1404a268f
movabs rax, 0xe7ed35df977f2b10
setg r15b
mov r15w, 0x6d47
movzx r15, bx
mov qword [rsp + 0x50], rax
cwde
not r14
jmp 0x1403ade4b
movabs rax, 0x6c9e02f0d4a129cc
setg bl
movzx esi, r15w
mov qword [rsp + 0x58], rax
setge bl
movabs rax, 0xbb83b115fb5723ec
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
not r12
mov qword [rsp + 0x68], rax
mov eax, 0x33ea5c86
setp bh
xchg al, sil
movabs rax, 0x23396ef01c4484dc
cmovo r14w, r8w
mov qword [rsp + 0x70], rax
setle bl
movsx r15w, bpl
movsx rbx, si
movabs rax, 0x17711b7cc255afae
movsx rbx, sp
jmp 0x1403adec3
mov qword [rsp + 0x78], rax
movabs rax, 0x314846d9144fae6f
not ebx
jmp 0x1403adede
mov qword [rsp + 0x80], rax
cwde
movsx r12w, sil
movabs rax, 0x178dd9cfd41ab93e
cmovle r15, r9
setl r15b
mov qword [rsp + 0x88], rax
xchg r15w, bx
movabs rax, 0xafe3d510c4170ff7
cmovle si, r9w
mov qword [rsp + 0x90], rax
movzx r12d, r14w
movabs rax, 0xf2b1d93b98f8762c
movzx rsi, r13w
mov qword [rsp + 0x98], rax
movsx bx, r13b
mov r12b, 0x97
movabs rax, 0x9086a47a193ab849
movzx ebx, ax
movsx r12w, r15b
mov qword [rsp + 0xa0], rax
movsxd r14, edi
cmovge r14d, r12d
movabs rax, 0xf9f44acd0c6a853c
mov esi, 0x8a146f6
mov qword [rsp + 0xa8], rax
lahf
movabs rax, 0x46ec87c61fbaad11
movsx rsi, di
movsx r14d, r15w
mov qword [rsp + 0xb0], rax
movabs rax, 0x5102c52d8dbf581e
mov r15d, r14d
movzx r14, bx
mov qword [rsp + 0xb8], rax
jmp 0x1403adfb7
movabs rax, 0x9f52a16fed4b976f
cmovs r14, r12
xchg r15b, bl
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
mov qword [rsp + 0xc8], rax
cdqe
bswap bx
movabs rax, 0x60e699bcbdc17680
movsx r12w, cl
cmova esi, esi
mov qword [rsp + 0xd0], rax
movabs rax, 0xbd6f0372efe2893d
sete r15b
xchg sil, r12b
cmovne r14, rsi
mov qword [rsp + 0xd8], rax
not r12w
setnp r14b
movabs rax, 0x98880c705ee3d44a
mov qword [rsp + 0xe0], rax
movabs rax, 0x9b7661660ff4953f
movzx bx, al
mov qword [rsp + 0xe8], rax
not r14b
movabs rax, 0x53d62999d3e90ae0
seto r15b
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
movzx r14w, r9b
mov qword [rsp + 0xf8], rax
movsx r14, cx
cwde
movsx esi, ax
movabs rax, 0x56abc9090122ed13
setge r14b
mov qword [rsp + 0x100], rax
movabs rax, 0xf54db3f725dd577b
movzx rbx, r8w
movsxd r14, r9d
mov qword [rsp + 0x108], rax
mov r12b, 0x14
setb bl
movabs rax, 0x12e9428a7f611679
movsxd r14, ecx
movzx r15, bp
mov qword [rsp + 0x110], rax
movabs rax, 0x187f5c28d0b2d517
cmove r15, rax
movzx ebx, bx
mov qword [rsp + 0x118], rax
cmove ebx, r8d
lahf
movsx rax, bx
mov qword [rsp + 0x130], rbp
mov qword [rsp + 0x138], rdi
cmovp esi, edi
movzx r14w, r9b
xchg r12b, sil
movabs rbx, 0xbbeab153fb5d239f
mov qword [rsp + 0x140], rbx
lahf
mov sil, 0xa6
movabs rsi, 0xd0ef716b104bac0
cdqe
movsx rax, r14w
movzx ax, ch
mov qword [rsp + 0x148], rsi
movzx ax, r11b
movsx r12w, r12b
movabs r14, 0x230f6ec11c7484f9
mov qword [rsp + 0x150], r14
mov r12, 0x7de019be
sete al
jmp 0x1403ae16e
movabs r15, 0x177b1b24c239afc2
mov qword [rsp + 0x158], r15
nop
movsx eax, bp
movzx r12d, r10w
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
bswap eax
xchg r12b, r12b
movabs rax, 0x17e9d9ead43ab904
movzx r12d, bp
cmovge r12d, ecx
movzx r12, di
mov qword [rsp + 0x168], rax
cbw
not r12d
sete r12b
movabs rax, 0xaf90d535c41d0ffd
mov r12, 0x20b6651
movzx r12w, cl
jmp 0x1403ae1e1
mov qword [rsp + 0x170], rax
movzx ax, ch
lahf
movabs rax, 0xf2ded97898f27626
mov qword [rsp + 0x178], rax
cbw
cwde
movabs rax, 0x90e5a41b194eb827
mov qword [rsp + 0x180], rax
cdqe
movabs rax, 0xf9814abe0c4a8548
mov r12b, dl
xchg r12w, r12w
mov qword [rsp + 0x188], rax
movabs rax, 0x469e87a91fcaad61
movsx r12d, r12w
mov qword [rsp + 0x190], rax
movsxd rax, ecx
movzx r12d, r14w
mov r12b, 0x6f
movabs rax, 0x516cc54c8d9f586a
mov r12b, 0xf5
mov qword [rsp + 0x198], rax
lahf
movabs rax, 0x9f20a11fed6b970b
jmp 0x1403ae275
mov qword [rsp + 0x1a0], rax
mov al, 0x92
movabs rax, 0xf6c14852f09a9ccc
movsx r12w, r13b
xchg r12b, r12b
mov qword [rsp + 0x1a8], rax
not r12b
mov al, 0x26
movabs rax, 0x60c699ddbde176e5
seto r12b
bswap r12
mov qword [rsp + 0x1b0], rax
movsxd rax, esi
mov rax, rbp
movabs rax, 0xbd0a0300ef81894e
movsx r12, r12w
mov r12b, r15b
mov r12b, 0x56
mov qword [rsp + 0x1b8], rax
movsx rax, ax
xchg al, r12b
cbw
movabs rax, 0x98e00c035e8dd42f
mov r12w, r14w
xchg r12b, r12b
mov qword [rsp + 0x1c0], rax
movabs rax, 0x9b0161460f809550
mov qword [rsp + 0x1c8], rax
xchg r12w, ax
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
movzx r12, r12w
movzx r12w, dil
movsx r12d, r8w
movabs rax, 0xc1ab1d414ee4452
cmovns r12w, sp
xchg r12, r12
mov qword [rsp + 0x1d8], rax
movsx ax, spl
movabs rax, 0x56cdc967014bed33
mov qword [rsp + 0x1e0], rax
movabs rax, 0xf52cb39a25af5714
mov qword [rsp + 0x1e8], rax
movabs rax, 0x128742e57f08160d
bswap r12
mov qword [rsp + 0x1f0], rax
movabs rax, 0x187f5c28d0b2d536
setb r12b
movsxd r12, edx
mov qword [rsp + 0x1f8], rax
cmovp r12w, r9w
jmp 0x1403ae3ad
lea r12, [rsp + 0x130]
not ah
mov rax, r12
jmp 0x1403ae3bf
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403ae3c9
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403ae3d6
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403ae3e0
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403ae3ee
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403ae3f8
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403ae406
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403ae413
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403ae424
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403ae431
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403ae442
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403ae44f
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403ae460
movaps xmm0, xmmword [rsp + 0xb0]
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403ae479
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403ae486
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403ae497
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403ae4a4
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403ae4b8
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403ae4c5
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403ae4d9
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403ae4f5
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403ae502
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403ae516
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403ae523
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
lahf
movsx cx, r12b
mov qword [rsp + 0x30], r13
mov ch, 0xfb
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x128]
movzx edx, bx
movsxd r13, ebp
mov qword [rsp + 0x20], rax
cmovp r13w, bp
setae cl
lea r8, [rsp + 0x50]
movzx edx, r9w
cqo
movsxd r13, r15d
lea r9, [rsp + 0x200]
mov edx, 0x400
jmp 0x1403ae58b
lea r13, [rsp + 0x280]
xchg cl, ch
mov rcx, r13
jmp 0x1403ae59d
call fcn.1403ae746
mov rcx, qword [rsp + 0x40]
jmp 0x1403ae5ac
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403ae5c1
mov qword [rsp + 0x50], rax
movsxd rax, ebp
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403ae5d8
mov qword [rsp + 0x58], rax
jmp 0x1403ae5e3
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403ae5f2
mov qword [rsp + 0x60], rax
movabs rax, 0xd7bf775b167baaf
jmp 0x1403ae606
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
jmp 0x1403ae61a
mov qword [rsp + 0x70], rax
lahf
movabs rax, 0x177b1b24c239afe3
mov qword [rsp + 0x78], rax
jmp 0x1403ae634
mov qword [rsp + 0x130], rbp
jmp 0x1403ae641
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rsi
jmp 0x1403ae65e
mov qword [rsp + 0x150], r14
jmp 0x1403ae66b
mov qword [rsp + 0x158], r15
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403ae687
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403ae691
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403ae6a1
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
rol r9b, cl
jmp 0x1403ae6b9
lea r8, [rsp + 0x50]
test r10w, 0x64fe
add dx, 0x6bf0
xor ecx, ecx
mov rdx, r13
movzx r9, cx
movsx r9d, r9w
mov r9d, 0x10
jmp 0x1403ae6e1
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
and r10b, 0x18
mov r10, 0xffffffffffffffff
clc
test esi, esi
xor edx, edx
jmp 0x1403ae702
syscall
add rsp, 0xa88
pop rbx
pop rbp
movsx r14w, bl
pop rdi
movsx si, sil
xchg si, r15w
movzx r15w, r9b
pop rsi
mov r13b, dl
pop r12
bswap r13d
pop r13
movsxd r15, edi
pop r14
not r15
movzx r15w, dil
movsx r15w, dl
pop r15
jmp 0x1403ae745
ret