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

Disassembly:
push 0x288
mov eax, 0x5128e8
call fcn.004d8af2
mov edi, edx
mov dword [ebp - 0x270], edi
mov ebx, ecx
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x274], ebx
xor esi, esi
mov dword [ebp - 4], 1
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4290f6
push esi
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x4290f6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test edi, edi
je 0x4290b3
lea eax, [ebp + 0xc]
mov ecx, edi
push eax
call fcn.00405d6e
movzx ecx, si
mov eax, 0x80004005
or ecx, 0x80070000
test esi, esi
push 0x184
cmovle ecx, esi
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
mov ecx, ebx
call fcn.00406620
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.00407189
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
jmp 0x429306
push 0x250
lea eax, [ebp - 0x260]
push esi
push eax
call fcn.004d9f30
push 0x5444d8
lea edx, [ebp + 8]
lea ecx, [ebp - 0x26c]
call fcn.00409442
add esp, 0x10
lea eax, [ebp - 0x260]
push eax
push dword [ebp - 0x26c]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
mov dword [ebp - 0x290], esi
mov byte [ebp - 4], 3
cmp esi, 0xffffffff
je 0x4292d8
lea eax, [ebp - 0x234]
push eax
push 0x5444e8
call fcn.004e370b
pop ecx
pop ecx
test eax, eax
je 0x4292bb
lea eax, [ebp - 0x234]
push eax
push 0x5444e0
call fcn.004e370b
pop ecx
pop ecx
test eax, eax
je 0x4292bb
push 0x53d64c
lea edx, [ebp + 8]
lea ecx, [ebp - 0x27c]
call fcn.00409442
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 4
push ecx
mov edx, eax
lea ecx, [ebp - 0x264]
call fcn.00409442
pop ecx
pop ecx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x27c]
lea ecx, [ecx - 0x10]
call fcn.00407189
push 0x53d64c
lea edx, [ebp + 0xc]
lea ecx, [ebp - 0x274]
call fcn.00409442
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 7
push ecx
mov edx, eax
lea ecx, [ebp - 0x268]
call fcn.00409442
pop ecx
pop ecx
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x274]
add ecx, 0xfffffff0
call fcn.00407189
test byte [ebp - 0x260], 0x10
je 0x42927f
push ecx
mov ecx, dword [ebp - 0x268]
mov edi, esp
add ecx, 0xfffffff0
mov dword [ebp - 0x294], esp
mov dword [ebp - 0x278], edi
call fcn.004070e7
add eax, 0x10
mov dword [edi], eax
push ecx
mov byte [ebp - 4], 0xa
mov edi, esp
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x278], edi
lea ecx, [ecx - 0x10]
call fcn.004070e7
add eax, 0x10
lea ecx, [ebp - 0x288]
mov dword [edi], eax
mov edi, dword [ebp - 0x270]
mov edx, edi
mov byte [ebp - 4], 9
call fcn.00429052
pop ecx
pop ecx
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x288], 0
jl 0x429313
mov ecx, dword [ebp - 0x280]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x42929b
push 0
push dword [ebp - 0x268]
push dword [ebp - 0x264]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x429362
mov ecx, dword [ebp - 0x268]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x264]
lea ecx, [ecx - 0x10]
call fcn.00407189
lea eax, [ebp - 0x260]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x429146
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x26c]
lea ecx, [ecx - 0x10]
call fcn.00407189
and dword [ebx], 0
lea ecx, [ebx + 8]
and dword [ebx + 4], 0
call fcn.0040687a
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov eax, ebx
call fcn.004d8aa1
ret
lea eax, [ebp - 0x288]
mov ecx, ebx
push eax
call fcn.0040121b
mov ecx, dword [ebp - 0x280]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x268]
lea ecx, [ecx - 0x10]
call fcn.00407189
mov ecx, dword [ebp - 0x264]
lea ecx, [ecx - 0x10]
call fcn.00407189
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0x26c]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x4292f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x270], eax
test edi, edi
je 0x429386
lea eax, [ebp - 0x264]
mov ecx, edi
push eax
call fcn.00405d6e
mov eax, dword [ebp - 0x270]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x19e
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
mov ecx, ebx
call fcn.00406620
jmp 0x42932f