Function at 0x40d579
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 0x422dd0
push 0x412f10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.00413830
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 0x40e123
push edi
call fcn.0040bed6
pop ecx
test eax, eax
je 0x40e123
cmp dword [0x42974c], 0
jne 0x40d645
push 0x14
push 0x429738
push 0x14
push 0x429724
call fcn.0040bc9e
push 0x20
push 0x429704
call fcn.0040cc3a
lea eax, [ebp - 0x2c0]
push eax
call fcn.0040d1ab
add esp, 0x1c
test eax, eax
je 0x40d627
push 0x1e
lea eax, [ebp - 0x2c0]
push eax
push 0x4296e4
call fcn.00414280
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40d639
push 0x4226f0
push 0x4296e4
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebx
mov dword [0x42974c], 1
jmp 0x40d64b
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4226f3
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 0x422728
push str.sc_xml_ver
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0xc
push edi
call esi
mov dword [ebp - 0x38], eax
push 0x422738
push edi
call fcn.00413c00
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 0x40d6b0
push str.suninstallstat
push 0x42274c
jmp 0x40d6b8
push dword [ebp + 0x38]
push 0x422750
push eax
call edi
add esp, 0xc
test esi, esi
je 0x40d6da
mov eax, esi
sub eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
inc esi
push esi
push 0x422754
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 0x40d6f2
and dword [ebp - 0x34], eax
push str.sunjfxinstallstatdev
lea eax, [ebp - 0x64]
push eax
call esi
test eax, eax
jne 0x40d704
and dword [ebp - 0x34], eax
lea eax, [ebp - 0x64]
push eax
push str.reportsuiteid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
push 0x429704
push str.visitorid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
push 0x14
lea eax, [ebp - 0x64]
push eax
push str.PingTest
call fcn.0040d3e6
add esp, 0x24
test eax, eax
jne 0x40d74b
cmp dword [ebp - 0x34], eax
jne 0x40d764
push 0x429704
push str.prop21
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0xc
push 0x4227b4
push dword [ebp + 8]
call fcn.00413c00
pop ecx
pop ecx
test eax, eax
je 0x40d7c5
push 0x4227c0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.https:__sjremetrics.java.com
push dword [ebp + 8]
call fcn.00413730
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x2c0]
jne 0x40d7af
push 0xb3e9fd
push 0x422800
push eax
call edi
add esp, 0xc
jmp 0x40d7b7
push str.nonprodpasswd
push eax
call ebx
lea eax, [ebp - 0x2c0]
push eax
push 0x422814
jmp 0x40d7cf
push str.nonhttpspasswd
push 0x42282c
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0xc
push 0x422840
push dword [ebp + 0x10]
call esi
test eax, eax
je 0x40d870
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0xc
mov ebx, dword [ebp + 0x1c]
test ebx, ebx
je 0x40d84d
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 2
jl 0x40d84d
push 0x422850
push ebx
call esi
test eax, eax
je 0x40d84d
push ebx
push str.evar3
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
jmp 0x40d867
mov ebx, 0x4296e4
push ebx
push 0x422854
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
mov dword [ebp + 0x1c], ebx
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.i586
push str.evar4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
push 0x429738
push str.evar5
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
push 0x429724
push str.evar6
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0x24
lea eax, [ebp - 0xb8]
cmp dword [ebp + 0xc], 0
jne 0x40d8ec
mov dword [ebp - 0x50], 0x14
push 0x422884
push eax
call ebx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xb8]
push eax
push 0x422888
push 0
call fcn.0040c7ca
add esp, 0x10
jmp 0x40d8f2
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.0040bf9a
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0x18
push 0x4228a0
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40da6d
push str.event6_event7
push 0x4228b4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0xc
push 0x4228bb
lea eax, [ebp - 0x5c0]
push eax
call ebx
push 0x200
lea eax, [ebp - 0x5c0]
push eax
push str.InstallStatus
call fcn.0040d3e6
push 0
call fcn.0040d524
add esp, 0x10
push str.reinstall
lea eax, [ebp - 0x5c0]
push eax
call esi
test eax, eax
je 0x40da09
push 0x4228d8
lea eax, [ebp - 0x5c0]
push eax
call esi
test eax, eax
jne 0x40d9b0
cmp dword [ebp + 0x24], 0x643
je 0x40d9b9
cmp dword [ebp + 0x24], 0x642
je 0x40d9b9
cmp dword [ebp + 0x24], 0x666
jne 0x40d9c0
mov dword [ebp + 0x24], 0xffffff80
cmp dword [ebp + 0x24], 0
jne 0x40d9d8
push 0x4228e0
lea eax, [ebp - 0x5c0]
push eax
call esi
test eax, eax
jne 0x40d9f7
push 0
push 0x4228e8
push 0
call fcn.0040ca3c
push 0
push 0x4228f4
push 0
call fcn.0040ca3c
add esp, 0x18
push str.decline
lea eax, [ebp - 0x5c0]
push eax
call esi
test eax, eax
jne 0x40da11
xor eax, eax
inc eax
jmp 0x40e125
push dword [ebp + 0x24]
push 0x422904
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 0x40da5c
push str.exists
lea eax, [ebp - 0x5c0]
push eax
call esi
test eax, eax
je 0x40da5c
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 0x422914
jmp 0x40dc77
push 0x422920
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40dadc
xor esi, esi
push esi
push str.VisitorId
push esi
call fcn.0040ca3c
push esi
push str.Method
push esi
call fcn.0040ca3c
push str.event11
push 0x422940
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
push dword [ebp + 0x24]
push str._jre_d
lea eax, [ebp - 0x3c0]
push eax
call edi
lea eax, [ebp - 0x3c0]
push eax
push 0x422950
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0x3c
jmp 0x40dc86
push 0x42295c
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40daf9
push str.event1
push 0x422968
jmp 0x40dc77
push 0x422970
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40dbd9
push str.event2
push 0x42297c
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0xc
xor esi, esi
lea eax, [ebp - 0x2c0]
cmp dword [ebp + 0x24], esi
jne 0x40db39
push esi
push 0x422984
jmp 0x40db41
push dword [ebp + 0x24]
push 0x422988
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x2c0]
push eax
push str.evar9
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0xc
lea eax, [ebp - 0x2c0]
cmp dword [ebp + 0x20], esi
jne 0x40db75
push esi
push 0x422994
jmp 0x40db7d
push dword [ebp + 0x20]
push 0x422998
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x2c0]
push eax
push str.evar10
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x40]
push eax
push 0x4229a4
push esi
call fcn.0040c895
add esp, 0x18
lea eax, [ebp - 0xdc0]
cmp dword [ebp - 0x40], esi
jne 0x40dbca
push 0x4229b4
push 0x4229b8
jmp 0x40dc7d
push 0x4229c0
push str.evar11
jmp 0x40dc7d
push str.jfxic
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40dc86
push str.event20
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
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.0040bf9a
push dword [ebp + 0x28]
push str.evar16
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
push dword [ebp + 0x2c]
push str.evar17
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
push dword [ebp + 0x30]
push str.evar18
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
add esp, 0x48
cmp dword [ebp + 0x24], 3
jne 0x40dc86
push dword [ebp + 0x34]
push str.evar19
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bf9a
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 0x422a24
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x30], eax
cmp eax, esi
je 0x40e0e8
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.00414280
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 0x422a2c
push 0x422a2d
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 0x40e0e8
lea eax, [ebp - 0x5c0]
cmp dword [ebp - 0x70], esi
je 0x40dd84
push dword [ebp - 0x74]
jmp 0x40dd89
push 0x422a30
push eax
call ebx
cmp dword [ebp - 0x68], esi
je 0x40dda1
push dword [ebp - 0x6c]
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x422a34
push dword [ebp + 8]
call fcn.00413c00
pop ecx
pop ecx
push esi
test eax, eax
lea eax, [ebp - 0x5c0]
je 0x40ddd3
push 0x4c00000
push esi
push 0x422a3d
push 0x422a40
push eax
push 0x422a4c
jmp 0x40dde9
push 0x4400000
push esi
push 0x422a51
push 0x422a54
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 0x40e0e8
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 0x40de7c
cmp dword [ebp - 0x20], esi
je 0x40e0e8
call ebx
mov dword [ebp - 0xbc], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x40de77
sub ecx, 5
je 0x40de77
sub ecx, 0x16
je 0x40de77
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 0x40de0b
mov dword [ebp - 0x20], edi
jmp 0x40de0b
mov dword [ebp - 0x20], esi
jmp 0x40de0b
cmp dword [ebp - 0x20], esi
je 0x40e0e8
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 0x40deb9
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 0x40df30
cmp dword [ebp - 0x20], 0
je 0x40df30
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 0x40def9
and dword [ebp - 0x20], 0
jmp 0x40dec6
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 0x40dec6
cmp dword [ebp - 0x24], 0xc8
jne 0x40df59
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 0x40df66
lea eax, [ebp - 0xb8]
push dword [ebp + 0x18]
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push eax
push 0x429704
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 0x40dfbe
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 0x40dfe1
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 0x40e004
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 0x40e027
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 0x40e04a
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 0x40e077
push 0x422b08
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.004143b0
add esp, 0xc
lea eax, [ebp - 0x2c0]
push eax
call fcn.0040bfde
pop ecx
cmp dword [ebp - 0x34], 0
jne 0x40e0e8
push 0x422b0c
lea eax, [ebp - 0xdc0]
push eax
call fcn.00413c00
pop ecx
pop ecx
mov dword [ebp - 0x28], eax
test eax, eax
je 0x40e0db
add dword [ebp - 0x28], 7
push str.prop20
push dword [ebp - 0x28]
call fcn.00413c00
pop ecx
pop ecx
mov dword [ebp - 0xa4], eax
sub eax, dword [ebp - 0x28]
dec eax
dec eax
mov dword [ebp - 0xc0], eax
je 0x40e0db
push eax
push str.XXXXXXXXXXXXXXXXXX
push dword [ebp - 0x28]
call fcn.00414280
add esp, 0xc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bfde
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0040e0f6
mov eax, dword [ebp - 0x4c]
jmp 0x40e125
mov eax, ebx
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret