Function at 0x402d93
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
push ebx
push esi
push edi
mov esi, ecx
push 0x40
xor ebx, ebx
pop ecx
xor eax, eax
lea edi, [ebp - 0x10b]
mov byte [ebp - 0x10c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x20f]
mov byte [ebp - 0x210], bl
push 0x514
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push ebx
push esi
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
xor edi, edi
call fcn.0040d7e0
mov eax, dword [ebp + 8]
add esp, 0xc
dec eax
cmp eax, 0x23
ja case.default.0x402df3
jmp dword [eax*4 + 0x40317a]
lea eax, [ebp - 0x10c]
push 0x104
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
jmp case.default.0x402df3
lea eax, [ebp - 0x10c]
push 0x104
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebx
lea eax, [esi + 0x104]
push ebx
push eax
lea eax, [ebp - 0x10c]
push esi
push eax
call fcn.0040d660
add esp, 0x14
mov ecx, esi
call fcn.004029c1
push eax
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40312d
lea eax, [ebp - 0x10c]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
jmp 0x40312d
lea eax, [ebp - 0x10c]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
jmp 0x40312d
lea eax, [ebp - 0x10c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
jmp 0x40312d
mov edi, str.Windows_4.0
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 1
push edi
push ebx
call sub.ZSPOOL.dll_GetPrinterDriverDirectoryA
jmp 0x40312d
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 1
push ebx
push ebx
call sub.ZSPOOL.dll_GetPrintProcessorDirectoryA
jmp 0x40312d
lea eax, [ebp - 0x10c]
push 0x104
push eax
mov ecx, esi
call fcn.004033ef
jmp 0x40312d
lea eax, [ebp - 0x10c]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp - 0x10c]
push eax
call fcn.00407161
mov dword [esp], str.System32Drivers_
jmp 0x402f42
lea eax, [ebp - 0x10c]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp - 0x10c]
push eax
call fcn.00407161
mov dword [esp], str.Inf_
lea eax, [ebp - 0x10c]
push eax
call fcn.0040d580
pop ecx
jmp 0x403139
lea eax, [ebp - 0x210]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je case.default.0x402df3
lea eax, [ebp - 0x10c]
push eax
push ebx
lea eax, [ebp - 0x210]
push 0x4193ac
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
jmp case.default.0x402df3
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 6
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push ebx
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x1a
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x20
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x21
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x14
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x22
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x13
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 5
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x1b
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 2
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 8
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 9
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0xb
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 7
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x1d
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x18
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x1e
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x15
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x26
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 4
jmp 0x403111
lea eax, [ebp - 0x10c]
push 0x104
push eax
push 0x17
push ebx
mov ecx, esi
call fcn.0040320a
jmp case.default.0x402df3
lea eax, [ebp - 0x10c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x10c]
push eax
call fcn.00407161
pop ecx
lea eax, [ebp - 0x10c]
test eax, eax
je 0x403170
lea eax, [esi + 0x30c]
mov dword [ebp - 4], 1
push eax
lea eax, [esi + 0x208]
push eax
lea eax, [esi + 0x104]
push eax
lea eax, [ebp - 0x10c]
push esi
push eax
call fcn.0040d660
add esp, 0x14
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 4