Function at 0x492e50
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xd0
mov edi, ecx
mov eax, dword [0x7a9040]
xor eax, ebp
mov dword [esp + 0xc8], eax
lea eax, [ebp + 0xc]
mov eax, dword [eax - 4]
mov dword [esp + 0x10], eax
xor eax, eax
dec eax
lea ecx, [esp + 0xac]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
call fcn.005267a0
pcmpeqd xmm0, xmm0
lea esi, [esp + 0x90]
movdqa xmmword [esi], xmm0
mov dword [esp + 8], edi
mov edi, dword [edi + 4]
mov eax, dword [edi]
mov ebx, dword [eax + 8]
mov ecx, ebx
call dword [0x7a29f4]
mov ecx, edi
push esi
call ebx
cmp byte [esi + 0xc], 0
je 0x492ff6
movsx eax, byte [esp + 0x9b]
test eax, eax
cmovs eax, dword [esp + 0x94]
cmovs esi, dword [esp + 0x90]
test eax, eax
js 0x4937cb
sete cl
test esi, esi
setne dl
or dl, cl
je 0x4937cb
lea ecx, [esp + 0xac]
push eax
push esi
push 7
push str.country
call fcn.00531b60
pcmpeqd xmm0, xmm0
lea esi, [esp + 0x80]
movdqa xmmword [esi], xmm0
mov eax, dword [esp + 8]
mov edi, dword [eax + 4]
mov eax, dword [edi]
mov ebx, dword [eax + 0x10]
mov ecx, ebx
call dword [0x7a29f4]
mov ecx, edi
push esi
call ebx
cmp byte [esi + 0xc], 0
jne 0x4930d6
push 0x30
call fcn.006507be
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], 0x80000030
mov dword [esp + 0x24], 0x2c
lea ecx, [eax + 0x2c]
mov edx, str.Failed_to_compose_request__missing_language.
cmp eax, edx
seta bl
cmp ecx, edx
setbe cl
or cl, bl
je 0x4937cb
movups xmm0, xmmword [0x7375d0]
movups xmmword [eax + 0x1c], xmm0
movups xmm0, xmmword [0x7375c4]
movups xmmword [eax + 0x10], xmm0
movdqu xmm0, xmmword [str.Failed_to_compose_request__missing_language.]
movdqu xmmword [eax], xmm0
mov byte [eax + 0x2c], 0
lea esi, [esp + 0x20]
push esi
call fcn.00498a40
add esp, 4
cmp byte [esi + 0xb], 0
lea ebx, [ebp + 0xc]
jns 0x492fbb
push dword [esp + 0x20]
call fcn.006507ee
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x10]
mov byte [ecx], al
mov byte [ecx + 0xc], al
cmp byte [esp + 0x8c], 1
jne 0x493081
cmp byte [esp + 0x8b], 0
jns 0x493081
push dword [esp + 0x80]
call fcn.006507ee
add esp, 4
jmp 0x493081
push 0x30
call fcn.006507be
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], 0x80000030
mov dword [esp + 0x24], 0x2b
lea ecx, [eax + 0x2b]
mov edx, str.Failed_to_compose_request__missing_country.
cmp eax, edx
seta bl
cmp ecx, edx
setbe cl
or cl, bl
je 0x4937cb
movups xmm0, xmmword [0x73759b]
movups xmmword [eax + 0x1b], xmm0
movups xmm0, xmmword [0x737590]
movups xmmword [eax + 0x10], xmm0
movdqu xmm0, xmmword [str.Failed_to_compose_request__missing_country.]
movdqu xmmword [eax], xmm0
mov byte [eax + 0x2b], 0
lea esi, [esp + 0x20]
push esi
call fcn.00498a40
add esp, 4
cmp byte [esi + 0xb], 0
lea ebx, [ebp + 0xc]
jns 0x493076
push dword [esp + 0x20]
call fcn.006507ee
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x10]
mov byte [ecx], al
mov byte [ecx + 0xc], al
lea esi, [ebp + 8]
cmp byte [esp + 0x9c], 1
jne 0x4930a7
cmp byte [esp + 0x9b], 0
jns 0x4930a7
push dword [esp + 0x90]
call fcn.006507ee
add esp, 4
lea ecx, [esp + 0xac]
call fcn.005d4260
mov ecx, ebx
call fcn.0048bd50
mov esi, dword [esi]
mov ecx, dword [esp + 0xc8]
xor ecx, ebp
call fcn.00650d60
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18
movsx eax, byte [esp + 0x8b]
test eax, eax
cmovs eax, dword [esp + 0x84]
cmovs esi, dword [esp + 0x80]
test eax, eax
js 0x4937cb
sete cl
test esi, esi
setne dl
or dl, cl
je 0x4937cb
lea edi, [esp + 0xac]
mov ecx, edi
push eax
push esi
push 4
push str.lang
call fcn.00531b60
mov eax, dword [esp + 8]
lea ecx, [eax + 8]
mov esi, eax
lea ebx, [esp + 0x20]
push ebx
call fcn.005d4190
mov ecx, edi
push ebx
push 2
push 0x7375e6
call fcn.005d4430
mov ecx, ebx
call fcn.005d3d30
mov ebx, dword [esi + 4]
mov eax, dword [ebx]
mov edi, dword [eax + 0x14]
mov ecx, edi
call dword [0x7a29f4]
mov ecx, ebx
lea esi, [esp + 0x20]
push esi
call edi
mov ecx, dword [esi]
mov edi, dword [esi + 4]
mov esi, ecx
mov edx, ecx
mov dword [esp + 0xc], ecx
add esi, 1
mov ebx, edi
adc ebx, 0x80000000
xor eax, eax
mov ecx, 0xf4240
push eax
push ecx
push edi
push edx
call fcn.00678090
cmp esi, 2
sbb ebx, 0
cmovb edx, edi
cmovb eax, dword [esp + 0xc]
mov esi, SysReAllocString
cmp esi, eax
mov edi, 0xffffffff
mov ecx, edi
sbb ecx, edx
cmovge edx, edi
cmovge eax, esi
cmp eax, 0x7fffffff
sbb edx, 0
mov ecx, SysReAllocString
cmovge eax, ecx
lea ecx, [esp + 0xac]
push eax
push 0xa
push str.inactivity
call fcn.00531a90
mov eax, dword [esp + 8]
mov edi, dword [eax + 4]
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov ecx, ebx
call dword [0x7a29f4]
mov ecx, edi
lea esi, [esp + 0x20]
push esi
call ebx
mov ecx, dword [esi]
mov dword [esp + 0xc], ecx
mov edi, dword [esi + 4]
mov esi, ecx
add esi, 1
mov ebx, edi
adc ebx, 0x80000000
xor eax, eax
push eax
mov eax, 0xf4240
push eax
push edi
push ecx
call fcn.00678090
cmp esi, 2
sbb ebx, 0
cmovb edx, edi
cmovb eax, dword [esp + 0xc]
mov esi, SysReAllocString
cmp esi, eax
mov edi, 0xffffffff
mov ecx, edi
sbb ecx, edx
cmovge edx, edi
cmovge eax, esi
cmp eax, 0x7fffffff
sbb edx, 0
mov ecx, SysReAllocString
cmovge eax, ecx
lea ecx, [esp + 0xac]
push eax
push 0x11
push str.last_notification
call fcn.00531a90
mov eax, dword [esp + 8]
mov edi, dword [eax + 4]
mov eax, dword [edi]
mov ebx, dword [eax + 0x18]
mov ecx, ebx
call dword [0x7a29f4]
mov ecx, edi
lea esi, [esp + 0x20]
push esi
call ebx
mov ecx, dword [esi]
mov dword [esp + 0xc], ecx
mov edi, dword [esi + 4]
mov esi, ecx
add esi, 1
mov ebx, edi
adc ebx, 0x80000000
xor eax, eax
push eax
mov eax, 0xf4240
push eax
push edi
push ecx
call fcn.00678090
cmp esi, 2
mov esi, dword [esp + 8]
sbb ebx, 0
cmovb edx, edi
cmovb eax, dword [esp + 0xc]
mov edi, SysReAllocString
cmp edi, eax
mov ebx, 0xffffffff
mov ecx, ebx
sbb ecx, edx
cmovge edx, ebx
cmovge eax, edi
cmp eax, 0x7fffffff
sbb edx, 0
mov ecx, SysReAllocString
cmovge eax, ecx
lea ecx, [esp + 0xac]
push eax
push 0x14
push str.time_since_first_run
call fcn.00531a90
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov ecx, ebx
call dword [0x7a29f4]
mov ecx, edi
call ebx
lea ecx, [esp + 0xac]
push eax
push 0x15
push str.test_group_allegiance
call fcn.00531a90
mov edi, dword [esi + 4]
mov eax, dword [edi]
mov ebx, dword [eax + 0x1c]
mov ecx, ebx
call dword [0x7a29f4]
mov ecx, edi
call ebx
test eax, eax
je 0x493375
cmp eax, 2
je 0x4933c8
cmp eax, 1
lea esi, [esp + 0x20]
jne 0x4933af
lea eax, [esp + 0x26]
mov byte [eax + 5], 6
mov ecx, str.casual
cmp esi, ecx
seta dl
cmp eax, ecx
setbe al
or al, dl
je 0x4937cb
mov word [esp + 0x24], 0x6c61
mov dword [esp + 0x20], 0x75736163
mov byte [esp + 0x26], 0
jmp 0x4933f8
lea eax, [esp + 0x28]
mov byte [eax + 3], 8
mov ecx, str.inactive
lea esi, [esp + 0x20]
cmp esi, ecx
seta dl
cmp eax, ecx
setbe al
or al, dl
je 0x4937cb
mov dword [esp + 0x24], 0x65766974
mov dword [esp + 0x20], 0x63616e69
mov byte [esp + 0x28], 0
jmp 0x4933f8
call fcn.006a7ec0
pxor xmm0, xmm0
movq qword [esp + 0x20], xmm0
mov dword [esp + 0x28], 0
jmp 0x4933f8
lea eax, [esp + 0x24]
mov byte [eax + 7], 4
mov ecx, str.core
lea esi, [esp + 0x20]
cmp esi, ecx
seta dl
cmp eax, ecx
setbe al
or al, dl
je 0x4937cb
mov dword [esp + 0x20], 0x65726f63
mov byte [esp + 0x24], 0
lea ecx, [esp + 0xac]
push esi
push 9
push str.user_base
call fcn.00531cb0
cmp byte [esp + 0x2b], 0
jns 0x49341f
push dword [esp + 0x20]
call fcn.006507ee
add esp, 4
lea ecx, [esp + 0xac]
push 0x73763b
push 7
push 0x737641
call fcn.00531c50
pcmpeqd xmm0, xmm0
lea esi, [esp + 0x70]
movdqa xmmword [esi], xmm0
mov eax, dword [esp + 8]
mov edi, dword [eax + 4]
mov eax, dword [edi]
mov ebx, dword [eax + 0xc]
mov ecx, ebx
call dword [0x7a29f4]
mov ecx, edi
push esi
call ebx
mov eax, dword [esp + 8]
pcmpeqd xmm0, xmm0
cmp byte [esi + 0xc], 1
lea ebx, [ebp + 0xc]
jne 0x4934b3
movsx eax, byte [esp + 0x7b]
test eax, eax
cmovs eax, dword [esp + 0x74]
cmovs esi, dword [esp + 0x70]
test eax, eax
js 0x4937cb
sete cl
test esi, esi
setne dl
or dl, cl
je 0x4937cb
lea ecx, [esp + 0xac]
push eax
push esi
push 7
push str.edition
call fcn.00531b60
mov eax, dword [esp + 8]
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
movdqa xmmword [esp + 0x40], xmm0
movdqa xmmword [esp + 0x30], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x60], 0xffffffff
mov esi, dword [eax + 4]
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x7a29f4]
mov ecx, esi
lea eax, [esp + 0x20]
push eax
call edi
mov al, byte [esp + 0x60]
cmp al, 1
jne 0x493740
cmp byte [esp + 0x4c], 1
jne 0x4935b6
movsx esi, byte [esp + 0x4b]
test esi, esi
js 0x493512
lea edi, [esp + 0x40]
jmp 0x49351a
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
test esi, esi
js 0x4937cb
sete al
test edi, edi
setne cl
or cl, al
je 0x4937cb
lea eax, [esp + 0xb8]
mov dword [eax], 0x737651
mov dword [eax + 4], 3
mov dword [eax + 8], str..campaign
mov dword [eax + 0xc], 9
lea ebx, [esp + 0x14]
push 2
push eax
push ebx
call fcn.005dd120
add esp, 0xc
movsx eax, byte [ebx + 0xb]
test eax, eax
jns 0x493574
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test eax, eax
js 0x4937cb
sete cl
test ebx, ebx
setne dl
or dl, cl
je 0x4937cb
lea ecx, [esp + 0xac]
push esi
push edi
push eax
push ebx
call fcn.00532040
cmp byte [esp + 0x1f], 0
jns 0x4935af
push dword [esp + 0x14]
call fcn.006507ee
add esp, 4
mov al, byte [esp + 0x60]
lea ebx, [ebp + 0xc]
test al, 1
je 0x4937cb
cmp byte [esp + 0x3c], 1
jne 0x49367c
movsx esi, byte [esp + 0x3b]
test esi, esi
js 0x4935d8
lea edi, [esp + 0x30]
jmp 0x4935e0
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
test esi, esi
js 0x4937cb
sete al
test edi, edi
setne cl
or cl, al
je 0x4937cb
lea eax, [esp + 0xb8]
mov dword [eax], 0x737651
mov dword [eax + 4], 3
mov dword [eax + 8], str..medium
mov dword [eax + 0xc], 7
lea ebx, [esp + 0x14]
push 2
push eax
push ebx
call fcn.005dd120
add esp, 0xc
movsx eax, byte [ebx + 0xb]
test eax, eax
jns 0x49363a
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test eax, eax
js 0x4937cb
sete cl
test ebx, ebx
setne dl
or dl, cl
je 0x4937cb
lea ecx, [esp + 0xac]
push esi
push edi
push eax
push ebx
call fcn.00532040
cmp byte [esp + 0x1f], 0
jns 0x493675
push dword [esp + 0x14]
call fcn.006507ee
add esp, 4
mov al, byte [esp + 0x60]
lea ebx, [ebp + 0xc]
test al, 1
je 0x4937cb
cmp byte [esp + 0x2c], 1
jne 0x493740
movsx esi, byte [esp + 0x2b]
test esi, esi
cmovs esi, dword [esp + 0x24]
lea ecx, [esp + 0x20]
cmovs ecx, dword [esp + 0x20]
test esi, esi
js 0x4937cb
sete al
mov dword [esp + 8], ecx
test ecx, ecx
setne cl
or cl, al
je 0x4937cb
lea eax, [esp + 0xb8]
mov dword [eax], 0x737651
mov dword [eax + 4], 3
mov dword [eax + 8], str..source
mov dword [eax + 0xc], 7
lea edi, [esp + 0x14]
push 2
push eax
push edi
call fcn.005dd120
add esp, 0xc
movsx eax, byte [edi + 0xb]
test eax, eax
jns 0x493702
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
test eax, eax
js 0x4937cb
sete cl
test edi, edi
setne dl
or dl, cl
je 0x4937cb
lea ecx, [esp + 0xac]
push esi
push dword [esp + 0xc]
push eax
push edi
call fcn.00532040
cmp byte [esp + 0x1f], 0
jns 0x493740
push dword [esp + 0x14]
call fcn.006507ee
add esp, 4
cmp dword [ebx], 3
je 0x49377d
lea esi, [esp + 0xb8]
mov ecx, ebx
push esi
call fcn.0048bd70
lea ecx, [esp + 0xac]
push esi
push 5
push str.event
call fcn.00531cb0
cmp byte [esi + 0xb], 0
jns 0x49377d
push dword [esp + 0xb8]
call fcn.006507ee
add esp, 4
mov esi, dword [esp + 0x10]
mov ecx, esi
lea eax, [esp + 0xac]
push eax
call fcn.00530d80
mov byte [esi + 0xc], 1
cmp byte [esp + 0x60], 1
jne 0x4937a4
lea ecx, [esp + 0x20]
call fcn.004aee00
cmp byte [esp + 0x7c], 1
jne 0x492fc6
cmp byte [esp + 0x7b], 0
jns 0x492fc6
push dword [esp + 0x70]
call fcn.006507ee
add esp, 4
jmp 0x492fc6
ud2