Function at 0x100176c0
Capabilities:
Check if file exists
Copy file
Delete file
Get file attributes
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f14a6
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x1013b7e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x8c], ecx
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x84], 0
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10017d84
call fcn.100063a0
mov ecx, eax
test ecx, ecx
je 0x10017da7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x7c], esi
mov dword [ebp - 4], 0
test edi, edi
je 0x10017818
test edi, 0xffff0000
jne 0x10017802
movzx eax, di
push 0
push eax
mov dword [ebp - 0x74], eax
call fcn.100166c0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x80], ecx
test ecx, ecx
je 0x10017827
mov eax, dword [ebp - 0x74]
shr eax, 4
push 6
inc eax
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
test eax, eax
je 0x10017827
push dword [ebp - 0x74]
push eax
push dword [ebp - 0x80]
call fcn.10006fe0
add esp, 0xc
mov dword [ebp - 0x74], eax
test eax, eax
je 0x10017827
movzx edx, word [eax]
mov ecx, 1
mov eax, dword [esi - 8]
mov edi, edx
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x100177cd
push edi
lea ecx, [ebp - 0x7c]
call fcn.10006d60
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0x7c]
movzx edx, word [eax]
jmp 0x100177d0
mov eax, dword [ebp - 0x74]
movzx ecx, dx
add eax, 2
push ecx
push eax
push edi
push esi
call fcn.100cbe52
push eax
call fcn.10006020
add esp, 0x14
cmp edi, dword [esi - 8]
jg 0x10017db1
mov dword [esi - 0xc], edi
xor eax, eax
mov word [esi + edi*2], ax
mov edi, dword [ebp - 0x88]
jmp 0x10017827
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10017807
sub ecx, edx
sar ecx, 1
jmp 0x1001781a
xor ecx, ecx
push ecx
push edi
lea ecx, [ebp - 0x7c]
call fcn.10006ea0
mov esi, dword [ebp - 0x7c]
push esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x74], 0
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1001785e
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, eax
test cl, 0x10
je 0x1001785e
xor eax, eax
cmp ecx, 0xffffffff
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x74], eax
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x10017876
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x74], 0
jne 0x10017d84
mov esi, dword [ebp - 0x78]
xor eax, eax
cmp dword [ebp + 0x10], eax
sete al
push eax
push esi
push edi
mov dword [ebp - 0x7c], eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov edi, eax
mov dword [ebp - 0x84], edi
test edi, edi
jne 0x10017d22
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
cmp eax, 0x50
jne 0x100178c9
cmp dword [ebp + 0x10], 0
jne 0x100178c9
mov dword [ebp - 0x84], 1
jmp 0x10017d22
call fcn.10088cd0
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x10017a55
call edi
push 0x7f
push str.d:jenkins.jenkinsworkspacemaster_lucomputerz_cncompuerz_cnludashi_srcembedded_page_benchmarkembedded_page_benchmark.cc
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.100070f0
push 3
push 0x10102f98
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 1
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.100070f0
mov byte [ebp - 4], 2
call fcn.10088cd0
mov dword [ebp - 0x74], eax
lea ecx, [ebp - 0x124]
push 0x442
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10007cd0
mov edi, eax
push str.Failed_to_copy_file
push edi
mov byte [ebp - 4], 3
call fcn.10007290
mov eax, dword [ebp - 0x88]
mov esi, 0x10102ca4
test eax, eax
mov ecx, esi
cmovne ecx, eax
push ecx
push edi
call fcn.10007290
push 0x10104e40
push edi
call fcn.10007290
mov eax, dword [ebp - 0x78]
test eax, eax
cmovne esi, eax
push esi
push edi
call fcn.10007290
push str.__err:
push edi
call fcn.10007290
add esp, 0x28
mov ecx, edi
push dword [ebp - 0x80]
call fcn.10015910
mov ecx, dword [ebp - 0x74]
push edi
mov eax, dword [ecx]
call dword [eax + 0x1c]
lea ecx, [ebp - 0x124]
call fcn.10008b30
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x100179ff
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100179f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017dbb
push edx
push ecx
call fcn.100899c7
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp edx, 0x10
jb 0x10017a4c
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10017a42
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017dc0
push edx
push ecx
call fcn.100899c7
add esp, 8
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [ebp - 0x78]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10017d84
mov ecx, esi
mov dword [ebp - 0x18], 0
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10017a80
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x28]
call fcn.1000c350
push 4
push str..tmp
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 4
call fcn.10021d70
mov dword [ebp - 0x48], 0
xor ecx, ecx
mov dword [ebp - 0x44], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x48], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 6
cmp edx, 8
jb 0x10017b1f
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10017b15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017dc5
push edx
push ecx
call fcn.100899c7
add esp, 8
xor eax, eax
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x44], 8
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
mov dword [ebp - 0x14], 7
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov dword [ebp - 0x80], eax
call fcn.10088cd0
push 1
mov ecx, eax
mov edx, dword [eax]
mov edx, dword [edx + 8]
call edx
movzx ecx, al
sub ecx, 1
jne 0x10017cb3
call edi
push 0x7f
push str.d:jenkins.jenkinsworkspacemaster_lucomputerz_cncompuerz_cnludashi_srcembedded_page_benchmarkembedded_page_benchmark.cc
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.100070f0
push 3
push 0x10102f98
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 7
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.100070f0
mov byte [ebp - 4], 8
call fcn.10088cd0
mov edi, eax
lea ecx, [ebp - 0x124]
push 0x44a
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.10007cd0
mov esi, eax
push str.Move_ret:
push esi
mov byte [ebp - 4], 9
call fcn.10007290
add esp, 8
mov ecx, esi
push dword [ebp - 0x80]
call fcn.10010f00
push str.__code:
push esi
call fcn.10007290
add esp, 8
mov ecx, esi
push dword [ebp - 0x74]
call fcn.10015910
mov eax, dword [edi]
mov ecx, edi
push esi
call dword [eax + 0x1c]
lea ecx, [ebp - 0x124]
call fcn.10008b30
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 7
cmp edx, 0x10
jb 0x10017c66
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10017c5c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017dca
push edx
push ecx
call fcn.100899c7
add esp, 8
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x10017cb0
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10017ca6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017dcf
push edx
push ecx
call fcn.100899c7
add esp, 8
mov esi, dword [ebp - 0x78]
cmp dword [ebp - 0x44], 8
lea eax, [ebp - 0x58]
cmovae eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push dword [ebp - 0x7c]
push esi
push dword [ebp - 0x88]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov edx, dword [ebp - 0x44]
mov edi, eax
mov dword [ebp - 0x84], edi
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x10017d1e
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10017d14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10017dd4
push edx
push ecx
call fcn.100899c7
add esp, 8
test edi, edi
je 0x10017d84
mov ecx, esi
mov dword [ebp - 0x60], 0
xor eax, eax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10017d40
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x70]
call fcn.1000c350
mov esi, dword [ebp - 0x8c]
lea eax, [ebp - 0x70]
push eax
mov ecx, esi
mov dword [ebp - 4], 0xa
call fcn.10018ec0
test al, al
lea ecx, [ebp - 0x70]
sete al
or byte [esi + 0x1d0], al
call fcn.10008660
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10089d41
mov esp, ebp
pop ebp
ret 0xc
push 0x80004005
call fcn.100060c0
push 0x80070057
call fcn.100060c0
call fcn.100c8c99
call fcn.100c8c99
call fcn.100c8c99
call fcn.100c8c99
call fcn.100c8c99
call fcn.100c8c99
int3