Function at 0x40f960
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43d4fc
mov eax, dword fs:[0]
push eax
sub esp, 0x61c
mov eax, dword [0x44e740]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x5e8], edx
mov dword [ebp - 0x5ec], ecx
xor esi, esi
mov dword [ebp - 0x518], 0xf
mov dword [ebp - 0x51c], esi
mov byte [ebp - 0x52c], 0
push ecx
lea ecx, [ebp - 0x5e0]
mov dword [ebp - 4], esi
call fcn.0040ab40
add esp, 4
test al, al
jne 0x40f9d3
mov esi, str.cant_load_wininet.dll
jmp 0x40fd8d
push 0x98
lea eax, [ebp - 0x5c8]
push 0
push eax
call fcn.00429ef0
add esp, 4
lea ecx, [ebp - 0x5c8]
call fcn.00404ab0
lea ecx, [ebp - 0x60c]
mov byte [ebp - 4], 1
call fcn.00402fb0
mov edi, eax
mov byte [ebp - 4], 2
cmp dword [0x44f6fc], 0x10
mov edx, dword [0x44f6e8]
jae 0x40fa1d
mov edx, 0x44f6e8
lea ecx, [ebp - 0x5c8]
call fcn.00409b40
mov dl, 0x2f
mov ecx, eax
call fcn.00409600
mov edx, edi
mov ecx, eax
call fcn.004098c0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x5f8], 0x10
jb 0x40fa55
push dword [ebp - 0x60c]
call fcn.00425576
add esp, 4
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00404b80
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 0x10
jb 0x40fa73
mov eax, dword [eax]
push 0
push 0
push 0
push 0
push eax
call dword [ebp - 0x5e0]
mov ebx, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x5f8], 0x10
mov dword [ebp - 0x5f0], ebx
jb 0x40faa5
push dword [ebp - 0x60c]
call fcn.00425576
add esp, 4
mov dword [ebp - 0x5f8], 0xf
mov dword [ebp - 0x5fc], 0
mov byte [ebp - 0x60c], 0
test ebx, ebx
jne 0x40face
mov esi, str.InternetOpen_failed
jmp 0x40fd17
push 0
push 0
push 3
push 0x446ce1
push 0x446ce1
push 0x50
push str.update.utorrent.com
push ebx
call dword [ebp - 0x5dc]
mov ebx, dword [ebp - 0x5d0]
mov dword [ebp - 0x5e4], eax
test eax, eax
jne 0x40fb06
mov esi, str.InternetConnect_failed
jmp 0x40fd0f
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea ecx, [ebp - 0x624]
mov dword [ebp - 0x5f4], eax
call fcn.004206e0
mov edi, eax
lea eax, [ebp - 0x52c]
cmp eax, edi
je 0x40fb67
cmp dword [ebp - 0x518], 0x10
jb 0x40fb40
push dword [ebp - 0x52c]
call fcn.00425576
add esp, 4
push edi
lea ecx, [ebp - 0x52c]
mov dword [ebp - 0x518], 0xf
mov dword [ebp - 0x51c], 0
mov byte [ebp - 0x52c], 0
call fcn.00401830
cmp dword [ebp - 0x610], 0x10
jb 0x40fb7e
push dword [ebp - 0x624]
call fcn.00425576
add esp, 4
cmp dword [ebp - 0x518], 0x10
mov edx, dword [ebp - 0x52c]
jae 0x40fb93
lea edx, [ebp - 0x52c]
mov ecx, dword [0x4517bc]
movzx eax, byte [0x453fff]
mov edi, dword [0x4517b4]
shl ecx, 4
or ecx, dword [0x4517b8]
shl ecx, 4
or ecx, dword [0x4517b0]
add ecx, ecx
or ecx, eax
mov eax, dword [0x44f6e8]
shl ecx, 0x10
or ecx, edi
cmp dword [0x44f6fc], 0x10
jae 0x40fbd4
mov eax, 0x44f6e8
push 0
push dword [ebp + 0x10]
push 4
push dword [ebp - 0x5e8]
push 0
push dword [ebp - 0x5f4]
push edx
push ecx
push edi
push eax
push str._crash.php_cl_sver_dUfull_version_dUh_sp_dUpr_dUs_dUsvp_dov_dplus_d
lea eax, [ebp - 0x510]
push 0x500
push eax
call fcn.00425c16
add esp, 0x34
mov eax, str.POST
cmp dword [ebp - 0x5ec], 0
jne 0x40fc19
mov eax, 0x447220
push 0
push 0x4000000
push 0
push 0
push 0
lea ecx, [ebp - 0x510]
push ecx
push eax
push dword [ebp - 0x5e4]
call dword [ebp - 0x5d8]
mov edi, eax
test edi, edi
jne 0x40fc4a
mov esi, str.HttpOpenRequest_failed
jmp 0x40fd07
mov edx, dword [ebp - 0x5ec]
mov ecx, str.Content_type:_application_octet_stream
test edx, edx
jne 0x40fc5e
mov ecx, 0x446ce1
mov eax, edx
neg eax
sbb eax, eax
and eax, dword [ebp - 0x5e8]
push eax
push edx
push 0xffffffffffffffff
push ecx
push edi
call dword [ebp - 0x5d4]
test eax, eax
jne 0x40fc84
mov esi, str.HttpSendRequest_failed
jmp 0x40fd04
push 0
lea eax, [ebp - 0x514]
mov dword [ebp - 0x514], 4
push eax
lea eax, [ebp - 0x530]
push eax
push 0x20000013
push edi
call dword [ebp - 0x5cc]
test eax, eax
jne 0x40fcb5
mov esi, str.HttpQueryInfo_failed
jmp 0x40fd04
mov eax, dword [ebp - 0x530]
cmp eax, 0xc8
je 0x40fd04
push eax
push str.Error__d_:
push 0x64
push 0x454070
call fcn.00425c16
add esp, 0x10
mov ecx, eax
mov eax, 0x64
sub eax, ecx
mov dword [ebp - 0x514], eax
lea eax, [ebp - 0x514]
push 0
push eax
lea eax, [ecx + 0x454070]
push eax
push 0x14
push edi
call dword [ebp - 0x5cc]
mov esi, 0x454070
push edi
call ebx
push dword [ebp - 0x5e4]
call ebx
push dword [ebp - 0x5f0]
call ebx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x5c8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x5c8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x5cc], eax
lea ecx, [ebp - 0x5c4]
call fcn.00404ba0
mov eax, dword [ebp - 0x5c8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x5c8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x5cc], eax
lea eax, [ebp - 0x578]
push eax
mov dword [ebp - method.std::basic_ios_char__struct_std::char_traits_char__.virtual_0], vtable.std::ios_base.0
call fcn.004211bb
add esp, 4
cmp dword [ebp - 0x518], 0x10
jb 0x40fda4
push dword [ebp - 0x52c]
call fcn.00425576
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424db6
mov esp, ebp
pop ebp
ret