Function at 0x418fcf
Capabilities:
Get common file path
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa28
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [esi + 0x8c14], edi
call fcn.0040a0b9
test eax, eax
je 0x419282
add esi, 0x8c18
call fcn.00416ef1
mov ebx, 0x104
push ebx
lea eax, [ebp - 0x14b]
push edi
push eax
mov byte [ebp - 0x14c], 0
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
lea eax, [ebp - 0x77b]
push edi
push eax
mov byte [ebp - 0x77c], 0
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
lea eax, [ebp - 0x673]
push edi
push eax
mov byte [ebp - 0x674], 0
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
lea eax, [ebp - 0x56b]
push edi
push eax
mov byte [ebp - 0x56c], 0
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
lea eax, [ebp - 0x35b]
push edi
push eax
mov byte [ebp - 0x35c], 0
call sub.msvcrt.dll_memset
add esp, 0xc
push ebx
lea eax, [ebp - 0x253]
push edi
push eax
mov byte [ebp - 0x254], 0
call sub.msvcrt.dll_memset
add esp, 0xc
cmp dword [ebp + 0xc], edi
je 0x4190a0
push dword [ebp + 0x10]
jmp 0x4191a8
lea eax, [ebp - 0x14c]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetTempPathA]
lea eax, [ebp - 0x14c]
push eax
push dword [ebp + 8]
call fcn.00418da5
mov esi, dword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableA]
push ebx
lea eax, [ebp - 0x77c]
push eax
push str.TEMP
call esi
push ebx
lea eax, [ebp - 0x674]
push eax
push 0x420f88
call esi
lea esi, [ebp - 0x14c]
call fcn.00409ad8
lea esi, [ebp - 0x77c]
call fcn.00409ad8
lea esi, [ebp - 0x674]
call fcn.00409ad8
push ebx
lea eax, [ebp - 0x56c]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.0040a262
add esp, 0xc
push ebx
lea eax, [ebp - 0x35c]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.0040a262
add esp, 0xc
push ebx
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x14c]
push eax
call fcn.0040a262
add esp, 0xc
lea eax, [ebp - 0x35c]
push eax
lea eax, [ebp - 0x56c]
push eax
call sub.msvcrt.dll__mbsicmp
test eax, eax
pop ecx
pop ecx
je 0x41916f
lea eax, [ebp - 0x35c]
push eax
push dword [ebp + 8]
call fcn.00418da5
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x56c]
push eax
call sub.msvcrt.dll__mbsicmp
test eax, eax
pop ecx
pop ecx
je 0x4191b0
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x35c]
push eax
call sub.msvcrt.dll__mbsicmp
test eax, eax
pop ecx
pop ecx
je 0x4191b0
lea eax, [ebp - 0x254]
push eax
push dword [ebp + 8]
call fcn.00418da5
push ebx
lea eax, [ebp - 0x463]
push edi
push eax
mov byte [ebp - 0x464], 0
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x20
pop eax
lea edi, [ebp - 0x464]
call fcn.00417b90
mov esi, edi
call fcn.00409ad8
push ebx
push 0x420f8c
call fcn.0040a8f7
mov ebx, dword [ebp + 8]
pop ecx
pop ecx
mov eax, edi
push eax
push ebx
call fcn.00418da5
lea eax, [ebp - 0xa24]
call fcn.00401abc
lea eax, [ebp - 0x24]
call fcn.0040ae26
push eax
call fcn.00402fc6
xor edi, edi
cmp dword [ebp - 8], edi
mov esi, str..tmp
jle 0x419233
push esi
mov eax, edi
lea ecx, [ebp - 0x24]
call fcn.0040af11
push eax
push ebx
call fcn.00418e54
inc edi
cmp edi, dword [ebp - 8]
jl 0x41921b
lea eax, [ebp - 0x44]
call fcn.0040ae26
push eax
call fcn.0040bd5b
xor edi, edi
cmp dword [ebp - 0x28], edi
pop ecx
jle 0x419261
push esi
mov eax, edi
lea ecx, [ebp - 0x44]
call fcn.0040af11
push eax
push ebx
call fcn.00418e54
inc edi
cmp edi, dword [ebp - 0x28]
jl 0x419249
push ebx
call fcn.004189b7
lea esi, [ebp - 0x44]
call fcn.0040ae48
lea esi, [ebp - 0x24]
call fcn.0040ae48
lea esi, [ebp - 0xa24]
call fcn.00401b05
pop edi
pop esi
pop ebx
leave
ret 0xc