Function at 0x401ad0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x118
push ebx
push ebp
push esi
push edi
push 0x450
mov ebx, ecx
push 0x404010
call fcn.00401a60
mov ecx, 0x82
xor eax, eax
mov edi, ebx
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [ebx + 0x208]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x24]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0
call sub.MSVCRT.dll_time
push eax
call sub.MSVCRT.dll_srand
call sub.MSVCRT.dll_rand
lea ecx, [eax + eax*8]
lea ecx, [eax + ecx*4]
lea ecx, [ecx + ecx*2]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*2]
push eax
lea eax, [esp + 0x1c]
push str._d.gif
push eax
call sub.MSVCRT.dll_sprintf
lea edi, [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x38]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x38]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, str.g_b96o
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x404488
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x404488
call fcn.00401ab0
mov edi, 0x404460
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x404460
call fcn.00401ab0
mov edi, 0x40446a
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x40446a
call fcn.00401ab0
mov edi, str.ojgg
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ojgg
call fcn.00401ab0
mov edi, 0x40449c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x40449c
call fcn.00401ab0
mov edi, 0x404492
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x404492
call fcn.00401ab0
mov edi, 0x404474
or ecx, 0xffffffff
xor eax, eax
add esp, 0x44
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x404474
call fcn.00401ab0
mov edi, 0x4044ba
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4044ba
call fcn.00401ab0
mov edi, 0x4044b0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4044b0
call fcn.00401ab0
mov edi, 0x4044a6
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4044a6
call fcn.00401ab0
or ecx, 0xffffffff
mov edi, 0x40447e
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x40447e
call fcn.00401ab0
mov edi, 0x4044ce
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4044ce
call fcn.00401ab0
mov edi, 0x4044d8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4044d8
call fcn.00401ab0
mov edi, 0x4044e2
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x4044e2
call fcn.00401ab0
mov edi, str.Wfstjpo
or ecx, 0xffffffff
xor eax, eax
add esp, 0x40
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Wfstjpo
call fcn.00401ab0
mov edi, str.Fyqfsu
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Fyqfsu
call fcn.00401ab0
mov edi, str.Qbdl
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Qbdl
call fcn.00401ab0
mov edi, str.Bobmzfs
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Bobmzfs
call fcn.00401ab0
mov edi, str.XjoOfuDbq
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.XjoOfuDbq
call fcn.00401ab0
mov edi, 0x404528
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x404528
call fcn.00401ab0
mov edi, str.Xjsftibsl
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Xjsftibsl
call fcn.00401ab0
mov edi, 0x40453c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x40453c
call fcn.00401ab0
mov edi, 0x404546
or ecx, 0xffffffff
xor eax, eax
add esp, 0x40
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x404546
call fcn.00401ab0
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x118
ret