Function at 0x403793
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 0x4051f8
push 0x404650
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.00404620
push ebx
push esi
push edi
push 1
pop esi
mov dword [ebp - 0x1c], esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x404267
push dword [ebp + 8]
call fcn.00403699
pop ecx
test eax, eax
je 0x404267
cmp dword [0x407890], 0
jne 0x40385b
push 0x14
push 0x407838
push 0x14
push 0x407824
call fcn.0040348e
push 0x20
push 0x40784c
call fcn.00402884
lea eax, [ebp - 0xa1c]
push eax
call fcn.004030a4
add esp, 0x1c
test eax, eax
je 0x403841
push 0x1e
lea eax, [ebp - 0xa1c]
push eax
push 0x40786c
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x403853
push 0x406f98
push 0x40786c
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
call ebx
mov dword [0x407890], esi
jmp 0x403861
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, 0x4077cc
push edi
lea eax, [ebp - 0xd44]
push eax
call ebx
push str.__xml_version_1.0__encoding_UTF_8_____request_
lea eax, [ebp - 0x81c]
push eax
call ebx
push 0x4060a4
push str.sc_xml_ver
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0xc44], eax
push 0x4073f0
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll_strstr]
mov dword [ebp - 0xa24], eax
push str.suninstallstat
mov esi, 0x4060f0
push esi
lea eax, [ebp - 0xd5c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
cmp dword [ebp - 0xa24], 0
je 0x403902
mov ecx, dword [ebp - 0xa24]
mov eax, ecx
sub eax, dword [ebp + 8]
mov dword [ebp - 0xc44], eax
inc ecx
push ecx
push esi
lea eax, [ebp - 0xd5c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push str.suninstallstatdev
lea eax, [ebp - 0xd5c]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpA]
call esi
test eax, eax
jne 0x40391d
and dword [ebp - 0x1c], eax
lea eax, [ebp - 0xd5c]
push eax
push str.reportsuiteid
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
push 0x40784c
push str.visitorid
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
push 0x14
lea eax, [ebp - 0xd5c]
push eax
push str.PingTest
call fcn.004032c2
add esp, 0x24
test eax, eax
jne 0x40396a
cmp dword [ebp - 0x1c], eax
jne 0x403983
push 0x40784c
push str.prop21
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
push str.https:__
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
pop ecx
test eax, eax
je 0x4039eb
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 dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x4039d4
push 0xb3e9fd
push 0x407378
lea eax, [ebp - 0xa1c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4039e2
push str.nonprodpasswd
lea eax, [ebp - 0xa1c]
push eax
call ebx
lea eax, [ebp - 0xa1c]
push eax
jmp 0x4039f0
push str.nonhttpspasswd
push str.prop20
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
push dword [ebp + 0x10]
push str.pagename
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0x18
cmp dword [ebp + 0x1c], 0
jne 0x403a3c
push 0x40786c
jmp 0x403a3f
push dword [ebp + 0x1c]
push str.evar3
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
push str.i586
push str.evar4
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
push 0x407838
push str.evar5
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
push 0x407824
push str.evar6
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0x24
cmp dword [ebp + 0xc], 0
jne 0x403aeb
mov dword [ebp - 0xd60], 0x14
push 0x406f98
lea eax, [ebp - 0xc40]
push eax
call ebx
lea eax, [ebp - 0xd60]
push eax
lea eax, [ebp - 0xc40]
push eax
push str.Method
call fcn.004029ed
lea eax, [ebp - 0xc40]
push eax
push str.evar7
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0x18
jmp 0x403b02
push dword [ebp + 0xc]
push str.evar7
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
push 0x40633c
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x403c22
push str.event6_event7
push str.events
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
push edi
lea eax, [ebp - 0xc28]
push eax
call ebx
push 0x200
lea eax, [ebp - 0xc28]
push eax
push str.InstallStatus
call fcn.004032c2
push 0
call fcn.00403379
push 0
push str.VisitorId
call fcn.00402bb4
push 0
push str.Method
call fcn.00402bb4
add esp, 0x20
push str.decline
lea eax, [ebp - 0xc28]
push eax
call esi
test eax, eax
jne 0x403ba0
push 1
pop eax
jmp 0x404269
push str.exists
lea eax, [ebp - 0xc28]
push eax
call esi
test eax, eax
jne 0x403bc2
cmp dword [ebp + 0x24], 0x643
jne 0x403bc2
mov dword [ebp + 0x24], 0xffffff80
push dword [ebp + 0x24]
push str._jre_d
lea eax, [ebp - 0xd44]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0xc28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x403c11
push str.exists
lea eax, [ebp - 0xc28]
push eax
call esi
test eax, eax
je 0x403c11
lea eax, [ebp - 0xc28]
push eax
lea eax, [ebp - 0xd44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0xd44]
push eax
push str.products
jmp 0x403d8c
push 0x4072cc
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x403c7b
push str.event5
push str.events
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
push dword [ebp + 0x24]
push str._jre_d
lea eax, [ebp - 0xd44]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0xd44]
push eax
push str.products
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0x24
jmp 0x403d9b
push 0x4072c0
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x403c90
push str.event4
jmp 0x403ca3
push 0x406f94
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x403cad
push str.event1
push str.events
jmp 0x403d8c
push 0x406f90
push dword [ebp + 0x10]
call esi
test eax, eax
jne 0x403d9b
push str.event2
push str.events
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
cmp dword [ebp + 0x24], 0
jne 0x403ce7
push 0
push 0x4072a4
jmp 0x403cef
push dword [ebp + 0x24]
push 0x4072a0
lea eax, [ebp - 0xa1c]
push eax
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
call esi
add esp, 0xc
lea eax, [ebp - 0xa1c]
push eax
push str.evar9
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
cmp dword [ebp + 0x20], 0
jne 0x403d2b
push 0
push 0x4072a4
jmp 0x403d33
push dword [ebp + 0x20]
push 0x4072a0
lea eax, [ebp - 0xa1c]
push eax
call esi
add esp, 0xc
lea eax, [ebp - 0xa1c]
push eax
push str.evar10
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
and dword [ebp - 0xd64], 0
lea eax, [ebp - 0xd64]
push eax
push str.NotifyInstall
call fcn.00402f54
add esp, 0x14
cmp dword [ebp - 0xd64], 0
jne 0x403d82
push 0x40728c
jmp 0x403d87
push 0x407288
push str.evar11
lea eax, [ebp - 0x81c]
push eax
call fcn.00403750
add esp, 0xc
push str.__request_
lea eax, [ebp - 0x81c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
xor esi, esi
mov dword [ebp - 0xa20], esi
mov dword [ebp - 0xd48], esi
mov dword [ebp - 0xc2c], esi
mov dword [ebp - 0xa28], esi
mov dword [ebp - 4], esi
push esi
push esi
push esi
push esi
push str.jupdate
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0xa20], eax
cmp eax, esi
je 0x404217
push 0x3c
push esi
lea eax, [ebp - 0xea8]
push eax
call sub.MSVCRT.dll_memset
mov dword [ebp - 0xea8], 0x3c
lea eax, [ebp - 0xe6c]
mov dword [ebp - 0xe98], eax
mov eax, pe_nt_image_headers32
mov dword [ebp - 0xe94], eax
mov word [ebp - 0xe90], si
lea ecx, [ebp - 0x10a8]
mov dword [ebp - 0xe7c], ecx
mov dword [ebp - 0xe78], eax
lea ecx, [ebp - 0xfa8]
mov dword [ebp - 0xe74], ecx
mov dword [ebp - 0xe70], eax
push dword [ebp - 0xc44]
push dword [ebp + 8]
lea eax, [ebp - 0xc28]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0x18
mov eax, dword [ebp - 0xc44]
and byte [ebp + eax - 0xc28], 0
lea ecx, [ebp - 0xea8]
push ecx
push esi
push eax
lea eax, [ebp - 0xc28]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
push esi
push esi
push 3
push edi
push edi
push dword [ebp - 0xe90]
push dword [ebp - 0xe98]
push dword [ebp - 0xa20]
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0xd48], eax
cmp eax, esi
je 0x404217
cmp dword [ebp - 0xe78], esi
je 0x403ebb
push dword [ebp - 0xe7c]
jmp 0x403ec0
push 0x4060e4
lea eax, [ebp - 0xc28]
push eax
call ebx
cmp dword [ebp - 0xe70], esi
je 0x403ee4
push dword [ebp - 0xe74]
lea eax, [ebp - 0xc28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.https:__
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
pop ecx
test eax, eax
push esi
je 0x403f00
push 0x4c00000
jmp 0x403f05
push 0x4400000
push esi
push edi
push str.HTTP_1.1
lea eax, [ebp - 0xc28]
push eax
push str.POST
push dword [ebp - 0xd48]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0xc2c], eax
cmp eax, esi
je 0x404217
push 1
pop edi
mov dword [ebp - 0xd6c], edi
lea eax, [ebp - 0x81c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x81c]
push eax
push esi
push esi
push dword [ebp - 0xc2c]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x403fbf
cmp dword [ebp - 0xd6c], esi
je 0x404217
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x10b8], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x403fb4
sub ecx, 5
je 0x403fb4
sub ecx, 0x16
je 0x403fb4
mov dword [ebp - 0xd6c], esi
push esi
push 7
push eax
push dword [ebp - 0xc2c]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
cmp eax, 0x2f00
jne 0x403f3b
jmp 0x403f35
mov dword [ebp - 0xd6c], esi
jmp 0x403f3b
cmp dword [ebp - 0xd6c], esi
je 0x404217
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x10b4], eax
mov dword [ebp - 0x10b0], esi
mov dword [ebp - 0xd68], 4
push esi
lea eax, [ebp - 0xd68]
push eax
lea eax, [ebp - 0x10b0]
push eax
mov ebx, 0x20000013
push ebx
push dword [ebp - 0xc2c]
mov edi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
call edi
test eax, eax
jne 0x40401a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x10b4], eax
mov dword [ebp - 0xd6c], 1
cmp dword [ebp - 0x10b0], 0x197
jne 0x4040ad
cmp dword [ebp - 0xd6c], esi
je 0x4040ad
push esi
push 7
push dword [ebp - 0x10b4]
push dword [ebp - 0xc2c]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
cmp eax, 0x2f00
je 0x404063
mov dword [ebp - 0xd6c], esi
jmp 0x404024
lea eax, [ebp - 0x81c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x81c]
push eax
push esi
push esi
push dword [ebp - 0xc2c]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov dword [ebp - 0xd68], 4
push esi
lea eax, [ebp - 0xd68]
push eax
lea eax, [ebp - 0x10b0]
push eax
push ebx
push dword [ebp - 0xc2c]
call edi
jmp 0x404024
cmp dword [ebp - 0x10b0], 0xc8
jne 0x4040e2
mov dword [ebp - 0xa28], 1
lea eax, [ebp - 0x10ac]
push eax
push 0x200
lea eax, [ebp - 0xc28]
push eax
push dword [ebp - 0xc2c]
call dword [sym.imp.WININET.dll_InternetReadFile]
mov ecx, dword [ebp + 0x1c]
cmp ecx, esi
jne 0x4040ee
mov ecx, 0x40786c
mov eax, dword [ebp + 0xc]
cmp eax, esi
jne 0x4040fb
lea eax, [ebp - 0xc40]
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0x10]
push eax
push 0x40784c
push dword [ebp - 0x10b0]
push str.InstallStatus:ret_d_visid_s_method_s_state_s_ver_s__s
lea eax, [ebp - 0xa1c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
lea eax, [ebp - 0xd44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x404158
push str._ICstatus
lea eax, [ebp - 0xa1c]
push eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call edi
lea eax, [ebp - 0xd44]
push eax
lea eax, [ebp - 0xa1c]
push eax
call edi
cmp dword [ebp - 0x10ac], esi
je 0x40418f
push 0x407220
lea eax, [ebp - 0xa1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push dword [ebp - 0x10ac]
lea eax, [ebp - 0xc28]
push eax
lea eax, [ebp - 0xa1c]
push eax
call dword [sym.imp.MSVCRT.dll_strncat]
add esp, 0xc
lea eax, [ebp - 0xa1c]
push eax
call fcn.00404278
pop ecx
cmp dword [ebp - 0x1c], esi
jne 0x404217
mov edi, str.prop20
push edi
lea eax, [ebp - 0x81c]
push eax
mov ebx, dword [sym.imp.MSVCRT.dll_strstr]
call ebx
pop ecx
pop ecx
mov dword [ebp - 0xa24], eax
cmp eax, esi
je 0x40420a
push edi
call sub.MSVCRT.dll_strlen
mov ecx, dword [ebp - 0xa24]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0xa24], eax
push edi
push eax
call ebx
add esp, 0xc
mov dword [ebp - 0x10bc], eax
sub eax, dword [ebp - 0xa24]
dec eax
dec eax
mov dword [ebp - 0x10c0], eax
je 0x40420a
push eax
push str.XXXXXXXXXXXXXXXXXX
push dword [ebp - 0xa24]
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
lea eax, [ebp - 0x81c]
push eax
call fcn.00404278
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.0040422a
mov eax, dword [ebp - 0xa28]
jmp 0x404269
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret