Function at 0x102897b
Capabilities:
Get geographical location

Disassembly:
push 0x34
mov eax, 0x1057379
call fcn.0100f1d3
mov esi, ecx
mov eax, dword [esi + 0x84]
test eax, eax
jne 0x102899e
mov eax, 0x80004003
call fcn.0100f265
ret
mov ebx, dword [eax + 0xfc]
lea edi, [esi + 0x90]
push ebx
mov ecx, edi
call fcn.0101d274
test eax, eax
setne al
test al, al
jne 0x10289c2
mov eax, 0x80004005
jmp 0x1028998
and dword [ebp - 0x28], 0
and dword [ebp - 0x24], 0
test ebx, ebx
jle 0x10289f5
push 1
push dword [ebp - 0x24]
mov ecx, edi
call fcn.0101d647
test al, 1
je 0x10289e5
mov dword [ebp - 0x28], 1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ebx
jl 0x10289ce
cmp dword [ebp - 0x28], 0
jne 0x1028a0d
test ebx, ebx
je 0x1028a0d
push 1
push 1
push 0
mov ecx, edi
call fcn.010155a2
test eax, eax
setne al
test al, al
je 0x10289bb
mov eax, dword [esi + 0x84]
fld qword [0x1002e28]
lea ecx, [eax + 0xb8]
fstp qword [ebp - 0x40]
mov eax, dword [ecx]
lea edx, [ebp - 0x40]
push edx
call dword [eax + 0x10]
test eax, eax
jl 0x1028998
push 0
lea ebx, [esi + 0xb8]
push ebx
lea ecx, [ebp - 0x40]
call fcn.0104a385
test eax, eax
jl 0x1028998
fld qword [0x1002e28]
mov ecx, dword [esi + 0x84]
lea edx, [ebp - 0x38]
fstp qword [ebp - 0x38]
mov eax, dword [ecx]
push edx
call dword [eax + 0x10]
test eax, eax
jl 0x1028998
lea eax, [esi + 0xbc]
push 0
push eax
lea ecx, [ebp - 0x38]
call fcn.0104a385
test eax, eax
jl 0x1028998
fld qword [0x1002e28]
mov ecx, dword [esi + 0x84]
lea eax, [ebp - 0x30]
fstp qword [ebp - 0x30]
push eax
call fcn.0105028e
test eax, eax
jl 0x1028998
mov ecx, dword [esi + 0x84]
lea eax, [ebp - 0x1d]
push eax
call fcn.01050239
test eax, eax
jl 0x1028998
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 0xfc]
xor ecx, ecx
test eax, eax
setne cl
lea edi, [esi + 0xd4]
push ecx
push dword [edi]
call dword [sym.imp.USER32.dll_EnableWindow]
movzx eax, byte [ebp - 0x1d]
push eax
mov ecx, edi
call fcn.01028259
push dword [ebx]
mov edi, dword [sym.imp.USER32.dll_SetWindowTextW]
push dword [esi + 0xb0]
call edi
test eax, eax
setne al
test al, al
je 0x10289bb
push dword [esi + 0xbc]
push dword [esi + 0xb4]
call edi
test eax, eax
setne al
test al, al
je 0x10289bb
mov ecx, esi
call fcn.0102860a
test eax, eax
jl 0x1028998
mov eax, dword [0x1061024]
mov dword [ebp - 0x24], eax
and dword [ebp - 4], 0
or ebx, 0xffffffff
cmp byte [ebp - 0x1d], 0
je 0x1028beb
push 5
lea eax, [ebp - 0x1c]
push eax
push 0xe
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
setne al
test al, al
jne 0x1028b7d
mov esi, 0x80004005
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x24]
call fcn.010061d0
mov eax, esi
jmp 0x1028998
lea ecx, [ebp - 0x30]
call fcn.0104a37d
call sub.msvcrt.dll__ftol2_sse
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x28], eax
call fcn.0104a37d
fisub dword [ebp - 0x28]
fmul qword [0x1002ff8]
call sub.msvcrt.dll__ftol2_sse
push 0xa
lea ecx, [ebp - 0x24]
mov edi, eax
call fcn.01007539
push edi
lea ecx, [ebp - 0x1c]
push ecx
push dword [ebp - 0x28]
push 0x1002fe4
push 0xa
push eax
call fcn.01028279
add esp, 0x18
test eax, eax
jge 0x1028bcf
mov esi, eax
jmp 0x1028b6b
push dword [ebp - 0x24]
lea ecx, [esi + 0xec]
call fcn.01014e84
cmp eax, ebx
setne al
test al, al
jne 0x1028c22
jmp 0x1028b66
lea ecx, [ebp - 0x30]
call fcn.0104a37d
call sub.msvcrt.dll__ftol2_sse
push eax
lea eax, [ebp - 0x24]
push 0x1002ed8
push eax
call fcn.01008675
add esp, 0xc
test eax, eax
setne al
test al, al
je 0x1028b66
mov ecx, esi
call fcn.010288e0
test eax, eax
jl 0x1028bcb
push dword [ebp - 0x24]
lea edi, [esi + 0xec]
push ebx
mov ecx, edi
call fcn.01028217
cmp eax, ebx
jne 0x1028c3a
push 2
pop eax
push eax
mov ecx, edi
call fcn.01014e64
cmp eax, ebx
setne al
test al, al
je 0x1028b66
xor eax, eax
cmp byte [ebp - 0x1d], al
sete al
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [esi + 0x80]
movzx eax, byte [eax + 0x2f0]
push eax
lea ecx, [esi + 0xd8]
call fcn.01028259
push 1
push 0
push dword [esi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
xor esi, esi
jmp 0x1028b6b