Function at 0x1403afd79
Capabilities:
Encrypt data using speck

Disassembly:
push r15
cmc
cmp cl, dil
push r14
cmc
push r13
cmp r13d, 0x7eba7f8c
push r12
push rsi
sal si, 0x94
sub rsi, 0x39056bb4
push rdi
push rbp
push rbx
ror si, cl
bt di, bp
ror di, 0x10
sub rsp, 0xa88
sal sil, cl
mov rsi, rcx
sal bpl, cl
sbb di, r10w
mov qword [rsp + 0x40], 0
movabs rbp, 0xe78235ad970d2b55
btr di, r10w
movsx edi, r12w
xadd rdi, rdi
movabs rdi, 0x6cbb02d0d49b29be
test al, bh
cmp r10b, 0xa0
cmp dl, 1
mov qword [rsp + 0x128], r8
mov dword [rsp + 0x4c], r9d
jne 0x1403afed3
movabs rax, 0xe7f735c197612b70
bswap ecx
movsx ecx, sp
jmp 0x1403afe15
mov qword [rsp + 0x130], rax
mov cx, 0x5126
mov rax, rdi
mov cx, r8w
movsxd rcx, ebp
movzx cx, r14b
mov qword [rsp + 0x138], rax
movzx ecx, bp
movzx cx, r10b
mov rcx, rbp
mov qword [rsp + 0x280], rcx
jmp 0x1403afe50
mov qword [rsp + 0x288], rax
jmp 0x1403afe5d
lea rax, [rsp + 0x280]
jmp 0x1403afe6a
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403afe77
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
cmovle r9w, sp
lea rcx, [rsp + 0x200]
lea r8, [rsp + 0x130]
cdq
mov edx, 0x40
movsx r9w, bpl
movsx r9d, ax
mov r9, rsi
jmp 0x1403afeae
call fcn.1403b0b20
mov ecx, 0x13ff
or r8b, cl
add r8w, 0x30b9
sub edx, edx
movsxd r8, eax
mov r8d, esi
jmp 0x1403afece
jmp 0x1403b019f
mov ebx, edx
mov al, 0x6a
movabs rax, 0xe7ee358897752b65
mov qword [rsp + 0x130], rax
movzx ax, spl
cbw
mov eax, r13d
movabs rax, 0x6cbb02d0d4c329d2
jmp 0x1403aff02
mov qword [rsp + 0x138], rax
mov rax, rbp
jmp 0x1403aff12
mov qword [rsp + 0x280], rax
cbw
mov rax, rdi
jmp 0x1403aff24
mov qword [rsp + 0x288], rax
bswap ax
cbw
lea rax, [rsp + 0x280]
jmp 0x1403aff3e
movaps xmm0, xmmword [rsp + 0x130]
jmp 0x1403aff4b
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x130], xmm0
not r9b
bswap r8
lea rcx, [rsp + 0x200]
movsxd r9, r15d
movzx r9w, r14b
lea r8, [rsp + 0x130]
mov edx, 0x40
cmovge r9w, r10w
jmp 0x1403aff87
mov r9, rsi
jmp 0x1403aff8f
call fcn.1403b0b20
test bl, bl
jmp 0x1403aff9b
je 0x1403b011f
movzx eax, bl
cmp eax, 2
jne 0x1403b0127
movabs r14, 0xcbf29ce484222325
xchg cx, cx
mov ecx, esi
jmp 0x1403affc1
call fcn.1402377c5
mov r8d, eax
movsx r11d, di
sbb r11w, di
mov rax, qword gs:[0x30]
shld dx, r14w, 0x5e
cwd
mov r15w, r15w
mov rax, qword [rax + 0x60]
mov r11, qword [rax + 0x18]
add r11, 0x10
movabs rdx, 0x2cc10c8855a9a8cd
movabs r15, 0x1d12a89b9e723ff5
movzx rcx, r9w
mov cx, di
mov cx, 0x7002
mov ecx, 0x1bff
jmp 0x1403b0024
cmp rax, rdx
je 0x1403b0142
mov r11, qword [r11]
xadd r10w, r10w
mov r10, qword [r11 + 0x30]
test r10, r10
jmp 0x1403b0038
je 0x1403b0176
mov r12, qword [r11 + 0x60]
mov rbx, 0xffffffffffffffff
cmp spl, 0xfc
nop word cs:[rax + rax]
clc
cmp r10d, 0x630e1750
cmp word [r12 + rbx*2 + 2], 0
lea rbx, [rbx + 1]
jmp 0x1403b0071
jne 0x1403b0061
mov rax, r14
jmp 0x1403b0082
test rbx, rbx
je 0x1403b001b
xor esi, esi
mov rbp, r14
btc r13w, 0xb9
cmp dx, bx
movsx r13d, dx
nop word [rax + rax]
bsr eax, eax
movzx eax, word [r12 + rsi*2]
btr r13d, 0xe2
lea edi, [rax - 0x41]
or r9d, 0x19731592
lea r13d, [rax - 0x410]
lea r9d, [rax + 0x20]
cmp spl, 0x48
cmc
cmp r13w, 0x20
cmovb eax, r9d
cmp di, 0x1a
jmp 0x1403b00dc
cmovb eax, r9d
jmp 0x1403b00e5
movzx eax, ax
test r13b, 0xaa
jmp 0x1403b00f1
xor rax, rbp
sal bpl, 0x55
shrd bp, r12w, 0xb3
imul rax, r15
movsxd rbp, edi
inc esi
mov rbp, rax
stc
clc
cmp rsi, rbx
jmp 0x1403b0114
jb 0x1403b00a6
jmp 0x1403b001b
xor r13d, r13d
jmp 0x1403b01de
cmp bl, 3
movzx rcx, r11w
bswap ecx
movzx r8d, si
cmovne r8d, esi
mov ecx, 0x13ff
jmp 0x1403b0196
test r11, r11
movsx ebp, r11w
cmove r10, r11
cdq
mov rdx, r10
jmp 0x1403b015d
movabs rbp, 0xe78235ad970d2b55
movabs rdi, 0x6cbb02d0d49b29be
jmp 0x1403b019f
movabs rbp, 0xe78235ad970d2b55
mov ax, 0x5485
rol di, cl
btc ax, 0xf
movabs rdi, 0x6cbb02d0d49b29be
sub edx, edx
btc ax, si
rcr ax, cl
lea rax, [rsp + 0x40]
cmc
mov qword [rsp + 0x20], rax
stc
mov qword [rsp + 0x30], 0
cmp r15w, 0x4cf6
cmc
mov dword [rsp + 0x28], 0
cmc
cmp r15b, r15b
sub r9d, r9d
jmp 0x1403b01cf
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
mov r13, qword [rsp + 0x40]
movzx r8d, r14w
lea rcx, [rsp + 0x280]
mov r8d, 0x800
test bpl, r11b
xor edx, edx
jmp 0x1403b01f6
call fcn.1404a4a42
movabs rax, 0xe7ed35df977f2b10
setle bl
xchg r15w, bx
movzx r15, cx
mov qword [rsp + 0x50], rax
not ebx
cwde
lahf
movabs rax, 0x6c9e02f0d4a129cc
not rsi
jmp 0x1403b022f
mov qword [rsp + 0x58], rax
movabs rax, 0xbb83b115fb5723ec
sets r12b
mov qword [rsp + 0x60], rax
movabs rax, 0xd2ef72cb161baac
movsx r15, r11w
movsx si, sil
mov qword [rsp + 0x68], rax
cmovbe r15w, di
jmp 0x1403b0269
movabs rax, 0x23396ef01c4484dc
xchg r15d, r14d
movzx rbx, cx
movzx r12d, dx
mov qword [rsp + 0x70], rax
movsx r12, cx
cwde
movabs rax, 0x17711b7cc255afae
movsx rbx, di
mov si, 0x3498
mov qword [rsp + 0x78], rax
mov r15b, bl
movabs rax, 0x314846d9144fae6f
seta bh
mov qword [rsp + 0x80], rax
movsx r12w, sil
cdqe
movabs rax, 0x178dd9cfd41ab93e
mov bh, 0xda
cmovae bx, dx
mov qword [rsp + 0x88], rax
movabs rax, 0xafe3d510c4170ff7
mov qword [rsp + 0x90], rax
movsxd r14, r10d
lahf
movabs rax, 0xf2b1d93b98f8762c
movzx r15, si
mov qword [rsp + 0x98], rax
movabs rax, 0x9086a47a193ab849
setno bl
jmp 0x1403b0318
mov qword [rsp + 0xa0], rax
movabs rax, 0xf9f44acd0c6a853c
movsxd rbx, r15d
movsx r12, dx
mov r14b, r14b
mov qword [rsp + 0xa8], rax
cdqe
cwde
cbw
movabs rax, 0x46ec87c61fbaad11
movzx esi, r9w
mov qword [rsp + 0xb0], rax
movabs rax, 0x5102c52d8dbf581e
movsx r15, r13w
mov qword [rsp + 0xb8], rax
movabs rax, 0x9f52a16fed4b976f
jmp 0x1403b037c
mov qword [rsp + 0xc0], rax
movabs rax, 0xf6a5483bf0ec9ca3
not r15b
mov qword [rsp + 0xc8], rax
bswap esi
cbw
lahf
movabs rax, 0x60e699bcbdc17680
mov qword [rsp + 0xd0], rax
movsx rax, bx
movabs rax, 0xbd6f0372efe2893d
mov qword [rsp + 0xd8], rax
movzx ebx, r10w
jmp 0x1403b03cf
movabs rax, 0x98880c705ee3d44a
mov bl, bh
mov qword [rsp + 0xe0], rax
movabs rax, 0x9b7661660ff4953f
not r15b
movzx ebx, di
jmp 0x1403b03f8
mov qword [rsp + 0xe8], rax
movzx ax, bpl
movsx r15, r15w
movabs rax, 0x53d62999d3e90ae0
movsx r15d, dx
mov qword [rsp + 0xf0], rax
movabs rax, 0xc69b1bd14864426
mov qword [rsp + 0xf8], rax
cdqe
movabs rax, 0x56abc9090122ed13
movzx rsi, bx
mov qword [rsp + 0x100], rax
not rax
cbw
movzx r14d, r8w
movabs rax, 0xf54db3f725dd577b
mov qword [rsp + 0x108], rax
movzx si, r13b
cmovbe bx, sp
movsx r15, sp
movabs rax, 0x12e9428a7f611679
not rbx
setae r14b
xchg ebx, esi
mov qword [rsp + 0x110], rax
movsx ebx, dx
movsxd rbx, r9d
movabs rax, 0x187f5c28d0b2d517
movzx r15, r9w
jmp 0x1403b04a9
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x130], rbp
mov r12b, r11b
mov qword [rsp + 0x138], rdi
movabs rbx, 0xbbeab153fb5d239f
mov qword [rsp + 0x140], rbx
movzx r12w, r13b
movabs rsi, 0xd0ef716b104bac0
mov r12w, r8w
mov qword [rsp + 0x148], rsi
xchg r14d, r14d
movzx r14w, cl
movsx r12, cx
movabs r14, 0x230f6ec11c7484f9
movsx r12d, r11w
movzx r15d, r13w
mov qword [rsp + 0x150], r14
movabs r15, 0x177b1b24c239afc2
cmovle r12d, r11d
movsx eax, r9w
movsx ax, r11b
mov qword [rsp + 0x158], r15
jmp 0x1403b0543
movabs rax, 0x312d46b71426ae23
mov r12b, al
movsx r12d, r12w
xchg r12b, r12b
mov qword [rsp + 0x160], rax
mov r12b, 0xf8
xchg r12d, eax
movabs rax, 0x17e9d9ead43ab904
movsxd r12, r14d
mov r12d, 0x31631394
mov qword [rsp + 0x168], rax
movzx ax, spl
movabs rax, 0xaf90d535c41d0ffd
mov r12b, r10b
xchg r12w, r12w
movzx r12, cx
mov qword [rsp + 0x170], rax
setno al
movabs rax, 0xf2ded97898f27626
movsx r12d, cx
mov qword [rsp + 0x178], rax
lahf
xchg al, r12b
movzx rax, r15w
movabs rax, 0x90e5a41b194eb827
mov r12w, bx
movzx r12d, r14w
movzx r12, sp
mov qword [rsp + 0x180], rax
bswap rax
movabs rax, 0xf9814abe0c4a8548
movsxd r12, r10d
setge r12b
mov qword [rsp + 0x188], rax
movsx eax, bx
movsxd r12, r10d
movabs rax, 0x469e87a91fcaad61
cmovns r12w, di
mov qword [rsp + 0x190], rax
movabs rax, 0x516cc54c8d9f586a
movzx r12w, sil
mov qword [rsp + 0x198], rax
not r12
movsx r12d, r14w
cmovs r12w, r9w
movabs rax, 0x9f20a11fed6b970b
movzx r12w, spl
mov qword [rsp + 0x1a0], rax
bswap r12w
movabs rax, 0xf6c14852f09a9ccc
movsxd r12, edx
mov r12b, r12b
movsx r12, bp
mov qword [rsp + 0x1a8], rax
cdqe
cmovae eax, esp
movabs rax, 0x60c699ddbde176e5
mov qword [rsp + 0x1b0], rax
movabs rax, 0xbd0a0300ef81894e
mov qword [rsp + 0x1b8], rax
movsx ax, r11b
movzx rax, r15w
movabs rax, 0x98e00c035e8dd42f
mov r12b, sil
movzx r12d, dx
movzx r12w, r13b
mov qword [rsp + 0x1c0], rax
movzx eax, dx
movabs rax, 0x9b0161460f809550
movzx r12, r9w
movsx r12, r14w
mov qword [rsp + 0x1c8], rax
bswap r12
movzx r12d, r15w
lahf
movabs rax, 0x53f629f1d39d0a89
mov qword [rsp + 0x1d0], rax
movsxd rax, ebp
movabs rax, 0xc1ab1d414ee4452
movsx r12, ax
movzx r12, r10w
not r12w
mov qword [rsp + 0x1d8], rax
lahf
cmovle eax, r10d
movabs rax, 0x56cdc967014bed33
xchg r12b, r12b
movzx r12, cx
cmovns r12d, r10d
mov qword [rsp + 0x1e0], rax
movsxd r12, r8d
mov r12b, sil
movsx r12, r13w
movabs rax, 0xf52cb39a25af5714
movzx r12, r8w
mov r12, r8
mov qword [rsp + 0x1e8], rax
movsx r12w, r10b
movabs rax, 0x128742e57f08160d
sete r12b
xchg r12b, r12b
movsx r12d, r9w
mov qword [rsp + 0x1f0], rax
movsx r12d, dx
xchg ah, ah
cwde
movabs rax, 0x187f5c28d0b2d536
setb r12b
movsx r12, bx
mov qword [rsp + 0x1f8], rax
lea r12, [rsp + 0x130]
xchg ah, ah
movsxd rax, ebp
movzx rax, sp
mov rax, r12
movaps xmm0, xmmword [rsp + 0x50]
xorps xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1403b07c9
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b07d3
xorps xmm0, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b07e1
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x70], xmm0
jmp 0x1403b07f4
movaps xmm0, xmmword [rsp + 0x80]
jmp 0x1403b0801
xorps xmm0, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x80], xmm0
movaps xmm0, xmmword [rsp + 0x90]
jmp 0x1403b081a
xorps xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x90], xmm0
jmp 0x1403b082b
movaps xmm0, xmmword [rsp + 0xa0]
jmp 0x1403b0838
xorps xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0xa0], xmm0
jmp 0x1403b0849
movaps xmm0, xmmword [rsp + 0xb0]
jmp 0x1403b0856
xorps xmm0, xmmword [rax + 0x60]
movaps xmmword [rsp + 0xb0], xmm0
jmp 0x1403b0867
movaps xmm0, xmmword [rsp + 0xc0]
jmp 0x1403b0874
xorps xmm0, xmmword [rax + 0x70]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
jmp 0x1403b088d
xorps xmm0, xmmword [rax + 0x80]
movaps xmmword [rsp + 0xd0], xmm0
jmp 0x1403b08a1
movaps xmm0, xmmword [rsp + 0xe0]
jmp 0x1403b08ae
xorps xmm0, xmmword [rax + 0x90]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1403b08c2
movaps xmm0, xmmword [rsp + 0xf0]
jmp 0x1403b08cf
xorps xmm0, xmmword [rax + 0xa0]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x100]
xorps xmm0, xmmword [rax + 0xb0]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x1403b08fa
movaps xmm0, xmmword [rsp + 0x110]
jmp 0x1403b0907
xorps xmm0, xmmword [rax + 0xc0]
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x30], r13
xchg r13, r8
cdq
movzx r9d, cx
mov eax, dword [rsp + 0x4c]
jmp 0x1403b0930
mov dword [rsp + 0x28], eax
movsx dx, r9b
mov rax, qword [rsp + 0x128]
movzx r13, cx
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x200]
movsxd rcx, edx
mov edx, 0x400
cmovo r13w, di
movzx r13, r12w
lea r13, [rsp + 0x280]
not cx
mov cl, r14b
cmovnp cx, bx
mov rcx, r13
jmp 0x1403b0982
call fcn.1403b0b20
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
movabs rax, 0xe7e335d9976c2b13
jmp 0x1403b09a1
mov qword [rsp + 0x50], rax
xchg al, ah
movsx eax, di
movabs rax, 0x6cc902b5d4bb29d2
jmp 0x1403b09ba
mov qword [rsp + 0x58], rax
cmovp ax, bp
movabs rax, 0xbbcab121fb3223ed
jmp 0x1403b09d2
mov qword [rsp + 0x60], rax
seta al
nop
movabs rax, 0xd7bf775b167baaf
mov qword [rsp + 0x68], rax
movabs rax, 0x236b6ea41c06848b
mov qword [rsp + 0x70], rax
nop
mov eax, esi
movabs rax, 0x177b1b24c239afe3
jmp 0x1403b0a0c
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x130], rbp
jmp 0x1403b0a1e
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], rbx
jmp 0x1403b0a33
mov qword [rsp + 0x148], rsi
jmp 0x1403b0a40
mov qword [rsp + 0x150], r14
jmp 0x1403b0a4d
mov qword [rsp + 0x158], r15
jmp 0x1403b0a5a
movaps xmm0, xmmword [rsp + 0x50]
jmp 0x1403b0a64
xorps xmm0, xmmword [r12]
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [rsp + 0x60]
jmp 0x1403b0a78
xorps xmm0, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1403b0a88
movaps xmm0, xmmword [rsp + 0x70]
xorps xmm0, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
add dh, 0xaf
lea r8, [rsp + 0x50]
shld r9d, r11d, 0x85
sub ecx, ecx
xchg r9b, r9b
mov r9w, r12w
cmovne r9w, r11w
mov rdx, r13
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [0x1400dd058]
movsx r10w, sil
dec r10b
mov r10, 0xffffffffffffffff
test rdi, 0x469279b8
clc
sub edx, edx
jmp 0x1403b0ae6
syscall
add rsp, 0xa88
sete r15b
mov r13b, 0x6f
pop rbx
setle r14b
cmovo r14d, edx
movzx rbp, di
pop rbp
mov r15w, r8w
pop rdi
pop rsi
pop r12
pop r13
mov r15w, 0x684c
pop r14
xchg r15b, r15b
pop r15
jmp 0x1403b0b1f
ret