Function at 0x1001a350
Capabilities:
Create directory
Get common file path

Disassembly:
sub esp, 0x21c
mov eax, dword [0x1003dac8]
push ebx
mov ebx, ecx
test eax, eax
mov dword [esp + 0x14], ebx
jne 0x1001a372
xor eax, eax
pop ebx
add esp, 0x21c
ret 4
push ebp
push esi
push edi
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x128]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x128]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x24]
lea edx, [esp + 0x128]
rep stosd dword es:[edi], eax
mov ecx, dword [0x1003dac8]
lea eax, [esp + 0x24]
push ecx
push edx
push 0x100303fc
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea ecx, [esp + 0x34]
push 0
push ecx
call dword [sym.imp.MSVCRT.dll__access]
add esp, 0x18
test eax, eax
je 0x1001a3e6
lea edx, [esp + 0x24]
push edx
call dword [sym.imp.MSVCRT.dll__mkdir]
add esp, 4
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0
call dword [sym.imp.MSVCRT.dll_time]
push eax
call dword [sym.imp.MSVCRT.dll_srand]
add esp, 8
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1a]
mov esi, eax
mov eax, dword [esp + 0x18]
and ecx, 0xffff
push esi
and edx, 0xffff
push ecx
mov ecx, dword [esp + 0x1e]
and eax, 0xffff
push edx
mov edx, dword [esp + 0x1e]
push eax
mov eax, dword [esp + 0x20]
and ecx, 0xffff
and edx, 0xffff
push ecx
and eax, 0xffff
push edx
lea ecx, [esp + 0x3c]
push eax
lea edi, [ebx + 0x30]
push ecx
push str._s_04d_02d_02d_02d_02d_02d__08x.tmp
push edi
call sub.MFC42.DLL_CString::Format
mov ebp, dword [esp + 0x258]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x42]
mov ecx, dword [esp + 0x40]
add esp, 0x28
and ebp, 0xff
and edx, 0xffff
and eax, 0xffff
push ebp
push esi
push edx
mov edx, dword [esp + 0x22]
and ecx, 0xffff
push eax
mov eax, dword [esp + 0x22]
push ecx
mov ecx, dword [esp + 0x24]
and edx, 0xffff
and eax, 0xffff
push edx
and ecx, 0xffff
push eax
lea edx, [esp + 0x40]
push ecx
add ebx, 0x34
push edx
push str._s_04d_02d_02d_02d_02d_02d__08x._c
push ebx
call sub.MFC42.DLL_CString::Format
add esp, 0x2c
mov eax, dword [edi]
push 0
push eax
call dword [sym.imp.MSVCRT.dll__access]
add esp, 8
test eax, eax
je 0x1001a4ef
mov eax, dword [ebx]
push 0
push eax
call dword [sym.imp.MSVCRT.dll__access]
add esp, 8
test eax, eax
jne 0x1001a5ab
mov edx, dword [esp + 0x18]
inc esi
inc word [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1a]
push ebp
and eax, 0xffff
push esi
and ecx, 0xffff
push eax
mov eax, dword [esp + 0x22]
and edx, 0xffff
push ecx
mov ecx, dword [esp + 0x22]
push edx
mov edx, dword [esp + 0x24]
and eax, 0xffff
and ecx, 0xffff
push eax
and edx, 0xffff
push ecx
lea eax, [esp + 0x40]
push edx
push eax
push str._s_04d_02d_02d_02d_02d_02d__08x._c
push ebx
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x46]
mov eax, dword [esp + 0x44]
add esp, 0x2c
and ecx, 0xffff
and edx, 0xffff
push esi
push ecx
mov ecx, dword [esp + 0x1e]
and eax, 0xffff
push edx
mov edx, dword [esp + 0x1e]
push eax
mov eax, dword [esp + 0x20]
and ecx, 0xffff
and edx, 0xffff
push ecx
and eax, 0xffff
push edx
lea ecx, [esp + 0x3c]
push eax
push ecx
push str._s_04d_02d_02d_02d_02d_02d__08x.tmp
push edi
call sub.MFC42.DLL_CString::Format
add esp, 0x28
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1001a4c7
mov edi, dword [edi]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edx, dword [esp + 0x20]
xor ecx, ecx
cmp eax, 0xffffffff
pop edi
setne cl
pop esi
mov dword [edx + 0x38], eax
pop ebp
mov eax, ecx
pop ebx
add esp, 0x21c
ret 4