Function at 0x40311b
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 0x40eed0
push 0x404054
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.00404260
push ebx
push esi
push edi
xor esi, esi
inc esi
mov dword [ebp - 0x34], esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x403b00
push dword [ebp + 8]
call fcn.00402766
pop ecx
test eax, eax
je 0x403b00
cmp dword [0x4125cc], 0
jne 0x4031d8
push 0x14
push 0x4125b8
push 0x14
push 0x4125a4
call fcn.00402531
push 0x20
push 0x412584
call fcn.0040303e
lea eax, [ebp - 0x4c0]
push eax
call fcn.00402d97
add esp, 0x1c
test eax, eax
je 0x4031c2
push 0x1e
lea eax, [ebp - 0x4c0]
push eax
push 0x412564
call fcn.00404950
add esp, 0xc
jmp 0x4031d2
push 0x40e9fc
push 0x412564
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x4125cc], esi
mov edi, 0x40e314
push edi
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 0x40e280
push str.sc_xml_ver
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x38], eax
push 0x40ee88
push dword [ebp + 8]
call fcn.004045a0
mov ebx, eax
push str.suninstallstat
mov esi, 0x40e2cc
push esi
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
test ebx, ebx
je 0x403269
mov eax, ebx
sub eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
inc ebx
push ebx
push esi
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push str.suninstallstatdev
lea eax, [ebp - 0xa4]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
call esi
xor ebx, ebx
test eax, eax
jne 0x403286
mov dword [ebp - 0x34], ebx
lea eax, [ebp - 0xa4]
push eax
push str.reportsuiteid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
push 0x412584
push str.visitorid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
push 0x14
lea eax, [ebp - 0xa4]
push eax
push str.PingTest
call fcn.00402edc
add esp, 0x24
test eax, eax
jne 0x4032d3
cmp dword [ebp - 0x34], ebx
jne 0x4032ec
push 0x412584
push str.prop21
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0xc
push str.https:__
push dword [ebp + 8]
call fcn.004045a0
pop ecx
pop ecx
test eax, eax
je 0x403350
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.004044d0
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c0]
jne 0x40333b
push 0xb3e9fd
push 0x40ee10
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x403347
push str.nonprodpasswd
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x4c0]
push eax
jmp 0x403355
push str.nonhttpspasswd
lea eax, [ebp - 0xdc0]
push str.prop20
push eax
call fcn.0040282a
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0x18
lea eax, [ebp - 0xdc0]
cmp dword [ebp + 0x1c], ebx
jne 0x4033a6
push 0x412564
jmp 0x4033a9
push dword [ebp + 0x1c]
push str.evar3
push eax
call fcn.0040282a
add esp, 0xc
push str.i586
push str.evar4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
push 0x4125b8
push str.evar5
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
push 0x4125a4
push str.evar6
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0x24
cmp dword [ebp + 0xc], ebx
jne 0x40344d
mov dword [ebp - 0x50], 0x14
push 0x40e9fc
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xc0]
push eax
push str.Method
push ebx
call fcn.00402c74
lea eax, [ebp - 0xc0]
push eax
push str.evar7
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0x1c
jmp 0x403464
push dword [ebp + 0xc]
push str.evar7
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0xc
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0xc
push 0x40e350
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x4035a5
push str.event6_event7
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0xc
push edi
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.00402edc
push ebx
call fcn.00402f5f
add esp, 0x10
push str.reinstall
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x403512
push ebx
push str.VisitorId
push ebx
call fcn.00402cfe
push ebx
push str.Method
push ebx
call fcn.00402cfe
add esp, 0x18
push str.decline
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40351a
xor eax, eax
inc eax
jmp 0x403b02
push str.exists
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x403545
cmp dword [ebp + 0x24], 0x643
je 0x40353e
cmp dword [ebp + 0x24], 0x642
jne 0x403545
mov dword [ebp + 0x24], 0xffffff80
push dword [ebp + 0x24]
push str._jre_d
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x403594
push str.exists
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x403594
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 0x403701
push 0x40ed64
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x4035fe
push str.event5
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
push dword [ebp + 0x24]
push str._jre_d
lea eax, [ebp - 0x5c0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x5c0]
push eax
push str.products
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0x24
jmp 0x403710
push 0x40ed58
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x403613
push str.event4
jmp 0x403626
push 0x40e9f8
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x403630
push str.event1
push str.events
jmp 0x403701
push 0x40e9f4
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x403710
push str.event2
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0xc
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x24], ebx
jne 0x403674
push ebx
push 0x40ed3c
jmp 0x40367c
push dword [ebp + 0x24]
push 0x40ea84
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar9
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0xc
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x20], ebx
jne 0x4036b0
push ebx
push 0x40ed3c
jmp 0x4036b8
push dword [ebp + 0x20]
push 0x40ea84
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar10
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
mov dword [ebp - 0x44], ebx
lea eax, [ebp - 0x44]
push eax
push str.NotifyInstall
push ebx
call fcn.00402cdc
add esp, 0x18
cmp dword [ebp - 0x44], ebx
jne 0x4036f7
push 0x40ed28
jmp 0x4036fc
push 0x40ed24
push str.evar11
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040282a
add esp, 0xc
push str.__request_
lea eax, [ebp - 0xdc0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x48], 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 - 0x2c], eax
cmp eax, ebx
je 0x403ac5
push 0x3c
pop esi
push esi
push ebx
lea eax, [ebp - 0x8c]
push eax
call fcn.00403fa0
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 - 0x38]
push esi
push dword [ebp + 8]
lea eax, [ebp - 0x2c0]
push eax
call fcn.00404950
add esp, 0x18
mov byte [ebp + esi - 0x2c0], 0
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
push edi
push edi
push dword [ebp - 0x74]
push dword [ebp - 0x7c]
push dword [ebp - 0x2c]
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x28], eax
cmp eax, ebx
je 0x403ac5
lea eax, [ebp - 0x2c0]
cmp dword [ebp - 0x5c], ebx
je 0x4037f3
push dword [ebp - 0x60]
jmp 0x4037f8
push 0x40e2c0
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0x54], ebx
je 0x403814
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.004045a0
pop ecx
pop ecx
push ebx
test eax, eax
lea eax, [ebp - 0x2c0]
je 0x403835
push 0x4c00000
jmp 0x40383a
push 0x4400000
push ebx
push edi
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 0x403ac5
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 0x4038d3
cmp dword [ebp - 0x20], ebx
je 0x403ac5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xac], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x4038ce
sub ecx, 5
je 0x4038ce
sub ecx, 0x16
je 0x4038ce
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 0x403861
jmp 0x40385e
mov dword [ebp - 0x20], ebx
jmp 0x403861
cmp dword [ebp - 0x20], ebx
je 0x403ac5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x30], 4
push ebx
lea eax, [ebp - 0x30]
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 0x403916
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x197
jne 0x403985
cmp dword [ebp - 0x20], ebx
je 0x403985
push ebx
push 7
push dword [ebp - 0x3c]
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
cmp eax, 0x2f00
je 0x40394d
mov dword [ebp - 0x20], ebx
jmp 0x40391d
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 - 0x30], 4
push ebx
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x24]
push eax
push edi
push dword [ebp - 0x1c]
call esi
jmp 0x40391d
cmp dword [ebp - 0x24], 0xc8
jne 0x4039ae
mov dword [ebp - 0x48], 1
lea eax, [ebp - 0x40]
push eax
push 0x200
lea eax, [ebp - 0x2c0]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov ecx, dword [ebp + 0x1c]
cmp ecx, ebx
jne 0x4039ba
mov ecx, 0x412564
mov eax, dword [ebp + 0xc]
cmp eax, ebx
jne 0x4039c7
lea eax, [ebp - 0xc0]
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0x10]
push eax
push 0x412584
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 0x403a21
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 - 0x40], ebx
je 0x403a51
push 0x40ecbc
lea eax, [ebp - 0x4c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [ebp - 0x40]
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x4c0]
push eax
call fcn.00404390
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040286d
pop ecx
cmp dword [ebp - 0x34], ebx
jne 0x403ac5
mov esi, str.prop20
push esi
lea eax, [ebp - 0xdc0]
push eax
call fcn.004045a0
pop ecx
pop ecx
mov edi, eax
mov dword [ebp - 0x4c], edi
cmp edi, ebx
je 0x403ab8
push esi
call fcn.00404dd0
lea edi, [edi + eax + 1]
mov dword [ebp - 0x4c], edi
push esi
push edi
call fcn.004045a0
add esp, 0xc
mov dword [ebp - 0xa8], eax
sub eax, edi
dec eax
dec eax
mov dword [ebp - 0x90], eax
je 0x403ab8
push eax
push str.XXXXXXXXXXXXXXXXXX
push edi
call fcn.00404950
add esp, 0xc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040286d
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.00403ad5
mov eax, dword [ebp - 0x48]
jmp 0x403b02
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret