Function at 0x40d683
Capabilities:
Check http status code
Connect to http server
Create http request
Parse url
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x422ef0
push 0x413054
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.00413970
push ebx
push esi
push edi
xor ebx, ebx
inc ebx
mov dword [ebp - 0x34], ebx
mov edi, dword [ebp + 8]
push edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call esi
test eax, eax
je 0x40e25b
push edi
call fcn.0040bf51
pop ecx
test eax, eax
je 0x40e25b
cmp dword [0x42974c], 0
jne 0x40d74f
push 0x14
push str.i586
push 0x14
push str.winxp_sp3
call fcn.0040bcfc
push 0x20
push str.5a81e4b1_7168880f
call fcn.0040cceb
lea eax, [ebp - 0x2c0]
push eax
call fcn.0040d25c
add esp, 0x1c
test eax, eax
je 0x40d731
push 0x1e
lea eax, [ebp - 0x2c0]
push eax
push 0x4296e4
call fcn.004143c0
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40d743
push 0x4227d0
push 0x4296e4
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebx
mov dword [0x42974c], 1
jmp 0x40d755
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4227d3
lea eax, [ebp - 0x3c0]
push eax
call ebx
push str.__xml_version_1.0__encoding_UTF_8_____request_
lea eax, [ebp - 0xdc0]
push eax
call ebx
push 0x422808
push str.sc_xml_ver
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0xc
push edi
call esi
mov dword [ebp - 0x38], eax
push 0x422818
push edi
call fcn.00413d40
pop ecx
pop ecx
mov esi, eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x64]
cmp dword [ebp + 0x38], 0
jne 0x40d7ba
push str.suninstallstat
push 0x42282c
jmp 0x40d7c2
push dword [ebp + 0x38]
push 0x422830
push eax
call edi
add esp, 0xc
test esi, esi
je 0x40d7e4
mov eax, esi
sub eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
inc esi
push esi
push 0x422834
lea eax, [ebp - 0x64]
push eax
call edi
add esp, 0xc
push str.suninstallstatdev
lea eax, [ebp - 0x64]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
call esi
test eax, eax
jne 0x40d7fc
and dword [ebp - 0x34], eax
push str.sunjfxinstallstatdev
lea eax, [ebp - 0x64]
push eax
call esi
test eax, eax
jne 0x40d80e
and dword [ebp - 0x34], eax
lea eax, [ebp - 0x64]
push eax
push str.reportsuiteid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push str.5a81e4b1_7168880f
push str.visitorid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push 0x14
lea eax, [ebp - 0x64]
push eax
push str.PingTest
call fcn.0040d497
add esp, 0x24
test eax, eax
jne 0x40d855
cmp dword [ebp - 0x34], eax
jne 0x40d86e
push str.5a81e4b1_7168880f
push str.prop21
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0xc
push 0x422894
push dword [ebp + 8]
call fcn.00413d40
pop ecx
pop ecx
test eax, eax
je 0x40d8cf
push 0x4228a0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.https:__sjremetrics.java.com
push dword [ebp + 8]
call fcn.00413870
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x2c0]
jne 0x40d8b9
push 0xb3e9fd
push 0x4228e0
push eax
call edi
add esp, 0xc
jmp 0x40d8c1
push str.nonprodpasswd
push eax
call ebx
lea eax, [ebp - 0x2c0]
push eax
push 0x4228f4
jmp 0x40d8d9
push str.nonhttpspasswd
push 0x42290c
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0xc
push 0x422920
push dword [ebp + 0x10]
call esi
test eax, eax
je 0x40d97c
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0xc
cmp dword [ebp + 0x1c], 0
je 0x40d95c
push dword [ebp + 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 2
jl 0x40d95c
push 0x422930
push dword [ebp + 0x1c]
call esi
test eax, eax
je 0x40d95c
push dword [ebp + 0x1c]
push str.evar3
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
jmp 0x40d979
push 0x4296e4
push 0x422934
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
mov dword [ebp + 0x1c], 0x4296e4
add esp, 0xc
push 0x422944
push str.evar4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push str.i586
push str.evar5
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push str.winxp_sp3
push str.evar6
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0x24
lea eax, [ebp - 0xb8]
cmp dword [ebp + 0xc], 0
jne 0x40d9f8
mov dword [ebp - 0x50], 0x14
push 0x422964
push eax
call ebx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xb8]
push eax
push 0x422968
push 0
call fcn.0040c87a
add esp, 0x10
jmp 0x40d9fe
push dword [ebp + 0xc]
push eax
call ebx
lea eax, [ebp - 0xb8]
push eax
push str.evar7
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0x18
push 0x422980
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40dba5
push str.event6_event7
push 0x422994
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0xc
push 0x42299b
lea eax, [ebp - 0x5c0]
push eax
call ebx
push 0x200
lea eax, [ebp - 0x5c0]
push eax
push str.InstallStatus
call fcn.0040d497
push 0
call fcn.0040d5d5
add esp, 0x10
push str.reinstall
lea eax, [ebp - 0x5c0]
push eax
call esi
test eax, eax
je 0x40db31
push 0x4229b8
lea eax, [ebp - 0x5c0]
push eax
call esi
mov ebx, dword [ebp + 0x24]
test eax, eax
jne 0x40dac1
cmp ebx, 0x643
je 0x40dac9
cmp ebx, 0x642
je 0x40dac9
cmp ebx, 0x666
jne 0x40dacc
push 0xffffffffffffff80
pop ebx
call fcn.0040d62a
test eax, eax
je 0x40daea
cmp ebx, 0x643
je 0x40dae5
cmp ebx, 0x642
jne 0x40daea
mov ebx, 0xffffff76
test ebx, ebx
jne 0x40db00
push 0x4229c0
lea eax, [ebp - 0x5c0]
push eax
call esi
test eax, eax
jne 0x40db1f
push 0
push 0x4229c8
push 0
call fcn.0040caec
push 0
push 0x4229d4
push 0
call fcn.0040caec
add esp, 0x18
push str.decline
lea eax, [ebp - 0x5c0]
push eax
call esi
test eax, eax
jne 0x40db39
xor eax, eax
inc eax
jmp 0x40e25d
push ebx
push 0x4229e4
lea eax, [ebp - 0x3c0]
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x40db82
push str.exists
lea eax, [ebp - 0x5c0]
push eax
call esi
test eax, eax
je 0x40db82
lea eax, [ebp - 0x5c0]
push eax
lea eax, [ebp - 0x3c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x3c0]
push eax
push 0x4229f4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40ddbb
push 0x422a00
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40dc14
xor esi, esi
push esi
push str.VisitorId
push esi
call fcn.0040caec
push esi
push 0x422a10
push esi
call fcn.0040caec
push str.event11
push 0x422a20
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push dword [ebp + 0x24]
push str._jre_d
lea eax, [ebp - 0x3c0]
push eax
call edi
lea eax, [ebp - 0x3c0]
push eax
push 0x422a30
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0x3c
jmp 0x40ddbe
push 0x422a3c
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40dc31
push str.event1
push 0x422a48
jmp 0x40ddaf
push 0x422a50
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40dd11
push str.event2
push 0x422a5c
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0xc
xor esi, esi
lea eax, [ebp - 0x2c0]
cmp dword [ebp + 0x24], esi
jne 0x40dc71
push esi
push 0x422a64
jmp 0x40dc79
push dword [ebp + 0x24]
push 0x422a68
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x2c0]
push eax
push str.evar9
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0xc
lea eax, [ebp - 0x2c0]
cmp dword [ebp + 0x20], esi
jne 0x40dcad
push esi
push 0x422a74
jmp 0x40dcb5
push dword [ebp + 0x20]
push 0x422a78
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x2c0]
push eax
push str.evar10
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x40]
push eax
push 0x422a84
push esi
call fcn.0040c945
add esp, 0x18
lea eax, [ebp - 0xdc0]
cmp dword [ebp - 0x40], esi
jne 0x40dd02
push 0x422a94
push 0x422a98
jmp 0x40ddb5
push 0x422aa0
push str.evar11
jmp 0x40ddb5
push str.jfxic
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40ddbe
push str.event20
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push dword [ebp + 0x24]
push str._jfx_d
lea eax, [ebp - 0x3c0]
push eax
call edi
lea eax, [ebp - 0x3c0]
push eax
push str.products
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push dword [ebp + 0x28]
push str.evar16
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push dword [ebp + 0x2c]
push str.evar17
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
push dword [ebp + 0x30]
push str.evar18
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0x48
cmp dword [ebp + 0x24], 3
jne 0x40ddbe
push dword [ebp + 0x34]
push str.evar19
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c015
add esp, 0xc
push str.__request_
lea eax, [ebp - 0xdc0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 4], esi
push esi
push esi
push esi
push esi
push 0x422b04
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x30], eax
cmp eax, esi
je 0x40e220
push 0xf
pop ecx
xor eax, eax
lea edi, [ebp - 0xa0]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xa0], 0x3c
lea eax, [ebp - 0xec0]
mov dword [ebp - 0x90], eax
mov eax, 0x100
mov dword [ebp - 0x8c], eax
mov word [ebp - 0x88], si
lea ecx, [ebp - 0x10c0]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], eax
lea ecx, [ebp - 0xfc0]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], eax
push dword [ebp - 0x38]
push dword [ebp + 8]
lea eax, [ebp - 0x5c0]
push eax
call fcn.004143c0
add esp, 0xc
mov eax, dword [ebp - 0x38]
mov byte [ebp + eax - 0x5c0], 0
lea ecx, [ebp - 0xa0]
push ecx
push esi
push eax
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
push esi
push esi
push 3
push 0x422b0c
push 0x422b0d
push dword [ebp - 0x88]
push dword [ebp - 0x90]
push dword [ebp - 0x30]
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x2c], eax
cmp eax, esi
je 0x40e220
lea eax, [ebp - 0x5c0]
cmp dword [ebp - 0x70], esi
je 0x40debc
push dword [ebp - 0x74]
jmp 0x40dec1
push 0x422b10
push eax
call ebx
cmp dword [ebp - 0x68], esi
je 0x40ded9
push dword [ebp - 0x6c]
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x422b14
push dword [ebp + 8]
call fcn.00413d40
pop ecx
pop ecx
push esi
test eax, eax
lea eax, [ebp - 0x5c0]
je 0x40df0b
push 0x4c00000
push esi
push 0x422b1d
push 0x422b20
push eax
push 0x422b2c
jmp 0x40df21
push 0x4400000
push esi
push 0x422b31
push 0x422b34
push eax
push str.POST
push dword [ebp - 0x2c]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x40e220
xor edi, edi
inc edi
mov dword [ebp - 0x20], edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
lea eax, [ebp - 0xdc0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0xdc0]
push eax
push esi
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x40dfb4
cmp dword [ebp - 0x20], esi
je 0x40e220
call ebx
mov dword [ebp - 0xbc], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x40dfaf
sub ecx, 5
je 0x40dfaf
sub ecx, 0x16
je 0x40dfaf
mov dword [ebp - 0x20], esi
push esi
push 7
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
cmp eax, 0x2f00
jne 0x40df43
mov dword [ebp - 0x20], edi
jmp 0x40df43
mov dword [ebp - 0x20], esi
jmp 0x40df43
cmp dword [ebp - 0x20], esi
je 0x40e220
call ebx
mov dword [ebp - 0x48], eax
and dword [ebp - 0x24], 0
mov dword [ebp - 0x3c], 4
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x24]
push eax
mov edi, 0x20000013
push edi
push dword [ebp - 0x1c]
mov esi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
call esi
test eax, eax
jne 0x40dff1
call ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], 1
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp dword [ebp - 0x24], 0x197
jne 0x40e068
cmp dword [ebp - 0x20], 0
je 0x40e068
push 0
push 7
push dword [ebp - 0x48]
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
cmp eax, 0x2f00
je 0x40e031
and dword [ebp - 0x20], 0
jmp 0x40dffe
lea eax, [ebp - 0xdc0]
push eax
call ebx
push eax
lea eax, [ebp - 0xdc0]
push eax
push 0
push 0
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov dword [ebp - 0x3c], 4
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x24]
push eax
push edi
push dword [ebp - 0x1c]
call esi
jmp 0x40dffe
cmp dword [ebp - 0x24], 0xc8
jne 0x40e091
mov dword [ebp - 0x4c], 1
lea eax, [ebp - 0x44]
push eax
push 0x200
lea eax, [ebp - 0x5c0]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x40e09e
lea eax, [ebp - 0xb8]
push dword [ebp + 0x18]
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push eax
push str.5a81e4b1_7168880f
push dword [ebp - 0x24]
push str.InstallStatus:ret_d_visid_s_method_s_state_s_ver_s__s
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
lea eax, [ebp - 0x3c0]
push eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
test eax, eax
je 0x40e0f6
push str._ICstatus
lea eax, [ebp - 0x2c0]
push eax
call esi
lea eax, [ebp - 0x3c0]
push eax
lea eax, [ebp - 0x2c0]
push eax
call esi
push dword [ebp + 0x28]
call ebx
test eax, eax
je 0x40e119
push str._currentJavaFXVersion
lea eax, [ebp - 0x2c0]
push eax
call esi
push dword [ebp + 0x28]
lea eax, [ebp - 0x2c0]
push eax
call esi
push dword [ebp + 0x2c]
call ebx
test eax, eax
je 0x40e13c
push str._requestedJavaFXVersion
lea eax, [ebp - 0x2c0]
push eax
call esi
push dword [ebp + 0x2c]
lea eax, [ebp - 0x2c0]
push eax
call esi
push dword [ebp + 0x30]
call ebx
test eax, eax
je 0x40e15f
push str._currentJavaVersion
lea eax, [ebp - 0x2c0]
push eax
call esi
push dword [ebp + 0x30]
lea eax, [ebp - 0x2c0]
push eax
call esi
push dword [ebp + 0x34]
call ebx
test eax, eax
je 0x40e182
push str._errorFile
lea eax, [ebp - 0x2c0]
push eax
call esi
push dword [ebp + 0x34]
lea eax, [ebp - 0x2c0]
push eax
call esi
cmp dword [ebp - 0x44], 0
je 0x40e1af
push 0x422be8
lea eax, [ebp - 0x2c0]
push eax
call esi
push dword [ebp - 0x44]
lea eax, [ebp - 0x5c0]
push eax
lea eax, [ebp - 0x2c0]
push eax
call fcn.004144f0
add esp, 0xc
lea eax, [ebp - 0x2c0]
push eax
call fcn.0040c059
pop ecx
cmp dword [ebp - 0x34], 0
jne 0x40e220
push 0x422bec
lea eax, [ebp - 0xdc0]
push eax
call fcn.00413d40
pop ecx
pop ecx
mov dword [ebp - 0x28], eax
test eax, eax
je 0x40e213
add dword [ebp - 0x28], 7
push str.prop20
push dword [ebp - 0x28]
call fcn.00413d40
pop ecx
pop ecx
mov dword [ebp - 0xa4], eax
sub eax, dword [ebp - 0x28]
dec eax
dec eax
mov dword [ebp - 0xc0], eax
je 0x40e213
push eax
push str.XXXXXXXXXXXXXXXXXX
push dword [ebp - 0x28]
call fcn.004143c0
add esp, 0xc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c059
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0040e22e
mov eax, dword [ebp - 0x4c]
jmp 0x40e25d
mov eax, ebx
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret