Function at 0x401540
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x668
push 0x104
lea eax, [ebp - 0x108]
push eax
push 0x104
lea ecx, [ebp - 0x210]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004019f0
add esp, 0x14
push str.windows_systemdrivers
lea eax, [ebp - 0x210]
push eax
call fcn.004018f0
add esp, 8
movsx ecx, ax
test ecx, ecx
je 0x40166e
push 0x104
lea edx, [ebp - 0x320]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x4015b9
mov dword [ebp - 0x64c], 0
jmp 0x4015d8
push 0x97
mov eax, dword [str.dllcarga.c__DLLGEN_]
push eax
push str.resp
call dword [0x45ad08]
add esp, 0xc
mov dword [ebp - 0x64c], eax
call dword [0x45ae0c]
movsx ecx, ax
test ecx, ecx
je 0x40160d
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x320]
push eax
push str._sdrivers_s
mov ecx, dword [ebp + 0xc]
push ecx
call dword [0x45ac7c]
add esp, 0x10
mov dword [ebp - 0x218], eax
jmp 0x401633
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x320]
push eax
push str._s_s
mov ecx, dword [ebp + 0xc]
push ecx
call dword [0x45ac7c]
add esp, 0x10
mov dword [ebp - 0x218], eax
mov edx, dword [ebp - 0x218]
cmp edx, dword [ebp + 0x10]
jge 0x40164a
mov dword [ebp - 0x650], 0
jmp 0x401669
push 0x9d
mov eax, dword [str.dllcarga.c__DLLGEN_]
push eax
push str.tam___tam_buffer
call dword [0x45ad08]
add esp, 0xc
mov dword [ebp - 0x650], eax
jmp 0x4018e9
push str.windows_system
lea ecx, [ebp - 0x210]
push ecx
call fcn.004018f0
add esp, 8
movsx edx, ax
test edx, edx
je 0x40173b
push 0x104
lea eax, [ebp - 0x42c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x4016ba
mov dword [ebp - 0x654], 0
jmp 0x4016da
push 0xa6
mov ecx, dword [str.dllcarga.c__DLLGEN_]
push ecx
push str.resp
call dword [0x45ad08]
add esp, 0xc
mov dword [ebp - 0x654], eax
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x42c]
push eax
push str._s_s
mov ecx, dword [ebp + 0xc]
push ecx
call dword [0x45ac7c]
add esp, 0x10
mov dword [ebp - 0x324], eax
mov edx, dword [ebp - 0x324]
cmp edx, dword [ebp + 0x10]
jge 0x401717
mov dword [ebp - 0x658], 0
jmp 0x401736
push 0xa8
mov eax, dword [str.dllcarga.c__DLLGEN_]
push eax
push str.tam___tam_buffer
call dword [0x45ad08]
add esp, 0xc
mov dword [ebp - 0x658], eax
jmp 0x4018e9
push str.windows_temp
lea ecx, [ebp - 0x210]
push ecx
call fcn.004018f0
add esp, 8
movsx edx, ax
test edx, edx
je 0x40180b
lea eax, [ebp - 0x538]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov dword [ebp - 0x53c], eax
cmp dword [ebp - 0x53c], 0x104
jae 0x40178a
mov dword [ebp - 0x65c], 0
jmp 0x4017aa
push 0xb2
mov ecx, dword [str.dllcarga.c__DLLGEN_]
push ecx
push str.longitud____MAX_PATH
call dword [0x45ad08]
add esp, 0xc
mov dword [ebp - 0x65c], eax
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x538]
push eax
push str._s_s
mov ecx, dword [ebp + 0xc]
push ecx
call dword [0x45ac7c]
add esp, 0x10
mov dword [ebp - 0x430], eax
mov edx, dword [ebp - 0x430]
cmp edx, dword [ebp + 0x10]
jge 0x4017e7
mov dword [ebp - 0x660], 0
jmp 0x401806
push 0xb4
mov eax, dword [str.dllcarga.c__DLLGEN_]
push eax
push str.tam___tam_buffer
call dword [0x45ad08]
add esp, 0xc
mov dword [ebp - 0x660], eax
jmp 0x4018e9
push str.windows
lea ecx, [ebp - 0x210]
push ecx
call fcn.004018f0
add esp, 8
movsx edx, ax
test edx, edx
je 0x4018d5
push 0x104
lea eax, [ebp - 0x648]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x401857
mov dword [ebp - 0x664], 0
jmp 0x401877
push 0xbd
mov ecx, dword [str.dllcarga.c__DLLGEN_]
push ecx
push str.resp
call dword [0x45ad08]
add esp, 0xc
mov dword [ebp - 0x664], eax
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x648]
push eax
push str._s_s
mov ecx, dword [ebp + 0xc]
push ecx
call dword [0x45ac7c]
add esp, 0x10
mov dword [ebp - 0x540], eax
mov edx, dword [ebp - 0x540]
cmp edx, dword [ebp + 0x10]
jge 0x4018b4
mov dword [ebp - 0x668], 0
jmp 0x4018d3
push 0xbf
mov eax, dword [str.dllcarga.c__DLLGEN_]
push eax
push str.tam___tam_buffer
call dword [0x45ad08]
add esp, 0xc
mov dword [ebp - 0x668], eax
jmp 0x4018e9
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.00401970
add esp, 0xc
mov esp, ebp
pop ebp
ret