Function at 0x1403b4efd
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmp r12, 0x45420f98
stc
push r14
stc
push r13
push r12
stc
push rsi
mov rsi, rsi
rcr sil, cl
push rdi
test rcx, 0x4c303df0
rol rsi, cl
movzx rdi, dx
push rbp
push rbx
movsxd rsi, r9d
add bpl, dl
sub rsp, 0xa88
sbb sil, r9b
sub dil, cl
mov rsi, rcx
and dil, 0x7e
sar bpl, cl
mov qword [rsp + 0x40], 0
setb bpl
stc
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
cmp dl, 1
mov qword [rsp + 0x128], r8
jmp 0x1403b4f76
mov dword [rsp + 0x4c], r9d
jmp 0x1403b4f80
jne 0x1403b5064
movabs rax, 0xe7f735c197612b70
xchg cl, ch
movsx cx, ah
bswap ecx
mov qword [rsp + 0x130], rax
mov cl, 0xf0
jmp 0x1403b4fa7
mov rax, rdi
movsx cx, cl
mov qword [rsp + 0x138], rax
movsx cx, ch
cmovns cx, r11w
movzx ecx, bp
mov rcx, rbp
jmp 0x1403b4fca
mov qword [rsp + 0x280], rcx
jmp 0x1403b4fd7
mov qword [rsp + 0x288], rax
movzx eax, ax
lea rax, [rsp + 0x280]
jmp 0x1403b4fef
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b4ffc
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
movzx cx, r8b
xchg r9d, r8d
cdq
lea rcx, [rsp + 0x200]
movsx rdx, r14w
lea r8, [rsp + 0x130]
mov r9d, 0x439c3f82
mov edx, 0x40
movzx r9, ax
mov r9, rsi
jmp 0x1403b503b
call fcn.1403b5d42
mov ecx, 0x13ff
bt r8w, 0xd1
adc r8d, 0x2f1608c7
xor edx, edx
jmp 0x1403b505c
mov r8d, esi
jmp 0x1403b534a
mov ebx, edx
bswap ax
movabs rax, 0xe7ee358897752b65
jmp 0x1403b5078
mov qword [rsp + 0x130], rax
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403b508f
mov qword [rsp + 0x138], rax
cwde
xchg ah, ah
mov rax, rbp
jmp 0x1403b50a2
mov qword [rsp + 0x280], rax
mov rax, rdi
jmp 0x1403b50b2
mov qword [rsp + 0x288], rax
movzx rax, ax
lea rax, [rsp + 0x280]
jmp 0x1403b50cb
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403b50d8
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
xchg r9d, edx
mov r9w, 0x43a4
movzx r9w, r15b
mov edx, 0x40
movzx r9w, al
mov r9, rsi
jmp 0x1403b5112
call fcn.1403b5d42
test bl, bl
jmp 0x1403b511e
je 0x1403b52ba
movzx eax, bl
cmp eax, 2
jmp 0x1403b512f
jne 0x1403b52c2
movabs r14, 0xcbf29ce484222325
movsxd rcx, r15d
mov ecx, esi
call fcn.14028ad93
mov r8d, eax
mov rax, qword gs:[0x30]
xchg dx, dx
mov rax, qword [rax + 0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
mov edx, r9d
movabs rdx, 0x2cc10c8855a9a8cd
not cl
mov ch, 0xfc
movabs r15, 0x1d12a89b9e723ff5
sete ch
movsxd rcx, r14d
movzx cx, spl
mov ecx, 0x1bff
jmp 0x1403b5195
jmp 0x1403b51a8
cmp rax, rdx
jmp 0x1403b51a2
je 0x1403b52ec
mov r11, qword [r11]
sar r10b, 0x12
mov r10, qword [r11 + 0x30]
cmc
test r10, r10
jmp 0x1403b51bc
je 0x1403b531d
mov r12, qword [r11 + 0x60]
cmc
mov rbx, 0xffffffffffffffff
stc
jmp 0x1403b51d4
nop word cs:[rax + rax]
cmp r15b, 0xdd
cmp word [r12 + rbx*2 + 2], 0
jmp 0x1403b51f0
lea rbx, [rbx + 1]
jmp 0x1403b51f9
jne 0x1403b51e4
mov rax, r14
stc
test rbx, rbx
jmp 0x1403b520b
je 0x1403b519a
xor esi, esi
shld ebp, r12d, 0x9c
bts ebp, esp
mov rbp, r14
nop word [rax + rax]
xadd r13b, al
movzx eax, word [r12 + rsi*2]
ror rdi, cl
xchg di, di
btc r13w, r14w
lea edi, [rax - 0x41]
adc r9w, sp
lea r13d, [rax - 0x410]
shrd r9d, r14d, 0x77
bswap r9w
lea r9d, [rax + 0x20]
test r10w, 0x4eb3
cmp r13w, 0x20
cmovb eax, r9d
clc
cmp r14b, 0x96
cmp di, 0x1a
jmp 0x1403b5270
cmovb eax, r9d
test r8b, sil
movzx eax, ax
test r14, r10
xor rax, rbp
rcr bpl, 0xca
mov bpl, 0xaf
imul rax, r15
movsxd rbp, r10d
inc esi
btc rbp, 0xb7
rcr bpl, 0x72
movsx rbp, si
mov rbp, rax
test r13, 0x64ee1fad
cmp rsi, rbx
jmp 0x1403b52af
jb 0x1403b5228
jmp 0x1403b519a
xor r13d, r13d
jmp 0x1403b5391
cmp bl, 3
movsx rcx, r8w
bswap r8d
movzx r8d, si
cmovno cx, r14w
xchg ch, ch
mov rcx, 0x544f39f2
cmovne r8d, esi
mov ecx, 0x13ff
jmp 0x1403b533e
test r11, r11
mov dl, dh
movsxd rdx, esi
movsx edx, r13w
cmove r10, r11
mov rdx, r10
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b5318
jmp 0x1403b534a
movabs rbp, 0xe78235ad970d2b55
mov eax, r14d
movabs rdi, 0x6cbb02d0d49b29be
bsf ax, r14w
test r11b, 0x14
cmc
xor edx, edx
btc rax, 0x20
ror rax, cl
or al, 0x5e
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
test spl, 0x43
jmp 0x1403b5363
mov qword [rsp + 0x30], 0
clc
mov dword [rsp + 0x28], 0
cmc
clc
test bh, 0xdd
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
rol ecx, 0x57
xor ch, cl
bt r8d, r8d
lea rcx, [rsp + 0x280]
add r8b, 0x8c
shr r8w, cl
mov r8d, 0x800
clc
jmp 0x1403b53ad
sub edx, edx
jmp 0x1403b53b4
call fcn.1404a9950
movabs rax, 0xe7ed35df977f2b10
mov qword [rsp + 0x50], rax
movabs rax, 0x6c9e02f0d4a129cc
cmovp rbx, rbx
movsx r12d, bp
mov esi, 0x11592cf1
mov qword [rsp + 0x58], rax
cdqe
not r12b
movabs rax, 0xbb83b115fb5723ec
mov qword [rsp + 0x60], rax
movsx eax, r8w
movabs rax, 0xd2ef72cb161baac
cmovnp r12, rdi
setns r14b
movzx r12w, bl
mov qword [rsp + 0x68], rax
movsx esi, r13w
jmp 0x1403b5421
movabs rax, 0x23396ef01c4484dc
movzx rbx, cx
movzx r15w, spl
jmp 0x1403b5439
mov qword [rsp + 0x70], rax
movsx ebx, r12w
movabs rax, 0x17711b7cc255afae
cmova r14, r9
setno bl
xchg rsi, r14
mov qword [rsp + 0x78], rax
movzx rax, r13w
movabs rax, 0x314846d9144fae6f
not r12b
setae bh
xchg r14b, r15b
mov qword [rsp + 0x80], rax
cbw
movzx eax, bp
movabs rax, 0x178dd9cfd41ab93e
mov qword [rsp + 0x88], rax
bswap bx
cdqe
cbw
movabs rax, 0xafe3d510c4170ff7
movzx esi, bx
mov bh, 0x4d
mov qword [rsp + 0x90], rax
movabs rax, 0xf2b1d93b98f8762c
bswap r12d
mov qword [rsp + 0x98], rax
movzx r15, r11w
movabs rax, 0x9086a47a193ab849
movzx ebx, sp
movsx r15w, bpl
xchg r15b, r14b
mov qword [rsp + 0xa0], rax
movsx r14w, bl
cmove esi, r8d
movabs rax, 0xf9f44acd0c6a853c
movsx rbx, bp
movzx r14w, cl
mov qword [rsp + 0xa8], rax
cwde
movsxd r14, ecx
movsx rbx, r13w
movabs rax, 0x46ec87c61fbaad11
movsx r15w, r9b
jmp 0x1403b5526
mov qword [rsp + 0xb0], rax
cdqe
xchg r12b, r12b
cmova si, dx
movabs rax, 0x5102c52d8dbf581e
mov qword [rsp + 0xb8], rax
movabs rax, 0x9f52a16fed4b976f
movzx r12w, bl
movzx rbx, cx
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
jmp 0x1403b5573
mov qword [rsp + 0xc8], rax
lahf
jmp 0x1403b5581
movabs rax, 0x60e699bcbdc17680
movsx r14d, dx
movsx rbx, r11w
movsx r15w, dil
mov qword [rsp + 0xd0], rax
xchg r12w, ax
movabs rax, 0xbd6f0372efe2893d
movsx bx, r13b
mov qword [rsp + 0xd8], rax
setp r12b
mov r14b, bpl
jmp 0x1403b55c6
movabs rax, 0x98880c705ee3d44a
mov qword [rsp + 0xe0], rax
movzx r14d, r12w
seto ah
not r12b
movabs rax, 0x9b7661660ff4953f
mov qword [rsp + 0xe8], rax
movabs rax, 0x53d62999d3e90ae0
movzx r14, r8w
bswap r14w
xchg r15d, r14d
mov qword [rsp + 0xf0], rax
cbw
jmp 0x1403b561a
movabs rax, 0xc69b1bd14864426
not r12b
setp bh
xchg r14w, r15w
mov qword [rsp + 0xf8], rax
movzx rsi, r14w
movabs rax, 0x56abc9090122ed13
movsxd rsi, edi
setno r12b
mov qword [rsp + 0x100], rax
movabs rax, 0xf54db3f725dd577b
seta r12b
mov qword [rsp + 0x108], rax
movabs rax, 0x12e9428a7f611679
movzx si, r12b
mov qword [rsp + 0x110], rax
cwde
xchg r14w, si
movabs rax, 0x187f5c28d0b2d517
bswap r14w
mov qword [rsp + 0x118], rax
movsx r14, r8w
mov qword [rsp + 0x130], rbp
movzx bx, r10b
lahf
mov qword [rsp + 0x138], rdi
movabs rbx, 0xbbeab153fb5d239f
jmp 0x1403b56c7
mov qword [rsp + 0x140], rbx
movzx r12w, r13b
movsxd rsi, r12d
movabs rsi, 0xd0ef716b104bac0
sets r15b
lahf
movzx r12w, r10b
mov qword [rsp + 0x148], rsi
movabs r14, 0x230f6ec11c7484f9
mov qword [rsp + 0x150], r14
jmp 0x1403b570e
movabs r15, 0x177b1b24c239afc2
cdqe
setno ah
mov qword [rsp + 0x158], r15
xchg r12w, ax
setno al
cmova ax, r13w
movabs rax, 0x312d46b71426ae23
mov qword [rsp + 0x160], rax
movzx r12w, sil
cwde
setbe ah
movabs rax, 0x17e9d9ead43ab904
mov r12, 0x5b5c0ecf
jmp 0x1403b5765
mov qword [rsp + 0x168], rax
movsx r12d, sp
bswap ax
movzx r12d, r12w
movabs rax, 0xaf90d535c41d0ffd
cmovge r12w, r11w
mov r12d, 0x533966aa
mov qword [rsp + 0x170], rax
movabs rax, 0xf2ded97898f27626
movzx r12, r8w
mov r12b, 0x12
xchg r12b, r12b
mov qword [rsp + 0x178], rax
movzx ax, r8b
cdqe
cwde
movabs rax, 0x90e5a41b194eb827
cmove r12, rdx
movsx r12w, r8b
movzx r12w, bl
mov qword [rsp + 0x180], rax
cmova eax, r8d
setl al
cwde
movabs rax, 0xf9814abe0c4a8548
jmp 0x1403b57f9
mov qword [rsp + 0x188], rax
movzx r12d, dx
jmp 0x1403b580a
movabs rax, 0x469e87a91fcaad61
cmovae r12d, esp
movzx r12d, ax
movzx r12w, spl
mov qword [rsp + 0x190], rax
movzx ax, r8b
xchg al, r12b
movzx r12d, r9w
movabs rax, 0x516cc54c8d9f586a
movsx r12w, bl
mov qword [rsp + 0x198], rax
movabs rax, 0x9f20a11fed6b970b
cmovs r12, rsp
movsx r12, ax
not r12b
mov qword [rsp + 0x1a0], rax
movsx r12, cx
movabs rax, 0xf6c14852f09a9ccc
mov qword [rsp + 0x1a8], rax
movsx r12, r14w
movzx ax, dil
movabs rax, 0x60c699ddbde176e5
movzx r12d, sp
mov r12, 0x64852413
setl r12b
mov qword [rsp + 0x1b0], rax
movabs rax, 0xbd0a0300ef81894e
mov qword [rsp + 0x1b8], rax
movsx rax, di
movabs rax, 0x98e00c035e8dd42f
bswap r12w
movzx r12w, cl
movsxd r12, r11d
mov qword [rsp + 0x1c0], rax
cwde
movsx r12w, cl
not r12w
movabs rax, 0x9b0161460f809550
movsx r12, r13w
mov r12d, r12d
mov qword [rsp + 0x1c8], rax
setge r12b
xchg al, r12b
movabs rax, 0x53f629f1d39d0a89
movsx r12d, di
xchg r12b, r12b
mov qword [rsp + 0x1d0], rax
movsxd rax, r15d
movabs rax, 0xc1ab1d414ee4452
jmp 0x1403b5932
mov qword [rsp + 0x1d8], rax
not rax
setns r12b
movsx r12w, r9b
movabs rax, 0x56cdc967014bed33
jmp 0x1403b5955
mov qword [rsp + 0x1e0], rax
jmp 0x1403b5962
movabs rax, 0xf52cb39a25af5714
mov qword [rsp + 0x1e8], rax
movabs rax, 0x128742e57f08160d
mov qword [rsp + 0x1f0], rax
mov r12b, r8b
movabs rax, 0x187f5c28d0b2d536
mov qword [rsp + 0x1f8], rax
movsx r12, si
lea r12, [rsp + 0x130]
movzx ax, r11b
movsx ax, al
mov rax, r12
movaps xmm0, xmmword [rsp + 0x50]
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 0x1403b59d3
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b59dd
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403b59eb
movaps xmm0, xmmword [rsp + 0x80]
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1403b5a04
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403b5a11
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b5a22
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403b5a2f
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403b5a40
movaps xmm0, xmmword [rsp + 0xb0]
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403b5a61
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b5a7a
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403b5a8e
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b5a9b
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403b5aaf
movaps xmm0, xmmword [rsp + 0xf0]
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
jmp 0x1403b5acb
movaps xmm0, xmmword [rsp + 0x100]
jmp 0x1403b5ad8
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403b5aec
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403b5af9
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
mov r8b, 0x47
cwd
mov qword [rsp + 0x30], r13
cmova rax, r15
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x28], eax
movsx ecx, r15w
movsxd r8, ebx
xchg r8b, cl
mov rax, qword [rsp + 0x128]
mov r13w, r9w
mov r13w, 0x3247
mov qword [rsp + 0x20], rax
xchg cl, cl
lea r8, [rsp + 0x50]
cmovle r13w, r11w
lea r9, [rsp + 0x200]
movzx r13, r10w
movsxd rcx, ebp
mov edx, 0x400
mov cx, r9w
lea r13, [rsp + 0x280]
movsx ecx, r9w
movzx rcx, dx
movsx rcx, si
mov rcx, r13
jmp 0x1403b5b7e
call fcn.1403b5d42
mov rcx, qword [rsp + 0x40]
jmp 0x1403b5b8d
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403b5ba2
mov qword [rsp + 0x50], rax
cdqe
not ax
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403b5bbb
mov qword [rsp + 0x58], rax
movsxd rax, r12d
cmovp ax, ax
movsx rax, r13w
movabs rax, 0xbbcab121fb3223ed
mov qword [rsp + 0x60], rax
movabs rax, 0xd7bf775b167baaf
jmp 0x1403b5be9
mov qword [rsp + 0x68], rax
mov eax, 0x7c7147c
cmovns ax, bp
movabs rax, 0x236b6ea41c06848b
jmp 0x1403b5c06
mov qword [rsp + 0x70], rax
movabs rax, 0x177b1b24c239afe3
jmp 0x1403b5c1a
mov qword [rsp + 0x78], rax
jmp 0x1403b5c24
mov qword [rsp + 0x130], rbp
jmp 0x1403b5c31
mov qword [rsp + 0x138], rdi
jmp 0x1403b5c3e
mov qword [rsp + 0x140], rbx
jmp 0x1403b5c4b
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x150], r14
jmp 0x1403b5c60
mov qword [rsp + 0x158], r15
jmp 0x1403b5c6d
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b5c77
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b5c86
movaps xmm0, xmmword [rsp + 0x60]
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b5c9b
movaps xmm0, xmmword [rsp + 0x70]
jmp 0x1403b5ca5
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x50]
sub ecx, ecx
movsx r9d, ax
cdq
mov rdx, r13
not r9b
mov r9, rdi
mov r9d, 0x10
jmp 0x1403b5cd0
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
btr r10d, ebx
mov r10, 0xffffffffffffffff
xor edx, edx
jmp 0x1403b5cee
syscall
add rsp, 0xa88
movsx r12w, r15b
mov bpl, cl
movsx r13, r12w
pop rbx
movsxd rdi, eax
pop rbp
pop rdi
movzx si, al
bswap r12
pop rsi
movzx r12d, bp
movzx r14, ax
mov r13b, 0x86
pop r12
setbe r13b
pop r13
cmove r15, r9
mov r14b, al
pop r14
not r15d
movsx r15w, sil
jmp 0x1403b5d3a
pop r15
jmp 0x1403b5d41
ret