Function at 0x140007ec0
Capabilities:
Copy file
Create directory

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0x140
cmp qword [r8 + 0x18], 8
mov r14, r8
mov r15, rdx
mov rdi, r8
jb 0x140007ef4
mov rdi, qword [r8]
mov rsi, qword [r8 + 0x10]
test rsi, rsi
je 0x140007fc2
mov ebp, pe_nt_image_headers64
lea rcx, [rsp + 0x40]
mov r8d, ebp
xor edx, edx
call fcn.140012a30
lea rcx, [0x140035ea0]
lea rdx, [0x140035ea2]
movzx eax, word [rcx]
cmp ax, bp
jae 0x140007f6c
movzx eax, al
add rcx, 2
mov byte [rsp + rax + 0x40], 1
cmp rcx, rdx
jne 0x140007f23
lea rcx, [rsi - 1]
mov rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
lea rbx, [rdi + rax*2]
movzx eax, word [rbx]
cmp ax, bp
jae 0x140007f61
cmp byte [rsp + rax + 0x40], 0
jne 0x140007fba
cmp rbx, rdi
je 0x140007fc2
sub rbx, 2
jmp 0x140007f52
lea rcx, [rsi - 1]
mov rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
lea rbx, [rdi + rax*2]
nop dword [rax]
nop word [rax + rax]
movzx edx, word [rbx]
lea rax, [0x140035ea0]
mov ecx, 1
nop
cmp word [rax], dx
je 0x140007fba
add rax, 2
sub rcx, 1
jne 0x140007fa0
cmp rbx, rdi
je 0x140007fc2
sub rbx, 2
jmp 0x140007f90
sub rbx, rdi
sar rbx, 1
jmp 0x140007fc9
mov rbx, 0xffffffffffffffff
xor r13d, r13d
xorps xmm0, xmm0
cmp rsi, rbx
mov qword [rsp + 0x30], r13
movups xmmword [rsp + 0x20], xmm0
cmovb rbx, rsi
mov rbp, r14
cmp qword [r14 + 0x18], 8
jb 0x140007fed
mov rbp, qword [r14]
movabs rsi, 0x7ffffffffffffffe
cmp rbx, rsi
ja 0x14000817c
mov qword [rsp + 0x38], 7
cmp rbx, 8
jae 0x14000802f
mov qword [rsp + 0x30], rbx
lea rcx, [rsp + 0x20]
add rbx, rbx
mov rdx, rbp
mov r8, rbx
call fcn.140012390
mov word [rsp + rbx + 0x20], r13w
jmp 0x140008080
mov rax, rbx
or rax, 7
cmp rax, rsi
ja 0x14000804a
mov ecx, 0xa
mov rsi, rax
cmp rax, rcx
cmovb rsi, rcx
lea rdx, [rsi + 1]
lea rcx, [rsp + 0x20]
call fcn.140009cc0
mov qword [rsp + 0x30], rbx
mov rdx, rbp
add rbx, rbx
mov qword [rsp + 0x20], rax
mov r8, rbx
mov qword [rsp + 0x38], rsi
mov rcx, rax
mov rdi, rax
call fcn.140012390
mov word [rbx + rdi], r13w
cmp qword [rsp + 0x38], 8
lea rcx, [rsp + 0x20]
cmovae rcx, qword [rsp + 0x20]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400080b9
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1400080b9
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Failed_to_create_destination_folder._Error_code:
jmp 0x1400080ed
cmp qword [r14 + 0x18], 8
jb 0x1400080c3
mov r14, qword [r14]
cmp qword [r15 + 0x18], 8
jb 0x1400080cd
mov r15, qword [r15]
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x140008111
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Failed_to_copy_file._Error_code:
lea rcx, [0x140048790]
mov ebx, eax
call fcn.140007190
mov rcx, rax
mov edx, ebx
call fcn.140007c50
mov rcx, rax
call fcn.140001fb0
xor bl, bl
jmp 0x140008113
mov bl, 1
mov rdx, qword [rsp + 0x38]
cmp rdx, 8
jb 0x140008151
mov rcx, qword [rsp + 0x20]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000814c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008176
call fcn.140010678
lea r11, [rsp + 0x140]
movzx eax, bl
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret
call fcn.140016ea4
int3
call fcn.140004e20
int3