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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x39cc
call fcn.00412040
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
call fcn.0040ced2
mov dx, ax
push 0x40
xor ebx, ebx
mov byte [ebp - 0x994], bl
xor eax, eax
pop ecx
lea edi, [ebp - 0x993]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push edx
mov word [0x426740], dx
mov dword [ebp - 8], ebx
stosb byte es:[edi], al
call fcn.0040cf44
test eax, eax
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
pop ecx
je 0x4092f8
movzx eax, word [0x426740]
push 0xa
lea ecx, [ebp - 0x18]
push ecx
push eax
mov dword [ebp - 8], eax
call fcn.0041b665
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x994]
push str.jre_s.MST
push eax
call esi
add esp, 0x18
push 0x40
xor eax, eax
pop ecx
mov byte [ebp - 0x890], 0
lea edi, [ebp - 0x88f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
mov byte [ebp - 0x128], 0
xor eax, eax
pop ecx
lea edi, [ebp - 0x127]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push ebx
mov byte [ebp - 0xe98], 0
mov dword [ebp - 4], 1
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
stosb byte es:[edi], al
call fcn.0040bce9
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [esp], 0x41f748
push 0x426ba8
call ebx
push str.joff
push 0x426a50
call ebx
push 0x1f
xor eax, eax
mov byte [ebp - 0x68c], 0
pop ecx
lea edi, [ebp - 0x68b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x68c]
push 1
push eax
call fcn.0040ba63
push 0x1f
xor eax, eax
mov byte [ebp - 0x1a8], 0
pop ecx
lea edi, [ebp - 0x1a7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x1a8]
push 0x80
push eax
mov dword [ebp - 0x18], 0xffffff9d
call fcn.0040d245
add esp, 0x10
test eax, eax
jne 0x4093da
push 0x41f73c
lea eax, [ebp - 0x1a8]
push eax
call ebx
push str.No_Old_AU_Version_found_n
call fcn.0040b31c
pop ecx
push str.amd64
push str.i586
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4093f5
mov dword [ebp - 0x20], 1
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
xor eax, eax
inc eax
cmp dword [0x426f28], eax
mov dword [ebp - 0xc], eax
jle 0x409689
mov edi, 0x41f70c
mov esi, dword [ebp - 0xc]
mov eax, dword [0x426f2c]
push str.STATIC1
shl esi, 2
push dword [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x409436
mov dword [ebp - 0x10], 1
mov eax, dword [0x426f2c]
push str.OEMUPDATE1
push dword [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x409459
mov dword [ebp - 0x24], 1
jmp 0x409671
mov eax, dword [0x426f2c]
push str._lang
push dword [esi + eax]
call fcn.00412a50
pop ecx
test eax, eax
mov eax, dword [0x426f2c]
pop ecx
je 0x4094f4
push 0x41f6e8
push dword [esi + eax]
call fcn.00412a50
inc eax
push eax
call fcn.004133f6
push eax
mov dword [ebp - 0x14], eax
call fcn.0040cf44
add esp, 0x10
test eax, eax
je 0x409671
mov ax, word [ebp - 0x14]
mov word [0x426740], ax
mov eax, dword [0x426f2c]
push 0x41f6e8
push dword [esi + eax]
call fcn.004132b9
pop ecx
pop ecx
jmp 0x4094e9
push esi
lea eax, [ebp - 0x994]
push str.jre_s.MST
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push esi
call fcn.004133f6
push 0x41f6e8
push 0
mov dword [ebp - 8], eax
call fcn.004132b9
add esp, 0x18
mov esi, eax
test esi, esi
jne 0x4094be
jmp 0x409671
push str.COUNTRYOVERRIDE
push dword [esi + eax]
call fcn.00412a50
pop ecx
test eax, eax
mov eax, dword [0x426f2c]
pop ecx
je 0x409540
push 0x14
push 0x41f6e8
push dword [esi + eax]
call fcn.00412a50
pop ecx
pop ecx
inc eax
push eax
mov esi, 0x426bbc
push esi
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push esi
push str.Country
push 0
call fcn.0040aeb1
add esp, 0xc
jmp 0x409671
push 3
push 0x41f6d0
push dword [esi + eax]
call fcn.00413280
add esp, 0xc
test eax, eax
jne 0x409592
push edi
lea eax, [ebp - 0xe98]
push eax
call ebx
mov eax, dword [0x426f2c]
push dword [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub eax, 4
push eax
mov eax, dword [0x426f2c]
mov eax, dword [esi + eax]
add eax, 3
push eax
lea eax, [ebp - 0xe98]
push eax
call fcn.00413140
add esp, 0xc
jmp 0x409667
mov eax, dword [0x426f2c]
push 2
push 0x41f6cc
push dword [esi + eax]
call fcn.00413280
add esp, 0xc
test eax, eax
jne 0x4095c7
push edi
lea eax, [ebp - 0xe98]
push eax
call ebx
mov eax, dword [0x426f2c]
mov eax, dword [esi + eax]
inc eax
inc eax
push eax
jmp 0x40965e
mov eax, dword [0x426f2c]
push 0x41f6c8
push dword [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4095ea
mov dword [ebp - 0x1c], 1
jmp 0x409671
mov eax, dword [0x426f2c]
push str.TEST_FINAL_DIALOG1
push dword [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4096e6
mov eax, dword [0x426f2c]
push str.TEST_PROGRESS_DIALOG1
push dword [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4096f0
mov eax, dword [0x426f2c]
push str.TEST_WELCOME_DIALOG1
push dword [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x40971c
mov eax, dword [0x426f2c]
push str.TEST_CHANGE_DIALOG1
push dword [esi + eax]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x409748
mov eax, dword [0x426f2c]
push dword [esi + eax]
lea eax, [ebp - 0xe98]
push eax
call ebx
lea eax, [ebp - 0xe98]
push edi
push eax
call ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [0x426f28]
jl 0x409412
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
mov byte [ebp - 0x1298], 0
xor eax, eax
mov ecx, 0xff
lea edi, [ebp - 0x1297]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0
stosb byte es:[edi], al
call fcn.0040cfd8
test eax, eax
pop ecx
jne 0x409779
push 0x400
lea eax, [ebp - 0x1298]
push eax
push 4
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x10
push 0x41e625
lea eax, [ebp - 0x1298]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0xfffffffffffffffe
jmp 0x409992
call fcn.0040908e
jmp 0x409772
lea ecx, [ebp - 0x35cc]
call fcn.004108a3
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x35cc]
call fcn.0040902a
lea ecx, [ebp - 0x35cc]
call fcn.00410787
jmp 0x409772
lea ecx, [ebp - 0x280c]
call fcn.0040e579
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x280c]
call fcn.00408f9d
lea ecx, [ebp - 0x280c]
call fcn.00402686
jmp 0x409772
lea ecx, [ebp - 0x508]
call fcn.00411507
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x508]
call fcn.00408fcc
lea ecx, [ebp - 0x508]
call fcn.00402686
xor eax, eax
jmp 0x40a080
push 0x3f
mov byte [ebp - 0x78c], 0
xor eax, eax
pop ecx
lea edi, [ebp - 0x78b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x1eb0]
stosb byte es:[edi], al
call fcn.00401fe9
cmp dword [ebp - 0x10], 0
jne 0x4097dd
cmp dword [ebp - 0x1ea0], 0
je 0x4097b3
mov dword [ebp - 0x10], 1
jmp 0x4097dd
cmp dword [ebp - 0x1e9c], 0
je 0x409801
xor edi, edi
inc edi
cmp dword [ebp - 0x1e9c], edi
je 0x4098a9
lea ecx, [ebp - 0x1eb0]
call fcn.004018dc
test eax, eax
je 0x4097f3
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x1ea0], 0
jne 0x4098a9
cmp dword [ebp - 0x1e9c], 1
jne 0x409801
push str._REMOVEEXISTING1
lea eax, [ebp - 0x78c]
push eax
call ebx
push dword [ebp - 0x20]
lea eax, [ebp - 0x60c]
push eax
call fcn.0040de4e
xor eax, eax
push 0x40
pop ecx
mov byte [ebp - 0xa98], 0
lea edi, [ebp - 0xa97]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
mov byte [ebp - 0x3b0], 0
pop ecx
lea edi, [ebp - 0x3af]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x3b0]
push eax
call fcn.0040a7dd
add esp, 0xc
cmp dword [ebp - 0x20], 0
push str.1.6.0_23
mov edi, 0x41f654
lea eax, [ebp - 0x3b0]
push edi
push eax
lea eax, [ebp - 0x890]
je 0x4098b3
push str._sSunJava_s_s_x64Data1.cab
push eax
call esi
push str.1.6.0_23
push edi
lea eax, [ebp - 0x3b0]
push eax
lea eax, [ebp - 0xa98]
push str._sSunJava_s_s_x64_
push eax
call esi
lea eax, [ebp - 0x994]
push eax
push str.1.6.0_23
push edi
lea eax, [ebp - 0x3b0]
push eax
push str._sSunJava_s_s_x64_s
jmp 0x4098ef
push str._REINSTALLMODEvaums_REINSTALLALL
jmp 0x4097f8
push str._sSunJava_s_sData1.cab
push eax
call esi
push str.1.6.0_23
push edi
lea eax, [ebp - 0x3b0]
push eax
lea eax, [ebp - 0xa98]
push str._sSunJava_s_s_
push eax
call esi
lea eax, [ebp - 0x994]
push eax
push str.1.6.0_23
push edi
lea eax, [ebp - 0x3b0]
push eax
push str._sSunJava_s_s_s
lea eax, [ebp - 0x128]
push eax
call esi
add esp, 0x40
lea eax, [ebp - 0x890]
push eax
mov edi, str.JAVA_INSTALLER
push edi
push 0x66
push dword [ebp + 8]
call fcn.0040d173
add esp, 0x10
test eax, eax
je 0x40a05a
cmp dword [ebp - 0x10], 0
lea eax, [ebp - 0x60c]
push eax
push edi
je 0x40992f
push 0x67
jmp 0x409931
push 0x65
push dword [ebp + 8]
call fcn.0040d173
add esp, 0x10
test eax, eax
je 0x40a05a
xor eax, eax
mov byte [ebp - 0x39cc], 0
mov ecx, 0xff
lea edi, [ebp - 0x39cb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x4b4]
push eax
lea eax, [ebp - 0xa98]
push eax
lea eax, [ebp - 0x39cc]
push eax
push dword [ebp + 8]
call fcn.004022a2
push 0x104
push 0x426748
call fcn.0040d06c
add esp, 0x18
test eax, eax
jne 0x409998
push 0xfffffffffffffffd
pop eax
jmp 0x40a080
cmp dword [ebp - 0x1c], 0
je 0x4099c3
lea eax, [ebp - 0xe98]
push 0x41f588
push eax
call fcn.00412a50
test eax, eax
pop ecx
pop ecx
jne 0x4099c3
push str.__qn
lea eax, [ebp - 0xe98]
push eax
call ebx
cmp dword [0x426ba4], 0
je 0x4099f6
push str._METHOD
lea eax, [ebp - 0xe98]
push eax
call ebx
push 0x426a50
lea eax, [ebp - 0xe98]
push eax
call ebx
push 0x41f70c
lea eax, [ebp - 0xe98]
push eax
call ebx
mov eax, dword [ebp - 8]
mov ecx, 0x411
cmp eax, ecx
jg 0x409a8f
je 0x409a7f
sub eax, 0x404
je 0x409a6f
sub eax, 3
je 0x409a5f
sub eax, 3
je 0x409a4c
dec eax
dec eax
je 0x409a39
sub eax, 4
jne 0x409af0
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x5f
jmp 0x409ae5
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x5e
jmp 0x409ae5
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x5d
jmp 0x409ae5
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x5c
jmp 0x409ae5
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x5b
jmp 0x409ae5
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x60
jmp 0x409ae5
sub eax, 0x412
je 0x409ad7
sub eax, 4
je 0x409ac7
sub eax, 7
je 0x409ab7
sub eax, 0x3e7
jne 0x409af0
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x63
jmp 0x409ae5
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x62
jmp 0x409ae5
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x6b
jmp 0x409ae5
lea eax, [ebp - 0x128]
push eax
push str.JAVA_INSTALLER
push 0x61
push dword [ebp + 8]
call fcn.0040d173
add esp, 0x10
cmp word [0x426740], 0x409
lea eax, [ebp - 0xe98]
push eax
je 0x409b28
lea eax, [ebp - 0x994]
push eax
lea eax, [ebp - 0x60c]
push eax
push 0x426748
lea eax, [ebp - 0x1698]
push str.__s___i___s__TRANSFORMS_s__s
push eax
call esi
add esp, 0x18
jmp 0x409b45
lea eax, [ebp - 0x60c]
push eax
push 0x426748
lea eax, [ebp - 0x1698]
push str.__s___i___s___s
push eax
call esi
add esp, 0x14
xor eax, eax
mov byte [ebp - 0x22b0], 0
mov ecx, 0xff
lea edi, [ebp - 0x22af]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x78c]
push eax
lea eax, [ebp - 0x1698]
push eax
lea eax, [ebp - 0x22b0]
push str._s__s
push eax
call esi
add esp, 0x10
cmp dword [ebp - 0x1c], 0
jne 0x409d16
lea ecx, [ebp - 0x280c]
call fcn.0040e579
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x280c]
call fcn.00408f9d
cmp eax, 1
jne 0x409d6e
mov edi, str._SKIPLICENSE1_PROG0_ENDDIALOG0
push edi
lea eax, [ebp - 0x22b0]
push eax
call ebx
push edi
lea eax, [ebp - 0x1698]
push eax
call ebx
mov eax, dword [ebp - 0x27ec]
xor edi, edi
inc edi
cmp edi, 0x403
mov dword [ebp - 8], eax
jne 0x409c24
lea ecx, [ebp - 0x2d68]
call fcn.0040e579
push 0
mov dword [ebp - 0x2d48], 1
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x2d68]
call fcn.00408f9d
mov edi, eax
cmp edi, 1
lea ecx, [ebp - 0x2d68]
jne 0x409cf9
mov eax, dword [ebp - 0x2d48]
mov dword [ebp - 8], eax
call fcn.00402686
cmp dword [ebp - 8], 0
je 0x409ceb
lea ecx, [ebp - 0x508]
call fcn.00411507
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x508]
call fcn.00408fcc
mov edi, eax
cmp edi, 1
mov dword [ebp - 0x14], edi
jne 0x409cdb
push 0x40
xor eax, eax
mov byte [ebp - 0x2ac], 0
pop ecx
lea edi, [ebp - 0x2ab]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x4e8]
push eax
lea eax, [ebp - 0x2ac]
push eax
call fcn.00412ae0
xor eax, eax
mov byte [ebp - 0x1a98], 0
mov ecx, 0xff
lea edi, [ebp - 0x1a97]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x2ac]
push eax
lea eax, [ebp - 0x1a98]
push str._INSTALLDIR__s_
push eax
call esi
add esp, 0x14
lea eax, [ebp - 0x1a98]
push eax
lea eax, [ebp - 0x22b0]
push eax
call ebx
lea eax, [ebp - 0x1a98]
push eax
lea eax, [ebp - 0x1698]
push eax
call ebx
mov edi, dword [ebp - 0x14]
jmp 0x409ce0
cmp edi, 2
je 0x409d00
lea ecx, [ebp - 0x508]
call fcn.00402686
cmp edi, 0x403
je 0x409bdc
jmp 0x409d0b
call fcn.00402686
jmp 0x409d0b
lea ecx, [ebp - 0x508]
call fcn.00402686
lea ecx, [ebp - 0x280c]
call fcn.00402686
lea ecx, [ebp - 0x35cc]
call fcn.004108a3
xor edi, edi
push edi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
lea ecx, [ebp - 0x35cc]
call fcn.0040905c
call fcn.0040b603
cmp eax, edi
mov dword [ebp - 4], eax
je 0x409d75
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 4]
lea eax, [ebp - 0x1298]
push str.initial_ClearMSIStatus___failed.__Return_Code:__d__ErrorCode:__d
push eax
call esi
lea eax, [ebp - 0x1298]
push eax
call fcn.0040b31c
add esp, 0x14
jmp 0x40a045
push 0
call fcn.004130fc
lea eax, [ebp - 0x22b0]
push eax
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
call fcn.00401d04
mov dword [ebp - 4], eax
lea eax, [ebp - 0x1898]
mov dword [esp], 0x41e625
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x200
lea eax, [ebp - 0x1898]
push eax
push str.InstallStatus
call fcn.0040bbac
add esp, 0xc
push str.reinstall
lea eax, [ebp - 0x1898]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
jne 0x409e21
call fcn.0040b603
cmp eax, edi
mov dword [ebp - 4], eax
je 0x409e04
call ebx
push eax
push dword [ebp - 4]
lea eax, [ebp - 0x1298]
push str.ClearMSIStatus___failed.__Return_Code:__d__ErrorCode:__d
push eax
call esi
lea eax, [ebp - 0x1298]
push eax
call fcn.0040b31c
add esp, 0x14
jmp 0x409e21
push edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 8], edi
call fcn.0040bce9
lea eax, [ebp - 0x1698]
push eax
call fcn.00401d04
pop ecx
pop ecx
mov dword [ebp - 4], eax
cmp dword [ebp - 4], edi
je 0x409e8d
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.0040b726
cmp eax, edi
pop ecx
pop ecx
mov dword [ebp - 0x14], eax
je 0x409e5f
call ebx
push eax
push dword [ebp - 0x14]
lea eax, [ebp - 0x1298]
push str.GetMSIStatus___failed.__Return_Code:__d__ErrorCode:__d
push eax
call esi
lea eax, [ebp - 0x1298]
push eax
call fcn.0040b31c
add esp, 0x14
call fcn.0040b603
mov edi, eax
test edi, edi
je 0x409e8b
call ebx
push eax
push edi
lea eax, [ebp - 0x1298]
push str.ClearMSIStatus___after_get_failed.__Return_Code:__d__ErrorCode:__d
push eax
call esi
lea eax, [ebp - 0x1298]
push eax
call fcn.0040b31c
add esp, 0x14
xor edi, edi
cmp dword [ebp - 0x1c], edi
jne 0x409e9c
cmp dword [ebp - 4], edi
jne 0x409e9c
call fcn.0040908e
push dword [ebp - 0x35c8]
call dword [sym.imp.USER32.dll_DestroyWindow]
call fcn.0040cebb
cmp dword [ebp - 0x20], edi
mov ebx, str.1.6.0_23_b05
jne 0x409ff4
cmp dword [ebp - 4], 0
jne 0x409ff4
push 0x40
xor eax, eax
pop ecx
mov byte [ebp - 0x2ac], 0
lea edi, [ebp - 0x2ab]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x3b0]
push eax
lea eax, [ebp - 0x2ac]
push str._sSunJavaAU_
push eax
call esi
add esp, 0xc
push 0
lea eax, [ebp - 0x2ac]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [ebp - 0x2ac]
push eax
lea eax, [ebp - 0x60c]
push str._sau.msi
push eax
call esi
lea eax, [ebp - 0x2ac]
push eax
lea eax, [ebp - 0x890]
push str._sau.cab
push eax
call esi
lea eax, [ebp - 0x890]
push eax
mov edi, str.JAVA_INSTALLER
push edi
push 0x6a
push dword [ebp + 8]
call fcn.0040d173
lea eax, [ebp - 0x60c]
push eax
push edi
push 0x69
push dword [ebp + 8]
call fcn.0040d173
add esp, 0x38
test eax, eax
je 0x409ff4
call fcn.0040d876
cmp dword [ebp - 0x24], 0
lea eax, [ebp - 0x60c]
push eax
lea eax, [ebp - 0x1698]
push 0x426748
je 0x409f85
push str.__s___i___s__ALLUSERS1_OEMUPDATE1__qn
jmp 0x409f8a
push str.__s___i___s__ALLUSERS1__qn
push eax
call esi
lea eax, [ebp - 0x1698]
add esp, 0x10
push eax
call fcn.00401d04
pop ecx
push 0x40
mov dword [ebp - 0x18], eax
pop ecx
xor eax, eax
mov byte [ebp - 0x4b4], 0
lea edi, [ebp - 0x4b3]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x4b4]
push eax
xor eax, eax
push eax
push eax
push 0x2b
push eax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jl 0x409ff4
push ebx
lea eax, [ebp - 0x4b4]
push eax
lea eax, [ebp - 0x1698]
push str._sJavaJava_Updatejaureg.exe__r_jre__s
push eax
call esi
lea eax, [ebp - 0x1698]
push eax
call fcn.00401d04
add esp, 0x14
push dword [ebp - 8]
xor esi, esi
push dword [ebp - 0xc]
lea eax, [ebp - 0x1a8]
push esi
push esi
push esi
push esi
push esi
push str.2.0.2.4
push eax
push dword [ebp - 0x18]
lea eax, [ebp - 0x68c]
push dword [ebp - 4]
push esi
push ebx
push eax
push ebx
push 0x426ba8
push 0x41f330
push 0x426a50
push 0x426950
call fcn.0040c2a5
add esp, 0x4c
cmp dword [ebp - 0x24], esi
je 0x40a04f
call fcn.0040b9cb
xor edi, edi
cmp dword [ebp - 0x24], edi
je 0x40a04f
call fcn.0040b9cb
lea ecx, [ebp - 0x35cc]
call fcn.00410787
xor esi, esi
push esi
call fcn.0040bce9
push esi
push str.VisitorId
push esi
call fcn.0040aeb1
push esi
push str.Method
push esi
call fcn.0040aeb1
mov eax, dword [ebp - 4]
add esp, 0x1c
pop edi
pop esi
pop ebx
leave
ret 0x10