Function at 0x10001a50
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Set http header

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x10012a60
push 0x10004190
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x10014004]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov byte [ebp - 0x45], dl
mov dword [ebp - 0x44], ecx
xor al, al
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x3d], al
mov dword [ebp - 0x5c], 0
xor ebx, ebx
mov dword [ebp - 0x54], ebx
xor edi, edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x3c], ebx
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
xor esi, esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x24]
push eax
push esi
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.ProcessHacker.exe__PhGetPhVersionNumbers_16]
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push str._lu._lu._lu
call dword [sym.imp.ProcessHacker.exe_PhFormatString]
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10001b09
push dword [eax + 4]
push str.ProcessHacker_Build:
call dword [sym.imp.ProcessHacker.exe__PhConcatStrings2_8]
mov dword [ebp - 0x4c], eax
push dword [ebp - 0x20]
call dword [sym.imp.ProcessHacker.exe__PhDereferenceObject_4]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
call fcn.10001670
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x44]
lea eax, [ecx + 0x34]
push eax
push 0
lea eax, [ecx + 0x2c]
push eax
lea eax, [ecx + 0x30]
push eax
call dword [sym.imp.ProcessHacker.exe__PhGetPhVersionNumbers_16]
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpGetIEProxyConfigForCurrentUser]
push 0
push dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
push eax
neg eax
sbb eax, eax
and eax, 3
push eax
push 0
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov ecx, eax
mov dword [ebp - 0x5c], ecx
test ecx, ecx
je 0x10001e5f
mov eax, dword [sym.imp.ProcessHacker.exe_WindowsVersion]
cmp dword [eax], 0x3f
jb 0x10001b84
mov dword [ebp - 0x20], 3
push 4
lea eax, [ebp - 0x20]
push eax
push 0x76
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
mov ecx, dword [ebp - 0x5c]
push 0
push 0x50
cmp byte [ebp - 0x45], 0
je 0x10001bb9
push str.processhacker.sourceforge.net
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov ebx, eax
mov dword [ebp - 0x54], ebx
test ebx, ebx
je 0x10001e5f
push 0x100
push 0
push 0
push 0
push str._update.php
jmp 0x10001be2
push str.wj32.org
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov ebx, eax
mov dword [ebp - 0x54], ebx
test ebx, ebx
je 0x10001e5f
push 0x100
push 0
push 0
push 0
push str._processhacker_update.php
push 0
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
test edi, edi
mov dword [ebp - 0x58], edi
je 0x10001e5f
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x10001c13
push 0x20000000
mov eax, dword [ecx]
shr eax, 1
push eax
push dword [ecx + 4]
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x10001c2e
push 0x20000000
mov eax, dword [ecx]
shr eax, 1
push eax
push dword [ecx + 4]
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
push 0
push 0
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x10001e5f
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x10001e5f
lea eax, [ebp - 0x68]
push eax
lea edx, [ebp - 0x60]
mov ecx, edi
call fcn.10001820
test al, al
je 0x10001e5f
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x10001e5f
cmp byte [eax], 0
je 0x10001e5f
push 0x10001590
push eax
push 0
call dword [sym.imp.ProcessHacker.exe__mxmlLoadString_12]
mov esi, eax
mov dword [ebp - 0x64], esi
test esi, esi
je 0x10001e5f
cmp dword [esi], 0
jne 0x10001e5f
push 1
push 0
push 0
push 0x1001200c
push esi
push dword [esi + 0x10]
call dword [sym.imp.ProcessHacker.exe__mxmlFindElement_24]
mov ecx, eax
call fcn.10001320
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x38], eax
test eax, eax
je 0x10001cd7
cmp dword [eax], 0
je 0x10001cd7
xor eax, eax
jmp 0x10001cdc
mov eax, 1
test al, al
jne 0x10001e5f
push 1
push 0
push 0
push 0x10012010
push esi
push dword [esi + 0x10]
call dword [sym.imp.ProcessHacker.exe__mxmlFindElement_24]
mov ecx, eax
call fcn.10001320
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x3c], eax
test eax, eax
je 0x10001d13
cmp dword [eax], 0
je 0x10001d13
xor eax, eax
jmp 0x10001d18
mov eax, 1
test al, al
jne 0x10001e5f
push 1
push 0
push 0
push str.reldate
push esi
push dword [esi + 0x10]
call dword [sym.imp.ProcessHacker.exe__mxmlFindElement_24]
mov ecx, eax
call fcn.10001320
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x40], eax
test eax, eax
je 0x10001d4f
cmp dword [eax], 0
je 0x10001d4f
xor eax, eax
jmp 0x10001d54
mov eax, 1
test al, al
jne 0x10001e5f
push 1
push 0
push 0
push str.size
push esi
push dword [esi + 0x10]
call dword [sym.imp.ProcessHacker.exe__mxmlFindElement_24]
mov ecx, eax
call fcn.10001320
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x44], eax
test eax, eax
je 0x10001d8b
cmp dword [eax], 0
je 0x10001d8b
xor eax, eax
jmp 0x10001d90
mov eax, 1
test al, al
jne 0x10001e5f
push 1
push 0
push 0
push str.sha1
push esi
push dword [esi + 0x10]
call dword [sym.imp.ProcessHacker.exe__mxmlFindElement_24]
mov ecx, eax
call fcn.10001320
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x48], eax
test eax, eax
je 0x10001dc7
cmp dword [eax], 0
je 0x10001dc7
xor eax, eax
jmp 0x10001dcc
mov eax, 1
test al, al
jne 0x10001e5f
push 1
push 0
push 0
push str.relnotes
push esi
push dword [esi + 0x10]
call dword [sym.imp.ProcessHacker.exe__mxmlFindElement_24]
mov ecx, eax
call fcn.10001320
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x4c], eax
test eax, eax
je 0x10001e03
cmp dword [eax], 0
je 0x10001e03
xor eax, eax
jmp 0x10001e08
mov eax, 1
test al, al
jne 0x10001e5f
push 1
push 0
push 0
push str.setupurl
push esi
push dword [esi + 0x10]
call dword [sym.imp.ProcessHacker.exe__mxmlFindElement_24]
mov ecx, eax
call fcn.10001320
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x50], eax
test eax, eax
je 0x10001e3b
cmp dword [eax], 0
je 0x10001e3b
xor eax, eax
jmp 0x10001e40
mov eax, 1
test al, al
jne 0x10001e5f
call fcn.10001700
mov ecx, dword [ebp - 0x50]
movzx ecx, cl
mov edx, 1
test al, al
cmovne ecx, edx
mov dword [ebp - 0x50], ecx
mov byte [ebp - 0x3d], cl
mov dword [ebp - 4], 0xfffffffe
call fcn.10001e9f
mov al, byte [ebp - 0x50]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.100033b8
mov esp, ebp
pop ebp
ret