Function at 0x100069f0
Capabilities:
Check if file exists
Copy file
Create directory
Enumerate files on windows
Set file attributes

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018d012
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3a0
mov eax, dword [0x101f62b4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x33e], dl
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x344], 0
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
mov byte [ebp - 4], 2
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], eax
push 8
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
call fcn.1015c88b
lea ecx, [ebp - 0x40]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x40], eax
mov dword [eax], ecx
mov byte [ebp - 4], 3
xorps xmm0, xmm0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x44], 0
push 8
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
call fcn.1015c88b
lea ecx, [ebp - 0x54]
add esp, 4
mov dword [eax + 4], 0
mov dword [ebp - 0x54], eax
mov dword [eax], ecx
xorps xmm0, xmm0
mov dword [ebp - 0x64], 0
movq qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov byte [ebp - 4], 5
call fcn.1004cb70
push str.Function_:copyPrimitive_n
push 0x101aedac
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x50]
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 0xc
mov dword [ebp - 0xd8], 0
xor eax, eax
mov dword [ebp - 0xd4], 7
lea ecx, [ebp - 0xe8]
mov word [ebp - 0xe8], ax
push eax
push 0x101ace0c
call fcn.10001d60
cmp byte [ebx + 8], 0
mov byte [ebp - 4], 6
je 0x10006b93
lea ecx, [ebx + 0x10]
call fcn.100fd6c0
lea ecx, [ebx + 0x28]
call fcn.100fd6c0
push 4
push 0x101b0600
lea ecx, [ebp - 0xe8]
call fcn.10001d60
cmp dword [ebx + 0x24], 8
lea eax, [ebx + 0x10]
lea edx, [ebp - 0xe8]
cmovae eax, dword [ebx + 0x10]
lea ecx, [ebp - 0x2c]
push eax
call fcn.1000b090
add esp, 4
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
call fcn.1000a910
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x10006bfb
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10006bf1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000790e
push edx
push ecx
call fcn.1015cbd5
add esp, 8
cmp dword [ebx + 0x3c], 8
lea eax, [ebx + 0x28]
lea edx, [ebp - 0xe8]
cmovae eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x2c]
push eax
call fcn.1000b090
add esp, 4
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.1000a910
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x10006c63
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10006c59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007913
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov edi, dword [ebp - 0x68]
mov esi, dword [ebp - 0x6c]
cmp esi, edi
je 0x10006c81
nop dword [eax]
mov ecx, esi
call fcn.10001d00
add esi, 0x18
cmp esi, edi
jne 0x10006c70
mov esi, dword [ebp - 0x6c]
cmp dword [ebx + 0x3c], 8
lea eax, [ebx + 0x28]
lea edx, [ebp - 0xe8]
mov dword [ebp - 0x68], esi
cmovae eax, dword [ebx + 0x28]
lea ecx, [ebp - 0x2c]
push eax
call fcn.1000b090
add esp, 4
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x64]
je 0x10006ce4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
xor ecx, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
add dword [ebp - 0x68], 0x18
jmp 0x10006cee
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.1000b200
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x10006d2c
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10006d22
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007918
push edx
push ecx
call fcn.1015cbd5
add esp, 8
xor eax, eax
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x1000788f
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x40]
add eax, ecx
lea esi, [ebp - 0x54]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x5c], eax
dec ecx
dec eax
and ecx, eax
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0xd0]
cmp ecx, eax
je 0x10006dad
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x10006d9e
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0xd0]
call fcn.10001d60
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x44]
mov ecx, dword [esi + 8]
mov dword [ebp - 0x5c], eax
dec ecx
dec eax
and ecx, eax
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0xb8]
cmp ecx, eax
je 0x10006de6
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x10006dd7
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0xb8]
call fcn.10001d60
push 0x101ace08
lea edx, [ebp - 0xd0]
lea ecx, [ebp - 0x2c]
call fcn.1000b090
add esp, 4
push 1
push 0x101b02a8
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.10001e70
or dword [ebp - 0x344], 1
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x80], xmm0
movq xmm0, qword [eax + 0x10]
mov word [eax], cx
lea ecx, [ebp - 0xa0]
movq qword [ebp - 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
call fcn.10001d00
movups xmm0, xmmword [ebp - 0x80]
movups xmmword [ebp - 0xa0], xmm0
movq xmm0, qword [ebp - 0x60]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x18]
movq qword [ebp - 0x90], xmm0
cmp edx, 8
jb 0x10006e9a
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10006e90
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000790e
push edx
push ecx
call fcn.1015cbd5
add esp, 8
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
dec eax
mov edx, dword [ebp - 0x38]
add ecx, eax
mov eax, dword [ebp - 0x3c]
dec edx
and edx, ecx
mov ecx, dword [eax + edx*4]
call fcn.10001d00
sub dword [ebp - 0x30], 1
mov ecx, 0
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x4c]
cmove eax, ecx
mov ecx, dword [ebp - 0x44]
dec edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x48]
dec eax
add ecx, eax
mov eax, dword [ebp - 0x50]
and edx, ecx
mov ecx, dword [eax + edx*4]
call fcn.10001d00
sub dword [ebp - 0x44], 1
mov ecx, 0
mov eax, dword [ebp - 0x48]
cmove eax, ecx
cmp dword [ebp - 0x8c], 8
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x338]
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [ebp - 0x348], edi
cmp edi, 0xffffffff
je 0x1000786e
nop word [eax + eax]
mov edx, 0x101afe34
lea ecx, [ebp - 0x30c]
nop dword [eax + eax]
mov ax, word [ecx]
cmp ax, word [edx]
jne 0x10006f66
test ax, ax
je 0x10006f62
mov ax, word [ecx + 2]
cmp ax, word [edx + 2]
jne 0x10006f66
add ecx, 4
add edx, 4
test ax, ax
jne 0x10006f40
xor eax, eax
jmp 0x10006f6b
sbb eax, eax
or eax, 1
test eax, eax
je 0x100076f0
mov ecx, 0x101afe38
lea eax, [ebp - 0x30c]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10006fa6
test dx, dx
je 0x10006fa2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10006fa6
add eax, 4
add ecx, 4
test dx, dx
jne 0x10006f80
xor eax, eax
jmp 0x10006fab
sbb eax, eax
or eax, 1
test eax, eax
je 0x100076f0
test byte [ebp - 0x338], 0x10
lea edx, [ebp - 0xd0]
push 0x101ace08
lea ecx, [ebp - 0x368]
je 0x10007476
call fcn.1000b090
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0xd
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10006ff0
sub ecx, esi
lea eax, [ebp - 0x30c]
sar ecx, 1
push ecx
push eax
mov ecx, edx
call fcn.10001e70
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x80], xmm0
movups xmmword [ebp - 0x380], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
movq qword [ebp - 0x370], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
lea eax, [edx + 1]
cmp ecx, eax
ja 0x10007061
push ecx
lea ecx, [ebp - 0x40]
call fcn.1000b500
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
dec ecx
and eax, ecx
mov dword [ebp - 0x34], eax
add eax, edx
and ecx, eax
mov eax, dword [ebp - 0x3c]
lea esi, [ecx*4]
cmp dword [esi + eax], 0
jne 0x10007091
push 0x18
call fcn.1015c88b
mov ecx, dword [ebp - 0x3c]
add esp, 4
mov dword [esi + ecx], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [esi + eax]
movups xmm0, xmmword [ebp - 0x80]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x60]
movq qword [eax + 0x10], xmm0
inc dword [ebp - 0x30]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x354]
cmp edx, 8
jb 0x100070ec
mov ecx, dword [ebp - 0x368]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100070e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000790e
push edx
push ecx
call fcn.1015cbd5
add esp, 8
push 0x101ace08
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x368]
call fcn.1000b090
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0xf
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10007114
sub ecx, esi
lea eax, [ebp - 0x30c]
sar ecx, 1
push ecx
push eax
mov ecx, edx
call fcn.10001e70
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x80], xmm0
movups xmmword [ebp - 0x398], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
movq qword [ebp - 0x388], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
lea eax, [edx + 1]
cmp ecx, eax
ja 0x10007185
push ecx
lea ecx, [ebp - 0x54]
call fcn.1000b500
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
dec ecx
and eax, ecx
mov dword [ebp - 0x48], eax
add eax, edx
and eax, ecx
lea esi, [eax*4]
mov eax, dword [ebp - 0x50]
cmp dword [esi + eax], 0
jne 0x100071b5
push 0x18
call fcn.1015c88b
mov ecx, dword [ebp - 0x50]
add esp, 4
mov dword [esi + ecx], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [esi + eax]
movups xmm0, xmmword [ebp - 0x80]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x60]
movq qword [eax + 0x10], xmm0
inc dword [ebp - 0x44]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x354]
cmp edx, 8
jb 0x10007210
mov ecx, dword [ebp - 0x368]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10007206
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000790e
push edx
push ecx
call fcn.1015cbd5
add esp, 8
push 0x101ace08
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x88]
call fcn.1000b090
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x11
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10007240
sub ecx, esi
lea eax, [ebp - 0x30c]
sar ecx, 1
push ecx
push eax
mov ecx, edx
call fcn.10001e70
or dword [ebp - 0x344], 0xe
xor ecx, ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x74]
cmp edx, 8
jb 0x100072d8
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100072ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000790e
push edx
push ecx
call fcn.1015cbd5
add esp, 8
xor eax, eax
mov dword [ebp - 0x78], 0
cmp dword [ebp - 0x18], 8
mov word [ebp - 0x88], ax
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push 0
push eax
push 0
mov dword [ebp - 0x74], 7
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
cmp byte [ebp - 0x33e], 0
je 0x1000740c
cmp eax, 5
jne 0x1000740c
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push 0x44
cmovae eax, dword [ebp - 0x2c]
xor edi, edi
push edi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x34c], edi
mov dword [ebp - 0x33c], 0x44
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
je 0x10007721
lea eax, [ebp - 0x33c]
push eax
push esi
push edi
push 0x1a
call dword [sym.imp.ADVAPI32.dll_CreateWellKnownSid]
test eax, eax
je 0x1000737f
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x34c]
push eax
sub esp, 0x14
push esi
call fcn.10100180
mov edi, dword [ebp - 0x34c]
add esp, 0x1c
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
test edi, edi
jne 0x10007721
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push 0
cmovae eax, dword [ebp - 0x2c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
jne 0x10007410
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x100073ff
call fcn.1004cb70
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
mov edi, dword [eax]
push ecx
push str.Temporary_folder_to_be_deleted_at_path__s
push 0x101aee58
mov edi, dword [edi + 0x44]
mov ecx, edi
push eax
call dword [0x1019a4f8]
call edi
push 0
lea ecx, [ebp - 0x2c]
call fcn.100ff050
add esp, 0x14
add esi, 0x64
cmp esi, 0x1f4
jl 0x10007390
jmp 0x10007420
test eax, eax
je 0x10007420
cmp eax, 0xb7
je 0x10007420
cmp eax, 0x50
jne 0x10007721
cmp dword [ebp - 0x1c], 0
je 0x1000745f
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push 0
cmovae eax, dword [ebp - 0x2c]
push 0xa0000080
push 4
push 0
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1000745f
push esi
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.10001d00
mov edi, dword [ebp - 0x348]
jmp 0x100076f0
call fcn.1000b090
add esp, 4
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x14
push ecx
mov edx, eax
lea ecx, [ebp - 0x88]
call fcn.10002120
add esp, 4
lea ecx, [ebp - 0x368]
mov byte [ebp - 4], 0x16
call fcn.10001d00
push 0x101ace08
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0x3b0]
call fcn.1000b090
add esp, 4
lea ecx, [ebp - 0x30c]
mov byte [ebp - 4], 0x17
push ecx
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.10002120
add esp, 4
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 0x19
call fcn.10001d00
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
push 0
cmovae ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x74], 8
push ecx
cmovae eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
setne cl
mov byte [ebp - 0x33d], cl
test eax, eax
jne 0x1000760f
cmp byte [ebp - 0x33e], al
je 0x1000760f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x10007609
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
push ecx
call fcn.101002e0
add esp, 4
test al, al
je 0x10007609
xor edi, edi
nop word [eax + eax]
push edi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
push 0
cmovae ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x74], 8
push ecx
cmovae eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
setne cl
mov byte [ebp - 0x33d], cl
test eax, eax
jne 0x10007601
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x100075ec
call fcn.1004cb70
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
mov esi, dword [eax]
push ecx
push str.Temporary_file_to_be_deleted_at_path__s
push 0x101aee58
mov esi, dword [esi + 0x44]
mov ecx, esi
push eax
call dword [0x1019a4f8]
call esi
push 0
mov dl, 1
lea ecx, [ebp - 0x2c]
call fcn.100ffab0
add esp, 0x14
add edi, 0x64
cmp edi, 0x1f4
jl 0x10007560
mov cl, byte [ebp - 0x33d]
mov edi, dword [ebp - 0x348]
jmp 0x1000760f
mov cl, byte [ebp - 0x33d]
test cl, cl
jne 0x1000765e
cmp byte [ebx + 0xc], cl
je 0x100077a1
call fcn.1004cb70
cmp dword [ebp - 0x18], 8
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x88]
cmovae edx, dword [ebp - 0x2c]
cmp dword [ebp - 0x74], 8
mov esi, dword [eax]
cmovae ecx, dword [ebp - 0x88]
push edx
push ecx
mov esi, dword [esi + 0x44]
mov ecx, esi
push str.Ignored_file_copy_error_from_source__s__to_destination__s_
push 0x101aee58
push eax
call dword [0x1019a4f8]
call esi
add esp, 0x14
jmp 0x10007666
lea ecx, [ebp - 0x2c]
call fcn.10100130
mov esi, dword [ebp - 0x350]
test esi, esi
je 0x100076c5
mov ecx, dword [ebp - 0x31c]
xor eax, eax
mov edx, dword [esi + 0x58]
neg ecx
add ecx, dword [ebp - 0x318]
adc eax, eax
add dword [edx + 0xd0], ecx
adc dword [edx + 0xd4], eax
mov ecx, dword [esi + 0x58]
mov eax, dword [ecx + 0xc8]
or eax, dword [ecx + 0xcc]
je 0x100076be
mov esi, dword [ecx + 0xfc]
test esi, esi
je 0x100076c5
push 4
push ecx
mov ecx, esi
call dword [0x1019a4f8]
call esi
add esp, 8
jmp 0x100076c5
mov byte [ecx + 0xe0], 0
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
push 0
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x2c]
call fcn.10001d00
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xb
call fcn.10001d00
lea eax, [ebp - 0x338]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x10006f30
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
cmp eax, 0x12
jne 0x1000783c
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x10006d64
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_create_folder_error_:_d_path_:_ls
push 0x101aee58
call fcn.1004cb70
push eax
call fcn.1004dbb0
add esp, 0x14
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 8
cmovae eax, dword [ebp - 0x2c]
push eax
push str.copyCreateFolderFailed
call fcn.10040a90
mov ecx, eax
call fcn.10040b40
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.copyCreateFolderFailedError
call fcn.10040a90
mov ecx, eax
call fcn.10040c40
push dword [ebp - 0x348]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x2c]
call fcn.10001d00
mov byte [ebp - 0x33d], 0
jmp 0x10007896
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 0x18], 8
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x88]
mov esi, eax
cmovae edx, dword [ebp - 0x2c]
cmp dword [ebp - 0x74], 8
push edx
cmovae ecx, dword [ebp - 0x88]
push ecx
push esi
push str.Failed_to_CopyFile._LastError___d_srcpath_:__ls_destPath:__ls
push 0x101aee58
push ecx
call fcn.1004cb70
add esp, 4
push eax
call fcn.1004dbb0
add esp, 0x18
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x74], 8
cmovae eax, dword [ebp - 0x88]
push eax
push str.copyfailed
call fcn.10040a90
mov ecx, eax
call fcn.10040b40
push esi
push str.copyfailedError
call fcn.10040a90
mov ecx, eax
call fcn.10040c40
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x2c]
call fcn.10001d00
lea ecx, [ebp - 0x88]
call fcn.10001d00
mov byte [ebp - 0x33d], 0
jmp 0x10007896
call dword [sym.imp.KERNEL32.dll_FindClose]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error_occured_:_d_n
push 0x101aedac
push ecx
call fcn.1004cb70
add esp, 4
push eax
call fcn.1004d580
add esp, 0x10
mov byte [ebp - 0x33d], 0
jmp 0x10007896
push str.Failed_to_get_handle_n
push 0x101aedac
call fcn.1004cb70
push eax
call fcn.1004d580
add esp, 0xc
mov byte [ebp - 0x33d], 0
jmp 0x10007896
mov byte [ebp - 0x33d], 1
lea ecx, [ebp - 0xb8]
call fcn.10001d00
lea ecx, [ebp - 0xd0]
call fcn.10001d00
lea ecx, [ebp - 0xe8]
call fcn.10001d00
lea ecx, [ebp - 0x6c]
call fcn.1000ad70
lea ecx, [ebp - 0x54]
call fcn.1000aa20
lea ecx, [ebp - 0x40]
call fcn.1000aa20
lea ecx, [ebp - 0xa0]
call fcn.10001d00
lea ecx, [ebx + 0x10]
call fcn.10001d00
lea ecx, [ebx + 0x28]
call fcn.10001d00
mov al, byte [ebp - 0x33d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1015c875
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.101686f5
call fcn.101686f5
call fcn.101686f5
int3