Function at 0x40dd9e
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 0x421668
push 0x411ebc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.004127e0
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 0x40e7af
push dword [ebp + 8]
call fcn.0040c3dd
pop ecx
test eax, eax
je 0x40e7af
cmp dword [0x427718], 0
jne 0x40de65
push 0x14
push 0x427704
push 0x14
push 0x4276f0
call fcn.0040c21b
push 0x20
push 0x4276d0
call fcn.0040cf5f
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040d673
add esp, 0x1c
test eax, eax
je 0x40de4b
push 0x1e
lea eax, [ebp - 0x4c0]
push eax
push 0x4276b0
call fcn.004131d0
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40de5d
push 0x4210f8
push 0x4276b0
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebx
mov dword [0x427718], esi
jmp 0x40de6b
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4210fb
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 0x421130
push str.sc_xml_ver
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x34], eax
push 0x421140
push dword [ebp + 8]
call fcn.00412bb0
mov esi, eax
push str.suninstallstat
push 0x421154
lea eax, [ebp - 0xa0]
push eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
call edi
add esp, 0x14
test esi, esi
je 0x40def6
mov eax, esi
sub eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
inc esi
push esi
push 0x421158
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 0x40df11
and dword [ebp - 0x3c], eax
lea eax, [ebp - 0xa0]
push eax
push str.reportsuiteid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
push 0x4276d0
push str.visitorid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
push 0x14
lea eax, [ebp - 0xa0]
push eax
push str.PingTest
call fcn.0040dbb9
add esp, 0x24
test eax, eax
jne 0x40df5e
cmp dword [ebp - 0x3c], eax
jne 0x40df77
push 0x4276d0
push str.prop21
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0xc
push 0x4211a0
push dword [ebp + 8]
call fcn.00412bb0
pop ecx
pop ecx
test eax, eax
je 0x40dfd8
push 0x4211ac
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.https:__sjremetrics.java.com
push dword [ebp + 8]
call fcn.004126e0
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c0]
jne 0x40dfc2
push 0xb3e9fd
push 0x4211ec
push eax
call edi
add esp, 0xc
jmp 0x40dfca
push str.nonprodpasswd
push eax
call ebx
lea eax, [ebp - 0x4c0]
push eax
push 0x421200
jmp 0x40dfe2
push str.nonhttpspasswd
push 0x421218
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0x18
lea eax, [ebp - 0xdc0]
cmp dword [ebp + 0x1c], 0
jne 0x40e034
push 0x4276b0
push 0x421234
jmp 0x40e03c
push dword [ebp + 0x1c]
push str.evar3
push eax
call fcn.0040c4a1
add esp, 0xc
push str.i586
push str.evar4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
push 0x427704
push str.evar5
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
push 0x4276f0
push str.evar6
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0x24
cmp dword [ebp + 0xc], 0
jne 0x40e0d9
mov dword [ebp - 0x50], 0x14
push 0x421264
lea eax, [ebp - 0xc0]
push eax
call ebx
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xc0]
push eax
push 0x421268
push 0
call fcn.0040caa9
lea eax, [ebp - 0xc0]
push eax
push 0x421270
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0x1c
jmp 0x40e0f0
push dword [ebp + 0xc]
push str.evar7
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0xc
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0xc
push 0x421288
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e232
push str.event6_event7
push 0x42129c
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0xc
push 0x4212a3
lea eax, [ebp - 0x2c0]
push eax
call ebx
push 0x200
lea eax, [ebp - 0x2c0]
push eax
push str.InstallStatus
call fcn.0040dbb9
push 0
call fcn.0040dcba
add esp, 0x10
push str.reinstall
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x40e1a3
push 0
push str.VisitorId
push 0
call fcn.0040ccb8
push 0
push str.Method
push 0
call fcn.0040ccb8
add esp, 0x18
push str.decline
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40e1ab
xor eax, eax
inc eax
jmp 0x40e7b1
push 0x4212dc
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40e1d6
cmp dword [ebp + 0x24], 0x643
je 0x40e1cf
cmp dword [ebp + 0x24], 0x642
jne 0x40e1d6
mov dword [ebp + 0x24], 0xffffff80
push dword [ebp + 0x24]
push 0x4212e4
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 0x40e221
push str.exists
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x40e221
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 0x4212f4
jmp 0x40e393
push 0x421300
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e287
push str.event5
push 0x42130c
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
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.0040c4a1
add esp, 0x24
jmp 0x40e3a2
push 0x421328
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e2a4
push str.event4
push 0x421334
jmp 0x40e393
push 0x42133c
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e2c1
push str.event1
push 0x421348
jmp 0x40e393
push 0x421350
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40e3a2
push str.event2
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0xc
xor esi, esi
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x24], esi
jne 0x40e301
push esi
push 0x421364
jmp 0x40e309
push dword [ebp + 0x24]
push 0x421368
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar9
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
add esp, 0xc
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x20], esi
jne 0x40e33d
push esi
push 0x421374
jmp 0x40e345
push dword [ebp + 0x20]
push 0x421378
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar10
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
mov dword [ebp - 0x40], esi
lea eax, [ebp - 0x40]
push eax
push str.NotifyInstall
push esi
call fcn.0040cb11
add esp, 0x18
cmp dword [ebp - 0x40], esi
jne 0x40e389
push 0x421394
push 0x421398
jmp 0x40e393
push 0x4213a0
push str.evar11
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4a1
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 0x4213b8
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x30], eax
cmp eax, esi
je 0x40e774
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.004131d0
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 0x4213c0
push 0x4213c1
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 0x40e774
lea eax, [ebp - 0x2c0]
cmp dword [ebp - 0x5c], esi
je 0x40e491
push dword [ebp - 0x60]
jmp 0x40e496
push 0x4213c4
push eax
call ebx
cmp dword [ebp - 0x54], esi
je 0x40e4ae
push dword [ebp - 0x58]
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x4213c8
push dword [ebp + 8]
call fcn.00412bb0
pop ecx
pop ecx
push esi
test eax, eax
lea eax, [ebp - 0x2c0]
je 0x40e4e0
push 0x4c00000
push esi
push 0x4213d1
push 0x4213d4
push eax
push 0x4213e0
jmp 0x40e4f6
push 0x4400000
push esi
push 0x4213e5
push 0x4213e8
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 0x40e774
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 0x40e589
cmp dword [ebp - 0x20], esi
je 0x40e774
call ebx
mov dword [ebp - 0xa8], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x40e584
sub ecx, 5
je 0x40e584
sub ecx, 0x16
je 0x40e584
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 0x40e518
mov dword [ebp - 0x20], edi
jmp 0x40e518
mov dword [ebp - 0x20], esi
jmp 0x40e518
cmp dword [ebp - 0x20], esi
je 0x40e774
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 0x40e5c6
call ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], 1
mov ebx, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], 0x197
jne 0x40e638
cmp dword [ebp - 0x20], 0
je 0x40e638
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 0x40e601
and dword [ebp - 0x20], 0
jmp 0x40e5d0
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 0x40e5d0
cmp dword [ebp - 0x24], 0xc8
jne 0x40e65f
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 0x40e66b
mov ecx, 0x4276b0
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x40e678
lea eax, [ebp - 0xc0]
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0x10]
push eax
push 0x4276d0
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 0x40e6d2
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 0x40e703
push 0x421444
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.00413300
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040c4e5
pop ecx
cmp dword [ebp - 0x3c], 0
jne 0x40e774
push 0x421448
lea eax, [ebp - 0xdc0]
push eax
call fcn.00412bb0
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x40e767
add dword [ebp - 0x2c], 7
push str.prop20
push dword [ebp - 0x2c]
call fcn.00412bb0
pop ecx
pop ecx
mov dword [ebp - 0xac], eax
sub eax, dword [ebp - 0x2c]
dec eax
dec eax
mov dword [ebp - 0xa4], eax
je 0x40e767
push eax
push str.XXXXXXXXXXXXXXXXXX
push dword [ebp - 0x2c]
call fcn.004131d0
add esp, 0xc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040c4e5
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0040e782
mov eax, dword [ebp - 0x4c]
jmp 0x40e7b1
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret