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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x650
mov eax, dword [0x475280]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x62c], 0
lea eax, [ebp - 0x638]
push eax
push 0x104
mov ecx, dword [ebp + 8]
push ecx
call fcn.00416e40
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
jge 0x41e749
mov edx, dword [ebp - 0x62c]
push edx
call fcn.0041c370
jmp 0x41eae8
mov eax, dword [ebp + 8]
push eax
push 0x105
lea ecx, [ebp - 0x41c]
push ecx
call fcn.004117b0
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
jge 0x41e783
mov edx, dword [ebp - 0x62c]
push edx
call fcn.0041c370
jmp 0x41eae8
lea eax, [ebp - 0x638]
push eax
push 1
mov ecx, dword [ebp - 0x638]
push ecx
call fcn.00420310
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
jge 0x41e7bd
mov edx, dword [ebp - 0x62c]
push edx
call fcn.0041c370
jmp 0x41eae8
mov eax, dword [ebp - 0x638]
movzx ecx, word [ebp + eax*2 - 0x41c]
cmp ecx, 0x5c
jne 0x41e801
mov edx, dword [ebp - 0x638]
shl edx, 1
mov dword [ebp - 0x640], edx
cmp dword [ebp - 0x640], 0x20a
jae 0x41e7ec
jmp 0x41e7f1
call fcn.00471e58
xor eax, eax
mov ecx, dword [ebp - 0x640]
mov word [ebp + ecx - 0x41c], ax
mov edx, 2
imul eax, edx, 0
mov dword [ebp - 0x644], eax
cmp dword [ebp - 0x644], 0x20a
jae 0x41e81d
jmp 0x41e822
call fcn.00471e58
xor ecx, ecx
mov edx, dword [ebp - 0x644]
mov word [ebp + edx - 0x210], cx
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x63c], 0
mov ecx, dword [ebp - 0x630]
movzx edx, word [ecx]
cmp edx, 0x5c
jne 0x41e86f
mov eax, dword [ebp - 0x630]
add eax, 2
mov dword [ebp - 0x630], eax
cmp dword [ebp - 0x63c], 0
jne 0x41eae8
push 0x5c
mov ecx, dword [ebp - 0x630]
push ecx
call dword [sym.imp.msvcrt.dll_wcschr]
add esp, 8
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
jne 0x41e8e9
mov edx, dword [ebp - 0x630]
push edx
push 0x105
lea eax, [ebp - 0x628]
push eax
call fcn.004117b0
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
jge 0x41e8da
mov ecx, dword [ebp - 0x62c]
push ecx
call fcn.0041c370
jmp 0x41eae8
mov dword [ebp - 0x63c], 1
jmp 0x41e99c
mov edx, dword [ebp - 0x634]
sub edx, dword [ebp - 0x630]
sar edx, 1
push edx
mov eax, dword [ebp - 0x630]
push eax
push 0x105
lea ecx, [ebp - 0x628]
push ecx
call fcn.00416dd0
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
jge 0x41e935
mov edx, dword [ebp - 0x62c]
push edx
call fcn.0041c370
jmp 0x41eae8
mov eax, dword [ebp - 0x634]
cmp eax, dword [ebp - 0x630]
jae 0x41e963
mov dword [ebp - 0x62c], 0x80070216
mov ecx, dword [ebp - 0x62c]
push ecx
call fcn.0041c370
jmp 0x41eae8
mov edx, dword [ebp - 0x634]
sub edx, dword [ebp - 0x630]
sar edx, 1
shl edx, 1
mov dword [ebp - 0x648], edx
cmp dword [ebp - 0x648], 0x20a
jae 0x41e987
jmp 0x41e98c
call fcn.00471e58
xor eax, eax
mov ecx, dword [ebp - 0x648]
mov word [ebp + ecx - 0x628], ax
lea edx, [ebp - 0x628]
push edx
push 0x105
lea eax, [ebp - 0x210]
push eax
call fcn.00411810
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
jge 0x41e9d9
mov ecx, dword [ebp - 0x62c]
push ecx
call fcn.0041c370
jmp 0x41eae8
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 0xffffffff
je 0x41ea04
mov eax, dword [ebp - 0x64c]
and eax, 0x10
jne 0x41ea96
cmp dword [ebp - 0x63c], 0
je 0x41ea18
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x650], ecx
jmp 0x41ea22
mov dword [ebp - 0x650], 0
mov edx, dword [ebp - 0x650]
push edx
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x41ea62
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0041c350
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x62c]
push ecx
call fcn.0041c370
jmp 0x41eae8
lea edx, [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x41ea96
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0041c350
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
push eax
call fcn.0041c370
jmp 0x41eae8
cmp dword [ebp - 0x634], 0
je 0x41eae3
mov ecx, dword [ebp - 0x634]
add ecx, 2
mov dword [ebp - 0x630], ecx
push 0x4020a8
push 0x105
lea edx, [ebp - 0x210]
push edx
call fcn.00411810
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x62c], 0
jge 0x41eae3
mov eax, dword [ebp - 0x62c]
push eax
call fcn.0041c370
jmp 0x41eae8
jmp 0x41e86f
mov ecx, dword [ebp - 0x62c]
push ecx
call fcn.0041c3a0
mov eax, dword [ebp - 0x62c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00471d10
mov esp, ebp
pop ebp
ret 8