Function at 0x6404778c
Capabilities:
Check http status code

Disassembly:
push ebp
lea ebp, [esp - 0x1004]
mov eax, 0x1004
call fcn.64058260
push 0xffffffffffffffff
push 0x64078a01
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x640b7274]
xor eax, ebp
mov dword [ebp + 0x1000], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, dword [ebx + 4]
cmp dword [edi + 0x88], 2
je 0x640477ea
mov ecx, dword [edi + 0x80]
mov eax, dword [ecx]
call dword [eax + 0x4c]
or eax, edx
je 0x64047bef
mov eax, dword [edi + 0x88]
cmp eax, 2
jne 0x6404780e
cmp byte [edi + 0x90], 0
je 0x64047bef
mov ecx, ebx
call fcn.64046a60
jmp 0x64047bef
cmp eax, 4
je 0x64047b7e
lea esi, [edi + 0x84]
mov ecx, dword [edi + 0x80]
lea eax, [ebp - 0x38]
push 0
push 0
push eax
call dword [sym.imp.QtCore4.dll_public:_class_QByteArray___thiscall_QIODevice::readLine_long_long___int64__]
and dword [ebp - 4], 0
mov ecx, esi
push eax
call dword [0x6407b310]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::destructor_void_]
push str._r_n_r_n
mov ecx, esi
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QByteArray::endsWith_char_const__const]
test al, al
jne 0x64047870
mov ecx, dword [edi + 0x80]
mov eax, dword [ecx]
call dword [eax + 0x54]
test al, al
jne 0x6404781d
jmp 0x64047bef
push str.HTTP_1.
mov ecx, esi
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QByteArray::startsWith_char_const__const]
mov ecx, esi
test al, al
je 0x64047e2b
push 0xffffffffffffffff
call dword [sym.imp.QtCore4.dll_public:_char_const____thiscall_QByteArray::operator_char_const__void_const]
push eax
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.QtCore4.dll_public:_static_class_QString___cdecl_QString::fromLatin1_char_const___int_]
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 2
call sym.QtNetwork4.dll_public:_void___thiscall_QHttpResponseHeader::constructor_class_QString_const__
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 4
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov ecx, esi
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::clear_void_]
lea ecx, [ebp - 0x2c]
call sym.QtNetwork4.dll_public:_int___thiscall_QHttpResponseHeader::statusCode_void_const
mov esi, eax
cmp esi, 0xc8
je 0x64047dc3
cmp esi, 0x197
jne 0x64047d0e
cmp byte [edi + 0x98], 0
je 0x64047922
lea ecx, [ebp - 0x40]
call sym.QtNetwork4.dll_public:_void___thiscall_QAuthenticator::constructor_void_
lea esi, [edi + 0x8c]
mov byte [ebp - 4], 6
push eax
mov ecx, esi
call sym.QtNetwork4.dll_public:_class_QAuthenticator____thiscall_QAuthenticator::operator_class_QAuthenticator_const__
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call sym.QtNetwork4.dll_public:_void___thiscall_QAuthenticator::destructor_void_
mov ecx, esi
call sym.QtNetwork4.dll_public:_void___thiscall_QAuthenticator::detach_void_
mov eax, dword [esi]
mov byte [eax + 0x1c], 1
jmp 0x6404793a
lea esi, [edi + 0x8c]
mov ecx, esi
call sym.QtNetwork4.dll_public:_bool___thiscall_QAuthenticator::isNull_void_const
test al, al
je 0x6404793a
mov ecx, esi
call sym.QtNetwork4.dll_public:_void___thiscall_QAuthenticator::detach_void_
mov esi, dword [esi]
lea eax, [ebp - 0x2c]
push 1
push eax
mov ecx, esi
mov dword [ebp - 0x24], esi
call fcn.64039f9b
cmp dword [esi + 0x20], 3
je 0x64047cb2
push str.Proxy_Connection
lea ecx, [ebp - 0x54]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QLatin1String::constructor_char_const__]
push eax
lea ecx, [ebp - 0x30]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::constructor_class_QLatin1String_const__]
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x2c]
call sym.QtNetwork4.dll_public:_class_QString___thiscall_QHttpHeader::value_class_QString_const__
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [ebp - 0x18]
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QString::isEmpty_void_const]
test al, al
je 0x640479ec
push str.Connection
lea ecx, [ebp - 0x58]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QLatin1String::constructor_char_const__]
push eax
lea ecx, [ebp - 0x34]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::constructor_class_QLatin1String_const__]
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x2c]
call sym.QtNetwork4.dll_public:_class_QString___thiscall_QHttpHeader::value_class_QString_const__
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xc
call dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::operator_class_QString__]
lea ecx, [ebp - 0x44]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xa
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x18]
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QString::toLower_void_]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xd
call dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::operator_class_QString__]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xa
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
push str.close
lea ecx, [ebp - 0x5c]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QLatin1String::constructor_char_const__]
mov esi, dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QString::operator_class_QLatin1String_const__const]
lea ecx, [ebp - 0x18]
push eax
call esi
test al, al
je 0x64047a38
mov byte [ebp - 0x11], 1
jmp 0x64047a7a
push str.keep_alive
lea ecx, [ebp - 0x60]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QLatin1String::constructor_char_const__]
push eax
lea ecx, [ebp - 0x18]
call esi
test al, al
je 0x64047a56
mov byte [ebp - 0x11], 0
jmp 0x64047a9e
lea ecx, [ebp - 0x2c]
call sym.QtNetwork4.dll_public_virtual:_int___thiscall_QHttpRequestHeader::majorVersion_void_const
mov esi, eax
lea ecx, [ebp - 0x2c]
shl esi, 8
call sym.QtNetwork4.dll_public_virtual:_int___thiscall_QHttpRequestHeader::minorVersion_void_const
add eax, esi
mov ecx, 0x100
cmp eax, ecx
setle byte [ebp - 0x11]
jg 0x64047a9e
mov ecx, dword [edi + 0x80]
call sym.QtNetwork4.dll_public:_void___thiscall_QAbstractSocket::disconnectFromHost_void_
mov ecx, dword [edi + 0x80]
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.QtCore4.dll_public:_class_QByteArray___thiscall_QIODevice::readAll_void_]
lea ecx, [ebp - 0x4c]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::destructor_void_]
mov eax, dword [ebp - 0x24]
lea esi, [edi + 0x78]
mov eax, dword [eax + 0x20]
cmp eax, 2
jne 0x64047aca
lea eax, [edi + 0x8c]
mov ecx, ebx
push eax
push esi
call fcn.64046319
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x20]
cmp eax, 2
je 0x64047c6e
cmp byte [ebp - 0x11], 0
mov dword [edi + 0x88], 3
jne 0x64047c25
push str.Content_Length
lea ecx, [ebp - 0x50]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QLatin1String::constructor_char_const__]
push eax
lea ecx, [ebp - 0x10]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::constructor_class_QLatin1String_const__]
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x2c]
call sym.QtNetwork4.dll_public:_class_QString___thiscall_QHttpHeader::value_class_QString_const__
push 0xa
lea ecx, [ebp - 0x19]
mov byte [ebp - 4], 0x11
push ecx
mov ecx, eax
call dword [sym.imp.QtCore4.dll_public:_int___thiscall_QString::toInt_bool___int_const]
lea ecx, [ebp - 0x20]
mov esi, eax
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xa
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
cmp byte [ebp - 0x19], 0
je 0x64047c12
test esi, esi
jle 0x64047c12
lea ecx, [ebp - 0x18]
mov dword [edi + 0x88], 4
mov dword [edi + 0x9c], esi
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call sym.QtNetwork4.dll_public_virtual:_void___thiscall_QHttpHeader::destructor_void_
cmp dword [edi + 0x88], 4
lea esi, [edi + 0x84]
jne 0x6404781d
lea esi, [edi + 0x9c]
mov ecx, dword [esi]
test ecx, ecx
je 0x64047bde
mov dword [ebp - 0x20], 0x1000
cmp ecx, 0x1000
lea eax, [ebp - 0x20]
mov ecx, dword [edi + 0x80]
cmovbe eax, esi
push 0
push dword [eax]
lea eax, [ebp]
push eax
call dword [sym.imp.QtCore4.dll_public:_long_long___int64____thiscall_QIODevice::read_char___long_long___int64__]
test eax, eax
js 0x64047bc7
cmp eax, 0x1000
jae 0x64047e9f
mov byte [ebp + eax], 0
test eax, eax
je 0x64047bef
cmp eax, 0xffffffff
je 0x64047e88
mov ecx, dword [esi]
sub ecx, eax
mov dword [esi], ecx
jne 0x64047b91
test ecx, ecx
jne 0x64047bef
mov ecx, ebx
mov dword [edi + 0x88], 3
call fcn.64047333
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1000]
xor ecx, ebp
call fcn.6405813a
add ebp, 0x1004
leave
ret
mov ecx, ebx
mov dword [edi + 0x88], 3
call fcn.64047333
jmp 0x64047c60
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
call sym.QtNetwork4.dll_public:_class_QString___thiscall_QNetworkProxy::hostName_void_
mov esi, eax
push ecx
mov edx, esp
mov byte [ebp - 4], 0xf
lea ecx, [edi + 0x78]
mov dword [edx], 3
call sym.QtNetwork4.dll_public:_unsigned_short_int___thiscall_QNetworkProxy::port_void_const
movzx ecx, ax
push ecx
mov ecx, dword [edi + 0x80]
push esi
call sym.QtNetwork4.dll_public:_void___thiscall_QAbstractSocket::connectToHost_class_QString_const___unsigned_short_int__class_QFlags_enum_QIODevice::OpenModeFlag__
lea ecx, [ebp - 0x20]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [ebp - 0x18]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
jmp 0x64047d01
push 0
push str.Authentication_required
lea eax, [ebp - 0x10]
mov ecx, str.Xr_vdp_bd
push eax
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QMetaObject::tr_char_const___char_const__]
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0xe
push eax
push 0xc
mov ecx, ebx
call fcn.6404633b
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xa
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov ecx, dword [edi + 0x80]
call sym.QtNetwork4.dll_public:_void___thiscall_QAbstractSocket::disconnectFromHost_void_
lea ecx, [ebp - 0x18]
jmp 0x64047cf0
mov ecx, dword [edi + 0x80]
mov eax, dword [ecx]
call dword [eax + 0x34]
push 0
mov ecx, ebx
call fcn.640463b0
push 0
push str.Error_parsing_authentication_request_from_proxy
lea eax, [ebp - 0x10]
mov ecx, str.Xr_vdp_bd
push eax
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QMetaObject::tr_char_const___char_const__]
mov byte [ebp - 4], 7
lea eax, [ebp - 0x10]
push eax
push 0x12
mov ecx, ebx
call fcn.6404633b
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 4
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov ecx, ebx
call fcn.64046902
lea ecx, [ebp - 0x2c]
call sym.QtNetwork4.dll_public_virtual:_void___thiscall_QHttpHeader::destructor_void_
jmp 0x64047bef
mov ecx, dword [edi + 0x80]
mov eax, dword [ecx]
call dword [eax + 0x34]
push 0
mov ecx, ebx
call fcn.640463b0
cmp esi, 0x193
je 0x64047d9e
cmp esi, 0x195
je 0x64047d9e
lea eax, [ebp - 0x10]
push 0
cmp esi, 0x194
jne 0x64047d5c
push str.Host_not_found
push eax
mov ecx, sym.QtNetwork4.dll_struct_QMetaObject_const_QAbstractSocket::staticMetaObject
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QMetaObject::tr_char_const___char_const__]
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x13
push eax
push 2
jmp 0x64047ce6
cmp esi, 0x1f7
jne 0x64047d84
push str.Connection_refused
push eax
mov ecx, sym.QtNetwork4.dll_struct_QMetaObject_const_QAbstractSocket::staticMetaObject
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QMetaObject::tr_char_const___char_const__]
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x14
push eax
push 0
jmp 0x64047ce6
push str.Error_communicating_with_HTTP_proxy
push eax
mov ecx, str.Xr_vdp_bd
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QMetaObject::tr_char_const___char_const__]
mov byte [ebp - 4], 0x15
jmp 0x64047ce0
push 0
push str.Proxy_denied_connection
lea eax, [ebp - 0x10]
mov ecx, str.Xr_vdp_bd
push eax
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QMetaObject::tr_char_const___char_const__]
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x12
push eax
push 3
jmp 0x64047ce6
mov ecx, dword [edi + 0x80]
lea eax, [ebp - 0x20]
push eax
mov dword [edi + 0x88], 2
call sym.QtNetwork4.dll_public:_class_QHostAddress___thiscall_QAbstractSocket::localAddress_void_
push eax
mov ecx, ebx
mov byte [ebp - 4], 5
call fcn.64046355
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call sym.QtNetwork4.dll_public:_void___thiscall_QHostAddress::destructor_void_
mov ecx, dword [edi + 0x80]
call sym.QtNetwork4.dll_public:_unsigned_short_int___thiscall_QAbstractSocket::localPort_void_const
movzx eax, ax
mov ecx, ebx
push eax
call fcn.64046360
push 3
mov ecx, ebx
call fcn.640463b0
lea esi, [edi + 0x8c]
mov ecx, esi
call sym.QtNetwork4.dll_public:_void___thiscall_QAuthenticator::detach_void_
mov eax, dword [esi]
mov byte [eax + 0x1c], 0
jmp 0x64047cfa
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::clear_void_]
mov ecx, dword [edi + 0x80]
mov eax, dword [ecx]
call dword [eax + 0x34]
push 0
mov ecx, ebx
call fcn.640463b0
push 0
push str.Did_not_receive_HTTP_response_from_proxy
lea eax, [ebp - 0x24]
mov ecx, str.Xr_vdp_bd
push eax
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QMetaObject::tr_char_const___char_const__]
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 1
push eax
push 0x12
mov ecx, ebx
call fcn.6404633b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov ecx, ebx
call fcn.64046902
jmp 0x64047bef
mov ecx, dword [edi + 0x80]
call sym.QtNetwork4.dll_public:_void___thiscall_QAbstractSocket::disconnectFromHost_void_
mov ecx, ebx
call fcn.64046b98
jmp 0x64047bef
call fcn.64058b15
int3