Function at 0x470340
Capabilities:
Check if file exists
Delete file
Get file attributes
Timestomp file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cbdaf
mov eax, dword fs:[0]
push eax
sub esp, 0x79c
mov eax, dword [0x4fad60]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x750], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x770], ecx
mov ecx, 7
xor ebx, ebx
xor edx, edx
mov dword [ebp - 0x76c], eax
mov dword [ebp - 0x748], edi
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x274], ebx
mov word [ebp - 0x284], dx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x21c], ecx
xor ecx, ecx
mov dword [ebp - 0x220], ebx
mov word [ebp - 0x230], cx
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4703d0
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x76c]
lea esi, [ebp - 0x230]
call fcn.00403e70
mov byte [ebp - 4], 1
xor edx, edx
mov eax, edi
mov word [ebp - 0x2a0], dx
mov dword [ebp - 0x28c], 7
mov dword [ebp - 0x290], ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x470413
sub eax, edx
sar eax, 1
push eax
mov eax, edi
lea esi, [ebp - 0x2a0]
call fcn.00403e70
mov byte [ebp - 4], 2
xor eax, eax
mov word [ebp - 0x268], ax
mov edi, 7
push ebx
mov eax, 0x4ddda0
lea esi, [ebp - 0x268]
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x258], ebx
call fcn.00403e70
xor ecx, ecx
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x23c], ebx
mov word [ebp - 0x24c], cx
lea edx, [ebp - 0x738]
push edx
mov byte [ebp - 4], 4
call fcn.004746d0
mov byte [ebp - 4], 5
push 0x10
mov dword [ebp - 0x764], ebx
call fcn.00490dc4
add esp, 4
cmp eax, ebx
je 0x470ed0
mov dword [eax], eax
mov dword [ebp - 0x768], eax
mov dword [eax + 4], eax
xor eax, eax
mov dword [ebp - 0x2c4], edi
mov dword [ebp - 0x2c8], ebx
mov word [ebp - 0x2d8], ax
or eax, 0xffffffff
lea ecx, [ebp - 0x508]
push ecx
mov byte [ebp - 4], 7
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x73c], eax
call fcn.004746d0
push 0x1ff
lea edx, [ebp - 0x213]
push ebx
mov byte [ebp - 4], 8
push edx
lea esi, [edi + 1]
mov byte [ebp - 0x214], bl
call fcn.00497ad0
mov eax, dword [ebp - 0x230]
add esp, 0xc
mov dword [ebp - 0x75c], ebx
mov dword [ebp - 0x744], ebx
mov dword [ebp - 0x758], ebx
mov dword [ebp - 0x754], ebx
cmp dword [ebp - 0x21c], esi
jae 0x47052d
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x470542
mov edi, 0x7ab7
jmp 0x470ba3
mov eax, dword [ebp - 0x230]
cmp dword [ebp - 0x21c], esi
jae 0x470556
lea eax, [ebp - 0x230]
push ebx
push 0x80
push 3
push ebx
push 1
push 0xc0000000
push eax
call dword [0x505fec]
mov edi, eax
mov dword [ebp - 0x740], edi
cmp edi, 0xffffffff
jne 0x47059d
mov eax, dword [ebp - 0x76c]
push eax
push 0x4e6eac
mov esi, 0x503bc8
mov edi, 0x7ab8
call fcn.004127a0
add esp, 8
jmp 0x470ba3
lea ecx, [ebp - 0x738]
call fcn.004753b0
xor eax, eax
lea ebx, [ebx]
mov cl, byte [ebp + eax - 0x71c]
cmp cl, byte [eax + 0x4e1fa4]
jne 0x4705cf
inc eax
cmp eax, 9
jl 0x4705b0
mov edi, 0x9c40
jmp 0x470ba3
lea edx, [ebp - 0x758]
push edx
push edi
call dword [0x506024]
test eax, eax
jne 0x4705eb
mov edi, 0x7aba
jmp 0x470ba3
lea eax, [ebp - 0x268]
push eax
push 1
lea ecx, [ebp - 0x230]
call fcn.0044ddb0
lea ecx, [ebp - 0x2bc]
push 0x4ddaa0
push ecx
lea ebx, [ebp - 0x268]
call fcn.0041c590
add esp, 0x10
mov edi, eax
mov esi, ebx
mov byte [ebp - 4], 9
call fcn.00409010
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 8
call fcn.00404690
mov edx, dword [ebp - 0x748]
push edx
lea eax, [ebp - 0x2bc]
push eax
call fcn.0041c590
add esp, 8
mov edi, eax
mov byte [ebp - 4], 0xa
call fcn.00409010
mov ebx, 8
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], bl
call fcn.00404690
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x758]
push 1
lea ecx, [ebp - 0x284]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00472ac0
test eax, eax
jne 0x470695
mov edi, 0x7ab9
jmp 0x470ba1
mov esi, dword [ebp - 0x230]
cmp dword [ebp - 0x21c], ebx
jae 0x4706a9
lea esi, [ebp - 0x230]
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x758]
push ecx
push edx
lea eax, [ebp - 0x768]
call fcn.0046eb80
add esp, 8
test eax, eax
jne 0x470750
lea esi, [ebp - 0x508]
call fcn.004747f0
lea ecx, [ebp - 0x2d8]
call fcn.00404690
lea esi, [ebp - 0x768]
call fcn.00472ee0
lea esi, [ebp - 0x738]
call fcn.004747f0
lea ecx, [ebp - 0x24c]
call fcn.00404690
lea ecx, [ebp - 0x268]
call fcn.00404690
lea ecx, [ebp - 0x2a0]
call fcn.00404690
lea ecx, [ebp - 0x230]
call fcn.00404690
lea ecx, [ebp - 0x284]
call fcn.00404690
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00490a21
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp - 0x284]
cmp dword [ebp - 0x270], ebx
jae 0x470764
lea eax, [ebp - 0x284]
push 0
push 0x80
push 2
push 0
push 1
push 0xc0000000
push eax
call dword [0x505fec]
mov edi, eax
mov dword [ebp - 0x73c], edi
cmp edi, 0xffffffff
jne 0x470794
mov edi, 0x7ab8
jmp 0x470ba1
lea eax, [ebp - 0x798]
push eax
mov eax, dword [ebp - 0x740]
lea ecx, [ebp - 0x7a8]
push ecx
lea edx, [ebp - 0x7a0]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileTime]
mov ecx, dword [ebp - 0x750]
mov edx, dword [ecx + 0x808]
push edx
lea esi, [ebp - 0x508]
call fcn.004755b0
lea eax, [ebp - 0x768]
mov ecx, esi
call fcn.00475180
mov ecx, esi
call fcn.00474bf0
lea ebx, [ebp - 0x214]
mov eax, esi
call fcn.00474aa0
push 0
push 0
push 0
push edi
call dword [0x50600c]
push 0
lea eax, [ebp - 0x75c]
push eax
push 0x200
mov ecx, ebx
push ecx
push edi
call dword [0x506004]
test eax, eax
jne 0x470822
mov edi, 0x7abb
jmp 0x470ba1
mov edx, dword [ebp - 0x750]
mov byte [ebp - 4], 0xb
mov eax, dword [edx + 0x818]
push eax
call fcn.0048d7af
mov edx, dword [ebp - 0x740]
add esp, 4
push 0
push 0
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x754]
mov edi, dword [ebp - 0x758]
push 0
mov ebx, eax
push edx
mov dword [ebp - 0x744], ebx
mov dword [ebp - 0x748], ecx
call dword [0x50600c]
nop
mov eax, dword [ebp - 0x750]
mov eax, dword [eax + 0x818]
xor ecx, ecx
cmp dword [ebp - 0x748], ecx
jg 0x470890
jl 0x47088c
cmp edi, eax
jae 0x470890
mov esi, edi
jmp 0x470892
mov esi, eax
push eax
push 0
push ebx
call fcn.00497ad0
mov edx, dword [ebp - 0x740]
add esp, 0xc
push 0
lea ecx, [ebp - 0x75c]
push ecx
push esi
push ebx
push edx
call dword [0x505ffc]
test eax, eax
je 0x470a41
mov ecx, dword [ebp - 0x73c]
push 0
lea eax, [ebp - 0x75c]
push eax
push esi
push ebx
push ecx
call dword [0x506004]
test eax, eax
je 0x470818
sub edi, esi
sbb dword [ebp - 0x748], 0
js 0x4708ef
jg 0x470870
test edi, edi
jne 0x470870
test ebx, ebx
je 0x470906
push ebx
call fcn.00491285
add esp, 4
mov dword [ebp - 0x744], 0
mov eax, dword [ebp - 0x768]
mov edi, dword [eax]
cmp edi, eax
je 0x4709c7
jmp 0x470920
xor eax, eax
mov dword [ebp - 0x784], eax
mov dword [ebp - 0x780], eax
mov dword [ebp - 0x77c], eax
mov dword [ebp - 0x778], eax
mov dword [ebp - 0x774], eax
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
push esi
mov dword [ebp - 0x748], edx
call fcn.0048d7af
push esi
mov ebx, eax
push 0
push ebx
call fcn.00497ad0
mov eax, dword [ebp - 0x748]
mov edx, dword [ebp - 0x73c]
add esp, 0x10
lea ecx, [ebp - 0x784]
push ecx
push 0
push esi
push ebx
add eax, 0x200
push edx
mov dword [ebp - 0x77c], eax
call dword [0x505ffc]
mov eax, dword [ebp - 0x750]
push ebx
push eax
mov ecx, ebx
call fcn.0046f1d0
mov edx, dword [ebp - 0x73c]
lea ecx, [ebp - 0x784]
push ecx
push 0
push esi
push ebx
push edx
call dword [0x506004]
push ebx
call fcn.00491285
mov edi, dword [edi]
add esp, 4
cmp edi, dword [ebp - 0x768]
jne 0x470920
mov esi, dword [ebp - 0x73c]
lea eax, [ebp - 0x798]
push eax
lea ecx, [ebp - 0x7a8]
push ecx
lea edx, [ebp - 0x7a0]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov eax, dword [ebp - 0x740]
push eax
call dword [0x506034]
test eax, eax
je 0x470b73
push esi
call dword [0x506034]
test eax, eax
je 0x470b73
lea ecx, [ebp - 0x24c]
push ecx
or eax, 0xffffffff
push 1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x73c], eax
call fcn.0044ddb0
add esp, 8
test al, al
jne 0x470a4b
mov edi, 0x7abe
jmp 0x470ba1
mov edi, 0x7abd
jmp 0x470ba1
lea edx, [ebp - 0x2a0]
push edx
lea edx, [ebp - 0x24c]
lea ecx, [ebp - 0x2bc]
call fcn.0044e150
add esp, 4
mov edi, eax
lea esi, [ebp - 0x24c]
mov byte [ebp - 4], 0xd
call fcn.00409010
lea ecx, [ebp - 0x2bc]
mov byte [ebp - 4], 8
call fcn.00404690
mov eax, dword [ebp - 0x23c]
add eax, 3
cmp eax, 0x800
ja 0x470af8
jmp 0x470aa0
lea eax, [ebp - 0x24c]
call fcn.0044d960
test eax, eax
je 0x470b02
push 0xffffffffffffffff
lea ecx, [ebp - 0x24c]
push ecx
mov edx, 0x4e5650
call fcn.00450470
cmp eax, 0xffffffff
jne 0x470ada
lea edx, [ebp - 0x24c]
push edx
mov eax, 0x4e6f14
call fcn.00407020
jmp 0x470ae8
push 3
push eax
lea eax, [ebp - 0x24c]
call fcn.00473020
mov eax, dword [ebp - 0x23c]
add eax, 3
cmp eax, 0x800
jbe 0x470aa0
mov edi, 0x7abe
jmp 0x470ba1
mov ecx, dword [ebp - 0x24c]
mov esi, 8
cmp dword [ebp - 0x238], esi
jae 0x470b1b
lea ecx, [ebp - 0x24c]
mov eax, dword [ebp - 0x284]
cmp dword [ebp - 0x270], esi
jae 0x470b2f
lea eax, [ebp - 0x284]
push 1
push 0
push 0
push ecx
push eax
call dword [0x506044]
test eax, eax
jne 0x470b4e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0x7abe
jmp 0x470ba1
cmp dword [ebp + 0x10], 0
jne 0x470b6f
mov eax, dword [ebp - 0x230]
cmp dword [ebp - 0x21c], esi
jae 0x470b68
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor edi, edi
jmp 0x470ba1
mov edi, 0x7ac1
jmp 0x470ba1
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x748], eax
mov eax, dword [ebp - 0x770]
cmp eax, ebx
je 0x470bbb
mov dword [eax], edi
mov eax, dword [ebp - 0x740]
cmp eax, 0xffffffff
je 0x470bcd
push eax
call dword [0x506034]
mov eax, dword [ebp - 0x73c]
cmp eax, 0xffffffff
je 0x470bdf
push eax
call dword [0x506034]
mov eax, dword [ebp - 0x744]
cmp eax, ebx
je 0x470bf2
push eax
call fcn.00491285
add esp, 4
mov eax, dword [ebp - 0x284]
mov esi, 8
cmp dword [ebp - 0x270], esi
jae 0x470c0b
lea eax, [ebp - 0x284]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x470c3c
shr eax, 4
not eax
and eax, 1
je 0x470c3c
mov eax, dword [ebp - 0x284]
cmp dword [ebp - 0x270], esi
jae 0x470c35
lea eax, [ebp - 0x284]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp edi, ebx
je 0x470db0
cmp edi, 0x9c40
je 0x470db0
mov eax, edi
lea esi, [ebp - 0x2bc]
call fcn.0046af80
mov byte [ebp - 4], 0xe
cmp dword [eax + 0x14], 8
jb 0x470c69
mov eax, dword [eax]
mov ecx, dword [ebp - 0x230]
mov esi, 8
cmp dword [ebp - 0x21c], esi
jae 0x470c82
lea ecx, [ebp - 0x230]
mov edx, dword [ebp - 0x748]
push eax
push edi
push edx
push ecx
push 0x4e6ed0
mov ecx, 0x503bc8
call fcn.00412730
add esp, 0x14
cmp dword [ebp - 0x2a8], esi
jb 0x470cb5
mov eax, dword [ebp - 0x2bc]
push eax
call fcn.00490a16
add esp, 4
lea esi, [ebp - 0x508]
call fcn.004747f0
lea esi, [ebp - 0x768]
call fcn.00472ee0
lea esi, [ebp - 0x738]
call fcn.004747f0
mov esi, 8
cmp dword [ebp - 0x238], esi
jb 0x470cf2
mov ecx, dword [ebp - 0x24c]
push ecx
call fcn.00490a16
add esp, 4
xor edx, edx
mov edi, 7
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x23c], ebx
mov word [ebp - 0x24c], dx
cmp dword [ebp - 0x254], esi
jb 0x470d23
mov eax, dword [ebp - 0x268]
push eax
call fcn.00490a16
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x258], ebx
mov word [ebp - 0x268], cx
cmp dword [ebp - 0x28c], esi
jb 0x470d4f
mov edx, dword [ebp - 0x2a0]
push edx
call fcn.00490a16
add esp, 4
xor eax, eax
mov dword [ebp - 0x28c], edi
mov dword [ebp - 0x290], ebx
mov word [ebp - 0x2a0], ax
cmp dword [ebp - 0x21c], esi
jb 0x470d7b
mov ecx, dword [ebp - 0x230]
push ecx
call fcn.00490a16
add esp, 4
xor edx, edx
mov dword [ebp - 0x21c], edi
mov dword [ebp - 0x220], ebx
mov word [ebp - 0x230], dx
cmp dword [ebp - 0x270], esi
jb 0x470730
mov eax, dword [ebp - 0x284]
push eax
call fcn.00490a16
add esp, 4
jmp 0x470730
lea esi, [ebp - 0x508]
call fcn.004747f0
mov edi, dword [ebp - 0x768]
mov eax, dword [edi]
mov dword [edi], edi
mov dword [edi + 4], edi
cmp eax, edi
je 0x470de1
lea esp, [esp]
mov esi, dword [eax]
push eax
call fcn.00490a16
add esp, 4
mov eax, esi
cmp esi, edi
jne 0x470dd0
push edi
call fcn.00490a16
add esp, 4
lea esi, [ebp - 0x738]
call fcn.004747f0
mov esi, 8
cmp dword [ebp - 0x238], esi
jb 0x470e11
mov ecx, dword [ebp - 0x24c]
push ecx
call fcn.00490a16
add esp, 4
xor edx, edx
mov edi, 7
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x23c], ebx
mov word [ebp - 0x24c], dx
cmp dword [ebp - 0x254], esi
jb 0x470e42
mov eax, dword [ebp - 0x268]
push eax
call fcn.00490a16
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x258], ebx
mov word [ebp - 0x268], cx
cmp dword [ebp - 0x28c], esi
jb 0x470e6e
mov edx, dword [ebp - 0x2a0]
push edx
call fcn.00490a16
add esp, 4
xor eax, eax
mov dword [ebp - 0x28c], edi
mov dword [ebp - 0x290], ebx
mov word [ebp - 0x2a0], ax
cmp dword [ebp - 0x21c], esi
jb 0x470e9a
mov ecx, dword [ebp - 0x230]
push ecx
call fcn.00490a16
add esp, 4
xor edx, edx
mov dword [ebp - 0x21c], edi
mov dword [ebp - 0x220], ebx
mov word [ebp - 0x230], dx
cmp dword [ebp - 0x270], esi
jb 0x470ec6
mov eax, dword [ebp - 0x284]
push eax
call fcn.00490a16
add esp, 4
mov eax, 1
jmp 0x470732
lea ecx, [ebp - 0x744]
push ecx
lea ecx, [ebp - 0x790]
mov dword [ebp - 0x744], ebx
call fcn.00490ac9
push 0x4e94b0
lea edx, [ebp - 0x790]
push edx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.00495f48
int3