Function at 0x40fe4a
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 0x421da0
push 0x41140c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.004118d0
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 0x41085b
push dword [ebp + 8]
call fcn.0040e3a3
pop ecx
test eax, eax
je 0x41085b
cmp dword [0x427d8c], 0
jne 0x40ff11
push 0x14
push 0x427d78
push 0x14
push 0x427d64
call fcn.0040e1e6
push 0x20
push 0x427d44
call fcn.0040f8d1
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040f024
add esp, 0x1c
test eax, eax
je 0x40fef7
push 0x1e
lea eax, [ebp - 0x4c0]
push eax
push 0x427d24
call fcn.00412710
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40ff09
push 0x421838
push 0x427d24
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebx
mov dword [0x427d8c], esi
jmp 0x40ff17
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x42183b
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 0x421870
push str.sc_xml_ver
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x34], eax
push 0x421880
push dword [ebp + 8]
call fcn.00411a80
mov esi, eax
push str.suninstallstat
push 0x421894
lea eax, [ebp - 0xa0]
push eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
call edi
add esp, 0x14
test esi, esi
je 0x40ffa2
mov eax, esi
sub eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
inc esi
push esi
push 0x421898
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 0x40ffbd
and dword [ebp - 0x3c], eax
lea eax, [ebp - 0xa0]
push eax
push str.reportsuiteid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
push 0x427d44
push str.visitorid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
push 0x14
lea eax, [ebp - 0xa0]
push eax
push str.PingTest
call fcn.0040f74f
add esp, 0x24
test eax, eax
jne 0x41000a
cmp dword [ebp - 0x3c], eax
jne 0x410023
push 0x427d44
push str.prop21
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0xc
push 0x4218e0
push dword [ebp + 8]
call fcn.00411a80
pop ecx
pop ecx
test eax, eax
je 0x410084
push 0x4218ec
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.https:__sjremetrics.java.com
push dword [ebp + 8]
call fcn.00412ac0
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c0]
jne 0x41006e
push 0xb3e9fd
push 0x42192c
push eax
call edi
add esp, 0xc
jmp 0x410076
push str.nonprodpasswd
push eax
call ebx
lea eax, [ebp - 0x4c0]
push eax
push 0x421940
jmp 0x41008e
push str.nonhttpspasswd
push 0x421958
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0x18
lea eax, [ebp - 0xdc0]
cmp dword [ebp + 0x1c], 0
jne 0x4100e0
push 0x427d24
push 0x421974
jmp 0x4100e8
push dword [ebp + 0x1c]
push str.evar3
push eax
call fcn.0040e467
add esp, 0xc
push str.i586
push str.evar4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
push 0x427d78
push str.evar5
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
push 0x427d64
push str.evar6
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0x24
cmp dword [ebp + 0xc], 0
jne 0x410185
mov dword [ebp - 0x50], 0x14
push 0x4219a4
lea eax, [ebp - 0xc0]
push eax
call ebx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xc0]
push eax
push 0x4219a8
push 0
call fcn.0040ea6f
lea eax, [ebp - 0xc0]
push eax
push 0x4219b0
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0x1c
jmp 0x41019c
push dword [ebp + 0xc]
push str.evar7
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0xc
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0xc
push 0x4219c8
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x4102de
push str.event6_event7
push 0x4219dc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0xc
push 0x4219e3
lea eax, [ebp - 0x2c0]
push eax
call ebx
push 0x200
lea eax, [ebp - 0x2c0]
push eax
push str.InstallStatus
call fcn.0040f74f
push 0
call fcn.0040f7d2
add esp, 0x10
push str.reinstall
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x41024f
push 0
push str.VisitorId
push 0
call fcn.0040ec7e
push 0
push str.Method
push 0
call fcn.0040ec7e
add esp, 0x18
push str.decline
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x410257
xor eax, eax
inc eax
jmp 0x41085d
push 0x421a1c
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x410282
cmp dword [ebp + 0x24], 0x643
je 0x41027b
cmp dword [ebp + 0x24], 0x642
jne 0x410282
mov dword [ebp + 0x24], 0xffffff80
push dword [ebp + 0x24]
push 0x421a24
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 0x4102cd
push str.exists
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x4102cd
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 0x421a34
jmp 0x41043f
push 0x421a40
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x410333
push str.event5
push 0x421a4c
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
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.0040e467
add esp, 0x24
jmp 0x41044e
push 0x421a68
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x410350
push str.event4
push 0x421a74
jmp 0x41043f
push 0x421a7c
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x41036d
push str.event1
push 0x421a88
jmp 0x41043f
push 0x421a90
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x41044e
push str.event2
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0xc
xor esi, esi
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x24], esi
jne 0x4103ad
push esi
push 0x421aa4
jmp 0x4103b5
push dword [ebp + 0x24]
push 0x421aa8
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar9
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
add esp, 0xc
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x20], esi
jne 0x4103e9
push esi
push 0x421ab4
jmp 0x4103f1
push dword [ebp + 0x20]
push 0x421ab8
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar10
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x40]
push eax
push str.NotifyInstall
push esi
call fcn.0040ead7
add esp, 0x18
cmp dword [ebp - 0x40], esi
jne 0x410435
push 0x421ad4
push 0x421ad8
jmp 0x41043f
push 0x421ae0
push str.evar11
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e467
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 0x410820
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.00412710
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 0x421b00
push 0x421b01
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 0x410820
lea eax, [ebp - 0x2c0]
cmp dword [ebp - 0x5c], esi
je 0x41053d
push dword [ebp - 0x60]
jmp 0x410542
push 0x421b04
push eax
call ebx
cmp dword [ebp - 0x54], esi
je 0x41055a
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.00411a80
pop ecx
pop ecx
push esi
test eax, eax
lea eax, [ebp - 0x2c0]
je 0x41058c
push 0x4c00000
push esi
push 0x421b11
push 0x421b14
push eax
push 0x421b20
jmp 0x4105a2
push 0x4400000
push esi
push 0x421b25
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 0x410820
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 0x410635
cmp dword [ebp - 0x20], esi
je 0x410820
call ebx
mov dword [ebp - 0xa8], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x410630
sub ecx, 5
je 0x410630
sub ecx, 0x16
je 0x410630
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 0x4105c4
mov dword [ebp - 0x20], edi
jmp 0x4105c4
mov dword [ebp - 0x20], esi
jmp 0x4105c4
cmp dword [ebp - 0x20], esi
je 0x410820
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 0x410672
call ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], 1
mov ebx, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], 0x197
jne 0x4106e4
cmp dword [ebp - 0x20], 0
je 0x4106e4
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 0x4106ad
and dword [ebp - 0x20], 0
jmp 0x41067c
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 0x41067c
cmp dword [ebp - 0x24], 0xc8
jne 0x41070b
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 0x410717
mov ecx, 0x427d24
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x410724
lea eax, [ebp - 0xc0]
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0x10]
push eax
push 0x427d44
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 0x41077e
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 0x4107af
push 0x421b84
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.00412d90
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040e4ab
pop ecx
cmp dword [ebp - 0x3c], 0
jne 0x410820
push 0x421b88
lea eax, [ebp - 0xdc0]
push eax
call fcn.00411a80
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x410813
add dword [ebp - 0x2c], 7
push str.prop20
push dword [ebp - 0x2c]
call fcn.00411a80
pop ecx
pop ecx
mov dword [ebp - 0xac], eax
sub eax, dword [ebp - 0x2c]
dec eax
dec eax
mov dword [ebp - 0xa4], eax
je 0x410813
push eax
push str.XXXXXXXXXXXXXXXXXX
push dword [ebp - 0x2c]
call fcn.00412710
add esp, 0xc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040e4ab
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0041082e
mov eax, dword [ebp - 0x4c]
jmp 0x41085d
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret