Function at 0x405498
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 0x407218
push 0x406626
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ecx
mov eax, 0x10a8
call fcn.00406630
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 0x405f75
push dword [ebp + 8]
call fcn.0040539d
pop ecx
test eax, eax
je 0x405f75
cmp dword [0x40a92c], 0
jne 0x405556
push 0x14
push 0x40a914
push 0x14
push 0x40a900
call fcn.00405194
push 0x20
push 0x40a8e0
call fcn.00402e58
lea eax, [ebp - 0xa1c]
push eax
call fcn.00403cc7
add esp, 0x1c
test eax, eax
je 0x405540
push 0x1e
lea eax, [ebp - 0xa1c]
push eax
push 0x40a8c0
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
jmp 0x405550
push 0x409d80
push 0x40a8c0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x40a92c], esi
push 0x40a934
lea eax, [ebp - 0xd44]
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 - 0x81c]
push eax
call esi
push 0x409db8
push str.sc_xml_ver
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0xc44], eax
push 0x409dc8
push dword [ebp + 8]
mov ebx, dword [sym.imp.MSVCRT.dll_strstr]
call ebx
mov esi, eax
push str.suninstallstat
push 0x409ddc
lea eax, [ebp - 0xd5c]
push eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
call edi
add esp, 0x14
test esi, esi
je 0x4055f0
mov eax, esi
sub eax, dword [ebp + 8]
mov dword [ebp - 0xc44], eax
inc esi
push esi
push 0x409de0
lea eax, [ebp - 0xd5c]
push eax
call edi
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 0x40560b
and dword [ebp - 0x1c], eax
lea eax, [ebp - 0xd5c]
push eax
push str.reportsuiteid
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
push 0x40a8e0
push str.visitorid
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
push 0x14
lea eax, [ebp - 0xd5c]
push eax
push str.PingTest
call fcn.00404f8f
add esp, 0x24
test eax, eax
jne 0x405658
cmp dword [ebp - 0x1c], eax
jne 0x405671
push 0x40a8e0
push str.prop21
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0xc
push 0x409e28
push dword [ebp + 8]
call ebx
pop ecx
pop ecx
test eax, eax
je 0x4056da
push 0x409e34
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 0x4056ba
push 0xb3e9fd
push 0x409e74
lea eax, [ebp - 0xa1c]
push eax
call edi
add esp, 0xc
jmp 0x4056cc
push str.nonprodpasswd
lea eax, [ebp - 0xa1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0xa1c]
push eax
push 0x409e88
jmp 0x4056e4
push str.nonhttpspasswd
push 0x409ea0
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0xc
mov ebx, dword [ebp + 0x10]
push ebx
push str.pagename
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
push dword [ebp + 0x18]
push str.evar2
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0x18
cmp dword [ebp + 0x1c], 0
jne 0x405731
push 0x40a8c0
push 0x409ebc
jmp 0x405739
push dword [ebp + 0x1c]
push str.evar3
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0xc
push str.i586
push str.evar4
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
push 0x40a914
push str.evar5
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
push 0x40a900
push str.evar6
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0x24
cmp dword [ebp + 0xc], 0
jne 0x4057e4
mov dword [ebp - 0xd60], 0x14
push 0x409eec
lea eax, [ebp - 0xc40]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0xd60]
push eax
lea eax, [ebp - 0xc40]
push eax
push 0x409ef0
call fcn.00402fef
lea eax, [ebp - 0xc40]
push eax
push 0x409ef8
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0x18
jmp 0x4057fb
push dword [ebp + 0xc]
push str.evar7
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0xc
push dword [ebp + 0x14]
push str.evar8
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0xc
push 0x409f10
push ebx
call esi
test eax, eax
jne 0x40591c
push str.event6_event7
push 0x409f24
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0xc
push 0x40a938
lea eax, [ebp - 0xc28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x200
lea eax, [ebp - 0xc28]
push eax
push str.InstallStatus
call fcn.00404f8f
xor ebx, ebx
push ebx
call fcn.0040505e
push ebx
push str.VisitorId
call fcn.004031b6
push ebx
push str.Method
call fcn.004031b6
add esp, 0x20
push str.decline
lea eax, [ebp - 0xc28]
push eax
call esi
test eax, eax
jne 0x40589e
push 1
pop eax
jmp 0x405f77
push 0x409f58
lea eax, [ebp - 0xc28]
push eax
call esi
test eax, eax
jne 0x4058c0
cmp dword [ebp + 0x24], 0x643
jne 0x4058c0
mov dword [ebp + 0x24], 0xffffff80
push dword [ebp + 0x24]
push 0x409f60
lea eax, [ebp - 0xd44]
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0xc28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x40590b
push str.exists
lea eax, [ebp - 0xc28]
push eax
call esi
test eax, eax
je 0x40590b
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 0x409f70
jmp 0x405a7d
push 0x409f7c
push ebx
call esi
test eax, eax
jne 0x40596f
push str.event5
push 0x409f88
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
push dword [ebp + 0x24]
push str._jre_d
lea eax, [ebp - 0xd44]
push eax
call edi
lea eax, [ebp - 0xd44]
push eax
push str.products
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0x24
jmp 0x405a8c
push 0x409fa4
push ebx
call esi
test eax, eax
jne 0x40598a
push str.event4
push 0x409fb0
jmp 0x405a7d
push 0x409fb8
push ebx
call esi
test eax, eax
jne 0x4059a5
push str.event1
push 0x409fc4
jmp 0x405a7d
push 0x409fcc
push ebx
call esi
test eax, eax
jne 0x405a8c
push str.event2
push str.events
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0xc
xor esi, esi
cmp dword [ebp + 0x24], esi
jne 0x4059dd
push esi
push 0x409fe0
jmp 0x4059e5
push dword [ebp + 0x24]
push 0x409fe4
lea eax, [ebp - 0xa1c]
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0xa1c]
push eax
push str.evar9
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
add esp, 0xc
cmp dword [ebp + 0x20], esi
jne 0x405a19
push esi
push 0x409ff0
jmp 0x405a21
push dword [ebp + 0x20]
push 0x409ff4
lea eax, [ebp - 0xa1c]
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0xa1c]
push eax
push str.evar10
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
mov dword [ebp - 0xd64], esi
lea eax, [ebp - 0xd64]
push eax
push str.NotifyInstall
call fcn.00403588
add esp, 0x14
cmp dword [ebp - 0xd64], esi
jne 0x405a73
push 0x40a010
push 0x40a014
jmp 0x405a7d
push 0x40a01c
push str.evar11
lea eax, [ebp - 0x81c]
push eax
call fcn.00405454
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 0x405f25
push 0xf
pop ecx
xor eax, eax
lea edi, [ebp - 0xea8]
rep stosd dword es:[edi], eax
mov dword [ebp - 0xea8], 0x3c
lea eax, [ebp - 0xe6c]
mov dword [ebp - 0xe98], eax
mov eax, 0x100
mov dword [ebp - 0xe94], eax
xor edi, edi
mov word [ebp - 0xe90], di
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
mov esi, dword [ebp - 0xc44]
push esi
push dword [ebp + 8]
lea eax, [ebp - 0xc28]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
and byte [ebp + esi - 0xc28], 0
lea eax, [ebp - 0xea8]
push eax
push edi
push esi
lea eax, [ebp - 0xc28]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
push edi
push edi
push 3
push 0x40a93c
push 0x40a940
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, edi
je 0x405f25
xor esi, esi
cmp dword [ebp - 0xe78], esi
je 0x405bb1
push dword [ebp - 0xe7c]
jmp 0x405bb6
push 0x40a03c
lea eax, [ebp - 0xc28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0xe70], esi
je 0x405bde
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 0x405c11
push 0x4c00000
push esi
push 0x40a944
push 0x40a04c
lea eax, [ebp - 0xc28]
push eax
push 0x40a058
jmp 0x405c2d
push 0x4400000
push esi
push 0x40a948
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 0x405f25
push 1
pop edi
mov dword [ebp - 0xd6c], edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
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 0x405cde
cmp dword [ebp - 0xd6c], esi
je 0x405f25
call ebx
mov dword [ebp - 0x10b8], eax
mov ecx, eax
sub ecx, 0x2ee2
je 0x405cd3
sub ecx, 5
je 0x405cd3
sub ecx, 0x16
je 0x405cd3
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 0x405c58
mov dword [ebp - 0xd6c], edi
jmp 0x405c58
mov dword [ebp - 0xd6c], esi
jmp 0x405c58
cmp dword [ebp - 0xd6c], esi
je 0x405f25
call ebx
mov dword [ebp - 0x10b4], eax
and dword [ebp - 0x10b0], 0
mov dword [ebp - 0xd68], 4
push 0
lea eax, [ebp - 0xd68]
push eax
lea eax, [ebp - 0x10b0]
push eax
mov edi, 0x20000013
push edi
push dword [ebp - 0xc2c]
mov esi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
call esi
test eax, eax
jne 0x405d33
call ebx
mov dword [ebp - 0x10b4], eax
mov dword [ebp - 0xd6c], 1
mov ebx, dword [ebp - 0xc2c]
cmp dword [ebp - 0x10b0], 0x197
jne 0x405dc0
cmp dword [ebp - 0xd6c], 0
je 0x405dc0
push 0
push 7
push dword [ebp - 0x10b4]
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
cmp eax, 0x2f00
je 0x405d80
and dword [ebp - 0xd6c], 0
jmp 0x405d43
lea eax, [ebp - 0x81c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x81c]
push eax
push 0
push 0
push ebx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov dword [ebp - 0xd68], 4
push 0
lea eax, [ebp - 0xd68]
push eax
lea eax, [ebp - 0x10b0]
push eax
push edi
push ebx
call esi
jmp 0x405d43
cmp dword [ebp - 0x10b0], 0xc8
jne 0x405df0
mov dword [ebp - 0xa28], 1
lea eax, [ebp - 0x10ac]
push eax
push 0x200
lea eax, [ebp - 0xc28]
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
jne 0x405dfc
mov ecx, 0x40a8c0
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x405e09
lea eax, [ebp - 0xc40]
push dword [ebp + 0x18]
push ecx
push dword [ebp + 0x10]
push eax
push 0x40a8e0
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 0x405e66
push str._ICstatus
lea eax, [ebp - 0xa1c]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
call esi
lea eax, [ebp - 0xd44]
push eax
lea eax, [ebp - 0xa1c]
push eax
call esi
cmp dword [ebp - 0x10ac], 0
je 0x405e9e
push 0x40a0bc
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.0040603b
pop ecx
cmp dword [ebp - 0x1c], 0
jne 0x405f25
push 0x40a0c0
lea eax, [ebp - 0x81c]
push eax
mov ebx, dword [sym.imp.MSVCRT.dll_strstr]
call ebx
pop ecx
pop ecx
mov esi, eax
mov dword [ebp - 0xa24], esi
test esi, esi
je 0x405f18
mov edi, 0x40a0c8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea esi, [esi + ecx + 1]
mov dword [ebp - 0xa24], esi
push str.prop20
push esi
call ebx
pop ecx
pop ecx
mov dword [ebp - 0x10bc], eax
sub eax, esi
dec eax
dec eax
mov dword [ebp - 0x10c0], eax
je 0x405f18
push eax
push str.XXXXXXXXXXXXXXXXXX
push esi
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
lea eax, [ebp - 0x81c]
push eax
call fcn.0040603b
pop ecx
or dword [ebp - 4], 0xffffffff
call fcn.00405f36
mov eax, dword [ebp - 0xa28]
jmp 0x405f77
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret