Function at 0x4247d0
Capabilities:
Get file attributes
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50561b
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
mov eax, dword [0x557200]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov edi, ecx
push 0x14
xor eax, eax
mov dword [ebp - 0x88], 0
push str.FileUtil::RenameFile
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov dword [ebp - 4], 0
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x424863
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x424868
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0xa0], 0
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424894
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xa0]
call fcn.004084c0
mov byte [ebp - 4], 1
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x4248be
mov eax, dword [esi]
cmp dword [edi + 0x14], 8
push eax
mov eax, edi
jb 0x4248c9
mov eax, dword [edi]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x14
push str.Rename:___s______s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 2
call fcn.00408db0
push 0x381
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0xa0]
push eax
push 2
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0
add esp, 0x34
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x424969
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42495f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d39
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x74]
cmp edx, 8
jb 0x4249ad
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4249a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d39
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov ecx, edi
call fcn.00421890
test al, al
jne 0x424b54
push 0x14
xor eax, eax
mov dword [ebp - 0xa0], 0
push str.FileUtil::RenameFile
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov dword [ebp - 4], 3
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x424a23
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x424a28
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424a50
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004084c0
push str.FALSE
sub esp, 0x18
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x23
push str.olderfile_is_not_exist._return___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 5
call fcn.00408db0
push 0x385
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x88]
push eax
push 3
push dword [0x560f9c]
call fcn.0040d3e0
mov edx, dword [ebp - 0x74]
add esp, 0x30
cmp edx, 8
jb 0x424b0d
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424b03
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d3e
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x424b4d
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424b43
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d3e
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor al, al
jmp 0x425d1d
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x424b5e
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x424d96
and eax, 0xfffffffe
mov ecx, edi
cmp dword [edi + 0x14], 8
jb 0x424b7a
mov ecx, dword [edi]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x424d96
push 0x14
mov dword [ebp - 0xa0], eax
lea ecx, [ebp - 0xa0]
push str.FileUtil::RenameFile
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov dword [ebp - 4], 6
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x424be7
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x424bec
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424c12
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004084c0
mov byte [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0xbc]
call fcn.00434e10
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 8
jb 0x424c51
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x27
push str.SetFileAttributes_returned_error_:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 9
call fcn.00408db0
push 0x391
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x88]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 7
add esp, 0x30
mov edx, dword [ebp - 0xa8]
cmp edx, 8
jb 0x424cf1
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424ce7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d43
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
cmp edx, 8
jb 0x424d4f
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424d45
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d43
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x424d96
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424d8c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d43
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov ecx, esi
call fcn.00421890
test al, al
je 0x4251d3
push 0
mov dl, 1
mov ecx, esi
call fcn.00423530
add esp, 4
test al, al
jne 0x4251d3
push 0x14
xor eax, eax
mov dword [ebp - 0xa0], 0
push str.FileUtil::RenameFile
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov dword [ebp - 4], 0xa
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x424e22
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x424e27
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
lea ebx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424e50
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004084c0
mov byte [ebp - 4], 0xb
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x424e7a
mov eax, dword [esi]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x26
push str.rename_result_file_cant_delete_:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0xc
call fcn.00408db0
push 0x3b0
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x88]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0xa
add esp, 0x30
mov edx, dword [ebp - 0x74]
cmp edx, 8
jb 0x424f17
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424f0d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d48
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x424f5e
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424f54
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d48
push edx
push ecx
call fcn.004b51c1
add esp, 8
lea ecx, [ebp - 0x28]
call fcn.00421c40
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
mov ecx, esi
cmovae eax, dword [ebp - 0x28]
cmp dword [esi + 0x14], 8
jb 0x424f82
mov ecx, dword [esi]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x425192
push 0x14
mov dword [ebp - 0xa0], eax
lea ecx, [ebp - 0xa0]
push str.FileUtil::RenameFile
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0xe
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x424fec
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x424ff1
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425017
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004084c0
xor edx, edx
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xbc]
call fcn.00434e10
mov byte [ebp - 4], 0x10
cmp dword [eax + 0x14], 8
jb 0x425050
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x15
push str.MoveFile_failed:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x11
call fcn.00408db0
push 0x3b6
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x88]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0xf
add esp, 0x30
mov edx, dword [ebp - 0xa8]
cmp edx, 8
jb 0x4250f0
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4250e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d4d
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
cmp edx, 8
jb 0x42514e
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425144
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d4d
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x425192
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425188
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d4d
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x4251d3
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4251c9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d52
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.0042f6a0
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x30], 0
je 0x425219
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x70]
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push ecx
push eax
call fcn.004c2071
add esp, 8
test eax, eax
jne 0x425219
mov eax, dword [ebp - 0x6a]
and eax, 0xf000
cmp eax, 0x4000
je 0x425429
lea ecx, [ebp - 0x40]
call fcn.0042c890
test al, al
jne 0x425429
push 0x14
xor eax, eax
mov dword [ebp - 0xa0], 0
push str.FileUtil::RenameFile
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x13
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x42528d
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x425292
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
lea ebx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4252c0
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004084c0
xor edx, edx
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x28]
call fcn.00434e10
mov byte [ebp - 4], 0x15
cmp dword [eax + 0x14], 8
jb 0x4252f6
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x15
push str.MakePath_failed:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x16
call fcn.00408db0
push 0x3c3
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x88]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0x14
add esp, 0x30
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x425390
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425386
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d57
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp edx, 8
jb 0x4253e5
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4253db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d57
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x425429
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42541f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d57
push edx
push ecx
call fcn.004b51c1
add esp, 8
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x425433
mov ecx, dword [esi]
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x42543d
mov eax, dword [edi]
push 0xb
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov dword [ebp - 0xa0], 0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
push 0x14
push str.FileUtil::RenameFile
test eax, eax
jne 0x425953
mov word [ebp - 0xa0], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x17
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x4254b1
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x4254b6
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
lea ebx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4254e0
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004084c0
xor edx, edx
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xd4]
call fcn.00434e10
mov byte [ebp - 4], 0x19
cmp dword [eax + 0x14], 8
jb 0x425519
mov eax, dword [eax]
push eax
push 1
mov edx, esi
lea ecx, [ebp - 0xbc]
call fcn.0042f280
add esp, 4
mov byte [ebp - 4], 0x1a
cmp dword [eax + 0x14], 8
jb 0x425538
mov eax, dword [eax]
push eax
push 1
mov edx, edi
lea ecx, [ebp - 0x28]
call fcn.0042f280
add esp, 4
mov byte [ebp - 4], 0x1b
cmp dword [eax + 0x14], 8
jb 0x425554
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x25
push str.MoveFileEx_failed:___s______s_:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x1c
call fcn.00408db0
push 0x3d0
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x88]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0x1a
add esp, 0x38
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x4255ee
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4255e4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d5c
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp edx, 8
jb 0x425646
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42563c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d5c
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
cmp edx, 8
jb 0x4256a7
mov ecx, dword [ebp - 0xd4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42569d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d5c
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 7
mov word [ebp - 0xd4], ax
cmp edx, 8
jb 0x425705
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4256fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d5c
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x425749
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42573f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d5c
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov ecx, esi
call fcn.00421890
test al, al
je 0x42594c
push 0x14
xor eax, eax
mov dword [ebp - 0xa0], 0
push str.FileUtil::RenameFile
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x1d
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x4257bc
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x4257c1
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4257e7
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004084c0
push 1
mov edx, esi
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x28]
call fcn.0042f280
add esp, 4
mov byte [ebp - 4], 0x1f
cmp dword [eax + 0x14], 8
jb 0x425822
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x18
push str.file_already_exist:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x20
call fcn.00408db0
push 0x3d3
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x88]
push eax
push 3
push dword [0x560f9c]
call fcn.0040d3e0
mov edx, dword [ebp - 0x14]
add esp, 0x30
cmp edx, 8
jb 0x4258b8
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4258ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d61
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov edx, dword [ebp - 0x74]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp edx, 8
jb 0x425909
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4258ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d61
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x425ce3
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425cd9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d61
jmp 0x425cd9
xor bl, bl
jmp 0x425ce5
xor eax, eax
mov word [ebp - 0xa0], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x21
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x42598c
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x425991
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4259b7
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004084c0
mov byte [ebp - 4], 0x22
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x4259e1
mov eax, dword [esi]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x13
push str.file_moved:_____s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x23
call fcn.00408db0
push 0x3da
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x88]
push eax
push 2
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0x21
add esp, 0x30
mov edx, dword [ebp - 0x74]
cmp edx, 8
jb 0x425a7e
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425a74
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d66
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x425ac2
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425ab8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d66
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x425ce3
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x425ad7
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or eax, edi
cmp dword [esi + 0x14], 8
jb 0x425ae8
mov esi, dword [esi]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x425ce3
push 0x14
mov dword [ebp - 0xd4], eax
lea ecx, [ebp - 0xd4]
push str.FileUtil::RenameFile
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], 7
mov word [ebp - 0xd4], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x24
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x425b52
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x425b57
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x425b80
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004084c0
mov byte [ebp - 4], 0x25
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.00434e10
mov byte [ebp - 4], 0x26
cmp dword [eax + 0x14], 8
jb 0x425bbc
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa4], esp
push 0x27
push str.SetFileAttributes_returned_error_:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x27
call fcn.00408db0
push 0x3f9
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x88]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov edx, dword [ebp - 0x44]
add esp, 0x30
cmp edx, 8
jb 0x425c52
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425c48
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d6b
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov edx, dword [ebp - 0x74]
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
cmp edx, 8
jb 0x425ca3
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425c99
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d6b
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov edx, dword [ebp - 0xc0]
cmp edx, 8
jb 0x425ce3
mov ecx, dword [ebp - 0xd4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425cd9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d6b
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x425d1b
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x425d11
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425d70
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b4f32
mov esp, ebp
pop ebp
ret
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
call fcn.004b9cae
int3