Function at 0x4032b0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
sub esp, 0x41c
mov ax, word [0x4521dc]
mov cl, byte [0x4521de]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x42c]
test esi, esi
push edi
mov word [esp + 0x14], ax
mov byte [esp + 0x16], cl
je 0x40350b
push 3
lea edx, [esp + 0x120]
push esi
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x11c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40350b
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40332c
and eax, 0xff
pop edi
shr eax, 4
pop esi
pop ebp
and eax, 1
pop ebx
add esp, 0x41c
ret
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x18]
lea edx, [esp + 0x328]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x224]
push edx
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x32c]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [esp + 0x228]
lea ecx, [esp + 0x1c]
push eax
push ecx
push edx
push esi
mov dword [esp + 0x24], 0
call fcn.0042d1fb
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0x14
lea eax, [esp + 0x18]
push eax
call esi
test eax, eax
jle 0x40350b
lea ecx, [esp + 0x10]
push ecx
call esi
test eax, eax
jle 0x40350b
lea edx, [esp + 0x224]
push edx
call esi
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
test eax, eax
jg 0x4034a7
lea eax, [esp + 0x328]
push eax
call esi
test eax, eax
jg 0x4034a7
lea ecx, [esp + 0x18]
push 0x45228c
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40350b
lea edx, [esp + 0x18]
push edx
call esi
lea eax, [esp + eax + 0x18]
push eax
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_CharPrevA]
cmp byte [eax], 0x5c
jne 0x40350b
mov byte [eax], 0
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x11c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
lea edx, [esp + 0x11c]
push ecx
push edx
stosb byte es:[edi], al
call ebp
lea eax, [esp + 0x18]
lea ecx, [esp + 0x11c]
push eax
push ecx
call ebx
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x18]
lea edx, [esp + 0x328]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x224]
push edx
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x32c]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
lea eax, [esp + 0x228]
lea ecx, [esp + 0x1c]
push eax
push ecx
lea eax, [esp + 0x128]
push edx
push eax
mov dword [esp + 0x24], 0
call fcn.0042d1fb
add esp, 0x14
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x11c]
lea edx, [esp + 0x11c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
push ecx
push edx
stosb byte es:[edi], al
call ebp
lea eax, [esp + 0x18]
lea ecx, [esp + 0x11c]
push eax
push ecx
call ebx
lea edx, [esp + 0x11c]
push edx
call fcn.004032b0
add esp, 4
test eax, eax
je 0x40350b
mov eax, dword [esp + 0x430]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
neg eax
pop ebx
add esp, 0x41c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x41c
ret