Function at 0x1403ac24d
Capabilities:
Encrypt data using speck

Disassembly:
push r15
stc
push r14
push r13
cmp r15b, spl
cmp r9b, 0xba
push r12
test r13b, 0xb4
push rsi
mov sil, 0x67
push rdi
shld si, cx, 0xd8
rcl sil, 0x6f
or sil, 7
push rbp
xor rsi, r14
push rbx
xor si, di
clc
sub rsp, 0xa88
mov rsi, rcx
rcr di, 0x84
mov qword [rsp + 0x40], 0
movzx rdi, r8w
sbb bpl, 0x31
movabs rbp, 0xe78235ad970d2b55
btc edi, edi
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ac2b7
cmp dl, 1
jmp 0x1403ac2bf
mov qword [rsp + 0x128], r8
jmp 0x1403ac2cc
mov dword [rsp + 0x4c], r9d
jmp 0x1403ac2d6
jne 0x1403ac3ab
movabs rax, 0xe7f735c197612b70
movsx rcx, cx
movzx rcx, sp
mov qword [rsp + 0x130], rax
movzx ecx, r9w
not cl
cdqe
mov rax, rdi
mov qword [rsp + 0x138], rax
movsxd rcx, ebp
mov rcx, rbp
jmp 0x1403ac314
mov qword [rsp + 0x280], rcx
jmp 0x1403ac321
mov qword [rsp + 0x288], rax
lea rax, [rsp + 0x280]
jmp 0x1403ac336
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ac343
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movsx r9, cx
sets dh
mov ecx, 0x688a5371
lea rcx, [rsp + 0x200]
movsx r8, r8w
cqo
mov r8w, si
lea r8, [rsp + 0x130]
mov edx, 0x40
mov r9, r14
bswap r9
setae r9b
mov r9, rsi
jmp 0x1403ac38b
call fcn.1403ad032
mov ecx, 0x13ff
add r8, rax
xor edx, edx
movsx r8, r12w
mov r8d, esi
jmp 0x1403ac3a6
jmp 0x1403ac664
mov ebx, edx
cmovg rax, r8
lahf
movabs rax, 0xe7ee358897752b65
jmp 0x1403ac3c1
mov qword [rsp + 0x130], rax
movsxd rax, r11d
movzx rax, r15w
movabs rax, 0x6cbb02d0d4c329d2
mov qword [rsp + 0x138], rax
mov eax, 0x775d5436
mov rax, rbp
mov qword [rsp + 0x280], rax
mov al, r11b
nop
movsx rax, r10w
mov rax, rdi
jmp 0x1403ac403
mov qword [rsp + 0x288], rax
movzx rax, r13w
mov al, 0x82
lea rax, [rsp + 0x280]
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403ac426
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
xchg edx, r9d
movsx r8w, spl
cmova r9w, r10w
lea r8, [rsp + 0x130]
mov edx, 0x40
mov r9, rsi
jmp 0x1403ac45b
call fcn.1403ad032
test bl, bl
je 0x1403ac5d0
movzx eax, bl
cmp cl, bl
cmc
cmp eax, 2
jne 0x1403ac5dd
movabs r14, 0xcbf29ce484222325
mov ecx, esi
jmp 0x1403ac488
call fcn.140269d14
mov r8d, eax
mov rax, qword gs:[0x30]
inc dx
mov rax, qword [rax + 0x60]
mov r11, qword [rax + 0x18]
sar rdx, cl
add r11, 0x10
movabs rdx, 0x2cc10c8855a9a8cd
movabs r15, 0x1d12a89b9e723ff5
movsx rcx, dx
mov cl, 0x8c
mov ecx, 0x1bff
jmp 0x1403ac4cf
jmp 0x1403ac4e2
cmp rax, rdx
jmp 0x1403ac4dc
je 0x1403ac600
mov r11, qword [r11]
xor r10b, r15b
adc r10b, 5
neg r10b
mov r10, qword [r11 + 0x30]
test al, r8b
cmc
test r10, r10
jmp 0x1403ac4ff
je 0x1403ac642
mov r12, qword [r11 + 0x60]
sub bx, 0x3563
mov rbx, 0xffffffffffffffff
cmc
cmp r12w, r14w
nop word cs:[rax + rax]
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403ac536
jne 0x1403ac526
mov rax, r14
cmp ax, sp
test rbx, rbx
jmp 0x1403ac54a
je 0x1403ac4d4
sub esi, esi
sar ax, cl
mov rbp, r14
sub r9b, r9b
nop word [rax + rax]
movzx eax, word [r12 + rsi*2]
test r8, r11
lea edi, [rax - 0x41]
bt r13, rax
lea r13d, [rax - 0x410]
sub r9b, r8b
movsxd r9, r10d
rcr r9b, 0xe3
lea r9d, [rax + 0x20]
test dil, cl
stc
cmp r13w, 0x20
cmovb eax, r9d
cmp di, 0x1a
cmovb eax, r9d
movzx eax, ax
cmp r14, rbx
xor rax, rbp
xor bpl, 0x5f
cmc
imul rax, r15
inc esi
cmovbe rbp, rbp
rol bpl, 0x28
mov rbp, rax
test si, ax
clc
cmp rsi, rbx
jmp 0x1403ac5c5
jb 0x1403ac561
jmp 0x1403ac4d4
xor r13d, r13d
jmp 0x1403ac5d8
jmp 0x1403ac6b5
cmp bl, 3
xchg r8b, cl
movzx r8, r13w
movzx r8d, si
cmovne r8d, esi
movsx rcx, r13w
setnp ch
mov ecx, 0x13ff
jmp 0x1403ac662
test r11, r11
cmovp rdi, rdi
cmove r10, r11
mov rdx, r10
movsxd rbp, esp
movzx di, bpl
sets dil
movabs rbp, 0xe78235ad970d2b55
xchg dil, dil
bswap di
cmovno rdi, rdx
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403ac63d
jmp 0x1403ac664
movabs rbp, 0xe78235ad970d2b55
movzx di, dl
bsr edi, edx
btc di, bp
movabs rdi, 0x6cbb02d0d49b29be
cmc
sub edx, edx
lea rax, [rsp + 0x40]
cmp bpl, dl
cmp ebp, 0x440b5c0f
mov qword [rsp + 0x20], rax
jmp 0x1403ac67c
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
test ebx, r11d
cmp r15w, bp
xor r9d, r9d
jmp 0x1403ac69c
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
and rcx, 0x330932e8
btr rcx, r11
neg r8b
lea rcx, [rsp + 0x280]
btc r8, 0xb1
mov r8d, 0x800
xor edx, edx
call fcn.1404a07ca
movabs rax, 0xe7ed35df977f2b10
bswap r15w
mov qword [rsp + 0x50], rax
not r12d
cdqe
movabs rax, 0x6c9e02f0d4a129cc
movsxd r14, r8d
mov r14, rax
mov qword [rsp + 0x58], rax
xchg r14w, ax
movsx r14, si
cwde
movabs rax, 0xbb83b115fb5723ec
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
xchg r15b, r15b
movsxd rbx, edx
mov qword [rsp + 0x68], rax
movsx r12w, bpl
movzx r12d, r13w
jmp 0x1403ac736
movabs rax, 0x23396ef01c4484dc
jmp 0x1403ac745
mov qword [rsp + 0x70], rax
movzx r14, r10w
jmp 0x1403ac753
movabs rax, 0x17711b7cc255afae
movsxd rbx, edi
movzx rsi, r8w
mov qword [rsp + 0x78], rax
movsx esi, r9w
bswap si
movsx bx, r15b
movabs rax, 0x314846d9144fae6f
movsxd r14, r10d
movsx rsi, sp
mov qword [rsp + 0x80], rax
movsx r15d, r11w
movabs rax, 0x178dd9cfd41ab93e
movzx r14d, r13w
mov r12w, cx
sets r14b
mov qword [rsp + 0x88], rax
movsx r14w, r15b
mov ah, 0xdf
movabs rax, 0xafe3d510c4170ff7
movsx bx, r15b
mov qword [rsp + 0x90], rax
mov r15b, 0xc
cmovle r12w, ax
movabs rax, 0xf2b1d93b98f8762c
seta r14b
xchg sil, r15b
mov qword [rsp + 0x98], rax
movabs rax, 0x9086a47a193ab849
xchg bl, r15b
setbe sil
jmp 0x1403ac806
mov qword [rsp + 0xa0], rax
movzx r15w, cl
movabs rax, 0xf9f44acd0c6a853c
setae sil
jmp 0x1403ac82b
mov qword [rsp + 0xa8], rax
cdqe
movabs rax, 0x46ec87c61fbaad11
mov qword [rsp + 0xb0], rax
jmp 0x1403ac84c
movabs rax, 0x5102c52d8dbf581e
movsx r15, r10w
not r12d
cmovo r12, rdi
mov qword [rsp + 0xb8], rax
movabs rax, 0x9f52a16fed4b976f
mov r14, 0x1c0208e5
movzx rsi, di
xchg r12b, r14b
mov qword [rsp + 0xc0], rax
cdqe
movzx r12, ax
movabs rax, 0xf6a5483bf0ec9ca3
bswap r14
jmp 0x1403ac8a5
mov qword [rsp + 0xc8], rax
movsx esi, bx
movsx bx, r15b
movabs rax, 0x60e699bcbdc17680
movsx r15, ax
mov r12b, r15b
mov qword [rsp + 0xd0], rax
movzx esi, r8w
not r12w
bswap r14w
movabs rax, 0xbd6f0372efe2893d
movsx ebx, ax
movzx rsi, dx
mov qword [rsp + 0xd8], rax
movabs rax, 0x98880c705ee3d44a
movsx ebx, r14w
mov qword [rsp + 0xe0], rax
movabs rax, 0x9b7661660ff4953f
mov esi, 0x7ffb61b4
not bl
mov qword [rsp + 0xe8], rax
movsx r12d, r14w
setnp bh
movabs rax, 0x53d62999d3e90ae0
movzx bx, dil
movzx r15, r14w
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
movsx r15, r14w
movzx bx, r13b
mov qword [rsp + 0xf8], rax
bswap r15
lahf
setno r15b
movabs rax, 0x56abc9090122ed13
movsx rsi, cx
movzx r14w, dl
mov qword [rsp + 0x100], rax
movabs rax, 0xf54db3f725dd577b
cmove esi, r15d
not sil
mov qword [rsp + 0x108], rax
movzx esi, r10w
setae r12b
not bx
movabs rax, 0x12e9428a7f611679
jmp 0x1403ac9b5
mov qword [rsp + 0x110], rax
movabs rax, 0x187f5c28d0b2d517
cmovae r15d, ebp
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x130], rbp
movsxd rsi, edx
mov qword [rsp + 0x138], rdi
not r12b
bswap ebx
mov rax, 0x67361e5e
movabs rbx, 0xbbeab153fb5d239f
mov qword [rsp + 0x140], rbx
movsx r14, r10w
cwde
setbe r15b
movabs rsi, 0xd0ef716b104bac0
movzx eax, r12w
mov qword [rsp + 0x148], rsi
movabs r14, 0x230f6ec11c7484f9
bswap r15d
mov qword [rsp + 0x150], r14
movsx r12d, r14w
movsx r12, r11w
sete r15b
movabs r15, 0x177b1b24c239afc2
movsxd r12, r15d
cbw
mov qword [rsp + 0x158], r15
movsx rax, r9w
not al
jmp 0x1403aca66
movabs rax, 0x312d46b71426ae23
cmovnp r12d, ebx
mov qword [rsp + 0x160], rax
movabs rax, 0x17e9d9ead43ab904
xchg r12w, r12w
mov qword [rsp + 0x168], rax
movzx ax, cl
movabs rax, 0xaf90d535c41d0ffd
movsx r12w, al
cmovg r12d, ebx
mov qword [rsp + 0x170], rax
jmp 0x1403acab6
movabs rax, 0xf2ded97898f27626
movsx r12w, r15b
mov r12w, 6
mov qword [rsp + 0x178], rax
jmp 0x1403acada
movabs rax, 0x90e5a41b194eb827
xchg r12w, r12w
mov qword [rsp + 0x180], rax
nop
movabs rax, 0xf9814abe0c4a8548
mov qword [rsp + 0x188], rax
jmp 0x1403acb0b
movabs rax, 0x469e87a91fcaad61
bswap r12d
mov qword [rsp + 0x190], rax
setno r12b
cwde
mov r12w, 0x2b5a
movabs rax, 0x516cc54c8d9f586a
movzx r12w, bpl
mov qword [rsp + 0x198], rax
movsxd r12, r15d
movabs rax, 0x9f20a11fed6b970b
movsx r12w, r14b
cmovg r12d, r10d
mov qword [rsp + 0x1a0], rax
movsx r12, ax
movzx ax, bpl
mov rax, 0x475952fd
movabs rax, 0xf6c14852f09a9ccc
movsx r12d, si
mov qword [rsp + 0x1a8], rax
movabs rax, 0x60c699ddbde176e5
mov qword [rsp + 0x1b0], rax
jmp 0x1403acba0
movabs rax, 0xbd0a0300ef81894e
movsxd r12, esp
mov qword [rsp + 0x1b8], rax
lahf
movabs rax, 0x98e00c035e8dd42f
movzx r12w, r8b
xchg r12d, r12d
mov qword [rsp + 0x1c0], rax
movabs rax, 0x9b0161460f809550
bswap r12w
mov qword [rsp + 0x1c8], rax
not al
movzx eax, sp
jmp 0x1403acbf0
movabs rax, 0x53f629f1d39d0a89
setno r12b
mov qword [rsp + 0x1d0], rax
jmp 0x1403acc0f
movabs rax, 0xc1ab1d414ee4452
bswap r12w
mov qword [rsp + 0x1d8], rax
cbw
xchg al, r12b
movabs rax, 0x56cdc967014bed33
movsx r12d, sp
xchg r12b, r12b
mov r12b, 0x79
mov qword [rsp + 0x1e0], rax
movsx ax, al
movsx r12d, r9w
movabs rax, 0xf52cb39a25af5714
mov qword [rsp + 0x1e8], rax
setns r12b
movabs rax, 0x128742e57f08160d
xchg r12w, r12w
jmp 0x1403acc7b
mov qword [rsp + 0x1f0], rax
bswap rax
movsx r12w, al
movabs rax, 0x187f5c28d0b2d536
xchg r12b, r12b
mov qword [rsp + 0x1f8], rax
lea r12, [rsp + 0x130]
cmovns eax, esi
movsxd rax, edi
mov rax, r12
jmp 0x1403accb6
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403accc0
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403acccd
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403accd7
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403acce5
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403accef
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 0x1403acd11
movaps xmm0, xmmword [rsp + 0x90]
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403acd2a
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403acd37
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403acd48
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403acd55
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403acd99
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403acdad
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403acdba
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403acdce
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403acddb
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403acdef
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403acdfc
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
lahf
cqo
cdqe
mov qword [rsp + 0x30], r13
movsx dx, dl
movsxd r13, esp
mov dh, 0xf8
mov eax, dword [rsp + 0x4c]
movzx r8w, sil
bswap dx
not dh
mov dword [rsp + 0x28], eax
cdq
mov rax, qword [rsp + 0x128]
cmovl r9w, di
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
cdq
lea r9, [rsp + 0x200]
mov edx, 0x400
lea r13, [rsp + 0x280]
movzx cx, ah
bswap cx
mov rcx, r13
call fcn.1403ad032
mov rcx, qword [rsp + 0x40]
jmp 0x1403ace78
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403ace8d
mov qword [rsp + 0x50], rax
lahf
mov ax, r13w
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403acea6
mov qword [rsp + 0x58], rax
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403aceba
mov qword [rsp + 0x60], rax
movzx ax, r9b
setne al
cbw
movabs rax, 0xd7bf775b167baaf
jmp 0x1403aced8
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
jmp 0x1403aceec
mov qword [rsp + 0x70], rax
movabs rax, 0x177b1b24c239afe3
jmp 0x1403acf00
mov qword [rsp + 0x78], rax
jmp 0x1403acf0a
mov qword [rsp + 0x130], rbp
jmp 0x1403acf17
mov qword [rsp + 0x138], rdi
jmp 0x1403acf24
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rsi
jmp 0x1403acf39
mov qword [rsp + 0x150], r14
jmp 0x1403acf46
mov qword [rsp + 0x158], r15
jmp 0x1403acf53
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403acf5d
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403acf6c
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403acf81
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
shld rdx, r11, 0x1f
sal rdx, cl
not r9w
lea r8, [rsp + 0x50]
and rdx, rdi
add edx, 0x175836c3
adc r9w, r15w
xor ecx, ecx
movzx r9d, dx
cqo
mov rdx, r13
movzx r9w, r13b
mov r9d, 0x10
jmp 0x1403acfca
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
movzx r10d, cx
mov r10, 0xffffffffffffffff
stc
sub edx, edx
jmp 0x1403acfe9
syscall
add rsp, 0xa88
mov r14, rbx
setg r15b
movzx rsi, r14w
pop rbx
not r14d
pop rbp
movsxd r12, r14d
jmp 0x1403ad00a
pop rdi
pop rsi
mov r12b, 0xd8
pop r12
movzx r13w, dil
jmp 0x1403ad01b
pop r13
not r14b
mov r15w, bx
pop r14
movzx r15d, r11w
jmp 0x1403ad02f
pop r15
ret