Function at 0x1403af394
Capabilities:
Encrypt data using speck

Disassembly:
push r15
stc
push r14
test r9, r10
push r13
test bpl, 0x8a
push r12
stc
push rsi
push rdi
sar esi, 0x5d
btc rsi, 0xb0
shr di, cl
push rbp
xor dil, r11b
sar bp, cl
shrd rbp, r13, 0x3e
push rbx
sal di, cl
sub rsp, 0xa88
mov rsi, rcx
movzx rdi, r9w
shrd edi, edx, 0xe6
movsx ebp, r15w
mov qword [rsp + 0x40], 0
stc
not bpl
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
cmp dl, 1
jmp 0x1403af401
mov qword [rsp + 0x128], r8
mov dword [rsp + 0x4c], r9d
jmp 0x1403af413
jne 0x1403af4cb
movabs rax, 0xe7f735c197612b70
mov qword [rsp + 0x130], rax
movsxd rcx, r10d
mov rax, rdi
movzx rcx, r8w
movsx rcx, bp
jmp 0x1403af43e
mov qword [rsp + 0x138], rax
movzx rcx, r15w
xchg cx, cx
not cl
mov rcx, rbp
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
jmp 0x1403af46f
movaps xmm0, xmmword [rsp + 0x130]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
cqo
mov edx, 0x40
mov r9, rsi
jmp 0x1403af4a1
call fcn.1403b0183
mov ecx, 0x13ff
inc r8b
stc
clc
sub edx, edx
jmp 0x1403af4be
mov r8d, esi
jmp 0x1403af4c6
jmp 0x1403af7b1
mov ebx, edx
bswap ax
jmp 0x1403af4d8
movabs rax, 0xe7ee358897752b65
jmp 0x1403af4e7
mov qword [rsp + 0x130], rax
movsx eax, si
movzx rax, r10w
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403af505
mov qword [rsp + 0x138], rax
cmovp eax, r11d
mov rax, rbp
mov qword [rsp + 0x280], rax
cdqe
movzx rax, ax
mov rax, rdi
mov qword [rsp + 0x288], rax
seta ah
movzx rax, r14w
movsx ax, bpl
lea rax, [rsp + 0x280]
jmp 0x1403af546
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403af553
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
xchg r8b, r9b
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
mov rdx, r12
mov edx, 0x40
not r9b
mov r9, rsi
jmp 0x1403af584
call fcn.1403b0183
test bl, bl
jmp 0x1403af590
je 0x1403af722
movzx eax, bl
cmp eax, 2
jne 0x1403af72f
movabs r14, 0xcbf29ce484222325
mov ecx, esi
jmp 0x1403af5b3
call fcn.140292cbc
mov r8d, eax
and r15w, r15w
sar ah, 0x73
mov rax, qword gs:[0x30]
movzx r11, dx
mov rax, qword [rax + 0x60]
btr r11, r15
inc r11w
mov r11, qword [rax + 0x18]
sar cl, cl
add r11, 0x10
movabs rdx, 0x2cc10c8855a9a8cd
movzx rcx, si
bswap cx
jmp 0x1403af5fb
movabs r15, 0x1d12a89b9e723ff5
movzx cx, r8b
mov ecx, 0x1bff
jmp 0x1403af614
jmp 0x1403af622
cmp rax, rdx
je 0x1403af753
mov r11, qword [r11]
or r10w, sp
sal r10, 0xc0
mov r10, qword [r11 + 0x30]
test r10, r10
jmp 0x1403af639
je 0x1403af787
mov r12, qword [r11 + 0x60]
movzx bx, sil
mov rbx, 0xffffffffffffffff
clc
nop word cs:[rax + rax]
stc
cmp rbp, r11
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403af670
jne 0x1403af660
mov rax, r14
test rbx, rbx
je 0x1403af619
xor esi, esi
dec rax
cmc
mov rbp, r14
nop word [rax + rax]
test bl, r12b
bswap ax
shld rdi, rbx, 0xfd
movzx eax, word [r12 + rsi*2]
neg rdi
shld r13w, ax, 0xfd
shl r9, 0x5e
lea edi, [rax - 0x41]
bsr r9w, r9w
lea r13d, [rax - 0x410]
sub r9, 0x680b7286
bsf r9d, r8d
lea r9d, [rax + 0x20]
test r14b, 0x14
stc
cmp r13w, 0x20
jmp 0x1403af6db
cmovb eax, r9d
cmc
cmp di, 0x1a
jmp 0x1403af6e9
cmovb eax, r9d
movzx eax, ax
xor rax, rbp
or bp, 0x154e
sub bp, 0x204a
imul rax, r15
xchg ebp, ebp
inc esi
movsx rbp, r11w
rcr bpl, cl
mov rbp, rax
cmp rsi, rbx
jmp 0x1403af717
jb 0x1403af69c
jmp 0x1403af619
xor r13d, r13d
jmp 0x1403af72a
jmp 0x1403af7e7
cmp bl, 3
movzx r8d, si
cmovne r8d, esi
movsxd rcx, r10d
mov rcx, 0x56215ec0
mov ecx, 0x13ff
jmp 0x1403af74e
jmp 0x1403af7ac
test r11, r11
cwd
cmove r10, r11
mov rdx, r10
sete dil
movabs rbp, 0xe78235ad970d2b55
mov dil, r15b
mov dil, 0x54
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403af782
jmp 0x1403af7b1
movabs rbp, 0xe78235ad970d2b55
rcr rdi, cl
bswap rdi
movabs rdi, 0x6cbb02d0d49b29be
bsr ax, di
bt eax, r14d
rcl ah, 0xc4
sub edx, edx
sar rax, cl
lea rax, [rsp + 0x40]
jmp 0x1403af7bb
mov qword [rsp + 0x20], rax
cmc
stc
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
stc
sub r9d, r9d
jmp 0x1403af7dc
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
lea rcx, [rsp + 0x280]
mov r8d, 0x800
sub edx, edx
call fcn.1404a348f
movabs rax, 0xe7ed35df977f2b10
movsx si, r15b
movsxd r12, r13d
mov qword [rsp + 0x50], rax
movsx r12d, bp
seto r12b
movabs rax, 0x6c9e02f0d4a129cc
movsxd r14, edx
movzx si, r9b
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
movzx r12d, r10w
movzx r15, bx
movsx r15w, r10b
mov qword [rsp + 0x68], rax
movabs rax, 0x23396ef01c4484dc
movsxd r14, r9d
movsx r15w, r10b
mov qword [rsp + 0x70], rax
jmp 0x1403af87d
movabs rax, 0x17711b7cc255afae
movzx bx, r10b
setle r12b
cmovg ebx, eax
mov qword [rsp + 0x78], rax
movabs rax, 0x314846d9144fae6f
movsx r12, r15w
mov qword [rsp + 0x80], rax
movzx r12w, dil
jmp 0x1403af8bd
movabs rax, 0x178dd9cfd41ab93e
cmovl r15w, bp
movsx ebx, si
mov qword [rsp + 0x88], rax
movsxd r15, eax
mov r14b, al
movzx r12d, r9w
movabs rax, 0xafe3d510c4170ff7
movsx r15, r14w
setge r15b
mov qword [rsp + 0x90], rax
movabs rax, 0xf2b1d93b98f8762c
movsx r14, r10w
mov qword [rsp + 0x98], rax
movzx r12w, r11b
movabs rax, 0x9086a47a193ab849
movzx r12d, r11w
mov r12b, 0xba
jmp 0x1403af92c
mov qword [rsp + 0xa0], rax
movabs rax, 0xf9f44acd0c6a853c
movzx rbx, r8w
jmp 0x1403af949
mov qword [rsp + 0xa8], rax
movsx r12, r11w
movzx r12d, r9w
cdqe
movabs rax, 0x46ec87c61fbaad11
movsx rbx, r15w
movsxd r14, r14d
xchg rsi, rbx
mov qword [rsp + 0xb0], rax
movzx ax, r13b
jmp 0x1403af982
movabs rax, 0x5102c52d8dbf581e
movzx r15d, cx
movzx r15, r9w
xchg r12, r15
mov qword [rsp + 0xb8], rax
movsx ax, r9b
movabs rax, 0x9f52a16fed4b976f
mov bx, 0x19a3
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
mov qword [rsp + 0xc8], rax
cbw
cdqe
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
cbw
movsx r15d, bp
cmovae ebx, r13d
movabs rax, 0xbd6f0372efe2893d
mov qword [rsp + 0xd8], rax
movabs rax, 0x98880c705ee3d44a
movsx r14d, bx
xchg bl, r14b
mov qword [rsp + 0xe0], rax
movabs rax, 0x9b7661660ff4953f
movsxd r14, esp
movzx bx, dh
movsx r14d, r13w
mov qword [rsp + 0xe8], rax
bswap rax
movabs rax, 0x53d62999d3e90ae0
bswap r12w
movsxd r14, r11d
xchg r15d, r12d
mov qword [rsp + 0xf0], rax
movzx bx, sil
movabs rax, 0xc69b1bd14864426
mov qword [rsp + 0xf8], rax
movabs rax, 0x56abc9090122ed13
movsx r15w, r11b
movzx r12w, spl
mov qword [rsp + 0x100], rax
movsxd r12, ebx
movzx esi, dx
setns sil
movabs rax, 0xf54db3f725dd577b
mov sil, 0x84
movzx ebx, bp
mov qword [rsp + 0x108], rax
not esi
cbw
lahf
movabs rax, 0x12e9428a7f611679
mov qword [rsp + 0x110], rax
jmp 0x1403afac8
movabs rax, 0x187f5c28d0b2d517
mov bh, 0x3e
movsx ebx, bx
seta bh
mov qword [rsp + 0x118], rax
not r14d
cmovnp rsi, rcx
mov ebx, r15d
mov qword [rsp + 0x130], rbp
cbw
bswap r14w
cmovne esi, r14d
mov qword [rsp + 0x138], rdi
movsxd rsi, r13d
movabs rbx, 0xbbeab153fb5d239f
mov qword [rsp + 0x140], rbx
movsx ax, dh
movzx rsi, bx
movsx r14, cx
movabs rsi, 0xd0ef716b104bac0
mov qword [rsp + 0x148], rsi
movzx r15, r14w
movsx r15w, r10b
cbw
movabs r14, 0x230f6ec11c7484f9
movzx r15, r14w
movsxd r15, esp
mov qword [rsp + 0x150], r14
movzx eax, r15w
movsx r15, r14w
movabs r15, 0x177b1b24c239afc2
movzx eax, r9w
bswap r12d
movzx ax, r13b
mov qword [rsp + 0x158], r15
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
movabs rax, 0x17e9d9ead43ab904
xchg r12b, r12b
mov r12w, 0x4356
movsx r12w, al
mov qword [rsp + 0x168], rax
bswap rax
cbw
cdqe
movabs rax, 0xaf90d535c41d0ffd
mov r12w, 0x67f
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
mov r12w, 0x90e
movzx r12, r8w
mov qword [rsp + 0x178], rax
mov eax, r9d
movabs rax, 0x90e5a41b194eb827
cmovl r12w, sp
seto r12b
mov qword [rsp + 0x180], rax
movzx r12w, r10b
movsx r12w, r12b
xchg ah, al
movabs rax, 0xf9814abe0c4a8548
jmp 0x1403afc2e
mov qword [rsp + 0x188], rax
movabs rax, 0x469e87a91fcaad61
movzx r12, cx
xchg r12, r12
mov qword [rsp + 0x190], rax
lahf
movzx ax, spl
movabs rax, 0x516cc54c8d9f586a
movsx r12w, dl
mov r12b, spl
movsxd r12, edx
mov qword [rsp + 0x198], rax
movzx rax, r8w
mov ax, bx
cmovge r12w, r9w
movabs rax, 0x9f20a11fed6b970b
xchg r12b, r12b
movzx r12d, r13w
mov qword [rsp + 0x1a0], rax
movsx r12w, r12b
movabs rax, 0xf6c14852f09a9ccc
movsx r12d, bp
setle r12b
movsxd r12, eax
mov qword [rsp + 0x1a8], rax
xchg r12w, r12w
jmp 0x1403afcc4
movabs rax, 0x60c699ddbde176e5
setnp r12b
mov r12, rbx
mov qword [rsp + 0x1b0], rax
movabs rax, 0xbd0a0300ef81894e
mov qword [rsp + 0x1b8], rax
mov eax, r12d
jmp 0x1403afcf7
movabs rax, 0x98e00c035e8dd42f
cmova r12w, r15w
mov r12b, 1
movzx r12, bx
mov qword [rsp + 0x1c0], rax
xchg r12w, r12w
jmp 0x1403afd22
movabs rax, 0x9b0161460f809550
jmp 0x1403afd31
mov qword [rsp + 0x1c8], rax
movsx rax, r12w
movabs rax, 0x53f629f1d39d0a89
jmp 0x1403afd50
mov qword [rsp + 0x1d0], rax
mov r12d, ecx
bswap r12d
movabs rax, 0xc1ab1d414ee4452
movsxd r12, r11d
movzx r12w, r13b
movsx r12d, ax
mov qword [rsp + 0x1d8], rax
movabs rax, 0x56cdc967014bed33
mov qword [rsp + 0x1e0], rax
cdqe
movabs rax, 0xf52cb39a25af5714
movzx r12w, spl
xchg r12b, r12b
mov qword [rsp + 0x1e8], rax
cdqe
setnp al
not ax
movabs rax, 0x128742e57f08160d
mov qword [rsp + 0x1f0], rax
movsx r12w, r12b
movsxd r12, ecx
movabs rax, 0x187f5c28d0b2d536
mov r12d, r11d
setp r12b
mov qword [rsp + 0x1f8], rax
bswap eax
lea r12, [rsp + 0x130]
movsx ax, dil
mov rax, r12
jmp 0x1403afdfc
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403afe06
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403afe21
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403afe2b
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403afe39
movaps xmm0, xmmword [rsp + 0x80]
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403afe52
movaps xmm0, xmmword [rsp + 0x90]
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403afe6b
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403afe78
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403afe89
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403afe96
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403afeaf
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
jmp 0x1403afec0
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403afecd
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403afee1
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403afeee
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403aff19
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403aff26
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
cmovg dx, sp
movsxd rcx, r12d
movzx eax, r9w
mov qword [rsp + 0x30], r13
lahf
mov eax, dword [rsp + 0x4c]
movzx r8w, dil
mov r8b, 0xdc
mov dword [rsp + 0x28], eax
movzx r8w, dil
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x200]
mov edx, 0x400
lea r13, [rsp + 0x280]
movzx rcx, r8w
movzx ecx, r11w
mov rcx, r13
jmp 0x1403affa9
call fcn.1403b0183
mov rcx, qword [rsp + 0x40]
jmp 0x1403affb8
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
mov qword [rsp + 0x50], rax
movzx ax, al
mov ax, r15w
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403affe4
mov qword [rsp + 0x58], rax
lahf
bswap eax
mov al, r9b
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403afffe
mov qword [rsp + 0x60], rax
movzx eax, si
movabs rax, 0xd7bf775b167baaf
jmp 0x1403b0015
mov qword [rsp + 0x68], rax
mov ax, r13w
movsx ax, r10b
movabs rax, 0x236b6ea41c06848b
jmp 0x1403b0032
mov qword [rsp + 0x70], rax
movabs rax, 0x177b1b24c239afe3
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x130], rbp
jmp 0x1403b0053
mov qword [rsp + 0x138], rdi
jmp 0x1403b0060
mov qword [rsp + 0x140], rbx
jmp 0x1403b006d
mov qword [rsp + 0x148], rsi
jmp 0x1403b007a
mov qword [rsp + 0x150], r14
jmp 0x1403b0087
mov qword [rsp + 0x158], r15
jmp 0x1403b0094
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b009e
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b00ad
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b00b7
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b00c7
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b00d1
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
neg edx
lea r8, [rsp + 0x50]
xor ecx, ecx
movzx r9w, r9b
movzx r9, r9w
mov rdx, r13
bswap r9w
movsx r9d, r8w
movsxd r9, edi
mov r9d, 0x10
jmp 0x1403b0107
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
rcr r10w, cl
bsf r10d, r12d
or r10w, 0xe26
mov r10, 0xffffffffffffffff
stc
xor edx, edx
jmp 0x1403b0130
syscall
add rsp, 0xa88
pop rbx
movzx r13w, r8b
movsxd r14, r8d
pop rbp
pop rdi
movsx esi, r15w
movzx si, sil
movsxd r15, r13d
pop rsi
mov r15, r13
movsxd r14, ebp
movsx r14, bp
pop r12
bswap r13d
movzx r14, r14w
mov r15, r14
pop r13
mov r15w, bx
jmp 0x1403b0176
pop r14
xchg r15b, r15b
pop r15
jmp 0x1403b0182
ret