Function at 0x1404d7fce
Capabilities:
Encrypt data using speck
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
neg rax
cmp rdi, 0x1e9e18f3
ror eax, 0x1d
push rbp
clc
test r12b, dil
rcl ah, cl
push rsi
test dil, r15b
sar bp, 0xf3
push rdi
add bpl, al
btr si, 0xbd
and sil, 0x1a
push r12
rcr bp, cl
dec r12
push r13
sub r13b, 0x22
btr rbp, r8
cmc
push r14
rcr rsi, cl
shl r14w, cl
rol r13b, 6
push r15
test bp, ax
lea rbp, [rsp - 0x27]
movsx ax, bl
sub rsp, 0x100
cmovne ax, bx
sar r12b, 0xdd
mov rax, qword [0x1400b7288]
movzx r12, r15w
jmp 0x1404d804c
xor rax, rsp
btr r15, r9
cmp si, di
sbb r12w, 0x55fe
mov qword [rbp + 0x17], rax
xchg r12b, r15b
sar esi, 0x4a
movsxd rsi, edx
sub ax, 0x50dc
shl r13b, cl
movsx r14, r15w
mov r15, r8
adc r13, r14
movzx rax, r15w
adc r12, 0x1dc270ed
mov rax, rsi
cmp bpl, 0x86
mov qword [rbp - 9], rcx
shr r14b, cl
movsx r14w, dil
mov qword [rbp - 0x11], rax
test di, 0x1717
sub r14, 0x3f1408c3
clc
lea rcx, [0x140000000]
shrd r14, rax, 0x31
bt r14d, ecx
shr r14d, cl
and eax, 0x3f
inc r12d
mov r13d, r9d
rcl r12b, 0x89
lea r13, [r13 + r8]
bt r14d, r13d
btc r12w, 0xe3
and r14w, 0x24c1
mov qword [rbp - 0x21], r8
mov r12, rsi
mov qword [rbp - 0x51], r13
xor r14b, r10b
btr r14d, 0xf6
sar r12, 6
jmp 0x1404d8102
lea r14, [rax + rax*8]
cbw
bswap eax
mov rax, qword [rcx + r12*8 + 0xba940]
jmp 0x1404d8117
mov rax, qword [rax + r14*8 + 0x28]
jmp 0x1404d8121
mov qword [rbp - 0x49], rax
jmp 0x1404d812a
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
xor edx, edx
setne cl
lea rcx, [rsp + 0x50]
jmp 0x1404d813f
mov dword [rbp - 0x59], eax
jmp 0x1404d8147
call fcn.1404a0f6c
mov rcx, qword [rsp + 0x58]
setnp dil
cqo
sub r11d, r11d
sal bl, 0xad
movsx di, r13b
movzx dx, r12b
mov dword [rbp - 0x69], r11d
xchg dl, dl
bsr rdx, r14
sar bl, cl
mov ebx, r11d
mov dword [rbp - 0x65], ebx
bsr rdx, rbx
mov rdi, r15
add dx, 0x480f
bswap dx
mov edx, dword [rcx + 0xc]
mov cl, 0x12
mov ecx, r11d
mov dword [rsp + 0x40], ecx
cmp bpl, sil
mov dword [rbp - 0x55], edx
stc
clc
cmp bx, r10w
cmp r15, r13
jmp 0x1404d81a8
jae 0x1404d897c
mov rax, rsi
add cl, 0xa9
mov rsi, r15
adc r15w, cx
btc r15w, 0x14
sar rax, 6
bts r15, rdx
mov qword [rbp - 0x19], rax
neg r15w
mov cl, byte [rdi]
rcl r15, cl
bt r15d, 0xba
mov r15d, 1
cmc
jmp 0x1404d81e7
mov byte [rsp + 0x44], cl
stc
cmp r9b, 0x1b
mov dword [rsp + 0x48], r11d
cmc
cmp si, sp
cmp edx, 0xfde9
jmp 0x1404d8204
jne 0x1404d84eb
lea r15, [0x140000000]
mov edx, r11d
shld r9w, r12w, 0x2e
mov r9, qword [r15 + rax*8 + 0xba940]
and sil, 0x5d
shl esi, 0x9f
btr si, bp
mov rsi, r11
and ax, bp
bsf eax, ebx
lea rax, [r9 + r14*8]
cmp byte [rax + rsi + 0x3e], r11b
jmp 0x1404d8244
je 0x1404d8260
inc edx
inc rsi
cmp ebp, eax
cmp rsi, 5
jmp 0x1404d825a
jl 0x1404d823a
test rsi, rsi
jmp 0x1404d8268
jle 0x1404d8425
mov rax, qword [r15 + r12*8 + 0xba940]
jmp 0x1404d8282
mov r8, qword [rbp - 0x51]
movzx r10d, ax
setp r13b
cmp sil, 0x55
sub r8, rdi
movsx r13d, ax
movzx ecx, byte [rax + r14*8 + 0x3e]
movsx r10w, cl
movzx r13, di
movsx r15d, byte [rcx + r15 + 0xb7d00]
movsx r10w, cl
movzx r10, si
inc r15d
mov r13d, r15d
movzx r10, ax
sete r10b
sub r13d, edx
sal r10, 0xff
not r10b
movsxd r10, r13d
cmp r10, r8
jmp 0x1404d82dd
jg 0x1404d87aa
lea rax, [rbp - 1]
bsr r8w, ax
mov rdx, r11
sub r9, rax
dec al
lea r8, [r9 + r14*8]
lea rcx, [rbp - 1]
sbb al, 0xb7
add rcx, rdx
inc rdx
mov al, byte [rcx + r8 + 0x3e]
cmp al, r15b
mov byte [rcx], al
cmp rdx, rsi
jmp 0x1404d8316
jl 0x1404d82f8
test r13d, r13d
jmp 0x1404d8324
jle 0x1404d8353
lea rcx, [rbp - 1]
not dh
mov r8, r10
cmc
jmp 0x1404d8339
add rcx, rsi
mov rdx, rdi
jmp 0x1404d8344
call fcn.14049ffae
xor r11d, r11d
movzx rdx, r9w
add rcx, r10
mov rdx, r11
lea r8, [0x140000000]
mov rcx, qword [r8 + r12*8 + 0xba940]
test sil, 0xb8
add rcx, rdx
inc rdx
cmp r11b, dl
clc
mov byte [rcx + r14*8 + 0x3e], r11b
cmp r11b, dl
cmp r14b, 0x72
jmp 0x1404d8384
cmp rdx, rsi
jl 0x1404d835d
lea rax, [rbp - 1]
btr r9d, ebp
test bx, ax
mov qword [rbp - 0x41], r11
clc
not dl
mov qword [rbp - 0x39], rax
inc r8b
rcl ax, 0x1b
bts ecx, r11d
lea r9, [rbp - 0x41]
clc
mov eax, r11d
lea rdx, [rbp - 0x39]
cmp r15d, 4
not al
movzx r8d, r11w
lea rcx, [rsp + 0x48]
sete al
cmovne r15w, r11w
movzx r15, r8w
inc eax
movzx r15d, r10w
movzx r15w, al
movzx r15, si
mov r8d, eax
mov r15d, eax
jmp 0x1404d83ef
call fcn.1404ddbd6
cmp rax, 0xffffffffffffffff
jmp 0x1404d83fd
je 0x1404d85af
lea eax, [r13 - 1]
dec sil
or r13w, dx
mov r13, qword [rbp - 0x51]
cmp r13b, bl
movsxd rsi, eax
add rsi, rdi
jmp 0x1404d8420
jmp 0x1404d85e0
movzx eax, byte [rdi]
shr sil, cl
and sil, r9b
mov rdx, r13
ror sil, 0xd0
sub rdx, rdi
test r13, rbp
bt ecx, ecx
movsx rsi, byte [rax + r15 + 0xb7d00]
sub eax, r14d
lea ecx, [rsi + 1]
ror ah, cl
bts rax, rcx
movsxd rax, r14d
movsxd rax, ecx
test sp, r8w
cmp rax, rdx
jmp 0x1404d8465
jg 0x1404d8826
cmp ecx, 4
mov qword [rbp - 0x31], r11
cdq
mov eax, r11d
xchg al, r8b
bswap edx
mov qword [rbp - 0x29], rdi
movsx r8w, r12b
sete al
not r8b
movzx rbx, r13w
lea r9, [rbp - 0x31]
inc bh
not r8d
bswap r8w
inc eax
jmp 0x1404d84aa
lea rdx, [rbp - 0x29]
movzx ebx, r9w
not r8b
bswap bx
mov r8d, eax
lea rcx, [rsp + 0x48]
movsx bx, r8b
mov ebx, eax
jmp 0x1404d84cc
call fcn.1404ddbd6
cmp rax, 0xffffffffffffffff
je 0x1404d85af
add rsi, rdi
mov r15d, ebx
jmp 0x1404d84e6
jmp 0x1404d85e0
lea rax, [0x140000000]
cdq
sar cl, cl
mov rdx, qword [rax + r12*8 + 0xba940]
and cl, 0x89
mov cl, byte [rdx + r14*8 + 0x3d]
test cl, 4
jmp 0x1404d850d
je 0x1404d854a
mov al, byte [rdx + r14*8 + 0x3e]
and cl, 0xfb
jmp 0x1404d8520
mov byte [rbp + 7], al
mov al, byte [rdi]
jmp 0x1404d852a
mov byte [rdx + r14*8 + 0x3d], cl
mov dx, sp
not dl
lea rdx, [rbp + 7]
jmp 0x1404d853d
mov byte [rbp + 8], al
jmp 0x1404d8545
jmp 0x1404d8583
call fcn.1404a76b4
movzx ecx, byte [rdi]
cmp ax, si
xor edx, edx
clc
cmp word [rax + rcx*2], dx
jge 0x1404d85b8
inc rsi
cmp rsp, 0x5f1d1eb2
stc
test r8b, r15b
cmp rsi, r13
jmp 0x1404d8578
jae 0x1404d88f6
mov rdx, rdi
mov cl, 0x49
mov r8d, 2
movzx ecx, r11w
movsx cx, r15b
lea rcx, [rsp + 0x48]
jmp 0x1404d859c
call fcn.140128835
cmp eax, 0xffffffff
jmp 0x1404d85a9
jne 0x1404d85e0
cmp byte [rbp - 0x71], 0
jmp 0x1404d88e8
mov r8, r15
bswap rcx
not dx
movzx rdx, r9w
lea rcx, [rsp + 0x48]
mov rdx, rdi
call fcn.140128835
cmp eax, 0xffffffff
jmp 0x1404d85da
je 0x1404d8962
mov ecx, dword [rbp - 0x59]
lea rax, [rbp + 0xf]
sbb r8w, r8w
not r8b
xor ebx, ebx
btr r8, rdx
bsf r8w, r10w
lea r8, [rsp + 0x48]
xchg dil, r9b
cmp di, dx
add di, 0x17b
mov qword [rsp + 0x38], rbx
adc r9d, 0x51253dac
or r9w, 0x30c8
lea rdi, [rsi + 1]
mov r9b, r11b
mov qword [rsp + 0x30], rbx
stc
test ebx, ebp
movsx r9w, r9b
mov r9d, r15d
jmp 0x1404d8638
mov dword [rsp + 0x28], 5
cmp r11w, r11w
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.1404c6054
mov esi, eax
cmp r8b, r11b
test eax, eax
je 0x1404d8a1c
mov rcx, qword [rbp - 0x49]
mov r9w, bp
cwd
movsx r8, bx
lea r9, [rsp + 0x4c]
movsxd r8, r9d
mov r8d, eax
cwd
setae dl
mov dx, r15w
mov qword [rsp + 0x20], rbx
movzx rdx, ax
cmova dx, r13w
lea rdx, [rbp + 0xf]
jmp 0x1404d8696
call qword [sym.imp.KERNEL32.dll_WriteFile]
sub r11d, r11d
jmp 0x1404d86a5
test eax, eax
je 0x1404d8a10
mov r15d, dword [rsp + 0x40]
mov ebx, edi
sub ebx, dword [rbp - 0x21]
cmp ecx, 0x68071650
add ebx, r15d
cmp dl, bpl
mov dword [rbp - 0x65], ebx
test r13d, r8d
cmp dword [rsp + 0x4c], esi
jmp 0x1404d86d2
jb 0x1404d88e4
cmp byte [rsp + 0x44], 0xa
jmp 0x1404d86e2
jne 0x1404d8785
mov rcx, qword [rbp - 0x49]
cbw
sets r8b
lea eax, [r11 + 0xd]
bswap r9d
not r8w
movsx dx, r12b
lea r9, [rsp + 0x4c]
not dh
mov r8, 0x6ad513ad
mov word [rsp + 0x44], ax
jmp 0x1404d871a
lea r8d, [r11 + 1]
xchg dh, dl
mov dx, ax
mov qword [rsp + 0x20], r11
not dx
lea rdx, [rsp + 0x44]
jmp 0x1404d8735
call qword [sym.imp.KERNEL32.dll_WriteFile]
sub r11d, r11d
stc
test eax, eax
jmp 0x1404d8746
je 0x1404d8953
cmp dword [rsp + 0x4c], 1
jmp 0x1404d8756
jb 0x1404d88e4
inc r15d
not si
setbe sil
inc ebx
mov dword [rsp + 0x40], r15d
shl si, 0xf9
bsf si, r15w
mov dword [rbp - 0x65], ebx
shl rsi, 0x16
xor sil, r13b
bts si, r10w
mov rsi, rdi
cmp rdi, r13
jmp 0x1404d8790
jae 0x1404d8978
mov rax, qword [rbp - 0x19]
movsxd rdx, r8d
mov edx, dword [rbp - 0x55]
jmp 0x1404d87a5
jmp 0x1404d81d1
mov edx, r11d
test r8, r8
jmp 0x1404d87b5
jle 0x1404d881e
sub rdi, rsi
lea rbx, [0x140000000]
jmp 0x1404d87ca
mov al, byte [rdi + rsi]
inc edx
mov rcx, qword [rbx + r12*8 + 0xba940]
jmp 0x1404d87dc
add rcx, rsi
jmp 0x1404d87e4
inc rsi
cmp ecx, 0x5d7c3b6b
mov byte [rcx + r14*8 + 0x3e], al
bts eax, r11d
sub al, spl
cwde
movsxd rax, edx
stc
test r10w, cx
cmp rax, r8
jmp 0x1404d880a
jl 0x1404d87ca
mov ebx, dword [rbp - 0x65]
test dl, 0xf7
jmp 0x1404d881e
add ebx, r8d
jmp 0x1404d88d8
mov r9d, r11d
jmp 0x1404d8831
test rdx, rdx
jmp 0x1404d8839
jle 0x1404d88cc
mov r13, qword [rbp - 0x11]
xor r10b, 0x3a
mov r8, r11
mov r10, r13
rol al, 0x42
xor al, 0xcd
and r13d, 0x3f
test r11w, 0x7223
ror cx, cl
sar r10, 6
rcl ch, cl
sal cx, cl
lea r11, [r13*8]
add r11, r13
inc cl
movsx ecx, di
xchg cl, al
mov al, byte [r8 + rdi]
jmp 0x1404d888b
inc r9d
sar cx, 0x99
mov rcx, qword [r15 + r10*8 + 0xba940]
cmc
add rcx, r8
jmp 0x1404d88a3
inc r8
mov byte [rcx + r11*8 + 0x3e], al
movsx eax, ax
sub al, bl
movsxd rax, r9d
test r13b, r8b
cmp rax, rdx
jl 0x1404d887a
xor r11d, r11d
adc cx, 0x39f6
btr cx, r14w
add ebx, edx
sal cx, cl
adc rcx, rdx
cmp r9w, bp
mov dword [rbp - 0x65], ebx
inc rcx
btr cx, 0x66
stc
cmp byte [rbp - 0x71], r11b
mov ecx, dword [rsp + 0x40]
jmp 0x1404d88f1
jmp 0x1404d8985
mov al, byte [rdi]
bswap cx
movzx r8w, dl
lea r8, [0x140000000]
inc cx
movzx ecx, bx
jmp 0x1404d8912
mov rcx, qword [r8 + r12*8 + 0xba940]
inc ebx
test bx, 0x7345
mov dword [rbp - 0x65], ebx
test r11b, 0xc2
mov byte [rcx + r14*8 + 0x3e], al
nop
movsxd rax, esp
sal ah, 0x6f
mov rax, qword [r8 + r12*8 + 0xba940]
or byte [rax + r14*8 + 0x3d], 4
cmp dh, 0x71
stc
cmp byte [rbp - 0x71], dl
jmp 0x1404d894e
jmp 0x1404d88e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
setb ch
sar cx, cl
mov ecx, dword [rsp + 0x40]
cmp r11w, bx
cmp byte [rbp - 0x71], 0
jmp 0x1404d8973
jmp 0x1404d8985
mov ecx, dword [rsp + 0x40]
cmp byte [rbp - 0x71], r11b
jmp 0x1404d8985
je 0x1404d89a4
mov rax, qword [rsp + 0x50]
test r12w, di
and dword [rax + 0x3a8], 0xfffffffd
sar ax, 0xa2
clc
bsf rax, r10
mov rax, qword [rbp - 9]
stc
movsd xmm0, qword [rbp - 0x69]
movsd qword [rax], xmm0
cmc
cmp r11b, sil
mov dword [rax + 8], ecx
movsx rcx, bp
movsx ecx, r11w
sete cl
mov rcx, qword [rbp + 0x17]
stc
test r12b, r13b
xor rcx, rsp
call fcn.14049c411
mov rbx, qword [rsp + 0x140]
ror sil, cl
btc r14, rcx
add rsp, 0x100
pop r15
pop r14
movzx edi, ax
bswap rdi
pop r13
pop r12
pop rdi
xchg rbp, rsi
jmp 0x1404d8a01
pop rsi
movsx rbp, bx
not bpl
pop rbp
jmp 0x1404d8a0f
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
xor cl, 0xa4
mov ecx, dword [rsp + 0x40]
cmp byte [rbp - 0x71], bl
jmp 0x1404d8985