Function at 0x401113
Capabilities:
Get common file path

Disassembly:
mov eax, 0x4401ab
call fcn.00416678
sub esp, 0x118
and dword [ebp - 0x1c], 0
push ebx
push esi
lea ecx, [ebp - 0x18]
push dword [ebp + 0xc]
call fcn.0042677b
push 1
lea ecx, [ebp - 0x18]
pop ebx
mov dword [ebp - 4], ebx
call fcn.004249e7
lea ecx, [ebp - 0x18]
call fcn.0042499b
mov esi, 0x458744
push esi
push dword [ebp - 0x18]
call fcn.004161f3
pop ecx
test eax, eax
pop ecx
jne 0x40116f
mov ecx, dword [ebp + 8]
push esi
call fcn.00426a74
mov dword [ebp - 0x1c], ebx
jmp 0x4013c1
mov eax, dword [0x4564ec]
mov dword [ebp + 0xc], eax
mov esi, 0x105
lea eax, [ebp - 0x124]
push esi
push eax
mov byte [ebp - 4], 2
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp - 0x124]
lea ecx, [ebp - 0x10]
push eax
call fcn.00426a74
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00401031
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 4
call fcn.00426b3f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.00426a06
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.00426a06
push dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push str.win
call fcn.004243f0
lea eax, [ebp - 0x124]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x124]
lea ecx, [ebp - 0x10]
push eax
call fcn.00426a74
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00401031
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 6
call fcn.00426b3f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.00426a06
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.00426a06
push dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push str.sys
call fcn.004243f0
lea eax, [ebp - 0x124]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x124]
lea ecx, [ebp - 0x10]
push eax
call fcn.00426a74
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00401031
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 8
call fcn.00426b3f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.00426a06
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.00426a06
push dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push str.tmp
call fcn.004243f0
lea eax, [ebp - 0x124]
push esi
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x124]
push 0x5c
push eax
call fcn.00416790
pop ecx
test eax, eax
pop ecx
je 0x40132e
and byte [eax + 1], 0
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x10]
call fcn.00426a74
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00401031
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0xa
call fcn.00426b3f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 9
call fcn.00426a06
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.00426a06
push dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push str.app
call fcn.004243f0
lea eax, [ebp - 0x14]
push eax
call fcn.0040bf6d
push dword [eax]
lea eax, [ebp - 0x124]
push eax
call fcn.004166a0
add esp, 0xc
lea ecx, [ebp - 0x14]
call fcn.00426a06
lea eax, [ebp - 0x124]
lea ecx, [ebp - 0x10]
push eax
call fcn.00426a74
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00401031
pop ecx
pop ecx
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0xc
call fcn.00426b3f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xb
call fcn.00426a06
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.00426a06
push dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
push str.ebook
call fcn.004243f0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x18]
push eax
call fcn.0042677b
lea ecx, [ebp + 0xc]
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], bl
call fcn.00426a06
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00426a06
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8