Function at 0x423530
Capabilities:
Delete file
Get file attributes
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x505438
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
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 bl, dl
mov esi, ecx
push 0x14
xor eax, eax
mov dword [ebp - 0x58], 0
push str.FileUtil::RemoveFile
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov dword [ebp - 4], 0
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x4235ba
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x4235bf
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x28], 0
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4235e0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.004084c0
test bl, bl
mov byte [ebp - 4], 1
mov eax, str.deleteafterrebootonfail
mov ecx, 0x5348ec
cmove eax, ecx
cmp dword [esi + 0x14], 8
push eax
mov eax, esi
jb 0x423617
mov eax, dword [esi]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x13
push str.RemoveFile:___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 0x275
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x28]
push eax
push 2
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0
add esp, 0x34
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x4236a8
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42369e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42478f
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x4236e9
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4236df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42478f
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov ecx, esi
call fcn.00421890
test al, al
jne 0x4236fb
mov al, 1
jmp 0x424773
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x423705
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 1
je 0x42390a
and eax, 0xfffffffe
mov ecx, esi
cmp dword [esi + 0x14], 8
jb 0x423721
mov ecx, dword [esi]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x42390a
push 0x14
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0x70]
push str.FileUtil::RemoveFile
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov dword [ebp - 4], 3
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x42377f
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x423784
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x58], 0
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4237a4
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.004084c0
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x8c]
call fcn.00434e10
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 8
jb 0x4237e0
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x74], 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], 6
call fcn.00408db0
push 0x288
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x58]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 4
add esp, 0x30
mov edx, dword [ebp - 0x78]
cmp edx, 8
jb 0x423874
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42386a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x424794
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
cmp edx, 8
jb 0x4238c9
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4238bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x424794
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x42390a
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423900
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x424794
push edx
push ecx
call fcn.004b51c1
add esp, 8
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x423914
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x42476f
push 0x14
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x58]
push str.FileUtil::RemoveFile
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov dword [ebp - 4], 7
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x423971
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x423976
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x70], 0
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x423996
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.004084c0
xor edx, edx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xa4]
call fcn.00434e10
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 8
jb 0x4239cc
mov eax, dword [eax]
push eax
push 1
mov edx, esi
lea ecx, [ebp - 0x8c]
call fcn.0042f280
add esp, 4
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 8
jb 0x4239eb
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x1b
push str.DeleteFile_failed__s_:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0xb
call fcn.00408db0
push 0x2a2
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x70]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 9
add esp, 0x34
mov edx, dword [ebp - 0x78]
cmp edx, 8
jb 0x423a7f
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423a75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x424799
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
cmp edx, 8
jb 0x423ada
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423ad0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x424799
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], ax
cmp edx, 8
jb 0x423b35
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423b2b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x424799
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x423b76
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423b6c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x424799
push edx
push ecx
call fcn.004b51c1
add esp, 8
push 0x14
xor eax, eax
mov dword [ebp - 0x58], 0
push str.FileUtil::RemoveFile
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov dword [ebp - 4], 0xc
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x423bce
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x423bd3
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x70], 0
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x423bf3
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.004084c0
mov byte [ebp - 4], 0xd
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x423c1a
mov eax, dword [esi]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x17
push str.DeleteFile_failed:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0xe
call fcn.00408db0
push 0x2a3
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x70]
push eax
push 2
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0xc
add esp, 0x30
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x423cab
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423ca1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42479e
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x423cec
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423ce2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42479e
push edx
push ecx
call fcn.004b51c1
add esp, 8
test bl, bl
je 0x42476b
push esi
lea ecx, [ebp - 0x40]
call fcn.00408370
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xf
call fcn.00421c40
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
mov ecx, esi
cmovae eax, dword [ebp - 0x28]
cmp dword [esi + 0x14], 8
jb 0x423d25
mov ecx, dword [esi]
push 0xb
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
push 0x14
push str.FileUtil::RemoveFile
test eax, eax
jne 0x424110
mov word [ebp - 0x58], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x11
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x423d8a
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x423d8f
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x70], 0
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea edi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x423db0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.004084c0
xor edx, edx
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x8c]
call fcn.00434e10
mov byte [ebp - 4], 0x13
cmp dword [eax + 0x14], 8
jb 0x423de6
mov eax, dword [eax]
push eax
push 1
mov edx, esi
lea ecx, [ebp - 0xa4]
call fcn.0042f280
add esp, 4
mov byte [ebp - 4], 0x14
cmp dword [eax + 0x14], 8
jb 0x423e05
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x1b
push str.MoveFileEx_failed__s_:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x15
call fcn.00408db0
push 0x2ae
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x70]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0x13
add esp, 0x34
mov edx, dword [ebp - 0x90]
cmp edx, 8
jb 0x423e9c
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423e92
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247a3
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], ax
cmp edx, 8
jb 0x423efa
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423ef0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247a3
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
cmp edx, 8
jb 0x423f4f
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423f45
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247a3
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x423f8d
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423f83
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247a3
push edx
push ecx
call fcn.004b51c1
add esp, 8
push 0x14
xor eax, eax
mov dword [ebp - 0x58], 0
push str.FileUtil::RemoveFile
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x16
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x423fe2
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x423fe7
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x70], 0
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424007
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.004084c0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
cmp dword [esi + 0x14], 8
push eax
jb 0x424038
mov esi, dword [esi]
push esi
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x1f
push str.MoveFileEx_failed:___s______s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x18
call fcn.00408db0
push 0x2af
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x70]
push eax
push 2
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0x16
add esp, 0x34
mov edx, dword [ebp - 0x5c]
cmp edx, 8
jb 0x4240c9
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4240bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247a8
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x4242f2
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424101
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247a8
push edx
push ecx
call fcn.004b51c1
add esp, 8
jmp 0x4242f2
xor eax, eax
mov word [ebp - 0x58], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x19
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x424146
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x42414b
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x70], 0
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424170
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.004084c0
push 1
mov edx, esi
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xa4]
call fcn.0042f280
add esp, 4
mov byte [ebp - 4], 0x1b
cmp dword [eax + 0x14], 8
jb 0x4241ab
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x26
push str.MoveFileEx_succeeded_to_tempfile:___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 0x2b4
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x70]
push eax
push 3
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0x1a
add esp, 0x30
mov edx, dword [ebp - 0x90]
cmp edx, 8
jb 0x424242
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424238
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247ad
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], ax
cmp edx, 8
jb 0x42429d
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424293
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247ad
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x4242db
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4242d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247ad
push edx
push ecx
call fcn.004b51c1
add esp, 8
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x40]
push eax
call fcn.004084c0
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4246e3
push 0x14
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x58]
push str.FileUtil::RemoveFile
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x1d
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x424357
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x42435c
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x70], 0
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x424380
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.004084c0
xor edx, edx
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x8c]
call fcn.00434e10
mov byte [ebp - 4], 0x1f
cmp dword [eax + 0x14], 8
jb 0x4243b6
mov eax, dword [eax]
push eax
push 1
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0xa4]
call fcn.0042f280
add esp, 4
mov byte [ebp - 4], 0x20
cmp dword [eax + 0x14], 8
jb 0x4243d6
mov eax, dword [eax]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x1b
push str.DeleteFile_failed__s_:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x21
call fcn.00408db0
push 0x2bb
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x70]
push eax
push 6
push dword [0x560f9c]
call fcn.0040d3e0
mov byte [ebp - 4], 0x1f
add esp, 0x34
mov edx, dword [ebp - 0x90]
cmp edx, 8
jb 0x42446d
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424463
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247b2
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], ax
cmp edx, 8
jb 0x4244cb
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4244c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247b2
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
cmp edx, 8
jb 0x424520
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424516
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247b2
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x42455e
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424554
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247b2
push edx
push ecx
call fcn.004b51c1
add esp, 8
push 0x14
xor eax, eax
mov dword [ebp - 0xbc], 0
push str.FileUtil::RemoveFile
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 7
mov word [ebp - 0xbc], ax
call fcn.004084c0
push 0x5c
push 0x536eb0
mov byte [ebp - 4], 0x22
call fcn.004b69f9
add esp, 8
test eax, eax
je 0x4245c2
push 0x5c
push 0x536eb0
call fcn.004b69f9
add esp, 8
lea edx, [eax + 2]
jmp 0x4245c7
mov edx, 0x536eb0
mov ecx, edx
mov dword [ebp - 0x70], 0
xor eax, eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4245e7
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.004084c0
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
cmovae eax, dword [ebp - 0x40]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x17
push str.DeleteFile_failed:___s_
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.004084c0
mov byte [ebp - 4], 0x24
call fcn.00408db0
push 0x2bc
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x23
push eax
lea eax, [ebp - 0x70]
push eax
push 2
push dword [0x560f9c]
call fcn.0040d3e0
mov edx, dword [ebp - 0x5c]
add esp, 0x30
cmp edx, 8
jb 0x42469f
mov ecx, dword [ebp - 0x70]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424695
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247b7
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov edx, dword [ebp - 0xa8]
cmp edx, 8
jb 0x4246df
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4246d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247b7
push edx
push ecx
call fcn.004b51c1
add esp, 8
xor bl, bl
jmp 0x4246e5
mov bl, 1
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x42471f
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x424715
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247bc
push edx
push ecx
call fcn.004b51c1
add esp, 8
mov edx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp edx, 8
jb 0x424771
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42475f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4247bc
push edx
push ecx
call fcn.004b51c1
add esp, 8
jmp 0x424771
xor bl, bl
jmp 0x424771
mov bl, 1
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
int3