Function at 0x409a06
Capabilities:
Check if file exists
Create directory

Disassembly:
push ebp
lea ebp, [esp - 0x5fc]
sub esp, 0x67c
mov eax, dword [0x45c530]
xor eax, ebp
mov dword [ebp + 0x5f8], eax
mov eax, dword [ebp + 0x608]
push ebx
mov ebx, dword [ebp + 0x604]
push esi
push edi
mov edi, 0x206
xor esi, esi
push edi
mov dword [ebp - 0x74], eax
lea eax, [ebp + 0x3f2]
push esi
push eax
mov dword [ebp - 0x70], ebx
mov word [ebp + 0x3f0], si
call fcn.0042c350
push edi
lea eax, [ebp + 0x1ea]
push esi
push eax
mov word [ebp + 0x1e8], si
call fcn.0042c350
lea eax, [ebp + 0x3f0]
push ebx
push eax
call fcn.0042df93
lea eax, [ebp + 0x3f0]
push 0x44bbf0
push eax
call fcn.0042df69
add esp, 0x28
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp + 0x3f0]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x6c], eax
je 0x409d12
mov edi, 0x44bbec
test byte [ebp - 0x68], 0x10
je 0x409b91
lea eax, [ebp - 0x3c]
push 0x44bbe8
push eax
call fcn.0042df37
test eax, eax
pop ecx
pop ecx
je 0x409cf4
lea eax, [ebp - 0x3c]
push 0x44bbe0
push eax
call fcn.0042df37
test eax, eax
pop ecx
pop ecx
je 0x409cf4
push dword [ebp - 0x74]
lea eax, [ebp + 0x1e8]
push eax
call fcn.0042df93
lea eax, [ebp + 0x1e8]
push edi
push eax
call fcn.0042df69
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x1e8]
push eax
call fcn.0042df69
add esp, 0x18
lea eax, [ebp + 0x1e8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x409b32
push esi
lea eax, [ebp + 0x1e8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x208
lea eax, [ebp + 0x3f0]
push esi
push eax
call fcn.0042c350
push dword [ebp - 0x70]
lea eax, [ebp + 0x3f0]
push eax
call fcn.0042df93
lea eax, [ebp + 0x3f0]
push edi
push eax
call fcn.0042df69
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x3f0]
push eax
call fcn.0042df69
push dword [ebp + 0x60c]
lea eax, [ebp + 0x1e8]
push eax
lea eax, [ebp + 0x3f0]
push eax
call fcn.00409a06
add esp, 0x30
jmp 0x409cf4
mov ebx, 0x208
push ebx
lea eax, [ebp + 0x1e8]
push esi
push eax
call fcn.0042c350
push dword [ebp - 0x74]
lea eax, [ebp + 0x1e8]
push eax
call fcn.0042df93
lea eax, [ebp + 0x1e8]
push edi
push eax
call fcn.0042df69
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x1e8]
push eax
call fcn.0042df69
push ebx
lea eax, [ebp + 0x3f0]
push esi
push eax
call fcn.0042c350
push dword [ebp - 0x70]
lea eax, [ebp + 0x3f0]
push eax
call fcn.0042df93
lea eax, [ebp + 0x3f0]
push edi
push eax
call fcn.0042df69
add esp, 0x40
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x3f0]
push eax
call fcn.0042df69
cmp dword [ebp + 0x60c], 1
pop ecx
pop ecx
push 5
pop ebx
jne 0x409c54
push 1
lea eax, [ebp + 0x1e8]
push eax
lea eax, [ebp + 0x3f0]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x409c45
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
dec ebx
cmp ebx, esi
jg 0x409c1b
cmp ebx, esi
jge 0x409cf4
xor eax, eax
jmp 0x409d15
push esi
lea eax, [ebp + 0x1e8]
push eax
lea eax, [ebp + 0x3f0]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x409c7f
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
dec ebx
cmp ebx, esi
jg 0x409c54
jmp 0x409cf4
push esi
push 0x80
push 3
push esi
push 1
push SysReAllocString
lea eax, [ebp + 0x3f0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x409d2d
lea eax, [ebp - 0x80]
push eax
push esi
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
call ebx
push esi
push 0x80
push 3
push esi
push 2
push 0x40000000
lea eax, [ebp + 0x1e8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x78], eax
je 0x409d2d
lea ecx, [ebp - 0x80]
push ecx
push esi
push esi
push eax
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push dword [ebp - 0x78]
call ebx
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x409aaa
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
inc eax
mov ecx, dword [ebp + 0x5f8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042c3ca
add ebp, 0x5fc
leave
ret
mov eax, 0x80004005
jmp 0x409d15