Function at 0x40a530
Capabilities:
Accept command line arguments
Create directory
Get common file path
Get geographical location

Disassembly:
push ebp
lea ebp, [esp - 0x30b4]
mov eax, 0x3134
call fcn.00414a90
mov eax, dword [0x431420]
xor eax, ebp
mov dword [ebp + 0x30b0], eax
mov eax, dword [ebp + 0x30bc]
push ebx
push esi
push edi
push 0x4266bb
mov dword [ebp - 0x58], eax
call fcn.0040bcbb
pop ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
call fcn.0040eca7
xor ebx, ebx
mov edi, 0x103
mov si, ax
push edi
lea eax, [ebp + 0x279d]
push ebx
push eax
mov word [0x4327c0], si
mov dword [ebp - 0x60], ebx
mov byte [ebp + 0x279c], bl
call fcn.00413c80
movzx eax, si
push eax
call fcn.0040ed15
add esp, 0x10
test eax, eax
je 0x40a5cf
movzx eax, word [0x4327c0]
push eax
push str.jre_d.MST
push 0xffffffffffffffff
mov dword [ebp - 0x60], eax
lea eax, [ebp + 0x279c]
push 0x104
push eax
call fcn.00416353
add esp, 0x14
mov esi, 0x3ff
push esi
lea eax, [ebp + 0x2195]
push ebx
push eax
mov byte [ebp + 0x2194], bl
call fcn.00413c80
push edi
lea eax, [ebp + 0x2da9]
push ebx
push eax
mov byte [ebp + 0x2da8], bl
call fcn.00413c80
push esi
lea eax, [ebp + 0x1d95]
push ebx
push eax
mov byte [ebp + 0x1d94], bl
call fcn.00413c80
push edi
lea eax, [ebp + 0x2699]
push ebx
push eax
mov byte [ebp + 0x2698], bl
call fcn.00413c80
push edi
lea eax, [ebp + 0x2fad]
push ebx
push eax
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x70], ebx
mov byte [ebp + 0x2fac], bl
call fcn.00413c80
push ebx
mov dword [ebp - 0x80], ebx
call fcn.0040d655
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
add esp, 0x40
push 0x427ab4
push 0x432804
call esi
push str.joff
push 0x432a2c
call esi
push 0x7f
lea eax, [ebp + 0x2f2d]
push ebx
push eax
mov byte [ebp + 0x2f2c], bl
call fcn.00413c80
lea eax, [ebp + 0x2f2c]
push eax
call fcn.0040d2e5
push 0x7f
lea eax, [ebp + 0x2ead]
push ebx
push eax
mov byte [ebp + 0x2eac], bl
call fcn.00413c80
lea eax, [ebp + 0x2eac]
push 0x80
push eax
mov dword [ebp - 0x7c], 0xffffff9d
call fcn.0040f094
add esp, 0x24
test eax, eax
jne 0x40a6e3
push 0x427aa8
lea eax, [ebp + 0x2eac]
push eax
call esi
push str.No_Old_AU_Version_found_n
call fcn.0040ca21
pop ecx
push str.amd64
push str.i586
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
xor esi, esi
inc esi
test eax, eax
jne 0x40a6fd
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x68], esi
cmp dword [0x432eb4], esi
jle 0x40a9dc
mov eax, dword [0x432eb8]
mov esi, dword [ebp - 0x68]
push str.STATIC1
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x40a72d
mov dword [ebp - 0x5c], 1
mov eax, dword [0x432eb8]
push str.OEMUPDATE1
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x40a750
mov dword [ebp - 0x78], 1
jmp 0x40a9c7
mov eax, dword [0x432eb8]
mov eax, dword [eax + esi*4]
push str._lang
push eax
call fcn.00413aa0
test eax, eax
mov eax, dword [0x432eb8]
mov eax, dword [eax + esi*4]
pop ecx
pop ecx
je 0x40a7ef
push 0x427a58
push eax
call fcn.00413aa0
inc eax
push eax
call fcn.00416928
movzx eax, ax
push eax
mov dword [ebp - 0x6c], eax
call fcn.0040ed15
add esp, 0x10
test eax, eax
je 0x40a9c7
mov ax, word [ebp - 0x6c]
mov word [0x4327c0], ax
mov eax, dword [0x432eb8]
push 0x427a58
push dword [eax + esi*4]
call fcn.00416855
pop ecx
pop ecx
jmp 0x40a7e4
push esi
lea eax, [ebp + 0x279c]
push str.jre_s.MST
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push esi
call fcn.00416928
push 0x427a58
push ebx
mov dword [ebp - 0x60], eax
call fcn.00416855
add esp, 0x18
mov esi, eax
cmp esi, ebx
jne 0x40a7ba
jmp 0x40a9c7
push str.COUNTRYOVERRIDE
push eax
call fcn.00413aa0
pop ecx
test eax, eax
mov eax, dword [0x432eb8]
pop ecx
je 0x40a839
mov esi, dword [eax + esi*4]
push 0x14
push 0x427a58
push esi
call fcn.00413aa0
pop ecx
pop ecx
inc eax
push eax
mov esi, 0x432a18
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push esi
push str.Country
push ebx
call fcn.0040c5b9
add esp, 0xc
jmp 0x40a9c7
push 3
push 0x427a34
push dword [eax + esi*4]
call fcn.00416795
add esp, 0xc
test eax, eax
jne 0x40a893
push 0x427a30
lea eax, [ebp + 0x2194]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x432eb8]
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub eax, 4
push eax
mov eax, dword [0x432eb8]
mov eax, dword [eax + esi*4]
add eax, 3
push eax
lea eax, [ebp + 0x2194]
push eax
call fcn.00416660
add esp, 0xc
jmp 0x40a9b5
mov eax, dword [0x432eb8]
push 2
push 0x427a2c
push dword [eax + esi*4]
call fcn.00416795
add esp, 0xc
test eax, eax
jne 0x40a8ee
push 0x427a30
lea eax, [ebp + 0x2194]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [0x432eb8]
mov eax, dword [eax + esi*4]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
add eax, 2
push eax
lea eax, [ebp + 0x2194]
push eax
call esi
push 0x427a30
lea eax, [ebp + 0x2194]
push eax
call esi
jmp 0x40a9c7
mov eax, dword [0x432eb8]
push 0x427a28
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x40a911
mov dword [ebp - 0x74], 1
jmp 0x40a9c7
mov eax, dword [0x432eb8]
push str.DYNAMICBASELINEOFF1
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x40a934
mov dword [ebp - 0x80], 1
jmp 0x40a9c7
mov eax, dword [0x432eb8]
push str.TEST_FINAL_DIALOG1
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40aa39
mov eax, dword [0x432eb8]
push str.TEST_PROGRESS_DIALOG1
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40aa45
mov eax, dword [0x432eb8]
push str.TEST_WELCOME_DIALOG1
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40aa70
mov eax, dword [0x432eb8]
push str.TEST_CHANGE_DIALOG1
push dword [eax + esi*4]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40aaa3
mov eax, dword [0x432eb8]
push dword [eax + esi*4]
lea eax, [ebp + 0x2194]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x427a30
lea eax, [ebp + 0x2194]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x432eb4]
jl 0x40a70c
xor esi, esi
inc esi
push 0x3ff
lea eax, [ebp + 0x1995]
push ebx
push eax
mov byte [ebp + 0x1994], bl
call fcn.00413c80
push ebx
call fcn.0040ee08
add esp, 0x10
test eax, eax
jne 0x40aad5
push 0x400
lea eax, [ebp + 0x1994]
push eax
push 4
push dword [ebp - 0x58]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x10
push 0x4266bb
lea eax, [ebp + 0x1994]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xfffffffffffffffe
pop eax
jmp 0x40b444
call fcn.0040a38d
xor eax, eax
jmp 0x40b444
lea ecx, [ebp + 0x3c4]
call fcn.004126a6
push ebx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp + 0x3c4]
call fcn.0040a2da
lea ecx, [ebp + 0x3c4]
call fcn.00412554
jmp 0x40aa3e
lea ecx, [ebp + 0x6cc]
call fcn.00410841
push ebx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp + 0x6cc]
call fcn.0040a1de
cmp dword [ebp + 0x6e0], ebx
je 0x40aa3e
push dword [ebp + 0x6e0]
call fcn.004137a1
jmp 0x40aa3e
lea ecx, [ebp + 0x2a40]
call fcn.00413389
push ebx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp + 0x2a40]
call fcn.0040a232
cmp dword [ebp + 0x2a54], ebx
je 0x40aa3e
push dword [ebp + 0x2a54]
jmp 0x40aa9c
push 0xff
lea eax, [ebp + 0x28a1]
push ebx
push eax
mov byte [ebp + 0x28a0], bl
call fcn.00413c80
add esp, 0xc
lea ecx, [ebp - 0x54]
call fcn.0040203c
cmp dword [ebp - 0x5c], ebx
jne 0x40ab05
cmp dword [ebp - 0x44], ebx
je 0x40ab23
mov dword [ebp - 0x5c], esi
cmp dword [ebp - 0x44], ebx
jne 0x40ab31
cmp dword [ebp - 0x40], esi
jne 0x40ab57
push str._REMOVEEXISTING1
lea eax, [ebp + 0x28a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
jmp 0x40ab57
cmp dword [ebp - 0x40], ebx
je 0x40ab57
cmp dword [ebp - 0x40], esi
jne 0x40abf9
push str._REINSTALLMODEvaums_REINSTALLALL
lea eax, [ebp + 0x28a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp + 0x2f2c]
push str.1.7.0_09_b05
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
pop ecx
pop ecx
push dword [ebp - 0x70]
lea eax, [ebp + 0x2da8]
push eax
call fcn.004100e9
push edi
lea eax, [ebp + 0x2595]
push ebx
push eax
mov byte [ebp + 0x2594], bl
call fcn.00413c80
push edi
lea eax, [ebp + 0x2ca5]
push ebx
push eax
mov byte [ebp + 0x2ca4], bl
call fcn.00413c80
lea eax, [ebp + 0x2ca4]
push eax
call fcn.0040beb1
add esp, 0x24
mov edi, str.1.7.0_09
push edi
mov esi, 0x427968
lea eax, [ebp + 0x2ca4]
push esi
push eax
lea eax, [ebp + 0x2698]
cmp dword [ebp - 0x70], ebx
je 0x40ac0e
push str._sSunJava_s_s_x64Data1.cab
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push edi
push esi
lea eax, [ebp + 0x2ca4]
push eax
lea eax, [ebp + 0x2594]
push str._sSunJava_s_s_x64_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x279c]
push eax
push edi
push esi
lea eax, [ebp + 0x2ca4]
push eax
push str._sSunJava_s_s_x64_s
jmp 0x40ac4a
lea ecx, [ebp - 0x54]
call fcn.004016f3
test eax, eax
je 0x40ab0f
jmp 0x40ab02
push str._sSunJava_s_sData1.cab
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push edi
push esi
lea eax, [ebp + 0x2ca4]
push eax
lea eax, [ebp + 0x2594]
push str._sSunJava_s_s_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp + 0x279c]
push eax
push edi
push esi
lea eax, [ebp + 0x2ca4]
push eax
push str._sSunJava_s_s_s
lea eax, [ebp + 0x2fac]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [ebp - 0x58]
add esp, 0x40
lea eax, [ebp + 0x2698]
push eax
mov esi, str.JAVA_INSTALLER
push esi
push 0x66
push edi
call fcn.0040efc2
add esp, 0x10
test eax, eax
je 0x40b416
lea eax, [ebp + 0x2da8]
push eax
push esi
cmp dword [ebp - 0x5c], ebx
je 0x40ac8e
push 0x67
jmp 0x40ac90
push 0x65
push edi
call fcn.0040efc2
add esp, 0x10
cmp eax, ebx
je 0x40b416
push 0x3ff
lea eax, [ebp + 0x1195]
push ebx
push eax
mov byte [ebp + 0x1194], bl
call fcn.00413c80
lea eax, [ebp + 0x2594]
push eax
lea eax, [ebp + 0x1194]
push eax
push edi
call fcn.004023fc
push 0x104
push 0x432b48
call fcn.0040eebb
add esp, 0x20
test eax, eax
jne 0x40acea
push 0xfffffffffffffffd
jmp 0x40aa33
cmp dword [ebp - 0x74], ebx
je 0x40ad1c
lea eax, [ebp + 0x2194]
push 0x4278c0
push eax
call fcn.00413aa0
pop ecx
pop ecx
test eax, eax
jne 0x40ad1c
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.__qn
lea eax, [ebp + 0x2194]
push eax
call edi
jmp 0x40ad22
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [0x4327f8], ebx
je 0x40ad54
push str._METHOD
lea eax, [ebp + 0x2194]
push eax
call edi
push 0x432a2c
lea eax, [ebp + 0x2194]
push eax
call edi
push 0x427a30
lea eax, [ebp + 0x2194]
push eax
call edi
mov eax, dword [ebp - 0x60]
mov ecx, 0x411
cmp eax, ecx
jg 0x40adcb
je 0x40adbf
sub eax, 0x404
je 0x40adb3
sub eax, 3
je 0x40ada7
sub eax, 3
je 0x40ad9b
dec eax
dec eax
je 0x40ad8f
sub eax, 4
jne 0x40ae1c
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x5f
jmp 0x40ae11
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x5e
jmp 0x40ae11
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x5d
jmp 0x40ae11
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x5c
jmp 0x40ae11
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x5b
jmp 0x40ae11
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x60
jmp 0x40ae11
sub eax, 0x412
je 0x40ae07
sub eax, 4
je 0x40adfb
sub eax, 7
je 0x40adef
sub eax, 0x3e7
jne 0x40ae1c
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x63
jmp 0x40ae11
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x62
jmp 0x40ae11
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x6b
jmp 0x40ae11
lea eax, [ebp + 0x2fac]
push eax
push esi
push 0x61
push dword [ebp - 0x58]
call fcn.0040efc2
add esp, 0x10
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
mov eax, 0x409
cmp word [0x4327c0], ax
lea eax, [ebp + 0x2194]
push eax
je 0x40ae5d
lea eax, [ebp + 0x279c]
push eax
lea eax, [ebp + 0x2da8]
push eax
push 0x432b48
lea eax, [ebp + 0x1d94]
push str.__s___i___s__TRANSFORMS_s__s
push eax
call esi
add esp, 0x18
jmp 0x40ae7a
lea eax, [ebp + 0x2da8]
push eax
push 0x432b48
lea eax, [ebp + 0x1d94]
push str.__s___i___s___s
push eax
call esi
add esp, 0x14
push 0x3ff
lea eax, [ebp + 0x1595]
push ebx
push eax
mov byte [ebp + 0x1594], bl
call fcn.00413c80
lea eax, [ebp + 0x28a0]
push eax
lea eax, [ebp + 0x1d94]
push eax
lea eax, [ebp + 0x1594]
push str._s__s
push eax
call esi
add esp, 0x1c
cmp dword [ebp - 0x74], ebx
jne 0x40b056
lea ecx, [ebp + 0x6cc]
call fcn.00410841
push ebx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp + 0x6cc]
call fcn.0040a1de
cmp eax, 1
jne 0x40b086
mov edi, str._SKIPLICENSE1_PROG0_ENDDIALOG0
push edi
lea eax, [ebp + 0x1594]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push edi
lea eax, [ebp + 0x1d94]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [ebp + 0x6f4]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dword [ebp - 0x5c], 1
cmp dword [ebp - 0x5c], 0x403
mov dword [ebp - 0x60], eax
jne 0x40af71
lea ecx, [ebp + 0xc30]
call fcn.00410841
push ebx
mov dword [ebp + 0xc58], 1
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp + 0xc30]
call fcn.0040a1de
mov dword [ebp - 0x5c], eax
cmp eax, 1
jne 0x40b086
mov eax, dword [ebp + 0xc58]
mov dword [ebp - 0x60], eax
cmp dword [ebp + 0xc44], ebx
je 0x40af71
push dword [ebp + 0xc44]
call fcn.004137a1
cmp dword [ebp - 0x60], ebx
je 0x40b036
lea ecx, [ebp + 0x2a40]
call fcn.00413389
push ebx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp + 0x2a40]
call fcn.0040a232
mov dword [ebp - 0x5c], eax
cmp eax, 1
jne 0x40b01d
push 0x103
lea eax, [ebp + 0x2ba1]
push ebx
push eax
mov byte [ebp + 0x2ba0], bl
call fcn.00413c80
lea eax, [ebp + 0x2a68]
push eax
lea eax, [ebp + 0x2ba0]
push eax
call fcn.00413d00
push 0x3ff
lea eax, [ebp + 0xd95]
push ebx
push eax
mov byte [ebp + 0xd94], bl
call fcn.00413c80
lea eax, [ebp + 0x2ba0]
push eax
lea eax, [ebp + 0xd94]
push str._INSTALLDIR__s_
push eax
call esi
add esp, 0x2c
lea eax, [ebp + 0xd94]
push eax
lea eax, [ebp + 0x1594]
push eax
call edi
lea eax, [ebp + 0xd94]
push eax
lea eax, [ebp + 0x1d94]
push eax
call edi
jmp 0x40b023
cmp dword [ebp - 0x5c], 2
je 0x40b08c
cmp dword [ebp + 0x2a54], ebx
je 0x40b036
push dword [ebp + 0x2a54]
call fcn.004137a1
cmp dword [ebp - 0x5c], 0x403
je 0x40af21
cmp dword [ebp + 0x6e0], ebx
je 0x40b056
push dword [ebp + 0x6e0]
call fcn.004137a1
call fcn.0040cda6
mov edi, eax
cmp edi, ebx
je 0x40b0d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
lea eax, [ebp + 0x1994]
push str.initial_ClearMSIStatus___failed.__Return_Code:__d__ErrorCode:__d
push eax
call esi
lea eax, [ebp + 0x1994]
push eax
call fcn.0040ca21
add esp, 0x14
push ebx
call fcn.004165f7
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push str.2.1.9.0
lea eax, [ebp + 0x2eac]
push eax
push 0xffffffffffffff9d
push 0xffffffffffffffec
push ebx
mov eax, str.1.7.0_09_b05
push eax
lea ecx, [ebp + 0x2f2c]
push ecx
push eax
push 0x432804
push 0x4277ec
push 0x432a2c
push 0x432818
call fcn.0040df2f
add esp, 0x4c
jmp 0x40b086
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
cmp dword [ebp - 0x74], ebx
je 0x40b101
push str.SilentInstall
call fcn.0040fe4d
lea eax, [ebp + 0x1594]
push eax
call fcn.00401b70
pop ecx
pop ecx
mov dword [ebp - 0x64], eax
jmp 0x40b1f2
lea ecx, [ebp + 0x3c4]
call fcn.004126a6
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
lea ecx, [ebp + 0x3c4]
call fcn.0040a331
lea eax, [ebp + 0x1594]
push eax
call fcn.00401b70
mov dword [ebp - 0x64], eax
mov dword [esp], 0x1ff
lea eax, [ebp + 0x29a1]
push ebx
push eax
mov byte [ebp + 0x29a0], bl
call fcn.00413c80
push 0x200
lea eax, [ebp + 0x29a0]
push eax
push str.InstallStatus
call fcn.0040d4c3
add esp, 0x18
push str.reinstall
lea eax, [ebp + 0x29a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x40b1c5
call fcn.0040cda6
mov dword [ebp - 0x64], eax
cmp eax, ebx
je 0x40b1a8
call edi
push eax
push dword [ebp - 0x64]
lea eax, [ebp + 0x1994]
push str.ClearMSIStatus___failed.__Return_Code:__d__ErrorCode:__d
push eax
call esi
lea eax, [ebp + 0x1994]
push eax
call fcn.0040ca21
add esp, 0x14
jmp 0x40b1c5
push ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
call fcn.0040d655
lea eax, [ebp + 0x1d94]
push eax
call fcn.00401b70
pop ecx
pop ecx
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], ebx
jne 0x40b1db
push ebx
lea ecx, [ebp + 0x3c4]
call fcn.00411b4d
call fcn.0040a38d
push dword [ebp + 0x3c8]
call dword [sym.imp.USER32.dll_DestroyWindow]
lea ecx, [ebp + 0x3c4]
call fcn.00412554
cmp dword [ebp - 0x64], ebx
je 0x40b25f
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.0040cf55
pop ecx
pop ecx
mov dword [ebp - 0x60], eax
cmp eax, ebx
je 0x40b230
call edi
push eax
push dword [ebp - 0x60]
lea eax, [ebp + 0x1994]
push str.GetMSIStatus___failed.__Return_Code:__d__ErrorCode:__d
push eax
call esi
lea eax, [ebp + 0x1994]
push eax
call fcn.0040ca21
add esp, 0x14
call fcn.0040cda6
mov dword [ebp - 0x60], eax
cmp eax, ebx
je 0x40b25f
call edi
push eax
push dword [ebp - 0x60]
lea eax, [ebp + 0x1994]
push str.ClearMSIStatus___after_get_failed.__Return_Code:__d__ErrorCode:__d
push eax
call esi
lea eax, [ebp + 0x1994]
push eax
call fcn.0040ca21
add esp, 0x14
call fcn.0040ec90
cmp dword [ebp - 0x80], ebx
je 0x40b27d
call fcn.0040f844
test eax, eax
jne 0x40b27d
push str.Attempt_to_Disable_Dynamic_Baselines_FAILED._n
call fcn.0040ca21
pop ecx
cmp dword [ebp - 0x70], ebx
jne 0x40b3c4
cmp dword [ebp - 0x64], ebx
jne 0x40b3c4
push 0x103
lea eax, [ebp + 0x2ba1]
push ebx
push eax
mov byte [ebp + 0x2ba0], bl
call fcn.00413c80
lea eax, [ebp + 0x2ca4]
push eax
lea eax, [ebp + 0x2ba0]
push str._sSunJavaAU_
push eax
call esi
add esp, 0x18
push ebx
lea eax, [ebp + 0x2ba0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp + 0x2ba0]
push eax
lea eax, [ebp + 0x2da8]
push str._sau.msi
push eax
call esi
lea eax, [ebp + 0x2ba0]
push eax
lea eax, [ebp + 0x2698]
push str._sau.cab
push eax
call esi
lea eax, [ebp + 0x2698]
push eax
mov edi, str.JAVA_INSTALLER
push edi
push 0x6a
push dword [ebp - 0x58]
call fcn.0040efc2
lea eax, [ebp + 0x2da8]
push eax
push edi
push 0x69
push dword [ebp - 0x58]
call fcn.0040efc2
add esp, 0x38
test eax, eax
je 0x40b3c4
call fcn.0040f9b7
lea eax, [ebp + 0x2da8]
push eax
push 0x432b48
lea eax, [ebp + 0x1d94]
cmp dword [ebp - 0x78], ebx
je 0x40b34e
push str.__s___i___s__ALLUSERS1_OEMUPDATE1__qn
jmp 0x40b353
push str.__s___i___s__ALLUSERS1__qn
push eax
call esi
lea eax, [ebp + 0x1d94]
add esp, 0x10
push eax
call fcn.00401b70
mov dword [ebp - 0x7c], eax
mov dword [esp], 0x103
lea eax, [ebp + 0x2a9d]
push ebx
push eax
mov byte [ebp + 0x2a9c], bl
call fcn.00413c80
add esp, 0xc
lea eax, [ebp + 0x2a9c]
push eax
push ebx
push ebx
push 0x2b
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
js 0x40b3c4
push str.1.7.0_09_b05
lea eax, [ebp + 0x2a9c]
push eax
lea eax, [ebp + 0x1d94]
push str._sJavaJava_Updatejaureg.exe__r_jre__s
push eax
call esi
lea eax, [ebp + 0x1d94]
push eax
call fcn.00401b70
add esp, 0x14
push dword [ebp - 0x68]
lea eax, [ebp + 0x2eac]
push dword [ebp - 0x6c]
lea ecx, [ebp + 0x2f2c]
push ebx
push ebx
push ebx
push ebx
push ebx
push str.2.1.9.0
push eax
push dword [ebp - 0x7c]
mov eax, str.1.7.0_09_b05
push dword [ebp - 0x64]
push ebx
push eax
push ecx
push eax
push 0x432804
push 0x4277ec
push 0x432a2c
push 0x432818
call fcn.0040df2f
add esp, 0x4c
cmp dword [ebp - 0x78], ebx
je 0x40b416
call fcn.0040cec9
push str.SilentInstall
call fcn.0040fee9
push ebx
call fcn.0040d655
push ebx
push str.VisitorId
push ebx
call fcn.0040c5b9
push ebx
push str.Method
push ebx
call fcn.0040c5b9
mov eax, dword [ebp - 0x64]
add esp, 0x20
mov ecx, dword [ebp + 0x30b0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004141fb
add ebp, 0x30b4
leave
ret 0x10