Function at 0x6404d920
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x78
push ebx
push ebp
push esi
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0xc]
push edi
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::constructor_void_]
push 0x12c
lea ecx, [esp + 0x14]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::reserve_int_]
call dword [sym.imp.Qt5Core.dll_public:_static_struct_QArrayData____cdecl_QArrayData::sharedNull_void_]
mov edi, dword [esp + 0x90]
xor ebp, ebp
mov ebx, dword [sym.imp.Qt5Core.dll_int___cdecl_qstrcmp_class_QByteArray_const___char_const__]
or esi, 0xffffffff
mov dword [esp + 0x28], eax
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mov eax, dword [eax]
test eax, eax
je 0x6404d998
cmp eax, 0xffffffff
je 0x6404d9ca
mov eax, dword [esp + 0x18]
mov ecx, esi
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x6404d9ca
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x18]
mov eax, dword [esi + 0xc]
add eax, 4
lea eax, [esi + eax*4]
push eax
mov eax, dword [esi + 8]
add eax, 4
lea eax, [esi + eax*4]
push eax
call fcn.640068e0
push esi
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data__]
mov edx, dword [esp + 0x4c]
add esp, 4
or esi, 0xffffffff
cmp ebp, edx
jge 0x6404db2d
mov eax, dword [edi]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add eax, ebp
push dword [ecx + eax*4 + 0x10]
lea ecx, [esp + 0x18]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::constructor_class_QByteArray_const__]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6404da13
cmp eax, 0xffffffff
je 0x6404da3e
mov eax, dword [esp + 0x1c]
mov ecx, esi
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x6404da3e
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x1c]
mov eax, dword [esi + 0xc]
add eax, 4
lea eax, [esi + eax*4]
push eax
mov eax, dword [esi + 8]
add eax, 4
lea eax, [esi + eax*4]
push eax
call fcn.640068e0
push esi
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data__]
add esp, 4
lea eax, [esp + 0x14]
push str.Connection
push eax
call ebx
add esp, 8
test eax, eax
je 0x6404db1a
lea eax, [esp + 0x14]
push str.Host
push eax
call ebx
add esp, 8
test eax, eax
je 0x6404db1a
lea eax, [esp + 0x14]
push str.Keep_Alive
push eax
call ebx
add esp, 8
test eax, eax
je 0x6404db1a
lea eax, [esp + 0x14]
push str.Proxy_Connection
push eax
call ebx
add esp, 8
test eax, eax
je 0x6404db1a
lea eax, [esp + 0x14]
push str.Transfer_Encoding
push eax
call ebx
add esp, 8
test eax, eax
je 0x6404db1a
mov eax, dword [edi]
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
call dword [eax + 0x1c]
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
add eax, ebp
push dword [ecx + eax*4 + 0x10]
lea ecx, [esp + 0x2c]
call fcn.6404d6f0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
test eax, eax
je 0x6404daef
or esi, 0xffffffff
cmp eax, esi
je 0x6404db1d
mov eax, dword [esp + 0x20]
mov ecx, esi
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x6404db1d
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x20]
mov eax, dword [esi + 0xc]
add eax, 4
lea eax, [esi + eax*4]
push eax
mov eax, dword [esi + 8]
add eax, 4
lea eax, [esi + eax*4]
push eax
call fcn.640068e0
push esi
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data__]
add esp, 4
or esi, 0xffffffff
lea ecx, [esp + 0x14]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
inc ebp
jmp 0x6404d960
mov esi, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
push 4
mov eax, dword [esi + 4]
add eax, 5
bswap eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::constructor_char_const___int_]
mov ebp, dword [sym.imp.Qt5Core.dll_public:_class_QByteArray____thiscall_QByteArray::append_class_QByteArray_const__]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x14]
call ebp
lea ecx, [esp + 0x2c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea eax, [esp + 0x50]
mov ecx, edi
push eax
call fcn.64041f70
push 0xffffffffffffffff
push str.:method
lea ecx, [esp + 0x38]
mov ebx, eax
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::constructor_char_const___int_]
push ebx
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.6404eba0
add esp, 0xc
lea ecx, [esp + 0x10]
push eax
call ebp
lea ecx, [esp + 0x4c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x30]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x50]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x18]
mov ecx, dword [eax + 4]
add ecx, 0x64
call sym.Qt5Network.dll_public:_enum_QNetworkProxy::ProxyType___thiscall_QNetworkProxy::type_void_
cmp eax, 2
mov ecx, edi
lea eax, [esp + 0x58]
setne byte [esp + 0x50]
push dword [esp + 0x50]
push eax
call fcn.64042330
push 0xffffffffffffffff
push str.:path
lea ecx, [esp + 0x3c]
mov ebx, eax
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::constructor_char_const___int_]
push ebx
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.6404eba0
add esp, 0xc
lea ecx, [esp + 0x10]
push eax
call ebp
lea ecx, [esp + 0x54]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x34]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x58]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
mov ebx, dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::constructor_char_const___int_]
lea ecx, [esp + 0x3c]
push 0xffffffffffffffff
push str.HTTP_1.1
call ebx
push 0xffffffffffffffff
push str.:version
lea ecx, [esp + 0x40]
call ebx
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.6404eba0
add esp, 0xc
lea ecx, [esp + 0x10]
push eax
call ebp
lea ecx, [esp + 0x5c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x38]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x3c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
mov eax, dword [edi]
lea ecx, [esp + 0x6c]
push ecx
mov ecx, edi
call dword [eax + 4]
push 0x1f00006
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QString___thiscall_QUrl::authority_class_QFlags_enum_QUrl::ComponentFormattingOption__]
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
call dword [sym.imp.Qt5Core.dll__toLatin1_QString__QHAE_AVQByteArray__XZ]
push 0xffffffffffffffff
push str.:host
lea ecx, [esp + 0x48]
mov ebx, eax
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::constructor_char_const___int_]
push ebx
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x68]
push eax
call fcn.6404eba0
add esp, 0xc
lea ecx, [esp + 0x10]
push eax
call ebp
lea ecx, [esp + 0x60]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x40]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x64]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x68]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
mov ebx, dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QUrl::destructor_void_]
lea ecx, [esp + 0x6c]
call ebx
mov eax, dword [edi]
lea ecx, [esp + 0x7c]
push ecx
mov ecx, edi
call dword [eax + 4]
lea ecx, [esp + 0x78]
push ecx
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QString___thiscall_QUrl::scheme_void_]
lea ecx, [esp + 0x74]
push ecx
mov ecx, eax
call dword [sym.imp.Qt5Core.dll__toLatin1_QString__QHAE_AVQByteArray__XZ]
push 0xffffffffffffffff
push str.:scheme
lea ecx, [esp + 0x4c]
mov edi, eax
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::constructor_char_const___int_]
push edi
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.6404eba0
add esp, 0xc
lea ecx, [esp + 0x10]
push eax
call ebp
lea ecx, [esp + 0x70]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x44]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x74]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x78]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x7c]
call ebx
xor ebx, ebx
cmp dword [esi + 4], ebx
jle 0x6404ddf7
mov eax, dword [esi + 0xc]
lea ecx, [eax + ebx*8]
add ecx, esi
lea eax, [esp + 0x84]
push eax
lea edi, [ecx + 4]
call dword [sym.imp.Qt5Core.dll__toLower_QByteArray__QGBE_AV1_XZ]
push edi
push eax
lea eax, [esp + 0x88]
push eax
call fcn.6404eba0
add esp, 0xc
lea ecx, [esp + 0x10]
push eax
call ebp
lea ecx, [esp + 0x80]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
lea ecx, [esp + 0x84]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
inc ebx
cmp ebx, dword [esi + 4]
jl 0x6404dda5
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov eax, dword [ecx + 4]
mov dword [edi + 0x54], eax
lea ebp, [edi + 0x4c]
mov eax, dword [ecx + 4]
lea ecx, [esp + 0x10]
mov dword [edi + 0x50], eax
call dword [sym.imp.Qt5Core.dll_public:_char____thiscall_QByteArray::data_void_]
mov dword [ebp], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
add eax, 0x1e
push eax
mov dword [edi + 0x5c], eax
call fcn.640ae839
mov ebx, eax
push 2
mov dword [edi + 0x58], ebx
mov edi, dword [edi + 0x5c]
push ebp
call dword [sym.imp.Qt5Core.dll_z_deflate]
mov ecx, dword [esp + 0x30]
add esp, 0xc
sub edi, dword [ecx + 0x5c]
mov ecx, dword [esp + 0x8c]
push edi
push ebx
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::constructor_char_const___int_]
push ebx
call fcn.640ae842
mov eax, dword [esi]
add esp, 4
mov edi, dword [esp + 0x28]
test eax, eax
je 0x6404de7f
cmp eax, 0xffffffff
je 0x6404deb9
or eax, 0xffffffff
lock xadd dword [edi], eax
dec eax
setne al
test al, al
jne 0x6404deb9
mov ecx, dword [edi + 0xc]
mov eax, dword [esi + 4]
lea ebx, [ecx + edi]
lea ebp, [ecx + eax*8]
add ebp, edi
cmp ebx, ebp
je 0x6404deab
mov esi, ebx
add ebx, 8
lea ecx, [esi + 4]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
cmp ebx, ebp
jne 0x6404de91
push 4
push 8
push edi
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData___unsigned_int__unsigned_int_]
add esp, 0xc
lea ecx, [esp + 0x10]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QByteArray::destructor_void_]
mov eax, dword [esp + 0x8c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret 8