Function at 0x42ab10
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47b68f
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1ca4
call fcn.0046eb00
mov eax, dword [0x49b3d4]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x8c28]
push str.BEGIN_thread_installJreFunc
mov ebx, esi
push str.INFO
mov dword [ebp - 0x1c9c], esi
mov dword [ebp - 0x1ca0], ebx
call fcn.00416a80
mov dword [ebp - 4], 0
mov ecx, dword [esi + 4]
push str.installJreFunc_start_
add ecx, 0x8d58
push ecx
call fcn.0040260f
lea eax, [ebp - 0x1428]
call fcn.004025a9
mov edi, 3
mov byte [ebp - 4], 1
mov dword [ebp - 0x1ca4], edi
mov byte [ebp - 0x1c95], 0
jmp 0x42abb0
test edi, edi
jle 0x42ada3
cmp byte [ebp - 0x1c95], 0
jne 0x42ada3
lea edx, [ebp - 0xc4]
push edx
call fcn.00409760
lea eax, [ebp - 0xb4]
push str.____Start_download_jre_attemptRemind
push eax
mov byte [ebp - 4], 2
call fcn.0042c550
add esp, 8
push edi
push eax
call fcn.0042c310
push eax
call fcn.00402188
lea edi, [ebp - 0x13c8]
lea eax, [ebp - 0xc4]
call fcn.00409820
mov byte [ebp - 4], 3
mov ecx, dword [esi + 4]
mov edi, dword [ecx + 0x8c28]
call fcn.0040263b
push eax
push str.INFO
mov ecx, edi
call fcn.00416a80
lea ecx, [ebp - 0x13c8]
mov byte [ebp - 4], 2
call fcn.00402601
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x8c28]
add eax, 0xb598
push eax
call fcn.004505c0
mov eax, dword [esi + 4]
mov edx, dword [eax + 0x8c28]
lea ecx, [eax + 0xb598]
mov eax, dword [ebx]
push eax
push ebx
push edx
lea edx, [ebp - 0x13c8]
call fcn.00451340
mov byte [ebp - 4], 4
call fcn.00404e4c
mov esi, eax
lea ebx, [ebp - 0x1428]
call fcn.0040388e
lea ecx, [ebp - 0x13c8]
mov byte [ebp - 4], 2
call fcn.00402601
cmp dword [ebp - 0x1418], 0
je 0x42acba
mov eax, ebx
call fcn.0040263b
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42acba
test al, 0x10
jne 0x42acba
mov ebx, 1
mov byte [ebp - 0x1c95], bl
jmp 0x42acc6
mov byte [ebp - 0x1c95], 0
mov ebx, 1
sub dword [ebp - 0x1ca4], ebx
cmp byte [ebp - 0x1c95], 0
mov edi, str.SUCCESS
jne 0x42acdf
mov edi, str.FAILED
push str.___End_download_jre_result
lea eax, [ebp - 0x13c8]
call fcn.004025d0
mov ecx, dword [ebp - 0x1c9c]
mov byte [ebp - 4], 5
mov edx, dword [ecx + 4]
mov esi, dword [edx + 0x8c28]
push edi
push eax
call fcn.0040260f
call fcn.0040263b
push eax
push str.INFO
mov ecx, esi
call fcn.00416a80
lea ecx, [ebp - 0x13c8]
call fcn.00402601
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 4]
lea eax, [ebp - 0x64]
mov dword [ebp - 0x1cb0], eax
mov dword [ebp + edx - 0xc4], vtable.std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 6
call fcn.00402640
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 4]
mov dword [ebp + ecx - 0xc4], vtable.std::basic_iostream_wchar_t__struct_std::char_traits_wchar_t__.0
lea ecx, [ebp - 0xac]
call fcn.00402179
mov edx, dword [ebp - 0xc4]
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x64]
mov dword [ebp + eax - 0xc4], vtable.std::basic_istream_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.004022a1
mov ebx, dword [ebp - 0x1ca0]
mov edi, dword [ebp - 0x1ca4]
mov esi, ebx
jmp 0x42abb0
mov ebx, dword [esi + 4]
cmp word [ebx + 0x80c], 0
lea edi, [ebx + 0x80c]
jne 0x42adf8
cmp word [ebx + 0x604], 0
jne 0x42adc8
mov edx, dword [ebx]
mov eax, dword [edx]
mov ecx, ebx
call eax
push 0x104
push edi
lea eax, [ebx + 0x604]
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
test eax, eax
jne 0x42ade4
xor ecx, ecx
mov word [edi], cx
cmp word [edi], 0
jne 0x42adf8
add ebx, 0x604
mov dword [ebp - 0x1c9c], ebx
jmp 0x42ae00
mov ebx, edi
mov dword [ebp - 0x1c9c], edi
lea eax, [ebp - 0x1428]
call fcn.0040263b
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42af7a
test al, 0x10
jne 0x42af7a
cmp byte [ebp - 0x1c95], 0
je 0x42af66
push str.unpackJre
lea eax, [ebp - 0x13c8]
call fcn.004025d0
mov byte [ebp - 4], 7
mov ecx, dword [esi + 4]
add ecx, 0xac4
lea edi, [ebp - 0x13c8]
call fcn.004135a0
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.00402601
lea eax, [ebp - 0x1428]
call fcn.0040263b
push eax
lea eax, [ebp - 0x13c8]
call fcn.004025d0
push 0x48664c
push eax
mov byte [ebp - 4], 8
call fcn.0040260f
push ebx
push eax
call fcn.0040260f
push 0x486650
push eax
call fcn.0040260f
call fcn.0040263b
push eax
lea eax, [ebp - 0x1878]
xor edx, edx
push 0x208
push eax
mov dword [ebp - method.std::error_category.virtual_4], vtable.CommandWithOneArg.0
mov word [ebp - 0x1878], dx
call fcn.004593e1
add esp, 0xc
lea ecx, [ebp - 0x13c8]
mov dword [ebp - 0x187c], 0x484d0c
mov byte [ebp - 4], 1
call fcn.00402601
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x8c30]
mov edx, dword [ecx]
mov edx, dword [edx]
push 0x100
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x187c]
push eax
call edx
push str.unpackJre
lea eax, [ebp - 0x13c8]
call fcn.004025d0
lea eax, [ebp - 0x13c8]
push eax
mov byte [ebp - 4], 9
mov eax, dword [esi + 4]
add eax, 0xac4
call fcn.00413650
lea ecx, [ebp - 0x13c8]
mov byte [ebp - 4], 1
call fcn.00402601
mov ecx, dword [esi + 4]
push str.tarGz_
add ecx, 0x8d58
push ecx
call fcn.0040260f
lea edx, [ebp - 0x3ac]
push edx
push eax
call fcn.0040260f
push 0x485bf4
push eax
call fcn.0040260f
lea eax, [ebp - 0x1428]
call fcn.0040263b
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x42af98
mov eax, dword [esi + 4]
add eax, 0x8d20
push str.tarGzDownloadFail
push eax
call fcn.0040260f
push 0x485bf4
push eax
call fcn.0040260f
mov ebx, dword [esi + 4]
lea eax, [ebp - 0x13f0]
call fcn.004025a9
xor eax, eax
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x13f0]
lea ecx, [ebp - 0x13ac]
mov word [ebp - 0x13ac], ax
call fcn.0042d290
cmp dword [ebp - 0x13e0], 0
lea ecx, [ebp - 0x13f0]
setne bl
mov byte [ebp - 4], 1
call fcn.00402601
test bl, bl
jne 0x42b329
mov ecx, dword [esi + 4]
mov edi, dword [ecx + 0x8c28]
push str.tart_install_local_java_3
push 0x4841d0
call fcn.004087e0
add esp, 8
push eax
push str.INFO
mov ecx, edi
call fcn.00416a80
push str.ummy
push 0x483f10
call fcn.004087e0
add esp, 8
push eax
lea eax, [ebp - 0x1878]
xor edx, edx
push 0x208
push eax
mov dword [ebp - method.std::error_category.virtual_4], vtable.CommandWithOneArg.0
mov word [ebp - 0x1878], dx
call fcn.004593e1
mov ecx, dword [esi + 4]
add esp, 0xc
mov dword [ebp - 0x187c], 0x4869f4
mov ecx, dword [ecx + 0x8c30]
mov edx, dword [ecx]
mov edx, dword [edx]
push 0x64
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x187c]
push eax
call edx
lea eax, [ebp - 0x13f0]
call fcn.004025a9
mov byte [ebp - 4], 0xb
mov ebx, dword [esi + 4]
cmp dword [ebx + 0xa40], 0
jne 0x42b0c7
push 0x104
lea eax, [ebp - 0x13ac]
push eax
lea eax, [ebx + 0xa14]
call fcn.0040263b
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
test eax, eax
jne 0x42b0b5
lea eax, [ebx + 0xa14]
jmp 0x42b0cd
lea ecx, [ebp - 0x13ac]
push ecx
lea edi, [ebx + 0xa30]
call fcn.0040262a
lea eax, [ebx + 0xa30]
call fcn.0040263b
push eax
lea eax, [ebp - 0x13c8]
call fcn.004025d0
push 0x4866d4
push 0x484564
mov byte [ebp - 4], 0xc
call fcn.004087e0
add esp, 8
push eax
lea edx, [ebp - 0x13c8]
push edx
call fcn.0040260f
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x8c28]
push str.re_packed.zip
push 0x4866f8
call fcn.004087e0
add esp, 8
push edi
push eax
lea ecx, [ebp - 0x13f0]
lea edx, [ebp - 0x13c8]
call fcn.004080f0
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x8c28]
mov ebx, dword [ebp - 0x1ca0]
mov edi, dword [ebx]
add esp, 8
push 0
push 0
push 0
push 0x36ee80
push eax
push 4
lea eax, [ebp - 0x13f0]
call fcn.0040263b
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x1cb0], esp
push eax
mov eax, edx
call fcn.004025d0
mov byte [ebp - 4], 0xd
mov eax, dword [esi + 4]
cmp word [eax + 0x9d98], 0
je 0x42b188
lea ecx, [eax + 0x9d98]
jmp 0x42b19c
push str.ttp:__dl.upzona.net_jre_packed.zip
push 0x485608
call fcn.004087e0
add esp, 8
mov ecx, eax
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x1ca4], esp
push ecx
call fcn.004025d0
sub esp, 0x1c
mov byte [ebp - 4], 0xe
mov eax, esp
mov dword [ebp - 0x1ca8], esp
push 0x4866fc
call fcn.004025d0
lea eax, [ebp - 0x1444]
push eax
mov ecx, ebx
mov edx, edi
mov byte [ebp - 4], 0xc
call fcn.0044c580
add esp, 0x70
lea ecx, [ebp - 0x1444]
call fcn.00402601
cmp dword [ebp - 0x13e0], 0
je 0x42b2f5
lea eax, [ebp - 0x13f0]
call fcn.0040263b
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42b2f5
test al, 0x10
jne 0x42b2f5
lea eax, [ebp - 0x13f0]
call fcn.0040263b
push eax
lea eax, [ebp - 0x1444]
call fcn.004025d0
push 0x48664c
push eax
mov byte [ebp - 4], 0xf
call fcn.0040260f
mov ecx, dword [ebp - 0x1c9c]
push ecx
push eax
call fcn.0040260f
call fcn.0040263b
push eax
lea eax, [ebp - 0x1c90]
xor edx, edx
push 0x208
push eax
mov dword [ebp - method.std::error_category.virtual_4], vtable.CommandWithOneArg.0
mov word [ebp - 0x1c90], dx
call fcn.004593e1
add esp, 0xc
lea ecx, [ebp - 0x1444]
mov dword [ebp - 0x1c94], 0x484cf8
mov byte [ebp - 4], 0xc
call fcn.00402601
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0x8c30]
mov edx, dword [ecx]
mov edx, dword [edx]
push 0
lea eax, [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x1c94]
push eax
call edx
lea eax, [ebp - 0x13f0]
call fcn.0040263b
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
push str.ocal_
push 0x48671c
call fcn.004087e0
add esp, 8
push eax
mov eax, dword [esi + 4]
add eax, 0x8d58
push eax
call fcn.0040260f
lea eax, [ebp - 0x13f0]
call fcn.0040263b
push eax
call edi
jmp 0x42b313
mov eax, dword [esi + 4]
add eax, 0x8d20
push 0x486720
push eax
call fcn.0040260f
push 0x485bf4
push eax
call fcn.0040260f
lea ecx, [ebp - 0x13c8]
call fcn.00402601
lea ecx, [ebp - 0x13f0]
call fcn.00402601
lea eax, [ebp - 0x1460]
call fcn.004025a9
xor ecx, ecx
mov byte [ebp - 4], 0x10
mov ebx, dword [esi + 4]
mov word [ebp - 0x13ac], cx
lea edx, [ebp - 0x1460]
lea ecx, [ebp - 0x13ac]
call fcn.0042d290
xor edi, edi
cmp dword [ebp - 0x1450], edi
je 0x42b3b4
push 0x48427c
push 0x484020
call fcn.004087e0
mov edx, dword [esi + 4]
add esp, 8
push eax
add edx, 0x8d58
push edx
call fcn.0040260f
mov edi, eax
push 0
lea eax, [ebp - 0x1460]
push eax
or eax, 0xffffffff
call fcn.00403074
push 0x485bf4
push 0x484020
mov edi, eax
call fcn.004087e0
add esp, 8
push eax
push edi
call fcn.0040260f
jmp 0x42b65a
mov ecx, dword [esi + 4]
push str.install_fail_
add ecx, 0x8d58
push ecx
call fcn.0040260f
mov dword [ebp - method.ButtonPanelImpl.virtual_0], vtable.ButtonPanelImpl.0
mov dword [ebp - 0x13cc], edi
mov dword [ebp - 0x13c8], edi
mov dword [ebp - 0x13c4], edi
mov dword [ebp - 0x13bc], edi
mov dword [ebp - 0x13b8], edi
mov dword [ebp - 0x13b4], edi
mov dword [ebp - 0x13d0], edi
push 0x486760
push 0x486764
mov byte [ebp - 4], 0x11
call fcn.004087e0
mov edi, dword [ebp - 0x13b8]
mov edx, eax
mov dword [ebp - 0x1c9c], eax
lea eax, [ebp - 0x1cac]
add esp, 8
mov ebx, 1
cmp eax, edi
mov eax, dword [ebp - 0x13bc]
mov dword [ebp - 0x1cac], ebx
mov dword [ebp - 0x1ca8], edx
jae 0x42b4dc
lea ecx, [ebp - 0x1cac]
cmp eax, ecx
ja 0x42b4dc
mov edx, dword [ebp - 0x13b4]
mov ebx, ecx
sub ebx, eax
sar ebx, 3
cmp edi, edx
jne 0x42b4ba
mov ecx, edi
sub ecx, eax
sar ecx, 3
cmp ecx, 0x1ffffffe
jbe 0x42b47d
push str.vector_T__too_long
call fcn.00457f98
sub edx, eax
inc ecx
sar edx, 3
cmp ecx, edx
jbe 0x42b4ba
mov eax, edx
shr edx, 1
mov edi, 0x1fffffff
sub edi, edx
cmp edi, eax
jae 0x42b49a
xor eax, eax
jmp 0x42b49c
add eax, edx
cmp eax, ecx
jae 0x42b4a2
mov eax, ecx
push eax
lea ecx, [ebp - 0x13bc]
call fcn.00450380
mov edi, dword [ebp - 0x13b8]
mov eax, dword [ebp - 0x13bc]
push edi
push 8
lea ebx, [eax + ebx*8]
call fcn.004040fe
add esp, 8
test eax, eax
je 0x42b558
mov edx, dword [ebx]
mov dword [eax], edx
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
jmp 0x42b552
mov edx, dword [ebp - 0x13b4]
cmp edi, edx
jne 0x42b538
mov ecx, edi
sub ecx, eax
sar ecx, 3
cmp ecx, 0x1ffffffe
jbe 0x42b4ff
push str.vector_T__too_long
call fcn.00457f98
sub edx, eax
mov eax, edx
inc ecx
sar eax, 3
cmp ecx, eax
jbe 0x42b538
mov edx, eax
shr edx, 1
mov edi, 0x1fffffff
sub edi, edx
cmp edi, eax
jae 0x42b51e
xor eax, eax
jmp 0x42b520
add eax, edx
cmp eax, ecx
jae 0x42b526
mov eax, ecx
push eax
lea ecx, [ebp - 0x13bc]
call fcn.00450380
mov edi, dword [ebp - 0x13b8]
push edi
push 8
call fcn.004040fe
add esp, 8
test eax, eax
je 0x42b558
mov edx, dword [ebp - 0x1c9c]
mov dword [eax], ebx
mov dword [eax + 4], edx
mov edi, dword [ebp - 0x13b8]
mov eax, dword [esi + 4]
add edi, 8
mov dword [ebp - 0x13b8], edi
cmp word [eax + 0x8d98], 0
je 0x42b576
lea edi, [eax + 0x8d98]
jmp 0x42b58a
push str.ttp:__dl.zonainst.com_jre_latest.exe
push 0x485608
call fcn.004087e0
add esp, 8
mov edi, eax
lea eax, [ebp - 0x13d4]
mov dword [ebp - 0x13f8], eax
lea eax, [ebp - 0x13f0]
mov dword [ebp - fcn.00404e49], 0x486a08
mov dword [ebp - method.InstallationFailDialog.1.virtual_0], 0x486a18
call fcn.004025a9
push edi
lea ecx, [ebp - 0x13f0]
mov byte [ebp - 4], 0x12
push ecx
mov dword [ebp - 0x13f4], 0x486768
call fcn.0040260f
push 0x4877e0
lea eax, [ebp - 0x1444]
mov byte [ebp - 4], 0x13
call fcn.004025d0
push eax
lea edi, [ebp - 0x140c]
mov byte [ebp - 4], 0x14
call fcn.0044fd00
lea ecx, [ebp - 0x1444]
call fcn.00402601
lea ecx, [ebp - 0x13f0]
call fcn.00402601
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x13bc]
xor edi, edi
cmp eax, edi
je 0x42b623
push eax
call fcn.004592db
add esp, 4
mov eax, dword [ebp - 0x13cc]
mov dword [ebp - 0x13bc], edi
mov dword [ebp - 0x13b8], edi
mov dword [ebp - 0x13b4], edi
cmp eax, edi
je 0x42b648
push eax
call fcn.004592db
add esp, 4
mov dword [ebp - 0x13cc], edi
mov dword [ebp - 0x13c8], edi
mov dword [ebp - 0x13c4], edi
mov eax, dword [esi + 4]
mov edi, dword [eax + 0x8c28]
add eax, 0x8d58
call fcn.0040263b
push eax
push str.INFO
mov ecx, edi
call fcn.00416a80
mov edx, dword [esi + 4]
push str.installJreFunc_finish_
add edx, 0x8d58
push edx
call fcn.0040260f
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x8c28]
push str._____END_thread_installJreFunc
push str.INFO
call fcn.00416a80
mov ecx, dword [ebp - 0x1ca0]
push ecx
call fcn.004592db
add esp, 4
lea ecx, [ebp - 0x1460]
call fcn.00402601
lea ecx, [ebp - 0x1428]
call fcn.00402601
xor eax, eax
jmp 0x42b6fe
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.00458db6
mov esp, ebp
pop ebp
ret 4