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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6723d153
mov eax, dword fs:[0]
push eax
sub esp, 0x88
push ebx
push esi
push edi
mov eax, dword [0x67463180]
xor eax, esp
push eax
lea eax, [esp + 0x98]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov dword [esp + 0x30], 0
call sym.Qt5Core.dll_public:_int___thiscall_QVariant::userType_void_const
dec eax
cmp eax, 0x2f
ja case.0x6715e305.7
movzx eax, byte [eax + 0x6715e794]
jmp dword [eax*4 + 0x6715e764]
mov ecx, edi
call sym.Qt5Core.dll_public:_bool___thiscall_QVariant::toBool_void_const
mov ecx, dword [ebp + 8]
mov byte [ecx], al
mov eax, ecx
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 1
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
mov ecx, edi
call sym.Qt5Core.dll_public:_double___thiscall_QVariant::toDouble_bool__const
mov eax, dword [ebp + 8]
fstp qword [esp + 0x24]
movsd xmm0, qword [esp + 0x24]
mov dword [eax + 8], 0
mov dword [eax + 0xc], 2
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_class_QString___thiscall_QVariant::toString_void_
mov ecx, dword [ebp + 8]
push eax
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QString_const__
lea ecx, [esp + 0x20]
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_class_QStringList___thiscall_QVariant::toStringList_void_
push eax
lea eax, [esp + 0x38]
mov dword [esp + 0xa4], 0
push eax
call sym.Qt5Core.dll_public:_static_class_QJsonArray___cdecl_QJsonArray::fromStringList_class_QStringList_const__
mov ecx, dword [ebp + 8]
add esp, 8
push eax
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QJsonArray_const__
lea ecx, [esp + 0x34]
call sym.Qt5Core.dll_public:_void___thiscall_QJsonArray::destructor_void_
lea ecx, [esp + 0x18]
mov dword [esp + 0xa0], 0xffffffff
call fcn.6701bc50
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_class_QList_class_QVariant____thiscall_QVariant::toList_void_
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0xa4], 1
push eax
call sym.Qt5Core.dll_public:_static_class_QJsonArray___cdecl_QJsonArray::fromVariantList_class_QList_class_QVariant__const__
mov ecx, dword [ebp + 8]
add esp, 8
push eax
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QJsonArray_const__
lea ecx, [esp + 0x44]
call sym.Qt5Core.dll_public:_void___thiscall_QJsonArray::destructor_void_
lea ecx, [esp + 0x2c]
mov dword [esp + 0xa0], 0xffffffff
call fcn.67102d20
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_class_QMap_class_QString__class_QVariant____thiscall_QVariant::toMap_void_
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0xa4], 2
push eax
call sym.Qt5Core.dll_public:_static_class_QJsonObject___cdecl_QJsonObject::fromVariantMap_class_QMap_class_QString__class_QVariant__const__
mov ecx, dword [ebp + 8]
add esp, 8
push eax
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QJsonObject_const__
lea ecx, [esp + 0x64]
call sym.Qt5Core.dll_public:_void___thiscall_QJsonArray::destructor_void_
lea ecx, [esp + 0x1c]
mov dword [esp + 0xa0], 0xffffffff
call fcn.67102e60
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x24]
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_class_QHash_class_QString__class_QVariant____thiscall_QVariant::toHash_void_
push eax
lea eax, [esp + 0x58]
mov dword [esp + 0xa4], 3
push eax
call sym.Qt5Core.dll_public:_static_class_QJsonObject___cdecl_QJsonObject::fromVariantHash_class_QHash_class_QString__class_QVariant__const__
mov ecx, dword [ebp + 8]
add esp, 8
push eax
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QJsonObject_const__
lea ecx, [esp + 0x54]
call sym.Qt5Core.dll_public:_void___thiscall_QJsonArray::destructor_void_
lea ecx, [esp + 0x24]
mov dword [esp + 0xa0], 0xffffffff
call fcn.6715a9c0
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov ecx, edi
push esi
call sym.Qt5Core.dll_public:_class_QJsonValue___thiscall_QVariant::toJsonValue_void_
mov eax, esi
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x6c]
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_class_QJsonObject___thiscall_QVariant::toJsonObject_void_
mov ecx, dword [ebp + 8]
push eax
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QJsonObject_const__
lea ecx, [esp + 0x6c]
call sym.Qt5Core.dll_public:_void___thiscall_QJsonArray::destructor_void_
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x3c]
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_class_QJsonArray___thiscall_QVariant::toJsonArray_void_
mov ecx, dword [ebp + 8]
push eax
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QJsonArray_const__
lea ecx, [esp + 0x3c]
call sym.Qt5Core.dll_public:_void___thiscall_QJsonArray::destructor_void_
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x10]
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_class_QJsonDocument___thiscall_QVariant::toJsonDocument_void_
lea ecx, [esp + 0x10]
mov dword [esp + 0xa0], 4
call sym.Qt5Core.dll_public:_bool___thiscall_QJsonDocument::isArray_void_const
lea ecx, [esp + 0x10]
test al, al
je 0x6715e625
lea eax, [esp + 0x5c]
push eax
call sym.Qt5Core.dll_public:_class_QJsonArray___thiscall_QJsonDocument::array_void_
push eax
lea ecx, [esp + 0x88]
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QJsonArray_const__
mov dword [esp + 0xa0], 6
mov ebx, 6
jmp 0x6715e63e
lea eax, [esp + 0x4c]
push eax
call sym.Qt5Core.dll_public:_class_QJsonObject___thiscall_QJsonDocument::object_void_
push eax
lea ecx, [esp + 0x78]
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QJsonObject_const__
mov ebx, 0x18
mov esi, dword [ebp + 8]
mov ecx, esi
push eax
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::constructor_class_QJsonValue_const__
or ebx, 1
test bl, 0x10
je 0x6715e65d
lea ecx, [esp + 0x74]
and ebx, 0xffffffef
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::destructor_void_
test bl, 8
je 0x6715e672
and ebx, 0xfffffff7
lea ecx, [esp + 0x4c]
mov dword [esp + 0x30], ebx
call sym.Qt5Core.dll_public:_void___thiscall_QJsonArray::destructor_void_
test bl, 4
je 0x6715e686
lea ecx, [esp + 0x84]
and ebx, 0xfffffffb
call sym.Qt5Core.dll_public:_void___thiscall_QJsonValue::destructor_void_
mov dword [esp + 0xa0], 4
test bl, 2
je 0x6715e69f
lea ecx, [esp + 0x5c]
call sym.Qt5Core.dll_public:_void___thiscall_QJsonArray::destructor_void_
lea ecx, [esp + 0x10]
mov dword [esp + 0xa0], 0xffffffff
call sym.Qt5Core.dll_public:_void___thiscall_QJsonArray::destructor_void_
mov eax, esi
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x14]
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_class_QString___thiscall_QVariant::toString_void_
mov eax, dword [esp + 0x14]
mov esi, dword [ebp + 8]
cmp dword [eax + 4], 0
mov dword [esi + 8], 0
jne 0x6715e701
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 0xc], 0
jmp 0x6715e722
mov dword [esi + 0xc], 3
mov dword [esi], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x6715e722
cmp ecx, 0xffffffff
je 0x6715e722
mov ecx, 1
lock xadd dword [eax], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x6715e73f
cmp ecx, 0xffffffff
je 0x6715e74c
or ecx, 0xffffffff
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x6715e74c
mov eax, dword [esp + 0x14]
push 4
push 2
push eax
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData___unsigned_int__unsigned_int_
add esp, 0xc
mov eax, esi
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret