Function at 0x40e084
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 0x4216f0
push 0x4126cc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.00412ff0
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 0x40ea95
push dword [ebp + 8]
call fcn.0040c683
pop ecx
test eax, eax
je 0x40ea95
cmp dword [0x427748], 0
jne 0x40e14b
push 0x14
push 0x427734
push 0x14
push 0x427720
call fcn.0040c44b
push 0x20
push 0x427700
call fcn.0040d205
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040d919
add esp, 0x1c
test eax, eax
je 0x40e131
push 0x1e
lea eax, [ebp - 0x4c0]
push eax
push 0x4276e0
call fcn.004139e0
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40e143
push 0x421180
push 0x4276e0
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebx
mov dword [0x427748], esi
jmp 0x40e151
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x421183
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 0x4211b8
push str.sc_xml_ver
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x34], eax
push 0x4211c8
push dword [ebp + 8]
call fcn.004133c0
mov esi, eax
push str.suninstallstat
push 0x4211dc
lea eax, [ebp - 0xa0]
push eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
call edi
add esp, 0x14
test esi, esi
je 0x40e1dc
mov eax, esi
sub eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
inc esi
push esi
push 0x4211e0
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 0x40e1f7
and dword [ebp - 0x3c], eax
lea eax, [ebp - 0xa0]
push eax
push str.reportsuiteid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
push 0x427700
push str.visitorid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
push 0x14
lea eax, [ebp - 0xa0]
push eax
push str.PingTest
call fcn.0040de9f
add esp, 0x24
test eax, eax
jne 0x40e244
cmp dword [ebp - 0x3c], eax
jne 0x40e25d
push 0x427700
push str.prop21
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0xc
push 0x421228
push dword [ebp + 8]
call fcn.004133c0
pop ecx
pop ecx
test eax, eax
je 0x40e2be
push 0x421234
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.https:__sjremetrics.java.com
push dword [ebp + 8]
call fcn.00412ef0
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c0]
jne 0x40e2a8
push 0xb3e9fd
push 0x421274
push eax
call edi
add esp, 0xc
jmp 0x40e2b0
push str.nonprodpasswd
push eax
call ebx
lea eax, [ebp - 0x4c0]
push eax
push 0x421288
jmp 0x40e2c8
push str.nonhttpspasswd
push 0x4212a0
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0x18
lea eax, [ebp - 0xdc0]
cmp dword [ebp + 0x1c], 0
jne 0x40e31a
push 0x4276e0
push 0x4212bc
jmp 0x40e322
push dword [ebp + 0x1c]
push str.evar3
push eax
call fcn.0040c747
add esp, 0xc
push str.i586
push str.evar4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
push 0x427734
push str.evar5
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
push 0x427720
push str.evar6
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0x24
cmp dword [ebp + 0xc], 0
jne 0x40e3bf
mov dword [ebp - 0x50], 0x14
push 0x4212ec
lea eax, [ebp - 0xc0]
push eax
call ebx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xc0]
push eax
push 0x4212f0
push 0
call fcn.0040cd4f
lea eax, [ebp - 0xc0]
push eax
push 0x4212f8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0x1c
jmp 0x40e3d6
push dword [ebp + 0xc]
push str.evar7
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0xc
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0xc
push 0x421310
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e518
push str.event6_event7
push 0x421324
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0xc
push 0x42132b
lea eax, [ebp - 0x2c0]
push eax
call ebx
push 0x200
lea eax, [ebp - 0x2c0]
push eax
push str.InstallStatus
call fcn.0040de9f
push 0
call fcn.0040dfa0
add esp, 0x10
push str.reinstall
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x40e489
push 0
push str.VisitorId
push 0
call fcn.0040cf5e
push 0
push str.Method
push 0
call fcn.0040cf5e
add esp, 0x18
push str.decline
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40e491
xor eax, eax
inc eax
jmp 0x40ea97
push 0x421364
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40e4bc
cmp dword [ebp + 0x24], 0x643
je 0x40e4b5
cmp dword [ebp + 0x24], 0x642
jne 0x40e4bc
mov dword [ebp + 0x24], 0xffffff80
push dword [ebp + 0x24]
push 0x42136c
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 0x40e507
push str.exists
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x40e507
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 0x42137c
jmp 0x40e679
push 0x421388
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e56d
push str.event5
push 0x421394
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
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.0040c747
add esp, 0x24
jmp 0x40e688
push 0x4213b0
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e58a
push str.event4
push 0x4213bc
jmp 0x40e679
push 0x4213c4
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e5a7
push str.event1
push 0x4213d0
jmp 0x40e679
push 0x4213d8
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e688
push str.event2
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0xc
xor esi, esi
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x24], esi
jne 0x40e5e7
push esi
push 0x4213ec
jmp 0x40e5ef
push dword [ebp + 0x24]
push 0x4213f0
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar9
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
add esp, 0xc
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x20], esi
jne 0x40e623
push esi
push 0x4213fc
jmp 0x40e62b
push dword [ebp + 0x20]
push 0x421400
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar10
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x40]
push eax
push str.NotifyInstall
push esi
call fcn.0040cdb7
add esp, 0x18
cmp dword [ebp - 0x40], esi
jne 0x40e66f
push 0x42141c
push 0x421420
jmp 0x40e679
push 0x421428
push str.evar11
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c747
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 0x421440
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x30], eax
cmp eax, esi
je 0x40ea5a
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, 0x100
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.004139e0
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 0x421448
push 0x421449
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 0x40ea5a
lea eax, [ebp - 0x2c0]
cmp dword [ebp - 0x5c], esi
je 0x40e777
push dword [ebp - 0x60]
jmp 0x40e77c
push 0x42144c
push eax
call ebx
cmp dword [ebp - 0x54], esi
je 0x40e794
push dword [ebp - 0x58]
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x421450
push dword [ebp + 8]
call fcn.004133c0
pop ecx
pop ecx
push esi
test eax, eax
lea eax, [ebp - 0x2c0]
je 0x40e7c6
push 0x4c00000
push esi
push 0x421459
push 0x42145c
push eax
push 0x421468
jmp 0x40e7dc
push 0x4400000
push esi
push 0x42146d
push 0x421470
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 0x40ea5a
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 0x40e86f
cmp dword [ebp - 0x20], esi
je 0x40ea5a
call ebx
mov dword [ebp - 0xa8], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x40e86a
sub ecx, 5
je 0x40e86a
sub ecx, 0x16
je 0x40e86a
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 0x40e7fe
mov dword [ebp - 0x20], edi
jmp 0x40e7fe
mov dword [ebp - 0x20], esi
jmp 0x40e7fe
cmp dword [ebp - 0x20], esi
je 0x40ea5a
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 0x40e8ac
call ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], 1
mov ebx, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], 0x197
jne 0x40e91e
cmp dword [ebp - 0x20], 0
je 0x40e91e
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 0x40e8e7
and dword [ebp - 0x20], 0
jmp 0x40e8b6
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 0x40e8b6
cmp dword [ebp - 0x24], 0xc8
jne 0x40e945
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 0x40e951
mov ecx, 0x4276e0
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x40e95e
lea eax, [ebp - 0xc0]
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0x10]
push eax
push 0x427700
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 0x40e9b8
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 0x40e9e9
push 0x4214cc
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.00413b10
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040c78b
pop ecx
cmp dword [ebp - 0x3c], 0
jne 0x40ea5a
push 0x4214d0
lea eax, [ebp - 0xdc0]
push eax
call fcn.004133c0
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x40ea4d
add dword [ebp - 0x2c], 7
push str.prop20
push dword [ebp - 0x2c]
call fcn.004133c0
pop ecx
pop ecx
mov dword [ebp - 0xac], eax
sub eax, dword [ebp - 0x2c]
dec eax
dec eax
mov dword [ebp - 0xa4], eax
je 0x40ea4d
push eax
push str.XXXXXXXXXXXXXXXXXX
push dword [ebp - 0x2c]
call fcn.004139e0
add esp, 0xc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c78b
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0040ea68
mov eax, dword [ebp - 0x4c]
jmp 0x40ea97
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret