Function at 0x40ea0f
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 0x421100
push 0x410fa4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.00411570
push ebx
push esi
push edi
xor esi, esi
inc esi
mov dword [ebp - 0x38], esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
test eax, eax
je 0x40f42b
push dword [ebp + 8]
call fcn.0040de2b
pop ecx
test eax, eax
je 0x40f42b
xor ebx, ebx
cmp dword [0x428334], ebx
jne 0x40eacd
push 0x14
push 0x428320
push 0x14
push 0x42830c
call fcn.0040dbf6
push 0x20
push 0x4282ec
call fcn.0040e932
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040e565
add esp, 0x1c
test eax, eax
je 0x40eab7
push 0x1e
lea eax, [ebp - 0x4c0]
push eax
push 0x4282cc
call fcn.00412f60
add esp, 0xc
jmp 0x40eac7
push 0x4210f8
push 0x4282cc
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [0x428334], esi
push 0x41f682
lea eax, [ebp - 0x5c0]
push eax
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcpyA]
call esi
push str.__xml_version_1.0__encoding_UTF_8_____request_
lea eax, [ebp - 0xdc0]
push eax
call esi
push 0x41f6fc
push str.sc_xml_ver
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov dword [ebp - 0x3c], eax
push 0x4210b4
push dword [ebp + 8]
call fcn.004114e0
mov dword [ebp - 0x2c], eax
push str.suninstallstat
mov esi, 0x420358
push esi
lea eax, [ebp - 0xa0]
push eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
call edi
add esp, 0x14
cmp dword [ebp - 0x2c], ebx
je 0x40eb60
mov ecx, dword [ebp - 0x2c]
mov eax, ecx
sub eax, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
inc ecx
push ecx
push esi
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 0x40eb7b
mov dword [ebp - 0x38], ebx
lea eax, [ebp - 0xa0]
push eax
push str.reportsuiteid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
push 0x4282ec
push str.visitorid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
push 0x14
lea eax, [ebp - 0xa0]
push eax
push str.PingTest
call fcn.0040e7a6
add esp, 0x24
test eax, eax
jne 0x40ebc8
cmp dword [ebp - 0x38], ebx
jne 0x40ebe1
push 0x4282ec
push str.prop21
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
add esp, 0xc
push str.https:__
push dword [ebp + 8]
call fcn.004114e0
pop ecx
pop ecx
test eax, eax
je 0x40ec41
push str.https:__sjremetrics.java.com
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
push str.https:__sjremetrics.java.com
push dword [ebp + 8]
call fcn.004119e0
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c0]
jne 0x40ec2c
push 0xb3e9fd
push 0x42103c
push eax
call edi
add esp, 0xc
jmp 0x40ec38
push str.nonprodpasswd
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x4c0]
push eax
jmp 0x40ec46
push str.nonhttpspasswd
lea eax, [ebp - 0xdc0]
push str.prop20
push eax
call fcn.0040deef
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
add esp, 0x18
cmp dword [ebp + 0x1c], ebx
je 0x40ecbc
push dword [ebp + 0x1c]
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
cmp eax, 2
jl 0x40ecbc
push 0x420ffc
push dword [ebp + 0x1c]
call esi
test eax, eax
je 0x40ecbc
push dword [ebp + 0x1c]
push str.evar3
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
jmp 0x40ecd9
push 0x4282cc
push str.evar3
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
mov dword [ebp + 0x1c], 0x4282cc
add esp, 0xc
push str.i586
push str.evar4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
push 0x428320
push str.evar5
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
push 0x42830c
push str.evar6
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
add esp, 0x24
lea eax, [ebp - 0xb4]
cmp dword [ebp + 0xc], ebx
jne 0x40ed5a
mov dword [ebp - 0x50], 0x14
push 0x4210f8
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xb4]
push eax
push str.Method
push ebx
call fcn.0040d8b6
add esp, 0x10
jmp 0x40ed64
push dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0xb4]
push eax
push str.evar7
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
add esp, 0x18
push 0x4208a0
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40eedd
push str.event6_event7
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
add esp, 0xc
push 0x41f682
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
push 0x200
lea eax, [ebp - 0x2c0]
push eax
push str.InstallStatus
call fcn.0040e7a6
push ebx
call fcn.0040e8e3
add esp, 0x10
push str.reinstall
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x40ee79
push str.exists
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40ee25
cmp dword [ebp + 0x24], 0x643
je 0x40ee2e
cmp dword [ebp + 0x24], 0x642
je 0x40ee2e
cmp dword [ebp + 0x24], 0x666
jne 0x40ee35
mov dword [ebp + 0x24], 0xffffff80
cmp dword [ebp + 0x24], ebx
jne 0x40ee4c
push str.decline
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40ee67
push ebx
push str.VisitorId
push ebx
call fcn.0040e4c3
push ebx
push str.Method
push ebx
call fcn.0040e4c3
add esp, 0x18
push str.decline
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40ee81
xor eax, eax
inc eax
jmp 0x40f42d
push dword [ebp + 0x24]
push str._jre_d
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 0x40eecc
push str.exists
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x40eecc
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 str.products
jmp 0x40f032
push 0x420f8c
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40ef4a
push ebx
push str.VisitorId
push ebx
call fcn.0040e4c3
push ebx
push str.Method
push ebx
call fcn.0040e4c3
push str.event11
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
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.0040deef
add esp, 0x3c
jmp 0x40f041
push 0x420f80
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40ef67
push str.event1
push str.events
jmp 0x40f032
push 0x420f74
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40f041
push str.event2
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
add esp, 0xc
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x24], ebx
jne 0x40efa5
push ebx
push 0x420f68
jmp 0x40efad
push dword [ebp + 0x24]
push 0x420cc4
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar9
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
add esp, 0xc
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x20], ebx
jne 0x40efe1
push ebx
push 0x420f68
jmp 0x40efe9
push dword [ebp + 0x20]
push 0x420cc4
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar10
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
mov dword [ebp - 0x48], ebx
lea eax, [ebp - 0x48]
push eax
push str.NotifyInstall
push ebx
call fcn.0040d920
add esp, 0x18
cmp dword [ebp - 0x48], ebx
jne 0x40f028
push 0x420f54
jmp 0x40f02d
push 0x420f50
push str.evar11
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040deef
add esp, 0xc
push str.__request_
lea eax, [ebp - 0xdc0]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcatA]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 4], ebx
push ebx
push ebx
push ebx
push ebx
push str.jupdate
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x30], eax
cmp eax, ebx
je 0x40f3f0
push 0x3c
pop esi
push esi
push ebx
lea eax, [ebp - 0x8c]
push eax
call fcn.00410ef0
mov dword [ebp - 0x8c], esi
lea eax, [ebp - 0xec0]
mov dword [ebp - 0x7c], eax
mov eax, 0x100
mov dword [ebp - 0x78], eax
mov word [ebp - 0x74], bx
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
mov esi, dword [ebp - 0x3c]
push esi
push dword [ebp + 8]
lea eax, [ebp - 0x2c0]
push eax
call fcn.00412f60
add esp, 0x18
mov byte [ebp + esi - 0x2c0], bl
lea eax, [ebp - 0x8c]
push eax
push ebx
push esi
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
push ebx
push ebx
push 3
mov esi, 0x41f682
push esi
push esi
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, ebx
je 0x40f3f0
lea eax, [ebp - 0x2c0]
cmp dword [ebp - 0x5c], ebx
je 0x40f128
push dword [ebp - 0x60]
jmp 0x40f12d
push 0x41f680
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
cmp dword [ebp - 0x54], ebx
je 0x40f149
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.004114e0
pop ecx
pop ecx
push ebx
test eax, eax
lea eax, [ebp - 0x2c0]
je 0x40f16a
push 0x4c00000
jmp 0x40f16f
push 0x4400000
push ebx
push esi
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, ebx
je 0x40f3f0
xor esi, esi
inc esi
mov dword [ebp - 0x20], esi
lea eax, [ebp - 0xdc0]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
lea eax, [ebp - 0xdc0]
push eax
push ebx
push ebx
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x40f208
cmp dword [ebp - 0x20], ebx
je 0x40f3f0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0xc0], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x40f203
sub ecx, 5
je 0x40f203
sub ecx, 0x16
je 0x40f203
mov dword [ebp - 0x20], ebx
push ebx
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 0x40f196
jmp 0x40f193
mov dword [ebp - 0x20], ebx
jmp 0x40f196
cmp dword [ebp - 0x20], ebx
je 0x40f3f0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], 4
push ebx
lea eax, [ebp - 0x34]
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 0x40f24b
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x197
jne 0x40f2ba
cmp dword [ebp - 0x20], ebx
je 0x40f2ba
push ebx
push 7
push dword [ebp - 0x40]
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
cmp eax, 0x2f00
je 0x40f282
mov dword [ebp - 0x20], ebx
jmp 0x40f252
lea eax, [ebp - 0xdc0]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
lea eax, [ebp - 0xdc0]
push eax
push ebx
push ebx
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov dword [ebp - 0x34], 4
push ebx
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x24]
push eax
push edi
push dword [ebp - 0x1c]
call esi
jmp 0x40f252
cmp dword [ebp - 0x24], 0xc8
jne 0x40f2e3
mov dword [ebp - 0x4c], 1
lea eax, [ebp - 0x44]
push eax
push 0x200
lea eax, [ebp - 0x2c0]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov eax, dword [ebp + 0xc]
cmp eax, ebx
jne 0x40f2f0
lea eax, [ebp - 0xb4]
push dword [ebp + 0x18]
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push eax
push 0x4282ec
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 0x40f34c
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], ebx
je 0x40f37c
push 0x41f634
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.00413090
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040df32
pop ecx
cmp dword [ebp - 0x38], ebx
jne 0x40f3f0
mov esi, str.prop20
push esi
lea eax, [ebp - 0xdc0]
push eax
call fcn.004114e0
pop ecx
pop ecx
mov edi, eax
mov dword [ebp - 0x2c], edi
cmp edi, ebx
je 0x40f3e3
push esi
call fcn.00412890
lea edi, [edi + eax + 1]
mov dword [ebp - 0x2c], edi
push esi
push edi
call fcn.004114e0
add esp, 0xc
mov dword [ebp - 0xb8], eax
sub eax, edi
dec eax
dec eax
mov dword [ebp - 0xbc], eax
je 0x40f3e3
push eax
push str.XXXXXXXXXXXXXXXXXX
push edi
call fcn.00412f60
add esp, 0xc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040df32
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0040f400
mov eax, dword [ebp - 0x4c]
jmp 0x40f42d
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret