Function at 0x670a0010
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x67270f1e
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x674c412c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x40], ecx
mov edi, dword [ebp + 8]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x58], 0
mov eax, dword [0x674c7a8c]
mov dword [ebp - 4], 0
cmp eax, 0xfffffffe
jg 0x670a005f
xor esi, esi
jmp 0x670a0084
mov eax, dword fs:[0x2c]
mov ecx, dword [0x674ca338]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x674c7a90]
cmp eax, dword [ecx + 8]
jg 0x670a074f
mov esi, 0x674b21dc
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x44], esi
cmp eax, 0x28
ja case.0x670a0093.27
jmp dword [eax*4 + 0x670a07b0]
push 0
push 0xe
push edi
mov ecx, esi
call fcn.6709ed40
jmp 0x670a070c
push 0
push 0xf
push edi
mov ecx, esi
call fcn.6709ed40
jmp 0x670a070c
push 0
push 0x51
push edi
mov ecx, esi
call fcn.6709ed40
jmp 0x670a070c
push 0
push 0x50
push edi
mov ecx, esi
call fcn.6709ed40
jmp 0x670a070c
push 0
push edi
mov ecx, esi
call fcn.6709f1f0
jmp 0x670a070c
push 1
push edi
mov ecx, esi
call fcn.6709f1f0
jmp 0x670a070c
push 0
push edi
mov ecx, esi
call fcn.670a0cc0
jmp 0x670a070c
push 1
push edi
mov ecx, esi
call fcn.670a0cc0
jmp 0x670a070c
push 0
push edi
mov ecx, esi
call fcn.6709f3c0
jmp 0x670a070c
push 1
push edi
mov ecx, esi
call fcn.6709f3c0
jmp 0x670a070c
push 0
push 0
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_int___thiscall_QVariant::toInt_bool__const
push eax
push edi
mov ecx, esi
call fcn.6709f510
jmp 0x670a070c
push 1
jmp 0x670a013a
push 0
push 0
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_int___thiscall_QVariant::toInt_bool__const
push eax
push edi
mov ecx, esi
call fcn.6709fcd0
jmp 0x670a070c
push 0
push 0
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_int___thiscall_QVariant::toInt_bool__const
push eax
push edi
mov ecx, esi
call fcn.670a0900
jmp 0x670a070c
push 1
jmp 0x670a0158
push 1
jmp 0x670a0172
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_class_QDate___thiscall_QVariant::toDate_void_
push 1
mov ecx, esi
push dword [eax + 4]
push dword [eax]
push edi
call fcn.670a1570
jmp 0x670a070c
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_class_QDate___thiscall_QVariant::toDate_void_
push 0
mov ecx, esi
push dword [eax + 4]
push dword [eax]
push edi
call fcn.670a1570
jmp 0x670a070c
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_class_QTime___thiscall_QVariant::toTime_void_
push 1
mov ecx, esi
push dword [eax]
push edi
call fcn.670a1700
jmp 0x670a070c
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_class_QTime___thiscall_QVariant::toTime_void_
push 0
mov ecx, esi
push dword [eax]
push edi
call fcn.670a1700
jmp 0x670a070c
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_class_QDateTime___thiscall_QVariant::toDateTime_void_
mov byte [ebp - 4], 1
push 1
push eax
push edi
mov ecx, esi
call fcn.670a13f0
lea ecx, [ebp - 0x3c]
call sym.Qt5Core.dll_public:_void___thiscall_QDateTime::destructor_void_
jmp 0x670a070c
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_class_QDateTime___thiscall_QVariant::toDateTime_void_
mov byte [ebp - 4], 2
push 0
jmp 0x670a021e
push edi
mov ecx, esi
call fcn.670a2380
jmp 0x670a070c
lea eax, [ebp - 0x74]
push 0x400
push eax
call fcn.6709f790
push eax
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 3
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromLatin1_class_QByteArray_const__
add esp, 0x10
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 5
call sym.Qt5Core.dll_public:_void___thiscall_QBitArray::destructor_void_
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x3c]
push eax
call sym.Qt5Core.dll_public:_static_void___cdecl_QLocalePrivate::getLangAndCountry_class_QString_const___enum_QLocale::Language___enum_QLocale::Script___enum_QLocale::Country__
mov eax, dword [ebp + 0xc]
add esp, 0x10
test eax, eax
jne 0x670a02b6
push dword [ebp - 0x78]
mov ecx, edi
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_int_
lea ecx, [ebp - 0x3c]
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
jmp 0x670a070c
cmp eax, 0x22
jne 0x670a0315
mov eax, dword [ebp - 0x7c]
test eax, eax
jne 0x670a02e8
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, 2
mov byte [ebp - 4], 6
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x58], ecx
mov ecx, eax
call sym.Qt5Core.dll_public:_enum_QLocale::Script___thiscall_QLocale::script_void_
jmp 0x670a02ee
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x40], ecx
push eax
mov ecx, edi
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_int_
mov eax, dword [ebp - 0x40]
or eax, 1
test al, 2
je 0x670a0308
lea ecx, [ebp - 0x14]
call sym.Qt5Core.dll_public:_void___thiscall_QLocale::destructor_void_
lea ecx, [ebp - 0x3c]
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
jmp 0x670a070c
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x670a033f
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov ecx, eax
mov byte [ebp - 4], 7
call sym.Qt5Core.dll_public:_enum_QLocale::Country___thiscall_QLocale::country_void_
push eax
mov ecx, edi
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_int_
jmp 0x670a0300
push eax
mov ecx, edi
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_int_
lea ecx, [ebp - 0x3c]
call sym.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_
jmp 0x670a070c
push 2
lea eax, [ebp - 0x48]
push eax
push 0xd
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x670a040d
push 0xffffffffffffffff
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x3c]
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_wchar_t_const___int_
add esp, 0xc
push 0x67307820
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call sym.Qt5Core.dll_public:_bool___thiscall_QString::operator_class_QLatin1String_const
test al, al
je 0x670a03da
push 1
mov ecx, edi
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_int_
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
test eax, eax
je 0x670a03c6
cmp eax, 0xffffffff
je 0x670a070c
mov eax, dword [ebp - 0x3c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x670a070c
push 4
push 2
push dword [ebp - 0x3c]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData___unsigned_int__unsigned_int_
add esp, 0xc
jmp 0x670a070c
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0
mov eax, dword [eax]
test eax, eax
je 0x670a03fe
cmp eax, 0xffffffff
je 0x670a040d
mov eax, dword [ebp - 0x3c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x670a040d
push 4
push 2
push dword [ebp - 0x3c]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData___unsigned_int__unsigned_int_
add esp, 0xc
push 0
mov ecx, edi
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_int_
jmp 0x670a070c
push 0
push 0x7b
push edi
mov ecx, esi
call fcn.6709ed40
jmp 0x670a070c
push 0xf
lea eax, [ebp - 0x38]
push eax
push 0x28
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je case.0x670a0093.27
push 0xffffffffffffffff
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_wchar_t_const___int_
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 9
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_class_QString_const__
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
test eax, eax
je 0x670a048a
cmp eax, 0xffffffff
je 0x670a070c
mov eax, dword [ebp - 0x3c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x670a070c
push 4
push 2
push dword [ebp - 0x3c]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData___unsigned_int__unsigned_int_
add esp, 0xc
jmp 0x670a070c
push 0xf
lea eax, [ebp - 0x38]
push eax
push 0x29
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je case.0x670a0093.27
push 0xffffffffffffffff
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_wchar_t_const___int_
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 0xa
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_class_QString_const__
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
test eax, eax
je 0x670a04fc
cmp eax, 0xffffffff
je 0x670a070c
mov eax, dword [ebp - 0x3c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x670a070c
push 4
push 2
push dword [ebp - 0x3c]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData___unsigned_int__unsigned_int_
add esp, 0xc
jmp 0x670a070c
push 4
lea eax, [ebp - 0x18]
push eax
push 0x100c
push dword [esi]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x670a058d
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x3c]
push eax
call sym.Qt5Core.dll_public:_static_class_QString___cdecl_QString::fromWCharArray_wchar_t_const___int_
add esp, 0xc
push 0xa
push 0
mov ecx, eax
mov byte [ebp - 4], 0xb
call sym.Qt5Core.dll_public:_unsigned_int___thiscall_QString::toUInt_bool___int_const
inc eax
mov ecx, edi
push eax
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_unsigned_int_
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
test eax, eax
je 0x670a0579
cmp eax, 0xffffffff
je 0x670a070c
mov eax, dword [ebp - 0x3c]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x670a070c
push 4
push 2
push dword [ebp - 0x3c]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData___unsigned_int__unsigned_int_
add esp, 0xc
jmp 0x670a070c
push 1
mov ecx, edi
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_int_
jmp 0x670a070c
push 0
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_unsigned_int___thiscall_QVariant::toUInt_bool__const
push eax
push edi
mov ecx, esi
call fcn.6709efa0
jmp 0x670a070c
call fcn.67076700
lea ecx, [ebp + 0x10]
mov esi, eax
call sym.Qt5Core.dll_public:_int___thiscall_QVariant::userType_void_const
cmp esi, eax
jne 0x670a05fa
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_void_const____thiscall_QVariant::constData_void_const
mov esi, eax
lea ecx, [ebp - 0x34]
push esi
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::constructor_class_QVariant_const__
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x24], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x670a06c1
cmp ecx, 0xffffffff
je 0x670a06c1
lock inc dword [eax]
jmp 0x670a06c1
mov dword [ebp - 0x68], 0x80000000
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xc
push eax
push esi
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_bool___thiscall_QVariant::convert_int__void__const
test al, al
je 0x670a0675
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x4c], 0x80000000
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [ebp - 0x54]
mov dword [ebp - 0x24], eax
mov eax, dword [sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x60], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
movups xmmword [ebp - 0x70], xmm0
test eax, eax
je 0x670a06aa
cmp eax, 0xffffffff
je 0x670a06b9
or eax, 0xffffffff
lock xadd dword [sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null], eax
dec eax
jmp 0x670a06a3
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x2c], 0x80000000
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null
mov eax, dword [eax]
test eax, eax
je 0x670a06aa
cmp eax, 0xffffffff
je 0x670a06b9
mov eax, dword [ebp - 0x60]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
setne al
test al, al
jne 0x670a06b9
push 4
push 2
push dword [ebp - 0x60]
call sym.Qt5Core.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData___unsigned_int__unsigned_int_
add esp, 0xc
lea ecx, [ebp - 0x70]
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::destructor_void_
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x34]
push eax
push edi
mov byte [ebp - 4], 0xd
call fcn.670a0e90
lea ecx, [ebp - 0x34]
call fcn.6706f8f0
jmp 0x670a070c
push edi
mov ecx, esi
call fcn.670a1880
jmp 0x670a070c
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push 0
lea ecx, [esi + 8]
mov dword [esi], eax
mov dword [esi + 4], 0
call sym.Qt5Core.dll_public:_void___thiscall_QString::resize_int_
mov dword [edi + 8], 0x80000000
mov dword [edi], 0
lea ecx, [ebp + 0x10]
call sym.Qt5Core.dll_public:_void___thiscall_QVariant::destructor_void_
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.67267c3b
mov esp, ebp
pop ebp
ret 0x18
push 0
push 4
push edi
mov ecx, esi
call fcn.6709ed40
jmp 0x670a070c
push 0
push 8
push edi
mov ecx, esi
call fcn.6709ed40
jmp 0x670a070c
push 0x674c7a90
call fcn.672681e1
add esp, 4
cmp dword [0x674c7a90], 0xffffffff
jne 0x670a007f
mov dword [0x674b21e0], 0
mov dword [sym.Qt5Core.dll_struct_QArrayData_const__const_const_QArrayData::shared_null], 0x674abfac
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov dword [0x674b21dc], eax
push 0x6728cb80
mov dword [0x674c7a8c], 0xffffffff
call fcn.67268099
push 0x674c7a90
call fcn.67268197
add esp, 8
jmp 0x670a007f