Function at 0x40f0d0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xe7c
mov eax, dword [0x45407c]
xor eax, esp
mov dword [esp + 0xe78], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
cmp word [ebx + 0x11c8], 0
push esi
lea esi, [ebx + 0x11c8]
push edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], eax
jne 0x40f138
push 0x104
push esi
lea ecx, [ebx + 0xfc0]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetShortPathNameW]
test eax, eax
jne 0x40f126
xor edx, edx
mov word [esi], dx
cmp word [esi], 0
jne 0x40f138
lea eax, [ebx + 0xfc0]
mov dword [esp + 0x1c], eax
jmp 0x40f13c
mov dword [esp + 0x1c], esi
push 0x208
call fcn.0042770a
mov edi, eax
add esp, 4
mov edx, edi
mov esi, ebx
mov dword [esp + 0x10], edi
call fcn.0040fe00
cmp word [edi], 0
je 0x40f174
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 8]
mov edx, dword [ecx]
mov eax, dword [edx]
push 0x64
push 0
call eax
jmp 0x40f48b
push 0x208
mov byte [ebx + 0x138c0], 1
call fcn.0042770a
add esp, 4
mov esi, eax
push esi
push 0x104
mov dword [esp + 0x20], esi
call dword [sym.imp.KERNEL32.DLL_GetTempPathW]
mov edi, dword [sym.imp.SHLWAPI.dll_wnsprintfW]
push esi
push 0x448f08
push 0x104
push esi
call edi
mov ecx, dword [esp + 0x24]
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x11878]
push eax
push 0x40ee00
push 0x40edc0
push esi
push str.http:__dl.zona.ru_jre_latest.exe
lea edx, [esp + 0x44]
push 0x448f6c
push edx
mov dword [esp + 0x58], 1
mov dword [esp + 0x50], ecx
call fcn.004235c0
add esp, 0x2c
call fcn.004233e0
push esi
push str.__s___s_REBOOTSuppress_JAVAUPDATE0_WEBSTARTICON0
lea eax, [esp + 0xc80]
push 0x104
push eax
call edi
mov ecx, dword [ebx + 0x11878]
add esp, 0x10
push str.Start_install_java_1
push str.INFO
call fcn.00404920
lea edx, [esp + 0xc78]
push edx
lea eax, [esp + 0x450]
xor ecx, ecx
push 0x208
push eax
mov dword [esp + 0x454], 0x446af8
mov word [esp + 0x458], cx
call fcn.00428080
mov esi, dword [ebx + 0x11884]
add esp, 0xc
push 0
xor edi, edi
lea ecx, [esp + 0x44c]
mov dword [esp + 0x44c], 0x446b08
call fcn.00403b90
mov edi, dword [esp + 0x10]
mov edx, edi
mov esi, ebx
call fcn.0040fe00
cmp word [edi], 0
jne 0x40f30e
mov ebx, str.jre1
mov eax, esi
call fcn.00408e90
mov ecx, dword [esi + 0x11878]
push str.Start_install_java_2
push str.INFO
call fcn.00404920
push str.dummy
lea edx, [esp + 0x38]
xor ecx, ecx
push 0x208
push edx
mov dword [esp + 0x3c], vtable.CommandWithOneArg.0
mov word [esp + 0x40], cx
call fcn.00428080
mov esi, dword [esi + 0x11884]
add esp, 0xc
push 0
xor edi, edi
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], vtable.ClearJavaInstallerInfoCommand.0
call fcn.00403b90
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x11884]
push edi
lea ecx, [esp + 0x44c]
call fcn.00403b90
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov edx, edi
mov esi, ebx
call fcn.0040fe00
cmp word [edi], 0
jne 0x40f471
mov esi, dword [esp + 0xc]
mov ebx, str.jre2
mov eax, esi
call fcn.00408e90
mov ecx, dword [esi + 0x11878]
push str.Start_install_local_java_3
push str.INFO
call fcn.00404920
push str.dummy
lea edx, [esp + 0x38]
xor ecx, ecx
push 0x208
push edx
mov dword [esp + 0x3c], vtable.CommandWithOneArg.0
mov word [esp + 0x40], cx
call fcn.00428080
mov esi, dword [esi + 0x11884]
add esp, 0xc
xor ebx, ebx
push ebx
xor edi, edi
lea ecx, [esp + 0x34]
mov dword [esp + 0x34], vtable.ClearJavaInstallerInfoCommand.0
call fcn.00403b90
mov esi, dword [esp + 0x18]
push esi
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetTempPathW]
mov edi, dword [sym.imp.SHLWAPI.dll_wnsprintfW]
push esi
push str._sjre_packed.exe
push 0x104
push esi
call edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x11878]
push eax
push 0x40ee00
push 0x40edc0
push esi
push str.http:__dl.zona.ru_jre_packed.exe
lea ecx, [esp + 0x44]
push str.localJre
push ecx
mov dword [esp + 0x58], 1
call fcn.004235c0
add esp, 0x2c
call fcn.004233e0
mov edx, dword [esp + 0x1c]
push edx
push esi
push str.__s___s
lea eax, [esp + 0xc84]
push 0x104
push eax
call edi
add esp, 0x14
lea edx, [esp + 0xc78]
push edx
lea eax, [esp + 0x868]
xor ecx, ecx
push 0x208
push eax
mov dword [esp + 0x86c], 0x446af8
mov word [esp + 0x870], cx
call fcn.00428080
mov esi, dword [ebx + 0x11884]
add esp, 0xc
push 0
xor edi, edi
lea ecx, [esp + 0x864]
mov dword [esp + 0x864], 0x446b08
call fcn.00403b90
mov edi, dword [esp + 0x10]
mov byte [ebx + 0x138c1], 1
mov edx, edi
mov esi, ebx
call fcn.0040fe00
mov ecx, dword [esp + 0x18]
push ecx
call fcn.00427715
mov edi, dword [esp + 0x14]
add esp, 4
push edi
call fcn.00427715
mov ecx, dword [esp + 0xe88]
add esp, 4
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004276fb
mov esp, ebp
pop ebp
ret