Function at 0x427280
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x870
mov eax, dword [0x581900]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x140
mov dword [ebp - 0x868], eax
lea eax, [ebp - 0x860]
push 0
push eax
mov dword [ebp - 0x870], ebx
call fcn.004e69c0
push 0x104
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004e69c0
push 0x104
lea eax, [ebp - 0x310]
push 0
push eax
call fcn.004e69c0
push 0x104
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.004e69c0
push esi
call fcn.004a73a0
add esp, 0x34
test eax, eax
jne 0x4277e3
push 0x104
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.004a9a20
lea eax, [ebp - 0x108]
push eax
call fcn.004a86c0
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x108]
add esp, 0x10
push 0
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
lea eax, [ebp - 0x108]
push eax
call edi
cmp eax, 0xffffffff
je 0x4277bf
test al, 0x10
je 0x4277bf
push 0x104
lea eax, [ebp - 0x310]
push ebx
push eax
call fcn.004a9a20
push 0x50b6dc
push ebx
call fcn.004e61d0
add esp, 0x14
test eax, eax
jne 0x42739e
push ebx
call edi
cmp eax, 0xffffffff
je 0x42739e
test al, 0x10
je 0x42739e
lea eax, [ebp - 0x310]
push 0x50b6dc
push eax
call fcn.004a3cc0
add esp, 8
push 0x400001
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.00429090
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
je 0x4277e3
lea eax, [ebp - 0x310]
push 0x50b6e0
push eax
call fcn.004a9550
add esp, 8
mov dword [ebp - 0x86c], eax
xor esi, esi
mov dword [ebp - 0x864], esi
test byte [ebp - 0x860], 0x10
mov edi, 1
jne 0x4274bb
push 0x104
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.004a9a20
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.004a7ad0
push ebx
push dword [0x58aae4]
call fcn.00491320
add esp, 0x1c
test eax, eax
je 0x427449
lea eax, [ebx + 0x10]
push eax
lea eax, [ebp - 0x834]
push eax
call fcn.004a7ec0
add esp, 8
push dword [ebp + 0x10]
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x834]
push eax
call fcn.004262b0
add esp, 0xc
test eax, eax
jne 0x42746c
cmp dword [ebp + 0x14], eax
cmovne eax, edi
mov edi, dword [ebp - 0x868]
test edi, edi
je 0x4274a0
test eax, eax
lea eax, [ebp - 0x20c]
jle 0x427484
push 0
jmp 0x427486
push 1
push eax
lea eax, [ebp - 0x834]
push eax
call edi
add esp, 0xc
test eax, eax
je 0x4274c1
inc esi
mov dword [ebp - 0x864], esi
jmp 0x4274c1
test eax, eax
jle 0x4274c1
push 0
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x834]
push eax
call fcn.00429860
jmp 0x427490
mov edi, dword [ebp - 0x868]
push ebx
push dword [0x58aae4]
call fcn.00491320
add esp, 8
test eax, eax
je 0x4274ff
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
jge 0x4274ff
lea esi, [eax + eax*4]
mov ecx, 0x50
shl esi, 6
lea edi, [ebp - 0x860]
add esi, dword [ebx]
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0xc]
mov esi, dword [ebp - 0x864]
jmp 0x4273e6
cmp dword [ebp + 0x18], 0
je 0x4277a3
cmp dword [ebp - 0x86c], 0
jne 0x4277a3
push 0x104
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.004e69c0
push 0x104
lea eax, [ebp - 0x61c]
push 0
push eax
call fcn.004e69c0
push 0x104
lea eax, [ebp - 0x720]
push 0
push eax
call fcn.004e69c0
push 0x104
lea eax, [ebp - 0x518]
push 0
push eax
call fcn.004e69c0
push 0x104
lea eax, [ebp - 0x310]
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.004a9a20
lea eax, [ebp - 0x414]
push eax
call fcn.004a8490
add esp, 0x40
lea eax, [ebp - 0x414]
push 0x50b6dc
push eax
call fcn.004a3cc0
push ebx
call fcn.00428eb0
push 0x400001
lea eax, [ebp - 0x860]
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.00429090
mov ebx, eax
add esp, 0x18
cmp ebx, 0xffffffff
jne 0x427600
lea eax, [ebp - 0x414]
push eax
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x870]
push str.:7:CopyNewerFiles___s_____s___FAILED:_FindFirstFileOrdered___s___FAILED_to_find_subdirectories_
call fcn.00424a90
add esp, 0x10
or eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50dc
mov esp, ebp
pop ebp
ret
test byte [ebp - 0x860], 0x10
je 0x42775f
mov ecx, 0x50b02c
lea eax, [ebp - 0x834]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x427638
test dl, dl
je 0x427634
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x427638
add eax, 2
add ecx, 2
test dl, dl
jne 0x427618
xor eax, eax
jmp 0x42763d
sbb eax, eax
or eax, 1
test eax, eax
je 0x42775f
mov ecx, 0x5184e8
lea eax, [ebp - 0x834]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x427670
test dl, dl
je 0x42766c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x427670
add eax, 2
add ecx, 2
test dl, dl
jne 0x427650
xor eax, eax
jmp 0x427675
sbb eax, eax
or eax, 1
test eax, eax
je 0x42775f
push 0x104
lea eax, [ebp - 0x310]
push eax
lea eax, [ebp - 0x61c]
push eax
call fcn.004a9a20
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x61c]
push eax
call fcn.004a3e30
push 0x104
lea eax, [ebp - 0x61c]
push eax
lea eax, [ebp - 0x518]
push eax
call fcn.004a9a20
lea eax, [ebp - 0x518]
push eax
call fcn.004a8490
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x518]
push eax
call fcn.004eeba8
add esp, 0x2c
test eax, eax
je 0x42775f
lea eax, [ebp - 0x518]
push eax
call fcn.004a8090
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x518]
push eax
call fcn.004eeba8
add esp, 0xc
test eax, eax
je 0x42775f
push 0x104
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x720]
push eax
call fcn.004a9a20
lea eax, [ebp - 0x834]
push eax
lea eax, [ebp - 0x720]
push eax
call fcn.004a3cc0
push edi
push dword [ebp + 0x18]
lea eax, [ebp - 0x720]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x61c]
push eax
call fcn.00427280
add esp, 0x2c
add esi, eax
mov dword [ebp - 0x864], esi
push ebx
push dword [0x58aae4]
call fcn.00491320
add esp, 8
test eax, eax
je 0x4277a3
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 4]
jge 0x4277a3
lea esi, [eax + eax*4]
mov ecx, 0x50
shl esi, 6
lea edi, [ebp - 0x860]
add esi, dword [ebx]
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 0xc]
mov esi, dword [ebp - 0x864]
mov edi, dword [ebp - 0x868]
jmp 0x427600
push ebx
call fcn.00428eb0
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004e50dc
mov esp, ebp
pop ebp
ret
push 0
lea eax, [ebp - 0x108]
push eax
call esi
push str._GetLastError_
lea eax, [ebp - 0x108]
push eax
push str.:5:CopyNewerFiles___FAILED:_CreateDirectory___s___FAILED:__s
call fcn.00424a90
add esp, 0xc
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004e50dc
mov esp, ebp
pop ebp
ret