Function at 0x100f3ad
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x10261a8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x214], esi
mov dword [ebp - 0x20c], eax
cmp eax, edi
je 0x100f58c
cmp esi, edi
je 0x100f58c
lea eax, [ebp - 0x208]
push eax
mov ecx, esi
mov dword [ebp - 0x208], edi
call dword [sym.imp.DUI70.dll_public:_unsigned_short_int_const____thiscall_DirectUI::Element::GetContentString_class_DirectUI::Value___]
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x218], eax
cmp ecx, edi
je 0x100f419
call dword [sym.imp.DUI70.dll_public:_void___thiscall_DirectUI::Value::Release_void_]
push ebx
xor eax, eax
push 0x1fc
mov word [ebp - 0x204], ax
lea eax, [ebp - 0x202]
push edi
push eax
call sub.msvcrt.dll_memset
mov ebx, dword [sym.imp.DUI70.dll_public:_static_struct_DirectUI::PropertyInfo_const____stdcall_DirectUI::Element::ClassProp_void_]
add esp, 0xc
push edi
push 2
push ebx
mov ecx, esi
call dword [sym.imp.DUI70.dll_public:_class_DirectUI::Value____thiscall_DirectUI::Element::GetValue_struct_DirectUI::PropertyInfo_const_____stdcall___void___int__struct_DirectUI::UpdateCache__]
mov dword [ebp - 0x208], eax
mov edx, dword [eax + 4]
mov esi, 0x1002fe4
mov di, word [esi]
cmp di, word [edx]
jne 0x100f47e
test di, di
je 0x100f47a
mov di, word [esi + 2]
cmp di, word [edx + 2]
jne 0x100f47e
add esi, 4
add edx, 4
test di, di
jne 0x100f458
xor edx, edx
jmp 0x100f483
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x100f49b
mov ecx, dword [ebp - 0x210]
mov byte [ecx + 0x16c], 1
mov ecx, eax
jmp 0x100f585
mov ecx, dword [ebp - 0x218]
xor esi, esi
mov eax, 0x1002fc4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100f4ce
test dx, dx
je 0x100f4ca
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100f4ce
add eax, 4
add ecx, 4
test dx, dx
jne 0x100f4a8
xor eax, eax
jmp 0x100f4d3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100f4da
push 0xe
pop esi
push 0xff
lea eax, [ebp - 0x204]
push eax
push esi
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x100f58b
mov ecx, dword [ebp - 0x214]
push 0
push 2
push ebx
call dword [sym.imp.DUI70.dll_public:_class_DirectUI::Value____thiscall_DirectUI::Element::GetValue_struct_DirectUI::PropertyInfo_const_____stdcall___void___int__struct_DirectUI::UpdateCache__]
mov dword [ebp - 0x208], eax
mov eax, dword [eax + 4]
mov ecx, 0x1002fbc
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x100f53f
test dx, dx
je 0x100f53b
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x100f53f
add ecx, 4
add eax, 4
test dx, dx
jne 0x100f519
xor eax, eax
jmp 0x100f544
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100f58b
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x210]
lea eax, [ebp - 0x204]
push eax
push 0x1002e50
push dword [ebp - 0x20c]
call fcn.0100e00f
mov ecx, dword [ebp - 0x20c]
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.DUI70.dll_public:_long_int___thiscall_DirectUI::Element::SetAccName_unsigned_short_int_const__]
mov ecx, dword [ebp - 0x208]
test ecx, ecx
je 0x100f58b
call dword [sym.imp.DUI70.dll_public:_void___thiscall_DirectUI::Value::Release_void_]
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0100c855
leave
ret 0xc