Function at 0x6e0ec154
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2ac
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x24], sym.QtCore4.dll_QString::shared_null
lock inc dword [sym.QtCore4.dll_QString::shared_null]
setne al
mov eax, dword [esi]
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x6e0ec464
cmp dword [eax + 8], 0x5265bff
ja 0x6e0ec464
cmp dword [ebp + 0x10], 1
je 0x6e0ec6dc
mov ebx, dword [ebp + 0x10]
test ebx, ebx
jne 0x6e0ec494
mov dword [esp + 0xc], 0xff
lea eax, [ebp - 0x26a]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x22
mov dword [esp], 0x400
lea ebx, [ebp - 0x24]
call sub.KERNEL32.dll_GetLocaleInfoW
sub esp, 0x10
mov dword [esp + 8], 0xffffffff
lea edx, [ebp - 0x26a]
mov dword [esp + 4], edx
lea ecx, [ebp - 0x40]
mov dword [esp], ecx
call method.QString.fromWCharArray_wchar_t_const__int_
push ecx
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
lea eax, [ebp - 0x40]
mov dword [esp], eax
call method.QString.toInt_bool__int__const
dec eax
je 0x6e0ec594
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, 7
mov ecx, edx
xor edx, edx
div ecx
inc edx
mov dword [esp + 4], edx
lea eax, [ebp - 0x54]
mov dword [esp], eax
lea ebx, [ebp - 0x24]
call method.QDate.shortDayName_int_
push edx
lea edx, [ebp - 0x54]
mov dword [esp + 4], edx
mov dword [esp], ebx
call method.QString.operator_QString_const_
mov eax, dword [ebp - 0x54]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0ec970
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
dec edx
je 0x6e0ec9a0
mov edx, dword [eax + 8]
inc edx
mov dword [esp], edx
call method.QString.grow_int_
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.realloc_int_
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov word [ecx + edx*2], 0x20
inc edx
mov dword [eax + 8], edx
mov word [ecx + edx*2], 0
mov eax, dword [esi]
add eax, 4
mov dword [esp], eax
call method.QDate.month___const
mov dword [esp + 4], eax
lea eax, [ebp - 0x58]
mov dword [esp], eax
call method.QDate.shortMonthName_int_
push eax
lea edx, [ebp - 0x58]
mov dword [esp + 4], edx
mov dword [esp], ebx
call method.QString.append_QString_const_
mov eax, dword [ebp - 0x58]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0ec960
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
dec edx
je 0x6e0ec9c8
mov edx, dword [eax + 8]
inc edx
mov dword [esp], edx
call method.QString.grow_int_
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.realloc_int_
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov word [ecx + edx*2], 0x20
inc edx
mov dword [eax + 8], edx
mov word [ecx + edx*2], 0
mov eax, dword [esi]
add eax, 4
mov dword [esp], eax
call method.QDate.day___const
mov dword [esp + 8], 0xa
mov dword [esp + 4], eax
lea eax, [ebp - 0x5c]
mov dword [esp], eax
call method.QString.number_int__int_
push ecx
lea edx, [ebp - 0x5c]
mov dword [esp + 4], edx
mov dword [esp], ebx
call method.QString.append_QString_const_
mov eax, dword [ebp - 0x5c]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0ec950
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
dec edx
je 0x6e0ec93c
mov edx, dword [eax + 8]
inc edx
mov dword [esp], edx
call method.QString.grow_int_
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.realloc_int_
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov word [ecx + edx*2], 0x20
inc edx
mov dword [eax + 8], edx
mov word [ecx + edx*2], 0
mov dword [esp + 8], 0
mov eax, dword [esi]
add eax, 8
mov dword [esp + 4], eax
lea eax, [ebp - 0x60]
mov dword [esp], eax
call method.QTime.toString_Qt::DateFormat__const
push edx
lea edx, [ebp - 0x60]
mov dword [esp + 4], edx
mov dword [esp], ebx
call method.QString.append_QString_const_
mov eax, dword [ebp - 0x60]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0ec6cc
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
dec edx
je 0x6e0ec928
mov edx, dword [eax + 8]
inc edx
mov dword [esp], edx
call method.QString.grow_int_
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.realloc_int_
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov word [ecx + edx*2], 0x20
inc edx
mov dword [eax + 8], edx
mov word [ecx + edx*2], 0
mov eax, dword [esi]
add eax, 4
mov dword [esp], eax
call method.QDate.year___const
lea esi, [ebp - 0x64]
mov dword [esp + 8], 0xa
mov dword [esp + 4], eax
mov dword [esp], esi
call method.QString.number_int__int_
push eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call method.QString.append_QString_const_
mov eax, dword [ebp - 0x64]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0ec6bc
mov eax, dword [ebp - 0x40]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e0ec464
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call method.QString.free_QString::Data_
nop
mov eax, dword [ebp - 0x24]
mov dword [edi], eax
lock inc dword [eax]
setne dl
mov eax, dword [ebp - 0x24]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e0ec487
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call method.QString.free_QString::Data_
mov eax, edi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret 4
mov edx, dword [ebp + 0x10]
mov dword [esp + 8], edx
add eax, 4
mov dword [esp + 4], eax
lea ecx, [ebp - 0x68]
mov dword [esp], ecx
lea ebx, [ebp - 0x24]
call method.QDate.toString_Qt::DateFormat__const
push ecx
lea eax, [ebp - 0x68]
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.operator_QString_const_
mov eax, dword [ebp - 0x68]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0ec574
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
test edx, edx
jne 0x6e0ec4f0
mov dword [edi], sym.QtCore4.dll_QString::shared_null
lock inc dword [sym.QtCore4.dll_QString::shared_null]
setne al
jmp 0x6e0ec46f
mov ecx, dword [eax]
dec ecx
je 0x6e0ec9dc
inc edx
mov dword [esp], edx
call method.QString.grow_int_
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.realloc_int_
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov word [ecx + edx*2], 0x20
inc edx
mov dword [eax + 8], edx
mov word [ecx + edx*2], 0
mov ecx, dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov eax, dword [esi]
add eax, 8
mov dword [esp + 4], eax
lea eax, [ebp - 0x6c]
mov dword [esp], eax
call method.QTime.toString_Qt::DateFormat__const
push edx
lea edx, [ebp - 0x6c]
mov dword [esp + 4], edx
mov dword [esp], ebx
call method.QString.append_QString_const_
mov eax, dword [ebp - 0x6c]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e0ec464
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0ec464
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call method.QString.free_QString::Data_
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
test edx, edx
je 0x6e0ec4db
jmp 0x6e0ec4f0
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov edx, 7
mov ecx, edx
xor edx, edx
div ecx
inc edx
mov dword [esp + 4], edx
lea eax, [ebp - 0x44]
mov dword [esp], eax
call method.QDate.shortDayName_int_
push edx
lea edx, [ebp - 0x44]
mov dword [esp + 4], edx
mov dword [esp], ebx
call method.QString.operator_QString_const_
mov eax, dword [ebp - 0x44]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0ec990
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
dec edx
je 0x6e0ec9b4
mov edx, dword [eax + 8]
inc edx
mov dword [esp], edx
call method.QString.grow_int_
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.realloc_int_
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov word [ecx + edx*2], 0x20
inc edx
mov dword [eax + 8], edx
mov word [ecx + edx*2], 0
mov eax, dword [esi]
add eax, 4
mov dword [esp], eax
call method.QDate.day___const
mov dword [esp + 8], 0xa
mov dword [esp + 4], eax
lea eax, [ebp - 0x48]
mov dword [esp], eax
call method.QString.number_int__int_
push eax
lea edx, [ebp - 0x48]
mov dword [esp + 4], edx
mov dword [esp], ebx
call method.QString.append_QString_const_
mov eax, dword [ebp - 0x48]
lock dec dword [eax]
setne dl
test dl, dl
je 0x6e0ec980
mov dword [ebp - 0x4c], 0x6e27afa1
lea eax, [ebp - 0x4c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.append_QLatin1String_const_
mov eax, dword [esi]
add eax, 4
mov dword [esp], eax
call method.QDate.month___const
mov dword [esp + 4], eax
lea eax, [ebp - 0x50]
mov dword [esp], eax
call method.QDate.shortMonthName_int_
push ecx
lea edx, [ebp - 0x50]
mov dword [esp + 4], edx
mov dword [esp], ebx
call method.QString.append_QString_const_
mov eax, dword [ebp - 0x50]
lock dec dword [eax]
setne dl
test dl, dl
jne 0x6e0ec352
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0ec352
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0ec44b
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0ec3cc
mov dword [esp + 8], 1
add eax, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
lea ebx, [ebp - 0x24]
call method.QDate.toString_Qt::DateFormat__const
push ecx
lea edx, [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], ebx
call method.QString.operator_QString_const_
lea eax, [ebp - 0x28]
mov dword [esp], eax
call method.QString.QString__
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 8]
test edx, edx
je 0x6e0ec4db
mov word [esp + 4], 0x54
mov dword [esp], ebx
call method.QString.operator_QChar_
mov dword [esp + 8], 1
mov eax, dword [esi]
add eax, 8
mov dword [esp + 4], eax
lea edx, [ebp - 0x2c]
mov dword [esp], edx
call method.QTime.toString_Qt::DateFormat__const
push eax
lea ecx, [ebp - 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], ebx
call method.QString.append_QString_const_
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call method.QString.QString__
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
cmp eax, 2
je 0x6e0ec9ea
cmp eax, 3
jne 0x6e0ec464
mov esi, dword [edx + 0x10]
test esi, esi
js 0x6e0ec9fe
mov word [ebp - 0x1e], 0x30
mov edx, dword [edx + 0x10]
mov dword [ebp - 0x290], edx
mov esi, 0x88888889
mov eax, edx
imul esi
mov ecx, dword [ebp - 0x290]
add ecx, edx
sar ecx, 5
mov dword [ebp - 0x28c], ecx
mov ecx, dword [ebp - 0x290]
sar ecx, 0x1f
sub dword [ebp - 0x28c], ecx
mov eax, dword [ebp - 0x28c]
imul esi
mov esi, dword [ebp - 0x28c]
add esi, edx
sar esi, 5
mov eax, dword [ebp - 0x28c]
sar eax, 0x1f
sub esi, eax
lea esi, [esi + esi*2]
lea esi, [esi + esi*4]
shl esi, 2
mov edx, dword [ebp - 0x28c]
sub edx, esi
mov esi, edx
mov word [ebp - 0x1c], 0x30
mov eax, 0x91a2b3c5
imul dword [ebp - 0x290]
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp - 0x290]
add eax, edx
sar eax, 0xb
sub eax, ecx
mov dword [ebp - 0x280], eax
mov word [ebp - 0x1a], 0x20
mov word [ebp - 0x282], 0x2b
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str._1_2:_3
lea edx, [ebp - 0x30]
mov dword [esp], edx
call method.QString.fromLatin1_char_const__int_
push ecx
lea eax, [ebp - 0x1a]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov cx, word [ebp - 0x282]
mov word [esp + 8], cx
lea eax, [ebp - 0x30]
mov dword [esp + 4], eax
lea edx, [ebp - 0x34]
mov dword [esp], edx
call method.QString.arg_QChar__int__QChar_const__const
push edx
lea eax, [ebp - 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 2
mov eax, dword [ebp - 0x280]
cdq
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x34]
mov dword [esp + 4], edx
lea ecx, [ebp - 0x38]
mov dword [esp], ecx
call method.QString.arg_long_long__int__int__QChar_const__const
push eax
lea eax, [ebp - 0x1e]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x10], 2
mov dword [esp + 8], esi
mov eax, esi
sar eax, 0x1f
mov dword [esp + 0xc], eax
lea edx, [ebp - 0x38]
mov dword [esp + 4], edx
lea ecx, [ebp - 0x3c]
mov dword [esp], ecx
call method.QString.arg_long_long__int__int__QChar_const__const
push esi
lea eax, [ebp - 0x3c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call method.QString.append_QString_const_
lea edx, [ebp - 0x3c]
mov dword [esp], edx
call method.QString.QString__
lea edx, [ebp - 0x38]
mov dword [esp], edx
call method.QString.QString__
lea eax, [ebp - 0x34]
mov dword [esp], eax
call method.QString.QString__
lea ecx, [ebp - 0x30]
mov dword [esp], ecx
call method.QString.QString__
jmp 0x6e0ec464
mov edx, dword [eax + 8]
cmp edx, dword [eax + 4]
jl 0x6e0ec3f6
jmp 0x6e0ec3db
mov edx, dword [eax + 8]
cmp edx, dword [eax + 4]
jl 0x6e0ec37c
jmp 0x6e0ec361
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0ec352
mov eax, dword [ebp - 0x58]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0ec2d0
mov eax, dword [ebp - 0x54]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0ec256
mov eax, dword [ebp - 0x48]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0ec657
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call method.QString.free_QString::Data_
jmp 0x6e0ec5d5
mov edx, dword [eax + 8]
cmp edx, dword [eax + 4]
jl 0x6e0ec280
jmp 0x6e0ec265
mov edx, dword [eax + 8]
cmp edx, dword [eax + 4]
jl 0x6e0ec5ff
jmp 0x6e0ec5e4
mov edx, dword [eax + 8]
cmp edx, dword [eax + 4]
jl 0x6e0ec2fa
jmp 0x6e0ec2df
cmp edx, dword [eax + 4]
jl 0x6e0ec514
jmp 0x6e0ec4f9
mov word [esp + 4], 0x5a
mov dword [esp], ebx
call method.QString.operator_QChar_
jmp 0x6e0ec464
mov word [ebp - 0x1e], 0x30
mov edx, dword [edx + 0x10]
mov dword [ebp - 0x290], edx
mov ecx, 0x88888889
mov eax, edx
imul ecx
mov eax, dword [ebp - 0x290]
add eax, edx
sar eax, 5
mov esi, dword [ebp - 0x290]
sar esi, 0x1f
sub eax, esi
mov dword [ebp - 0x28c], eax
imul ecx
mov esi, dword [ebp - 0x28c]
add esi, edx
sar esi, 5
mov ecx, dword [ebp - 0x28c]
sar ecx, 0x1f
sub esi, ecx
lea ecx, [esi + esi*2]
lea esi, [ecx + ecx*4]
shl esi, 2
mov edx, dword [ebp - 0x28c]
sub edx, esi
mov esi, edx
mov word [ebp - 0x1c], 0x30
mov ecx, dword [ebp - 0x290]
neg ecx
mov eax, 0x91a2b3c5
imul ecx
mov dword [ebp - 0x27c], edx
add edx, ecx
sar edx, 0xb
mov dword [ebp - 0x280], edx
mov eax, ecx
cdq
sub dword [ebp - 0x280], edx
mov word [ebp - 0x1a], 0x20
mov word [ebp - 0x282], 0x2d
jmp 0x6e0ec82c