Function at 0x4219a0
Capabilities:
Check http status code
Check os version
Connect to http server
Get http content length
Get number of processors
Parse url
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x422adb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x30d4
call fcn.00422170
push ebx
push esi
push edi
push str.CHttpHandle::ExecuteTask
push str..HttpTaskMgr.cpp
mov edi, 1
mov esi, ecx
call fcn.00420160
call fcn.00421930
push eax
push str.m_nIEVersion_is__d
push str..HttpTaskMgr.cpp
mov dword [esi + 0x1c], eax
call fcn.00420160
xor ebx, ebx
add esp, 0x14
lea ecx, [esp + 0xc4]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], ebx
call dword [0x4252cc]
xor eax, eax
mov dword [esp + 0x30ec], ebx
push 0x1fff
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov byte [esp + 0x10e4], al
lea eax, [esp + 0x10e5]
push ebx
push eax
mov dword [esp + 0x34], ebx
call fcn.0041c8b6
mov edi, dword [ebp + 8]
add edi, 8
add esp, 0xc
cmp dword [edi + 0x18], 8
jb 0x421a78
mov eax, dword [edi + 4]
jmp 0x421a7b
lea eax, [edi + 4]
push eax
push esi
push str.CHttpHandle_begin__this0x_x__pUrl_s
push 1
push str..HttpTaskMgr.cpp
call fcn.00420090
mov ecx, dword [esi + 0x20]
add esp, 0x14
push ecx
call dword [0x4251ac]
mov edx, dword [esi + 0x24]
push edx
call dword [0x4251ac]
push edi
lea ecx, [esp + 0xac]
call dword [0x4252d8]
push 0x3c
lea eax, [esp + 0x70]
push ebx
push eax
mov byte [esp + 0x30f8], 1
call fcn.0041c8b6
mov eax, dword [esp + 0xb8]
mov edi, 1
add esp, 0xc
cmp dword [esp + 0xc0], 8
mov dword [esp + 0x6c], 0x3c
mov dword [esp + 0x80], edi
mov dword [esp + 0x9c], edi
jae 0x421afe
lea eax, [esp + 0xac]
lea ecx, [esp + 0x6c]
push ecx
push ebx
push ebx
push eax
call dword [0x425630]
cmp eax, ebx
jne 0x421b17
mov ebx, edi
jmp 0x421c22
mov edi, dword [esp + 0x80]
cmp edi, 0x400
jae 0x421c1d
cmp dword [esp + 0x9c], 0x400
jae 0x421c1d
cmp dword [esi + 0x10], ebx
je 0x421c1d
push 0x7fe
lea edx, [esp + 0xe6]
push ebx
push edx
mov word [esp + 0xec], bx
call fcn.0041c8b6
mov eax, dword [esp + 0x88]
add esp, 0xc
push edi
mov edi, dword [0x425440]
push eax
lea ecx, [esp + 0xe8]
push ecx
call edi
mov edx, dword [esp + 0x8c]
add esp, 0xc
push 0x7fe
lea eax, [esp + 0x8e6]
push ebx
push eax
mov word [esp + edx*2 + 0xec], bx
mov word [esp + 0x8ec], bx
call fcn.0041c8b6
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
add esp, 0xc
push ecx
push edx
lea eax, [esp + 0x8e8]
push eax
call edi
mov ecx, dword [esp + 0xa8]
add esp, 0xc
push ebx
lea edi, [esi + 0x18]
push edi
mov word [esp + ecx*2 + 0x8e8], bx
call dword [0x4251a8]
mov eax, dword [esi + 0x10]
push esi
push ebx
push 3
push ebx
push ebx
push ebx
lea edx, [esp + 0xf8]
push edx
push eax
call dword [0x425628]
cmp eax, ebx
jne 0x421cc9
call dword [0x4251ec]
cmp eax, 0x3e5
jne 0x421c1d
call fcn.004214c0
test eax, eax
je 0x421cd1
mov ebx, 1
push ebx
push esi
push str.ERROR_EXIT__this0x_x__dwErrCode_d
push str..HttpTaskMgr.cpp
mov edi, 1
call fcn.00420160
mov eax, dword [esi + 0x14]
lea edi, [esi + 0x14]
add esp, 0x10
test eax, eax
je 0x422099
mov ecx, dword [edi]
push ecx
call dword [0x42562c]
push 0
push edi
call dword [0x4251a8]
mov edx, dword [esi + 0x18]
push edx
call dword [0x42562c]
mov dword [esp + 0x24], eax
push 0
lea eax, [esi + 0x18]
push eax
call dword [0x4251a8]
call dword [0x4251ec]
push 0
push edi
mov dword [esp + 0x28], eax
call dword [0x4251a8]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push eax
push ecx
push esi
push str.InternetCloseHandle__this0x_x__bRet_d__LastError_d
push str..HttpTaskMgr.cpp
mov edi, 1
call fcn.00420160
mov eax, dword [esi + 0x1c]
add esp, 0x14
cmp eax, 6
jg 0x42207a
test eax, eax
jle 0x42207a
mov edx, dword [esi + 0x24]
push 0x64
push edx
jmp 0x422080
push eax
push edi
call dword [0x4251a8]
mov ecx, dword [esi + 0x20]
push ecx
call dword [0x4251ac]
mov eax, dword [ebp + 8]
add eax, 0x28
cmp dword [eax + 0x18], 8
jb 0x421cec
mov eax, dword [eax + 4]
jmp 0x421cef
add eax, 4
push esi
push 0x4000000
push ebx
push ebx
push str.HTTP_1.0
lea edx, [esp + 0x8f4]
push edx
push eax
mov eax, dword [edi]
push eax
call dword [0x425614]
cmp eax, ebx
jne 0x421d31
call dword [0x4251ec]
cmp eax, 0x3e5
jne 0x421c1d
call fcn.004214c0
test eax, eax
je 0x421d3c
jmp 0x421c1d
push eax
lea ecx, [esi + 0x14]
push ecx
call dword [0x4251a8]
mov edx, dword [esi + 0x20]
push edx
call dword [0x4251ac]
mov edi, dword [ebp + 8]
push str.POST
add edi, 0x28
push edi
call dword [0x425254]
add esp, 8
test al, al
je 0x421e3c
push str.Connection:_Close_r_nContent_Type:_application_x_www_form_urlencoded
lea ecx, [esp + 0x54]
call dword [0x4252c0]
mov eax, dword [ebp + 8]
mov byte [esp + 0x30ec], 2
cmp dword [eax + 0x5c], 0x10
mov edx, dword [eax + 0x58]
jb 0x421d8b
mov eax, dword [eax + 0x48]
jmp 0x421d8e
add eax, 0x48
cmp dword [esp + 0x68], 8
mov ecx, dword [esp + 0x54]
jae 0x421d9d
lea ecx, [esp + 0x54]
push edx
push eax
mov eax, dword [esp + 0x6c]
push eax
push ecx
mov ecx, dword [esi + 0x14]
push ecx
call dword [0x425618]
test eax, eax
jne 0x421de4
call dword [0x4251ec]
cmp eax, 0x3e5
jne 0x421dc9
call fcn.004214c0
test eax, eax
je 0x421de4
mov ebx, 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x30ec], bl
call dword [0x4252f0]
jmp 0x421c22
lea ecx, [esp + 0x50]
mov byte [esp + 0x30ec], 1
call dword [0x4252f0]
mov edx, dword [esi + 0x14]
push ebx
mov ebx, dword [0x42561c]
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0x20000013
push edx
mov dword [esp + 0x30], 4
call ebx
test eax, eax
mov edi, 1
jne 0x421ea2
push str.CHttpHandle_error3
push str..HttpTaskMgr.cpp
call fcn.00420160
add esp, 8
mov ebx, edi
jmp 0x421c22
push 0x4264b8
push edi
call dword [0x425254]
add esp, 8
test al, al
je 0x421df6
mov edx, dword [esi + 0x14]
push ebx
push ebx
push ebx
push ebx
push edx
call dword [0x425618]
test eax, eax
jne 0x421df6
mov edi, dword [0x4251ec]
call edi
cmp eax, 0x3e5
jne 0x421c1d
call fcn.004214c0
test eax, eax
je 0x421df6
call edi
push eax
push str.CHttpHandle_error_GET__dwLastError_d
push str..HttpTaskMgr.cpp
mov edi, 1
call fcn.00420160
add esp, 0xc
mov ebx, edi
jmp 0x421c22
mov eax, dword [esp + 0x14]
push eax
push str.HttpQueryInfo__return_StatusCode_d
push str..HttpTaskMgr.cpp
call fcn.00420160
add esp, 0xc
cmp dword [esp + 0x14], 0xc8
je 0x421edc
push str.CHttpHandle_error4
push str..HttpTaskMgr.cpp
call fcn.00420160
add esp, 8
mov ebx, edi
jmp 0x421c22
mov eax, dword [esi + 0x14]
push 0
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x18]
push edx
push 0x20000005
push eax
mov dword [esp + 0x2c], 4
call ebx
test eax, eax
jne 0x421f10
cmp dword [esi + 0x2c], eax
je 0x421fb2
mov dword [esp + 0x10], 0x2000
mov ecx, dword [esp + 0x10]
push ecx
push str.HttpQueryInfo__return_ContentLength_d
push str..HttpTaskMgr.cpp
call fcn.00420160
mov ebx, dword [esp + 0x1c]
add esp, 0xc
test ebx, ebx
mov dword [esp + 0x28], 0x28
jbe 0x42201d
cmp ebx, 0x2000
lea edx, [esp + 0x10e0]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ebx
jb 0x421f5a
mov dword [esp + 0x40], 0x2000
mov eax, dword [esi + 0x20]
push eax
call dword [0x4251ac]
mov edx, dword [esi + 0x14]
push esi
push 1
lea ecx, [esp + 0x30]
push ecx
push edx
call dword [0x425620]
test eax, eax
jne 0x421fcb
call dword [0x4251ec]
cmp eax, 0x3e5
jne 0x422024
call fcn.004214c0
test eax, eax
je 0x421fdb
push str.CHttpHandle_error7
push str..HttpTaskMgr.cpp
mov edi, 1
call fcn.00420160
add esp, 8
mov ebx, edi
jmp 0x421c22
push str.CHttpHandle_error5
push str..HttpTaskMgr.cpp
call fcn.00420160
add esp, 8
mov ebx, edi
jmp 0x421c22
mov eax, dword [esi + 0x28]
push 0
push eax
call dword [0x42521c]
test eax, eax
je 0x422043
mov ecx, dword [esp + 0x40]
push ebx
push ecx
push str.InternetReadFileEx__recvlen_d__leftlen_d
push str..HttpTaskMgr.cpp
mov edi, 1
call fcn.00420160
mov eax, dword [esp + 0x50]
add esp, 0x10
test eax, eax
jbe 0x422061
mov edx, dword [esp + 0x3c]
push eax
push edx
lea ecx, [esp + 0xcc]
call dword [0x4252ac]
sub ebx, dword [esp + 0x40]
jne 0x421f3b
xor ebx, ebx
jmp 0x421c22
push eax
push str.CHttpHandle_error8__dwLastError_d
push str..HttpTaskMgr.cpp
mov edi, 1
call fcn.00420160
add esp, 0xc
mov ebx, edi
jmp 0x421c22
push str.CHttpHandle_error9
push str..HttpTaskMgr.cpp
mov edi, 1
call fcn.00420160
add esp, 8
mov ebx, edi
jmp 0x421c22
push str.CHttpHandle_error10
push str..HttpTaskMgr.cpp
call fcn.00420160
add esp, 8
mov ebx, edi
jmp 0x421c22
mov eax, dword [esi + 0x24]
push 0xffffffffffffffff
push eax
call dword [0x42521c]
push esi
push str.InternetCloseHandle__wait_return__this0x_x
push str..HttpTaskMgr.cpp
call fcn.00420160
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x24], 0
je 0x4220b7
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx]
mov eax, dword [eax]
mov edx, dword [edx]
lea esi, [esp + 0xc4]
push esi
push ebx
push eax
call edx
xor eax, eax
test ebx, ebx
sete al
lea ecx, [esp + 0xa8]
mov byte [esp + 0x30ec], 0
mov esi, eax
call dword [0x4252f0]
lea ecx, [esp + 0xc4]
mov dword [esp + 0x30ec], 0xffffffff
call dword [0x4252c4]
mov ecx, dword [esp + 0x30e4]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4