Function at 0x41b730
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x452918
mov eax, dword fs:[0]
push eax
sub esp, 0xc28
mov eax, dword [0x469090]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, ecx
cmp word [ebx + 0x11d0], 0
lea edi, [ebx + 0x11d0]
mov dword [ebp - 0xc30], ebx
mov dword [ebp - 0xc28], eax
jne 0x41b7af
push 0x104
push edi
lea ecx, [ebx + 0xfc8]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetShortPathNameW]
test eax, eax
jne 0x41b79b
xor edx, edx
mov word [edi], dx
cmp word [edi], 0
jne 0x41b7af
lea eax, [ebx + 0xfc8]
mov dword [ebp - 0xc2c], eax
jmp 0x41b7b5
mov dword [ebp - 0xc2c], edi
push 0x1000
call fcn.0043723a
mov esi, eax
add esp, 4
mov edx, esi
lea ecx, [ebp - 0x298]
mov edi, ebx
mov dword [ebp - 0xc20], esi
call fcn.0041cf10
xor edi, edi
mov dword [ebp - 4], edi
lea ecx, [ebx + 0xb998]
cmp word [esi], di
je 0x41b879
push 6
mov eax, str.false
call fcn.00402190
push edi
lea ecx, [ebp - 0x298]
mov esi, eax
push ecx
or eax, 0xffffffff
call fcn.00402420
mov ecx, eax
push 1
mov eax, 0x45b178
call fcn.00402190
mov eax, dword [ebp - 0xc28]
cmp dword [eax + 8], edi
je 0x41b832
mov eax, dword [eax + 8]
mov edx, dword [eax]
push 0x64
mov ecx, eax
mov eax, dword [edx]
push edi
call eax
mov edi, 8
mov eax, dword [ebp - 0xc20]
push eax
call fcn.00437245
add esp, 4
cmp dword [ebp - 0x284], edi
jb 0x41b85d
mov ecx, dword [ebp - 0x298]
push ecx
call fcn.00437245
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0043722b
mov esp, ebp
pop ebp
ret
push 5
mov eax, str.true
mov dword [ebp - 0xc24], ecx
call fcn.00402190
xor ecx, ecx
mov dword [ebp - 0x24c], 7
mov dword [ebp - 0x250], edi
mov word [ebp - 0x260], cx
lea edi, [ebx + 0x15e0]
mov byte [ebp - 4], 1
cmp word [edi], cx
jne 0x41b8d3
push 0x104
push edi
lea esi, [ebx + 0x13d8]
push esi
call dword [sym.imp.KERNEL32.DLL_GetShortPathNameW]
test eax, eax
jne 0x41b8d3
xor edx, edx
mov word [edi], dx
mov eax, esi
jmp 0x41b8d5
mov eax, edi
xor ecx, ecx
mov word [ebp - 0x27c], cx
mov ecx, eax
mov dword [ebp - 0x268], 7
mov dword [ebp - 0x26c], 0
lea edx, [ecx + 2]
mov di, word [ecx]
add ecx, 2
test di, di
jne 0x41b8f7
sub ecx, edx
sar ecx, 1
push ecx
lea esi, [ebp - 0x27c]
call fcn.00402510
push 4
mov eax, str._tmp
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00402190
push 0x110
lea edx, [ebp - 0x3e8]
push 0
push edx
mov dword [ebp - 0x3ec], 0x114
call fcn.0043c0c0
add esp, 0xc
lea eax, [ebp - 0x3ec]
push eax
call dword [sym.imp.KERNEL32.DLL_GetVersionExW]
cmp dword [ebp - 0x3e8], 6
jb 0x41bb7a
cmp word [ebx + 0xbbc4], di
lea eax, [ebx + 0xbbc4]
jne 0x41b972
mov eax, str.http:__dl4.getz.tv_dl_jre_latest.exe
mov ecx, dword [ebp - 0xc28]
push ecx
lea edx, [ebp - 0x27c]
push edx
push eax
push 0x45ba04
lea eax, [ebp - 0x260]
mov edx, str.javaSetup.exe
mov ecx, ebx
call fcn.0041b690
mov eax, dword [ebp - 0x260]
add esp, 0x10
cmp dword [ebp - 0x24c], 8
jae 0x41b9b0
lea eax, [ebp - 0x260]
push eax
push 0x45ba0c
lea eax, [ebp - 0x21c]
push 0x104
push eax
call dword [sym.imp.SHLWAPI.dll_wnsprintfW]
mov ecx, dword [ebx + 0x9938]
add esp, 0x10
push str.Start_install_java_1
push str.INFO
call fcn.0040c980
lea edx, [ebp - 0x21c]
push edx
lea eax, [ebp - 0x800]
xor ecx, ecx
push 0x208
push eax
mov dword [ebp - method.std::error_category.virtual_4], vtable.CommandWithOneArg.0
mov word [ebp - 0x800], cx
call fcn.0043782b
mov esi, dword [ebx + 0x9940]
add esp, 0xc
push 0
xor edi, edi
lea ecx, [ebp - 0x804]
mov dword [ebp - method.ExecuteProcessCommand.virtual_0], vtable.ExecuteProcessCommand.0
call fcn.004055c0
mov edx, dword [ebp - 0xc20]
lea ecx, [ebp - 0x238]
mov edi, ebx
call fcn.0041cf10
mov edi, eax
lea esi, [ebp - 0x298]
mov byte [ebp - 4], 3
call fcn.00406910
mov byte [ebp - 4], 2
cmp dword [ebp - 0x224], 8
jb 0x41ba6d
mov ecx, dword [ebp - 0x238]
push ecx
call fcn.00437245
add esp, 4
mov edx, dword [ebp - 0xc20]
cmp word [edx], 0
jne 0x41bd36
push 4
lea ecx, [ebx + 0xb56c]
mov eax, str.jre1
call fcn.00402190
mov ecx, eax
push 1
mov eax, 0x45b178
call fcn.00402190
mov ecx, dword [ebx + 0x9938]
push str.Start_install_java_2
push str.INFO
call fcn.0040c980
push str.dummy
lea ecx, [ebp - 0xc18]
xor eax, eax
push 0x208
push ecx
mov dword [ebp - method.std::error_category.virtual_4], vtable.CommandWithOneArg.0
mov word [ebp - 0xc18], ax
call fcn.0043782b
mov esi, dword [ebx + 0x9940]
add esp, 0xc
push 0
xor edi, edi
lea ecx, [ebp - 0xc1c]
mov dword [ebp - method.ClearJavaInstallerInfoCommand.virtual_0], vtable.ClearJavaInstallerInfoCommand.0
call fcn.004055c0
mov esi, dword [ebx + 0x9940]
push edi
lea ecx, [ebp - 0x804]
call fcn.004055c0
mov esi, dword [ebp - 0xc20]
mov edx, esi
lea ecx, [ebp - 0x238]
mov edi, ebx
call fcn.0041cf10
cmp dword [ebp - 0x224], 8
jb 0x41bb3c
mov edx, dword [ebp - 0x238]
push edx
call fcn.00437245
add esp, 4
mov edx, esi
lea ecx, [ebp - 0x238]
mov edi, ebx
call fcn.0041cf10
mov edi, eax
lea esi, [ebp - 0x298]
mov byte [ebp - 4], 4
call fcn.00406910
mov byte [ebp - 4], 2
cmp dword [ebp - 0x224], 8
jb 0x41bb8f
mov eax, dword [ebp - 0x238]
push eax
call fcn.00437245
add esp, 4
jmp 0x41bb8f
mov ecx, dword [ebx + 0x9938]
push str.Win_XP__install_jre_locally_only
push str.INFO
call fcn.0040c980
mov ecx, dword [ebp - 0xc20]
cmp word [ecx], 0
jne 0x41bd36
mov ecx, dword [ebx + 0x9938]
push str.Start_install_local_java_3
push str.INFO
call fcn.0040c980
push str.dummy
lea eax, [ebp - 0xc18]
xor edx, edx
push 0x208
push eax
mov dword [ebp - method.std::error_category.virtual_4], vtable.CommandWithOneArg.0
mov word [ebp - 0xc18], dx
call fcn.0043782b
mov esi, dword [ebx + 0x9940]
add esp, 0xc
push 0
xor edi, edi
lea ecx, [ebp - 0xc1c]
mov dword [ebp - method.ClearJavaInstallerInfoCommand.virtual_0], vtable.ClearJavaInstallerInfoCommand.0
call fcn.004055c0
cmp word [ebx + 0xc3c4], di
lea eax, [ebx + 0xc3c4]
jne 0x41bc13
mov eax, str.http:__dl4.getz.tv_dl_jre_packed.exe
mov ecx, dword [ebp - 0xc28]
push ecx
lea edx, [ebp - 0x27c]
push edx
push eax
push str.localJre
lea eax, [ebp - 0x260]
mov edx, str.jre_packed.exe
mov ecx, ebx
call fcn.0041b690
mov eax, dword [ebp - 0x260]
add esp, 0x10
cmp dword [ebp - 0x24c], 8
jae 0x41bc51
lea eax, [ebp - 0x260]
mov ecx, dword [ebp - 0xc2c]
push ecx
push eax
push str.__s___s
lea edx, [ebp - 0x21c]
push 0x104
push edx
call dword [sym.imp.SHLWAPI.dll_wnsprintfW]
add esp, 0x14
lea ecx, [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x800]
xor eax, eax
push 0x208
push edx
mov dword [ebp - method.std::error_category.virtual_4], vtable.CommandWithOneArg.0
mov word [ebp - 0x800], ax
call fcn.0043782b
mov esi, dword [ebx + 0x9940]
add esp, 0xc
push 0
xor edi, edi
lea ecx, [ebp - 0x804]
mov dword [ebp - method.ExecuteProcessCommand.virtual_0], vtable.ExecuteProcessCommand.0
call fcn.004055c0
mov ecx, dword [ebp - 0xc24]
cmp dword [ecx + 0x14], 8
mov dword [ecx + 0x10], edi
jb 0x41bcd3
mov eax, dword [ecx]
jmp 0x41bcd5
mov eax, ecx
xor edx, edx
mov word [eax], dx
push 5
mov eax, str.local
call fcn.00402190
mov edx, dword [ebp - 0xc20]
lea ecx, [ebp - 0x238]
mov edi, ebx
call fcn.0041cf10
mov edi, eax
lea esi, [ebp - 0x298]
mov byte [ebp - 4], 5
call fcn.00406910
mov byte [ebp - 4], 2
cmp dword [ebp - 0x224], 8
jb 0x41bd26
mov eax, dword [ebp - 0x238]
push eax
call fcn.00437245
add esp, 4
mov ecx, dword [ebp - 0xc20]
cmp word [ecx], 0
je 0x41bdd5
mov ecx, dword [ebp - 0xc24]
push 1
mov eax, 0x459088
call fcn.00402190
push 0
lea edx, [ebp - 0x298]
mov esi, eax
push edx
or eax, 0xffffffff
call fcn.00402420
mov ecx, eax
push 1
mov eax, 0x45b178
call fcn.00402190
push 0x414
call fcn.004372a1
mov esi, eax
add esp, 4
test esi, esi
je 0x41bdb6
cmp dword [ebp - 0x24c], 8
mov ecx, dword [ebp - 0x260]
jae 0x41bd91
lea ecx, [ebp - 0x260]
push ecx
lea eax, [esi + 4]
xor edx, edx
push 0x208
push eax
mov dword [esi], vtable.CommandWithOneArg.0
mov word [eax], dx
call fcn.0043782b
add esp, 0xc
mov dword [esi], vtable.DeleteCommand.0
jmp 0x41bdb8
xor esi, esi
mov ecx, dword [ebp - 0xc30]
mov ebx, esi
call fcn.00411520
mov ebx, dword [ebp - 0xc30]
xor esi, esi
lea edi, [esi + 8]
jmp 0x41becd
xor esi, esi
mov dword [ebp - method.ButtonPanelImpl.virtual_0], vtable.ButtonPanelImpl.0
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x234], esi
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x240], esi
mov ecx, 0x4587c8
mov eax, 1
push ecx
push eax
lea eax, [ebp - 0x244]
mov byte [ebp - 4], 6
call fcn.004364b0
cmp word [ebx + 0xbbc4], si
lea eax, [ebx + 0xbbc4]
jne 0x41be3a
mov eax, str.http:__dl4.getz.tv_dl_jre_latest.exe
push eax
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x244]
call fcn.0041ae60
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 4], 7
call fcn.0041f850
mov edi, 8
cmp dword [ebp - 0x2a0], edi
jb 0x41be78
mov ecx, dword [ebp - 0x2b4]
push ecx
call fcn.00437245
add esp, 4
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x22c]
xor edx, edx
mov dword [ebp - 0x2a0], 7
mov dword [ebp - 0x2a4], esi
mov word [ebp - 0x2b4], dx
cmp eax, esi
je 0x41bea8
push eax
call fcn.00437245
add esp, 4
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x224], esi
cmp eax, esi
je 0x41becd
push eax
call fcn.00437245
add esp, 4
mov eax, dword [ebp - 0xc24]
mov ebx, dword [ebx + 0x9938]
cmp dword [eax + 0x14], edi
jb 0x41bee0
mov eax, dword [eax]
push eax
push str.INFO
mov ecx, ebx
call fcn.0040c980
cmp dword [ebp - 0x268], edi
jb 0x41bf04
mov eax, dword [ebp - 0x27c]
push eax
call fcn.00437245
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x268], 7
mov dword [ebp - 0x26c], esi
mov word [ebp - 0x27c], cx
cmp dword [ebp - 0x24c], edi
jb 0x41b837
mov edx, dword [ebp - 0x260]
push edx
call fcn.00437245
add esp, 4
jmp 0x41b837