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

Disassembly:
push 0xffffffffffffffff
push 0x44265f
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x45d018]
xor eax, esp
mov dword [esp + 0xf0], eax
push ebp
push esi
push edi
mov eax, dword [0x45d018]
xor eax, esp
push eax
lea eax, [esp + 0x104]
mov dword fs:[0], eax
lea ecx, [esp + 0x4c]
call sub.acdb17.dll_public:_void___thiscall_AdString::constructor_void_
lea esi, [ebx + 4]
push esi
lea edi, [esp + 0x50]
mov dword [esp + 0x110], 0
call fcn.0041d8a0
push 0x44d22c
lea ecx, [esp + 0x14]
mov dword [esp + 0x110], 1
call sub.acdb17.dll_public:_void___thiscall_AdString::constructor_wchar_t_const__
lea eax, [esp + 0x10]
push eax
mov ecx, edi
mov byte [esp + 0x110], 2
call fcn.0041dda0
lea ecx, [esp + 0x10]
mov byte [esp + 0x10c], 1
call sub.acdb17.dll_public_virtual:_void___thiscall_AdString::destructor_void_
mov ecx, edi
call sub.acdb17.dll_public:_wchar_t_const____thiscall_AdString::operator_wchar_t_const__void_const
mov ebp, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push eax
call ebp
cmp eax, 0xffffffff
je 0x42710f
cmp dword [esp + 0x68], 8
mov eax, dword [esp + 0x54]
jae 0x4270fd
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.MSVCR80.dll__wremove]
add esp, 4
test eax, eax
jne 0x427196
lea ecx, [esp + 0x88]
call sub.acdb17.dll_public:_void___thiscall_AdString::constructor_void_
push esi
lea edi, [esp + 0x8c]
mov byte [esp + 0x110], 3
call fcn.0041d8a0
mov ecx, edi
mov byte [esp + 0x10c], 4
call sub.acdb17.dll_public:_wchar_t_const____thiscall_AdString::operator_wchar_t_const__void_const
push eax
call ebp
cmp eax, 0xffffffff
mov esi, dword [sym.imp.MSVCR80.dll__wrename]
mov edi, 8
je 0x4271b1
cmp dword [esp + 0x68], edi
mov ecx, dword [esp + 0x54]
jae 0x427160
lea ecx, [esp + 0x54]
cmp dword [esp + 0xa4], edi
mov eax, dword [esp + 0x90]
jae 0x427177
lea eax, [esp + 0x90]
push ecx
push eax
call esi
add esp, 8
test eax, eax
je 0x4271b1
lea ecx, [esp + 0x88]
mov byte [esp + 0x10c], 1
call sub.acdb17.dll_public_virtual:_void___thiscall_AdString::destructor_void_
lea ecx, [esp + 0x4c]
mov dword [esp + 0x10c], 0xffffffff
call sub.acdb17.dll_public_virtual:_void___thiscall_AdString::destructor_void_
xor al, al
jmp 0x427293
lea ecx, [ebx + 0x40]
push ecx
lea edx, [esp + 0xc8]
push edx
call fcn.0041d7c0
lea ecx, [esp + 0xc4]
mov byte [esp + 0x10c], 5
call sub.acdb17.dll_public:_wchar_t_const____thiscall_AdString::operator_wchar_t_const__void_const
push eax
call ebp
or ebp, 0xffffffff
cmp eax, ebp
je 0x427255
cmp dword [esp + 0xa4], edi
mov ecx, dword [esp + 0x90]
jae 0x4271f7
lea ecx, [esp + 0x90]
cmp dword [esp + 0xe0], edi
mov eax, dword [esp + 0xcc]
jae 0x42720e
lea eax, [esp + 0xcc]
push ecx
push eax
call esi
add esp, 8
test eax, eax
je 0x427255
lea ecx, [esp + 0xc4]
mov byte [esp + 0x10c], 4
call sub.acdb17.dll_public_virtual:_void___thiscall_AdString::destructor_void_
lea ecx, [esp + 0x88]
mov byte [esp + 0x10c], 1
call sub.acdb17.dll_public_virtual:_void___thiscall_AdString::destructor_void_
lea ecx, [esp + 0x4c]
mov dword [esp + 0x10c], ebp
call sub.acdb17.dll_public_virtual:_void___thiscall_AdString::destructor_void_
xor al, al
jmp 0x427293
lea ecx, [esp + 0xc4]
mov byte [ebx + 0x7c], 1
mov byte [esp + 0x10c], 4
call sub.acdb17.dll_public_virtual:_void___thiscall_AdString::destructor_void_
lea ecx, [esp + 0x88]
mov byte [esp + 0x10c], 1
call sub.acdb17.dll_public_virtual:_void___thiscall_AdString::destructor_void_
lea ecx, [esp + 0x4c]
mov dword [esp + 0x10c], ebp
call sub.acdb17.dll_public_virtual:_void___thiscall_AdString::destructor_void_
mov al, 1
mov ecx, dword [esp + 0x104]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0xf0]
xor ecx, esp
call fcn.0043f41f
add esp, 0x100
ret