Function at 0x4086d6
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 0x418470
push 0x409be4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.0040a890
push ebx
push esi
push edi
xor esi, esi
inc esi
mov dword [ebp - 0x3c], esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x4090e7
push dword [ebp + 8]
call fcn.00406c6a
pop ecx
test eax, eax
je 0x4090e7
cmp dword [0x41c5a8], 0
jne 0x40879d
push 0x14
push 0x41c594
push 0x14
push 0x41c580
call fcn.00406aa8
push 0x20
push 0x41c560
call fcn.0040810f
lea eax, [ebp - 0x4c0]
push eax
call fcn.004078f8
add esp, 0x1c
test eax, eax
je 0x408783
push 0x1e
lea eax, [ebp - 0x4c0]
push eax
push 0x41c540
call fcn.0040acc0
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x408795
push 0x417f04
push 0x41c540
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebx
mov dword [0x41c5a8], esi
jmp 0x4087a3
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x417f07
lea eax, [ebp - 0x5c0]
push eax
call ebx
push str.__xml_version_1.0__encoding_UTF_8_____request_
lea eax, [ebp - 0xdc0]
push eax
call ebx
push 0x417f3c
push str.sc_xml_ver
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x34], eax
push 0x417f4c
push dword [ebp + 8]
call fcn.0040ac00
mov esi, eax
push str.suninstallstat
push 0x417f60
lea eax, [ebp - 0xa0]
push eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
call edi
add esp, 0x14
test esi, esi
je 0x40882e
mov eax, esi
sub eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
inc esi
push esi
push 0x417f64
lea eax, [ebp - 0xa0]
push eax
call edi
add esp, 0xc
push str.suninstallstatdev
lea eax, [ebp - 0xa0]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
call esi
test eax, eax
jne 0x408849
and dword [ebp - 0x3c], eax
lea eax, [ebp - 0xa0]
push eax
push str.reportsuiteid
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
push 0x41c560
push str.visitorid
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
push 0x14
lea eax, [ebp - 0xa0]
push eax
push str.PingTest
call fcn.00407f0f
add esp, 0x24
test eax, eax
jne 0x408896
cmp dword [ebp - 0x3c], eax
jne 0x4088af
push 0x41c560
push str.prop21
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0xc
push 0x417fac
push dword [ebp + 8]
call fcn.0040ac00
pop ecx
pop ecx
test eax, eax
je 0x408910
push 0x417fb8
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.https:__sjremetrics.java.com
push dword [ebp + 8]
call fcn.0040af10
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c0]
jne 0x4088fa
push 0xb3e9fd
push 0x417ff8
push eax
call edi
add esp, 0xc
jmp 0x408902
push str.nonprodpasswd
push eax
call ebx
lea eax, [ebp - 0x4c0]
push eax
push 0x41800c
jmp 0x40891a
push str.nonhttpspasswd
push 0x418024
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0x18
lea eax, [ebp - 0xdc0]
cmp dword [ebp + 0x1c], 0
jne 0x40896c
push 0x41c540
push 0x418040
jmp 0x408974
push dword [ebp + 0x1c]
push str.evar3
push eax
call fcn.00406d2e
add esp, 0xc
push str.i586
push str.evar4
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
push 0x41c594
push str.evar5
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
push 0x41c580
push str.evar6
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0x24
cmp dword [ebp + 0xc], 0
jne 0x408a11
mov dword [ebp - 0x50], 0x14
push 0x418070
lea eax, [ebp - 0xc0]
push eax
call ebx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xc0]
push eax
push 0x418074
push 0
call fcn.00407336
lea eax, [ebp - 0xc0]
push eax
push 0x41807c
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0x1c
jmp 0x408a28
push dword [ebp + 0xc]
push str.evar7
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0xc
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0xc
push 0x418094
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x408b6a
push str.event6_event7
push 0x4180a8
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0xc
push 0x4180af
lea eax, [ebp - 0x2c0]
push eax
call ebx
push 0x200
lea eax, [ebp - 0x2c0]
push eax
push str.InstallStatus
call fcn.00407f0f
push 0
call fcn.00408010
add esp, 0x10
push str.reinstall
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x408adb
push 0
push str.VisitorId
push 0
call fcn.00407545
push 0
push str.Method
push 0
call fcn.00407545
add esp, 0x18
push str.decline
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x408ae3
xor eax, eax
inc eax
jmp 0x4090e9
push 0x4180e8
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x408b0e
cmp dword [ebp + 0x24], 0x643
je 0x408b07
cmp dword [ebp + 0x24], 0x642
jne 0x408b0e
mov dword [ebp + 0x24], 0xffffff80
push dword [ebp + 0x24]
push 0x4180f0
lea eax, [ebp - 0x5c0]
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x408b59
push str.exists
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x408b59
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x5c0]
push eax
push 0x418100
jmp 0x408ccb
push 0x41810c
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x408bbf
push str.event5
push 0x418118
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
push dword [ebp + 0x24]
push str._jre_d
lea eax, [ebp - 0x5c0]
push eax
call edi
lea eax, [ebp - 0x5c0]
push eax
push str.products
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0x24
jmp 0x408cda
push 0x418134
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x408bdc
push str.event4
push 0x418140
jmp 0x408ccb
push 0x418148
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x408bf9
push str.event1
push 0x418154
jmp 0x408ccb
push 0x41815c
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x408cda
push str.event2
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0xc
xor esi, esi
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x24], esi
jne 0x408c39
push esi
push 0x418170
jmp 0x408c41
push dword [ebp + 0x24]
push 0x418174
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar9
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
add esp, 0xc
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x20], esi
jne 0x408c75
push esi
push 0x418180
jmp 0x408c7d
push dword [ebp + 0x20]
push 0x418184
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar10
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x40]
push eax
push str.NotifyInstall
push esi
call fcn.0040739e
add esp, 0x18
cmp dword [ebp - 0x40], esi
jne 0x408cc1
push 0x4181a0
push 0x4181a4
jmp 0x408ccb
push 0x4181ac
push str.evar11
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d2e
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 - 0x28], 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 str.jupdate
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x30], eax
cmp eax, esi
je 0x4090ac
push 0xf
pop ecx
xor eax, eax
lea edi, [ebp - 0x8c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x8c], 0x3c
lea eax, [ebp - 0xec0]
mov dword [ebp - 0x7c], eax
mov eax, pe_nt_image_headers32
mov dword [ebp - 0x78], eax
mov word [ebp - 0x74], si
lea ecx, [ebp - 0xfc0]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x10c0]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], eax
push dword [ebp - 0x34]
push dword [ebp + 8]
lea eax, [ebp - 0x2c0]
push eax
call fcn.0040acc0
add esp, 0xc
mov eax, dword [ebp - 0x34]
mov byte [ebp + eax - 0x2c0], 0
lea ecx, [ebp - 0x8c]
push ecx
push esi
push eax
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
push esi
push esi
push 3
push 0x4181cc
push 0x4181cd
push dword [ebp - 0x74]
push dword [ebp - 0x7c]
push dword [ebp - 0x30]
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x28], eax
cmp eax, esi
je 0x4090ac
lea eax, [ebp - 0x2c0]
cmp dword [ebp - 0x5c], esi
je 0x408dc9
push dword [ebp - 0x60]
jmp 0x408dce
push 0x4181d0
push eax
call ebx
cmp dword [ebp - 0x54], esi
je 0x408de6
push dword [ebp - 0x58]
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.https:__
push dword [ebp + 8]
call fcn.0040ac00
pop ecx
pop ecx
push esi
test eax, eax
lea eax, [ebp - 0x2c0]
je 0x408e18
push 0x4c00000
push esi
push 0x4181dd
push 0x4181e0
push eax
push 0x4181ec
jmp 0x408e2e
push 0x4400000
push esi
push 0x4181f1
push str.HTTP_1.1
push eax
push str.POST
push dword [ebp - 0x28]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x4090ac
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 0x408ec1
cmp dword [ebp - 0x20], esi
je 0x4090ac
call ebx
mov dword [ebp - 0xa8], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x408ebc
sub ecx, 5
je 0x408ebc
sub ecx, 0x16
je 0x408ebc
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 0x408e50
mov dword [ebp - 0x20], edi
jmp 0x408e50
mov dword [ebp - 0x20], esi
jmp 0x408e50
cmp dword [ebp - 0x20], esi
je 0x4090ac
call ebx
mov dword [ebp - 0x48], eax
and dword [ebp - 0x24], 0
mov dword [ebp - 0x38], 4
push 0
lea eax, [ebp - 0x38]
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 0x408efe
call ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], 1
mov ebx, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], 0x197
jne 0x408f70
cmp dword [ebp - 0x20], 0
je 0x408f70
push 0
push 7
push dword [ebp - 0x48]
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
cmp eax, 0x2f00
je 0x408f39
and dword [ebp - 0x20], 0
jmp 0x408f08
lea eax, [ebp - 0xdc0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0xdc0]
push eax
push 0
push 0
push ebx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov dword [ebp - 0x38], 4
push 0
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x24]
push eax
push edi
push ebx
call esi
jmp 0x408f08
cmp dword [ebp - 0x24], 0xc8
jne 0x408f97
mov dword [ebp - 0x4c], 1
lea eax, [ebp - 0x44]
push eax
push 0x200
lea eax, [ebp - 0x2c0]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
jne 0x408fa3
mov ecx, 0x41c540
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x408fb0
lea eax, [ebp - 0xc0]
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0x10]
push eax
push 0x41c560
push dword [ebp - 0x24]
push str.InstallStatus:ret_d_visid_s_method_s_state_s_ver_s__s
lea eax, [ebp - 0x4c0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x40900a
push str._ICstatus
lea eax, [ebp - 0x4c0]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call esi
lea eax, [ebp - 0x5c0]
push eax
lea eax, [ebp - 0x4c0]
push eax
call esi
cmp dword [ebp - 0x44], 0
je 0x40903b
push 0x418250
lea eax, [ebp - 0x4c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [ebp - 0x44]
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040afb0
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
call fcn.00406d72
pop ecx
cmp dword [ebp - 0x3c], 0
jne 0x4090ac
push 0x418254
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040ac00
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x40909f
add dword [ebp - 0x2c], 7
push str.prop20
push dword [ebp - 0x2c]
call fcn.0040ac00
pop ecx
pop ecx
mov dword [ebp - 0xac], eax
sub eax, dword [ebp - 0x2c]
dec eax
dec eax
mov dword [ebp - 0xa4], eax
je 0x40909f
push eax
push str.XXXXXXXXXXXXXXXXXX
push dword [ebp - 0x2c]
call fcn.0040acc0
add esp, 0xc
lea eax, [ebp - 0xdc0]
push eax
call fcn.00406d72
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.004090ba
mov eax, dword [ebp - 0x4c]
jmp 0x4090e9
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret