Function at 0x140058640
Capabilities:
Copy file
Delete file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1028]
mov eax, 0x1128
call fcn.140121d30
sub rsp, rax
mov qword [rbp - 0x58], 0xfffffffffffffffe
mov rax, qword [0x140200d38]
xor rax, rsp
mov qword [rbp + 0x1010], rax
mov r14, r9
mov rsi, r8
mov r12, rdx
mov r15, rcx
xor ebx, ebx
mov dword [rsp + 0x40], ebx
mov r13b, 1
mov rdx, r9
lea rcx, [rbp - 0x10]
call fcn.14002fd80
nop
mov rcx, qword [rbp]
test rcx, rcx
je 0x140058cbe
mov rdx, qword [rbp + 8]
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x1400586ef
lea rdi, [rcx + 4]
mov qword [rbp], rdi
lea rbx, [rbp - 0x10]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x10]
lea rcx, [rbx + rcx*2]
mov r8d, 8
lea rdx, str..tmp
call fcn.14013fdf0
xor eax, eax
mov word [rbx + rdi*2], ax
xor ebx, ebx
jmp 0x14005870f
mov qword [rsp + 0x20], 4
lea r9, str..tmp
xor r8d, r8d
lea edx, [r8 + 4]
lea rcx, [rbp - 0x10]
call fcn.140022280
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
call fcn.1400ab790
nop
cmp qword [rbp - 0x20], 0
je 0x140058c7d
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.1400341b0
movzx r13d, al
test al, al
jne 0x140058b6a
lea r15, [0x14017fa78]
mov rcx, qword [0x14020ceb8]
cmp dword [rcx], 2
jbe 0x1400587ee
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0xea
lea rax, str.c:workspacekiller_releasekillernetwork_service_service_sharedsource_bwclogic_bwcxmlfiles.cpp
mov qword [rsp + 0x20], rax
lea r9, str._hs__d__:__ls__
mov edi, 0x7ff
mov r8d, edi
mov ebx, 0x800
mov edx, ebx
lea rcx, [rbp + 0x10]
call fcn.140044f70
mov edx, ebx
lea rcx, [rbp + 0x10]
call fcn.1401433c4
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x1400587a7
mov r8, qword [r14]
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1400587b4
mov rdx, qword [rsi]
sub rdi, rax
sub rbx, rax
lea rcx, [rbp + 0x10]
lea rcx, [rcx + rax*2]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdx
lea r9, str.Error_Downloading__ls_to_file__ls
mov r8, rdi
mov rdx, rbx
call fcn.140044f70
lea rdx, [rbp + 0x10]
lea rcx, [0x14020cea8]
call fcn.14005e5e0
movdqa xmm0, xmmword [0x1401b5bd0]
movdqu xmmword [rbp - 0x68], xmm0
xor r12d, r12d
mov word [rbp - 0x78], r12w
lea r8d, [r12 + 0x16]
mov rdx, r15
lea rcx, [rbp - 0x78]
call fcn.1400150c0
nop
movdqa xmm0, xmmword [0x1401b5bd0]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], r12w
mov dword [rsp + 0x40], 1
lea r15, [rsi + 0x10]
mov rdx, qword [r15]
add rdx, 0x12
lea rcx, [rsp + 0x48]
call fcn.140021e10
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rax, 0x12
jb 0x140058890
lea rdi, [rcx + 0x12]
mov qword [rsp + 0x58], rdi
lea rbx, [rsp + 0x48]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x48]
lea rcx, [rbx + rcx*2]
lea r8d, [r12 + 0x24]
lea rdx, str.Error_Downloading
call fcn.14013fdf0
mov word [rbx + rdi*2], r12w
jmp 0x1400588b1
mov qword [rsp + 0x20], SafeArrayAccessData
lea r9, str.Error_Downloading
xor r8d, r8d
lea edx, [r8 + 0x12]
lea rcx, [rsp + 0x48]
call fcn.140022280
cmp qword [rsi + 0x18], 8
jb 0x1400588bb
mov rsi, qword [rsi]
mov rdx, qword [r15]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x140058902
lea rdi, [rcx + rdx]
mov qword [rsp + 0x58], rdi
lea rbx, [rsp + 0x48]
cmp r8, 8
cmovae rbx, qword [rsp + 0x48]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
mov rdx, rsi
call fcn.14013fdf0
mov word [rbx + rdi*2], r12w
jmp 0x140058917
mov qword [rsp + 0x20], rdx
mov r9, rsi
xor r8d, r8d
lea rcx, [rsp + 0x48]
call fcn.140022280
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rax, rdx
sub rax, rcx
cmp rax, 9
jb 0x140058967
lea rdi, [rcx + 9]
mov qword [rsp + 0x58], rdi
lea rbx, [rsp + 0x48]
cmp rdx, 8
cmovae rbx, qword [rsp + 0x48]
lea rcx, [rbx + rcx*2]
mov r8d, SafeArrayAccessData
lea rdx, str._to_file
call fcn.14013fdf0
mov word [rbx + rdi*2], r12w
lea rax, [rsp + 0x48]
jmp 0x140058988
mov qword [rsp + 0x20], 9
lea r9, str._to_file
xor r8d, r8d
lea edx, [r8 + 9]
lea rcx, [rsp + 0x48]
call fcn.140022280
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov dword [rsp + 0x40], 3
mov rdx, r14
cmp qword [r14 + 0x18], 8
jb 0x1400589c4
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
lea rcx, [rbp - 0x50]
call fcn.140021f10
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov dword [rsp + 0x40], 7
mov edx, 1
lea r8d, [rdx + 1]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
lea r9d, [rdx + 0xf]
lea rcx, [rsp + 0x68]
call fcn.1400214c0
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x140058a65
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058a60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058d27
call fcn.1401218ec
movdqa xmm0, xmmword [0x1401b5bd0]
movdqu xmmword [rsp + 0x78], xmm0
mov word [rsp + 0x68], r12w
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140058ab9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058ab4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058d2d
call fcn.1401218ec
movdqa xmm0, xmmword [0x1401b5bd0]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], r12w
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x140058b0d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058b08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058d33
call fcn.1401218ec
movdqa xmm0, xmmword [0x1401b5bd0]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], r12w
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140058c7d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058b60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058d39
call fcn.1401218ec
jmp 0x140058c7d
lea rcx, [rbp - 0x10]
call fcn.140046060
movzx r13d, al
test al, al
je 0x140058c68
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r15
mov rcx, r15
call fcn.1400fff28
test eax, eax
je 0x140058b9e
mov ecx, eax
call fcn.140100058
mov byte [rsp + 0x50], 1
mov rcx, qword [r12]
mov qword [r12], rbx
test rcx, rcx
je 0x140058bbb
mov rax, qword [rcx]
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, r14
lea rcx, [rbp - 0x50]
call fcn.1400ab790
nop
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rcx, qword [rbp - 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x140058c03
mov r8, r14
mov rdx, r12
mov rcx, r15
call fcn.14005bcb0
movzx r13d, al
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140058c43
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058c3e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058d3f
call fcn.1401218ec
movdqa xmm0, xmmword [0x1401b5bd0]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], bx
mov rcx, r15
call fcn.1400fff4c
test eax, eax
je 0x140058c68
mov ecx, eax
call fcn.140100058
nop
lea rcx, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rcx, qword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140058cbe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058cb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058d45
call fcn.1401218ec
nop
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x140058cfa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058cf5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058d21
call fcn.1401218ec
movzx eax, r13b
mov rcx, qword [rbp + 0x1010]
xor rcx, rsp
call fcn.140121cc0
add rsp, 0x1128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1401431fc
nop
call fcn.1401431fc
nop
call fcn.1401431fc
nop
call fcn.1401431fc
nop
call fcn.1401431fc
nop
call fcn.1401431fc
nop
call fcn.1401431fc
int3