Function at 0x180005710
Capabilities:
Copy file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov rax, qword [0x180054038]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov qword [rsp + 0x70], r9
mov r13, r8
mov rdi, rdx
mov qword [rsp + 0x60], rdx
mov r12, rcx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], r8
xor esi, esi
mov r15d, esi
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
lea r8d, [rsi + 2]
lea rdx, str.Creating_backup_folders
call qword [rax + 0x10]
lea rax, [rbp + 0x30]
mov qword [rsp + 0x68], rax
mov rdx, r13
lea rcx, [rbp + 0x30]
call fcn.180007fa0
mov rbx, rax
mov rdx, rdi
lea rcx, [rbp + 0x10]
call fcn.180007fa0
nop
mov rdx, rbx
mov rcx, rax
call fcn.180005360
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
lea r8d, [rsi + 2]
lea rdx, str.Now_encrypting_files
call qword [rax + 0x10]
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
mov r9d, dword [rbp + 0xd0]
lea r8d, [rsi + 2]
lea rdx, str.Size_of_key__d
call qword [rax + 0x10]
mov r14, qword [r12]
mov rax, qword [r12 + 8]
mov qword [rsp + 0x68], rax
cmp r14, rax
je 0x180005e01
mov rdx, r14
lea rcx, [rbp + 0x30]
call fcn.180007fa0
nop
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
lea rsi, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae rsi, qword [rbp + 0x30]
mov rdi, qword [rbp + 0x40]
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
ja 0x180005f68
mov qword [rsp + 0x48], 7
cmp rdi, 8
jae 0x180005860
mov qword [rsp + 0x40], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x30], xmm0
jmp 0x18000590f
mov rbx, rdi
or rbx, 7
cmp rbx, rax
jbe 0x18000587f
mov rbx, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x1800058af
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x180005f62
add rcx, rcx
cmp rcx, 0x1000
jb 0x1800058de
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180005f62
mov rcx, rax
call fcn.18001b0b8
mov rcx, rax
test rax, rax
je 0x180005f26
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1800058ec
test rcx, rcx
je 0x1800058ea
call fcn.18001b0b8
jmp 0x1800058ec
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rbx
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.18001d3d0
nop
mov rdx, qword [rsp + 0x60]
lea rcx, [rsp + 0x78]
call fcn.180007fa0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.180014cb0
nop
lea rax, [rbp - 0x68]
mov qword [rsp + 0x58], rax
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x68]
call fcn.180007fa0
mov rbx, rax
mov rdx, r13
lea rcx, [rbp - 0x48]
call fcn.180007fa0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.180014cb0
nop
lea r9, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae r9, qword [rbp - 0x10]
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
mov r8d, 2
lea rdx, str.Encrypt__s
call qword [rax]
lea rax, [rsp + 0x30]
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
lea rsi, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae rsi, qword [rbp + 0x10]
mov rdi, qword [rbp + 0x20]
movabs rcx, 0x7ffffffffffffffe
cmp rdi, rcx
ja 0x180005f5c
mov qword [rsp + 0x48], 7
cmp rdi, 8
jae 0x1800059f2
mov qword [rsp + 0x40], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x30], xmm0
jmp 0x180005a9d
mov rbx, rdi
or rbx, 7
cmp rbx, rcx
jbe 0x180005a11
mov rbx, rcx
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x180005a41
cmp rbx, 0xa
mov ecx, 0xa
cmovb rbx, rcx
lea rcx, [rbx + 1]
movabs rdx, 0x7fffffffffffffff
cmp rcx, rdx
ja 0x180005f56
add rcx, rcx
cmp rcx, 0x1000
jb 0x180005a70
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180005f56
mov rcx, rax
call fcn.18001b0b8
mov rcx, rax
test rax, rax
je 0x180005f2c
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180005a7a
test rcx, rcx
je 0x180005a7a
call fcn.18001b0b8
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rbx
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.18001d3d0
nop
lea rdx, [rbp - 0x10]
lea rcx, [rsp + 0x78]
call fcn.180007fa0
mov rbx, rax
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rdx, qword [rsp + 0x30]
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x180005acc
mov rcx, qword [rax]
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_CopyFileW]
mov edi, eax
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x180005b19
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x180005b14
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180005f2c
mov rcx, r8
call fcn.18001b0b0
xor esi, esi
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 7
mov word [rbx], si
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x180005b6c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005b67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005f2c
call fcn.18001b0b0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], si
test edi, edi
je 0x180005ce1
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], rsi
lea rsi, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae rsi, qword [rbp - 0x10]
mov rdi, qword [rbp]
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
ja 0x180005f3e
mov qword [rsp + 0x48], 7
cmp rdi, 8
jae 0x180005bdf
mov qword [rsp + 0x40], rdi
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x30], xmm0
jmp 0x180005c8d
mov rbx, rdi
or rbx, 7
cmp rbx, rax
jbe 0x180005bfe
mov rbx, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x180005c2e
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x180005f38
add rcx, rcx
cmp rcx, 0x1000
jb 0x180005c5d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180005f38
mov rcx, rax
call fcn.18001b0b8
mov rcx, rax
test rax, rax
je 0x180005f32
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180005c6b
test rcx, rcx
je 0x180005c69
call fcn.18001b0b8
jmp 0x180005c6b
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rbx
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.18001d3d0
mov r8d, dword [rbp + 0xd0]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x30]
call fcn.180003c50
mov r9d, eax
test eax, eax
jne 0x180005cb1
inc r15d
xor esi, esi
jmp 0x180005d1c
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae rdx, qword [rbp - 0x10]
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
mov qword [rsp + 0x20], rdx
mov r8d, 2
lea rdx, str.Error_encrypting_file__d____s
call qword [rax]
xor esi, esi
jmp 0x180005d1c
lea r9, [rbp + 0x10]
cmp qword [rbp + 0x28], 8
cmovae r9, qword [rbp + 0x10]
lea rdx, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae rdx, qword [rbp - 0x10]
mov rcx, qword [0x180056768]
mov rax, qword [rcx]
mov qword [rsp + 0x20], rdx
mov r8d, 2
lea rdx, str.Error_backup_file__s__this_file_will_not_be_encrypted____s
call qword [rax]
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x180005d5c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005d57
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005f44
call fcn.18001b0b0
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], 7
mov word [rbp + 0x10], si
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x180005dad
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005da7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005f4a
call fcn.18001b0b0
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x180005ded
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005de8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005f50
call fcn.18001b0b0
add r14, 0x20
cmp r14, qword [rsp + 0x68]
jne 0x1800057f1
mov rdi, qword [rsp + 0x60]
mov rcx, qword [r12]
test rcx, rcx
je 0x180005e5c
mov rdx, qword [r12 + 8]
call fcn.180008ae0
mov rcx, qword [r12]
mov rdx, qword [r12 + 0x10]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x180005e49
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180005f6e
mov rcx, r8
call fcn.18001b0b0
mov qword [r12], rsi
mov qword [r12 + 8], rsi
mov qword [r12 + 0x10], rsi
mov rdx, qword [rdi + 0x18]
cmp rdx, 8
jb 0x180005e9b
mov rcx, qword [rdi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x180005e96
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180005f1a
mov rcx, r8
call fcn.18001b0b0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 7
mov word [rdi], si
mov rdx, qword [r13 + 0x18]
cmp rdx, 8
jb 0x180005ee6
lea rdx, [rdx*2 + 2]
mov rcx, qword [r13]
cmp rdx, 0x1000
jb 0x180005ee1
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180005f20
mov rcx, r8
call fcn.18001b0b0
mov qword [r13 + 0x10], rsi
mov qword [r13 + 0x18], 7
mov word [r13], si
mov eax, r15d
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.18001b090
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180022104
nop
call fcn.180022104
nop
call fcn.180022104
nop
call fcn.180022104
int3
call fcn.180022104
int3
call fcn.180003440
int3
call fcn.1800034e0
nop
call fcn.180022104
nop
call fcn.180022104
nop
call fcn.180022104
nop
call fcn.180003440
int3
call fcn.1800034e0
nop
call fcn.180003440
int3
call fcn.1800034e0
nop
call fcn.180022104
int3