Function at 0x502340
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea edi, [ebp - 0x28]
sub esp, 0x6c
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x60], ecx
mov ebx, dword [ebp + 8]
mov ecx, dword [eax + 0x58]
call dword [method.QComboBox.lineEdit___const]
mov dword [ebp - 0x28], 0x5f7dc0
mov dword [esp], edi
mov ecx, eax
call dword [method.QLineEdit.setPlaceholderText_QString_const_]
mov eax, dword [ebp - 0x28]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x502780
cmp edx, 0xffffffff
je 0x502392
lock sub dword [eax], 1
mov eax, dword [ebp - 0x28]
je 0x502780
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x5027a6
mov dword [esp + 4], 0x13
mov dword [esp], str._api_countryCode__1
call dword [method.QString.fromAscii_helper_char_const__int_]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x30]
mov dword [esp], eax
call method.Http.encryptTimestamp__
lea eax, [ebp - 0x30]
lea esi, [ebp - 0x38]
mov edx, 0x20
mov word [esp + 0xc], dx
mov dword [esp + 8], 0
lea ecx, [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [method.QString.arg_QString_const__int__QChar__const]
lea eax, [ebp - 0x28]
sub esp, 0x10
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
lea eax, [ebp - 0x50]
mov dword [esp], eax
call method.Http.getServerFile_QString_const__QString_const_
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
test edx, edx
je 0x502833
cmp edx, 0xffffffff
je 0x502422
lock sub dword [eax], 1
mov eax, dword [ebp - 0x28]
je 0x502833
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
test edx, edx
je 0x502859
cmp edx, 0xffffffff
je 0x502441
lock sub dword [eax], 1
mov eax, dword [ebp - 0x30]
je 0x502859
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
test edx, edx
je 0x50287f
cmp edx, 0xffffffff
je 0x502460
lock sub dword [eax], 1
mov eax, dword [ebp - 0x38]
je 0x50287f
lea eax, [ebp - 0x50]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
lea eax, [ebp - 0x4c]
mov dword [esp], eax
call dword [method.QJsonDocument.fromJson_QByteArray_const__QJsonParseError_]
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x50272c
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x30]
mov dword [esp], eax
call dword [method.QJsonDocument.object___const]
mov eax, dword [ebp - 0x60]
sub esp, 4
lea ecx, [eax + 0x24]
lea eax, [ebp - 0x30]
mov dword [esp], eax
call dword [method.QJsonObject.operator_QJsonObject_const_]
lea eax, [ebp - 0x30]
sub esp, 4
lea ecx, [ebp - 0x48]
mov dword [esp], eax
call dword [method.QJsonObject.keys___const]
mov edx, dword [ebp - 0x48]
mov ecx, dword [sym.imp.Qt5Core.dll_QListData::shared_null]
sub esp, 4
mov eax, dword [edx + 8]
mov ebx, dword [edx + 0xc]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
sub ebx, eax
test ebx, ebx
jle reloc.Qt5Core.dll__Z5qHashRK7QStringj
lea esi, [ebp - 0x40]
mov edi, dword [method.QString.toInt_bool__int__const]
xor ebx, ebx
mov dword [ebp - 0x5c], esi
nop
lea esi, [esi]
add eax, ebx
mov dword [esp + 4], 0xa
mov dword [esp], 0
lea ecx, [edx + eax*4 + 0x10]
lea esi, [ebp - 0x44]
call edi
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x28]
sub esp, 8
mov dword [esp], eax
call method.QList_int_.append_int_const_
mov edx, dword [ebp - 0x48]
add ebx, 1
sub esp, 4
mov eax, dword [edx + 8]
mov ecx, dword [edx + 0xc]
sub ecx, eax
cmp ebx, ecx
jl 0x5024f0
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
cmp eax, 1
jbe 0x502554
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x5c]
lea esi, [ebp - 0x44]
mov eax, dword [eax + 4]
mov dword [esp], eax
call method.QList_int_.detach_helper_int_
sub esp, 4
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0xc]
lea ebx, [ecx + eax*4 + 0x10]
mov eax, dword [ecx]
cmp eax, 1
jbe 0x50257c
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x5c]
lea esi, [ebp - 0x44]
mov dword [esp], eax
call method.QList_int_.detach_helper_int_
mov ecx, dword [ebp - 0x40]
sub esp, 4
mov eax, dword [ecx + 8]
lea eax, [ecx + eax*4 + 0x10]
cmp ebx, eax
je 0x5025ab
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x28], eax
lea ebx, [ebp - 0x3c]
mov dword [esp + 8], eax
lea eax, [ebp - 0x28]
mov byte [esp + 0xc], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call method.void_QAlgorithmsPrivate::qSortHelper_QList_int_.iterator__int__qLess_int____QList_int_::iterator__QList_int_::iterator__int_const__qLess_int__
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x28], ecx
mov eax, dword [ecx]
test eax, eax
je reloc.Qt5Core.dll__Z23qUnregisterResourceDataiPKhS0_S0_
cmp eax, 0xffffffff
je 0x5025c4
lock add dword [ecx], 1
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 8]
lea edx, [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
lea eax, [edx + eax*4]
shl ecx, 2
add edx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 1
cmp edx, eax
mov dword [ebp - 0x20], edx
lea esi, [ebp - 0x44]
je 0x502670
lea ebx, [ebp - 0x3c]
mov edi, dword [method.QString.number_int__int_]
lea esi, [ebp - 0x44]
jmp 0x502623
cmp edx, 0xffffffff
je 0x50260e
lock sub dword [eax], 1
mov eax, dword [ebp - 0x3c]
je 0x50264c
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], 1
add eax, 4
cmp dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
je 0x502670
mov dword [esp + 8], 0xa
mov eax, dword [eax]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edi
mov dword [esp], ebx
mov ecx, esi
call method.QList_QString_.append_QString_const_
mov eax, dword [ebp - 0x3c]
sub esp, 4
mov edx, dword [eax]
test edx, edx
jne 0x502600
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x50260e
lea ecx, [ebp - 0x28]
call method.QList_int_.QList__
mov dword [esp], 0xc
call sym.operator_new_unsigned_int_
mov edi, eax
mov dword [esp], 0
mov ecx, eax
call dword [method.QStringListModel.QStringListModel_QObject_]
sub esp, 4
mov ecx, edi
mov dword [esp], esi
call dword [method.QStringListModel.setStringList_QStringList_const_]
sub esp, 4
mov dword [esp], 8
call sym.operator_new_unsigned_int_
mov ebx, eax
mov dword [esp], 0
mov ecx, eax
call dword [method.QCompleter.QCompleter_QObject_]
sub esp, 4
mov ecx, ebx
mov dword [esp], edi
call dword [method.QCompleter.setModel_QAbstractItemModel_]
mov eax, dword [ebp - 0x60]
sub esp, 4
mov eax, dword [eax + 0x30]
mov edi, dword [eax + 0x58]
mov ecx, edi
call dword [method.QComboBox.count___const]
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, edi
call dword [method.QComboBox.insertItems_int__QStringList_const_]
mov eax, dword [ebp - 0x60]
sub esp, 8
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 0x58]
mov dword [esp], ebx
call dword [method.QComboBox.setCompleter_QCompleter_]
mov ecx, dword [ebp - 0x5c]
sub esp, 4
call method.QList_int_.QList__
mov ecx, esi
call method.QList_QString_.QList__
lea ecx, [ebp - 0x48]
call method.QList_QString_.QList__
lea ecx, [ebp - 0x30]
call dword [method.QJsonObject.QJsonObject__]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 0x58]
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call dword [method.QComboBox.setCurrentText_QString_const_]
sub esp, 4
lea ecx, [ebp - 0x4c]
call dword [method.QJsonDocument.QJsonDocument__]
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
test edx, edx
je 0x502810
cmp edx, 0xffffffff
je 0x50276c
lock sub dword [eax], 1
mov eax, dword [ebp - 0x50]
je 0x502810
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov dword [esp], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 2
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x50239f
lea eax, [ebp - 0x28]
mov dword [esp + 8], 0xb
mov dword [esp + 4], 0x5f7125
mov dword [esp], eax
call dword [method.QString.fromUtf8_helper_char_const__int_]
mov eax, dword [ebx]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov dword [ebx], edx
mov edx, dword [eax]
test edx, edx
je 0x5027e5
cmp edx, 0xffffffff
je 0x50239f
lock sub dword [eax], 1
jne 0x50239f
mov eax, dword [ebp - 0x28]
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x50239f
mov dword [esp + 8], 4
mov dword [esp + 4], 1
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov dword [esp], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 2
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
test edx, edx
jne _Z22qInstallMessageHandlerPFv9QtMsgTypeRK18QMessageLogContextRK7QStringE
mov dword [esp], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 2
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0x38]
mov edx, dword [eax]
test edx, edx
jne 0x50244e
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x502460
mov eax, dword [ecx + 4]
lea esi, [ebp - 0x44]
lea ecx, [ebp - 0x28]
mov dword [esp], eax
call dword [method.QListData.detach_int_]
mov eax, dword [ebp - 0x40]
sub esp, 4
mov edx, dword [eax + 8]
lea esi, [eax + edx*4 + 0x10]
mov eax, dword [ebp - 0x28]
mov ebx, dword [eax + 8]
lea edx, [eax + 0x10]
mov edi, dword [eax + 0xc]
shl ebx, 2
lea ecx, [edi*4]
lea eax, [edx + ebx]
cmp esi, eax
je 0x5025d3
mov edi, ecx
sub edi, ebx
test edi, edi
jle 0x5025d3
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], eax
call sym._memcpy
mov ecx, dword [ebp - 0x28]
jmp 0x5025c4
lea eax, [ebp - 0x40]
mov dword [ebp - 0x5c], eax
jmp 0x502536