Function at 0x1000df70
Capabilities:
Check if file exists
Create directory
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x101c6270]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
cmp byte [eax + 0x10], 0
push edi
mov dword [ebp - 0x210], eax
jne 0x1000e08d
call sym.AdDLM.dll_public:_static_class_DownloadRequestLog____cdecl_DownloadRequestLog::getInstance_void_
mov edx, dword [ebx]
mov esi, eax
mov ecx, ebx
mov edi, dword [esi]
call dword [edx + 4]
push eax
mov eax, dword [edi + 0xc]
mov ecx, esi
call eax
test al, al
jne 0x1000e087
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xb0]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0xf6
jle 0x1000dff2
push 0x6f
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010f54f
mov esp, ebp
pop ebp
ret 4
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov edi, dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
jne 0x1000e00e
push 0
push esi
push 0
call edi
test eax, eax
jne 0x1000dfdd
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x78]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0xf6
jg 0x1000dfd5
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1000e039
push eax
push esi
push eax
call edi
test eax, eax
jne 0x1000dfdd
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.1012bf20
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push 0
push 0x101a3d80
push esi
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x1000dfdd
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebx]
lea ecx, [ebp - 0x20c]
push ecx
mov ecx, ebx
call dword [eax + 0x74]
mov eax, dword [ebp - 0x210]
push eax
push ebx
call sym.AdDLM.dll_public:_static_class_Download____cdecl_AdDLM::createDownload_class_DownloadRequest___class_DownloadMgr__
mov esi, eax
add esp, 8
mov ecx, esi
mov dword [ebp - 0x214], esi
mov edx, dword [esi]
call dword [edx + 0x3c]
mov edx, dword [esi]
mov ecx, esi
mov edi, eax
mov edx, dword [edx]
call edx
test al, al
jne 0x1000e11e
cmp edi, 0x20000000
je 0x1000e0d4
cmp edi, 0x20000003
je 0x1000e0d4
cmp edi, 0x20000002
je 0x1000e0d4
cmp edi, 0x20000001
jne 0x1000e11e
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax]
call eax
test al, al
mov ecx, esi
mov eax, dword [esi]
je 0x1000e0e9
mov eax, dword [eax + 0x1c]
jmp 0x1000e0ec
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x210]
test al, al
jne 0x1000e124
cmp byte [ecx + 0x10], al
jne 0x1000e124
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 0xa4]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010f54f
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 0x210]
lea eax, [ebp - 0x214]
add ecx, 0x2c
push eax
call fcn.1000aae0
call sym.AdDLM.dll_public:_static_class_DownloadRequestLog____cdecl_DownloadRequestLog::getInstance_void_
push ebx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x214]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.1010f54f
mov esp, ebp
pop ebp
ret 4