Function at 0x10033270
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10051a73
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x38e0
call fcn.10041d60
mov eax, dword [0x100778dc]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10], esp
push edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38d8], ecx
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeA]
test eax, eax
jne 0x100332c4
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x10033500
mov esi, dword [ebp + 0xc]
push esi
lea ecx, [ebp - 0x26a0]
call fcn.10032030
mov al, byte [ebp - 0x26a0]
xor ebx, ebx
cmp al, bl
mov dword [ebp - 0x38dc], 0x104
je 0x10033370
cmp dword [ebp - 0x267c], 5
jne 0x10033370
push ebx
lea eax, [ebp - 0x38dc]
push eax
lea ecx, [ebp - 0x134]
push ecx
push esi
call dword [sym.imp.SHLWAPI.dll_PathCreateFromUrlA]
test eax, eax
jne 0x10033370
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
test eax, eax
je 0x10033370
push edi
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
test eax, eax
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
je 0x10033346
lea ecx, [ebp - 0x134]
push ecx
call esi
test eax, eax
jne 0x10033369
push str..url
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAddExtensionA]
test eax, eax
je 0x10033376
lea eax, [ebp - 0x134]
push eax
call esi
test eax, eax
je 0x10033376
xor al, al
jmp 0x10033537
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
cmp byte [0x1007ae4d], bl
jne 0x100333dd
push ebx
push 6
lea ecx, [ebp - 0x134]
push ecx
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
test eax, eax
je 0x100333dd
push edi
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
test eax, eax
je 0x100333b6
lea eax, [ebp - 0x134]
push eax
call esi
test eax, eax
jne 0x10033500
push str..url
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAddExtensionA]
test eax, eax
je 0x100333dd
lea edx, [ebp - 0x134]
push edx
call esi
test eax, eax
jne 0x10033500
mov esi, dword [ebp + 0x10]
cmp esi, ebx
mov byte [ebp - 0x146c], bl
jne 0x100333f0
lea esi, [ebp - 0x146c]
push esi
push edi
mov edi, dword [ebp - 0x38d8]
mov ecx, edi
call fcn.10032bc0
test al, al
je 0x10033535
cmp dword [esi + 0x24], 3
jne 0x10033500
push 0x20
add esi, 0x28
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrA]
test eax, eax
jne 0x10033535
push esi
mov ecx, edi
call fcn.100323e0
test al, al
jne 0x10033500
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
push 1
push esi
mov dword [ebp - 4], ebx
call fcn.1003d460
add esp, 8
test al, al
jne 0x1003349b
push ebx
push 1
push esi
lea ecx, [ebp - 0x38f0]
mov byte [ebp - 4], 1
call fcn.1003f520
push 1
push 1
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x38f0]
push ecx
mov byte [ebp - 4], 2
call fcn.1003acf0
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x2c]
add esp, 0x10
cmp eax, 0x10
jae 0x10033490
lea esi, [ebp - 0x2c]
lea ecx, [ebp - 0x38f0]
call fcn.1000dab0
xor eax, eax
mov byte [ebp - 0x238], bl
mov ecx, 0x40
lea edi, [ebp - 0x237]
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x38d8]
push 1
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x238]
push ecx
push esi
mov ecx, edi
mov dword [ebp - 4], ebx
mov dword [ebp + 8], ebx
call fcn.100328c0
test al, al
jne 0x10033504
push 1
push esi
mov ecx, edi
mov byte [ebp - 0x38d4], bl
call fcn.10032ff0
jmp 0x10033529
lea ecx, [ebp - 0x30]
call fcn.100246d0
xor al, al
jmp 0x10033537
cmp byte [ebp - 0x238], bl
je 0x100334f8
mov eax, dword [ebp + 8]
cmp eax, ebx
je 0x100334f8
push eax
lea edx, [ebp - 0x238]
push edx
push esi
mov ecx, edi
mov byte [ebp - 0x38d4], bl
call fcn.100331c0
test al, al
lea ecx, [ebp - 0x30]
jne 0x100334fb
call fcn.100246d0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.1004189e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc