Function at 0x40ce04
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 0x4216a0
push 0x4123c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.00412ce0
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 0x40d845
push dword [ebp + 8]
call fcn.0040bb0f
pop ecx
test eax, eax
je 0x40d845
xor ebx, ebx
cmp dword [0x42874c], ebx
jne 0x40cecc
push 0x14
push 0x428738
push 0x14
push 0x428724
call fcn.0040b8d7
push 0x20
push 0x428704
call fcn.0040c534
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040c998
add esp, 0x1c
test eax, eax
je 0x40ceb2
push 0x1e
lea eax, [ebp - 0x4c0]
push eax
push 0x4286e4
call fcn.00413730
add esp, 0xc
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40cec4
push 0x42108c
push 0x4286e4
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call edi
mov dword [0x42874c], esi
jmp 0x40ced2
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x42108f
lea eax, [ebp - 0x5c0]
push eax
call edi
push str.__xml_version_1.0__encoding_UTF_8_____request_
lea eax, [ebp - 0xdc0]
push eax
call edi
push 0x4210c4
push str.sc_xml_ver
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x3c], eax
push 0x4210d4
push dword [ebp + 8]
call fcn.004130b0
mov esi, eax
push str.suninstallstat
push 0x4210e8
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp esi, ebx
je 0x40cf5f
mov eax, esi
sub eax, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
inc esi
push esi
push 0x4210ec
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
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 0x40cf7a
mov dword [ebp - 0x38], ebx
lea eax, [ebp - 0xa0]
push eax
push str.reportsuiteid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
push 0x428704
push str.visitorid
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
push 0x14
lea eax, [ebp - 0xa0]
push eax
push str.PingTest
call fcn.0040cc71
add esp, 0x24
test eax, eax
jne 0x40cfc7
cmp dword [ebp - 0x38], ebx
jne 0x40cfe0
push 0x428704
push str.prop21
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
add esp, 0xc
push 0x421134
push dword [ebp + 8]
call fcn.004130b0
pop ecx
pop ecx
test eax, eax
je 0x40d045
push 0x421140
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push str.https:__sjremetrics.java.com
push dword [ebp + 8]
call fcn.00412be0
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c0]
jne 0x40d02f
push 0xb3e9fd
push 0x421180
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x40d037
push str.nonprodpasswd
push eax
call edi
lea eax, [ebp - 0x4c0]
push eax
push 0x421194
jmp 0x40d04f
push str.nonhttpspasswd
push 0x4211ac
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
add esp, 0x18
cmp dword [ebp + 0x1c], ebx
je 0x40d0c0
push dword [ebp + 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp eax, 2
jl 0x40d0c0
push 0x4211c8
push dword [ebp + 0x1c]
call esi
test eax, eax
je 0x40d0c0
push dword [ebp + 0x1c]
push str.evar3
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
jmp 0x40d0dd
push 0x4286e4
push 0x4211cc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
mov dword [ebp + 0x1c], 0x4286e4
add esp, 0xc
push str.i586
push str.evar4
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
push 0x428738
push str.evar5
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
push 0x428724
push str.evar6
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
add esp, 0x24
lea eax, [ebp - 0xb4]
cmp dword [ebp + 0xc], ebx
jne 0x40d15a
mov dword [ebp - 0x50], 0x14
push 0x4211fc
push eax
call edi
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0x421200
push ebx
call fcn.0040b2b5
add esp, 0x10
jmp 0x40d160
push dword [ebp + 0xc]
push eax
call edi
lea eax, [ebp - 0xb4]
push eax
push str.evar7
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
add esp, 0x18
push 0x421218
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40d2d4
push str.event6_event7
push 0x42122c
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
add esp, 0xc
push 0x421233
lea eax, [ebp - 0x2c0]
push eax
call edi
push 0x200
lea eax, [ebp - 0x2c0]
push eax
push str.InstallStatus
call fcn.0040cc71
push ebx
call fcn.0040cdaf
add esp, 0x10
push str.reinstall
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x40d26e
push 0x421250
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40d21d
cmp dword [ebp + 0x24], 0x643
je 0x40d228
cmp dword [ebp + 0x24], 0x642
je 0x40d228
mov edi, dword [ebp + 0x24]
cmp edi, 0x666
jne 0x40d22b
push 0xffffffffffffff80
pop edi
cmp edi, ebx
jne 0x40d241
push 0x421258
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40d25c
push ebx
push 0x421260
push ebx
call fcn.0040c3d9
push ebx
push 0x42126c
push ebx
call fcn.0040c3d9
add esp, 0x18
push str.decline
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
jne 0x40d276
xor eax, eax
inc eax
jmp 0x40d847
push edi
push 0x42127c
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 0x40d2c3
push str.exists
lea eax, [ebp - 0x2c0]
push eax
call esi
test eax, eax
je 0x40d2c3
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 0x42128c
jmp 0x40d438
push 0x421298
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40d345
push ebx
push str.VisitorId
push ebx
call fcn.0040c3d9
push ebx
push str.Method
push ebx
call fcn.0040c3d9
push str.event11
push 0x4212b8
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
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.0040bbd3
add esp, 0x3c
jmp 0x40d447
push 0x4212d4
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40d362
push str.event1
push 0x4212e0
jmp 0x40d438
push 0x4212e8
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x40d447
push str.event2
push str.events
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
add esp, 0xc
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x24], ebx
jne 0x40d3a6
push ebx
push 0x4212fc
jmp 0x40d3ae
push dword [ebp + 0x24]
push 0x421300
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar9
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
add esp, 0xc
lea eax, [ebp - 0x4c0]
cmp dword [ebp + 0x20], ebx
jne 0x40d3e2
push ebx
push 0x42130c
jmp 0x40d3ea
push dword [ebp + 0x20]
push 0x421310
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
push str.evar10
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
mov dword [ebp - 0x48], ebx
lea eax, [ebp - 0x48]
push eax
push 0x42131c
push ebx
call fcn.0040b31f
add esp, 0x18
cmp dword [ebp - 0x48], ebx
jne 0x40d42e
push 0x42132c
push 0x421330
jmp 0x40d438
push 0x421338
push str.evar11
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bbd3
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 0x421350
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x30], eax
cmp eax, ebx
je 0x40d80a
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], 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.00413730
add esp, 0xc
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
push 0x421358
push 0x421359
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 0x40d80a
lea eax, [ebp - 0x2c0]
cmp dword [ebp - 0x5c], ebx
je 0x40d531
push dword [ebp - 0x60]
jmp 0x40d536
push 0x42135c
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0x54], ebx
je 0x40d552
push dword [ebp - 0x58]
lea eax, [ebp - 0x2c0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x421360
push dword [ebp + 8]
call fcn.004130b0
pop ecx
pop ecx
push ebx
test eax, eax
lea eax, [ebp - 0x2c0]
je 0x40d584
push 0x4c00000
push ebx
push 0x421369
push 0x42136c
push eax
push 0x421378
jmp 0x40d59a
push 0x4400000
push ebx
push 0x42137d
push 0x421380
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 0x40d80a
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 0x40d626
cmp dword [ebp - 0x20], ebx
je 0x40d80a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xc0], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x40d621
sub ecx, 5
je 0x40d621
sub ecx, 0x16
je 0x40d621
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 0x40d5b4
jmp 0x40d5b1
mov dword [ebp - 0x20], ebx
jmp 0x40d5b4
cmp dword [ebp - 0x20], ebx
je 0x40d80a
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 0x40d669
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x24], 0x197
jne 0x40d6d8
cmp dword [ebp - 0x20], ebx
je 0x40d6d8
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 0x40d6a0
mov dword [ebp - 0x20], ebx
jmp 0x40d670
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 0x40d670
cmp dword [ebp - 0x24], 0xc8
jne 0x40d701
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 0x40d70e
lea eax, [ebp - 0xb4]
push dword [ebp + 0x18]
push dword [ebp + 0x1c]
push dword [ebp + 0x10]
push eax
push 0x428704
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 0x40d76a
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 0x40d79a
push 0x4213dc
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.00413860
add esp, 0xc
lea eax, [ebp - 0x4c0]
push eax
call fcn.0040bc17
pop ecx
cmp dword [ebp - 0x38], ebx
jne 0x40d80a
push 0x4213e0
lea eax, [ebp - 0xdc0]
push eax
call fcn.004130b0
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x40d7fd
add dword [ebp - 0x2c], 7
push str.prop20
push dword [ebp - 0x2c]
call fcn.004130b0
pop ecx
pop ecx
mov dword [ebp - 0xb8], eax
sub eax, dword [ebp - 0x2c]
dec eax
dec eax
mov dword [ebp - 0xbc], eax
je 0x40d7fd
push eax
push str.XXXXXXXXXXXXXXXXXX
push dword [ebp - 0x2c]
call fcn.00413730
add esp, 0xc
lea eax, [ebp - 0xdc0]
push eax
call fcn.0040bc17
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0040d81a
mov eax, dword [ebp - 0x4c]
jmp 0x40d847
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret