Function at 0x101245f
Capabilities:
Get geographical location

Disassembly:
push 0x270
mov eax, 0x101fbab
call fcn.0101efc0
push 0x10
mov dword [ebp - 0x23c], ecx
call dword [sym.imp.KERNEL32.dll_GetUserGeoID]
and dword [ebp - 0x224], 0
and dword [ebp - 0x220], 0
mov edi, eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x224]
push eax
push edi
call fcn.0100db5e
mov byte [ebp - 0x219], al
mov ebx, 0xf4
test al, al
jne 0x10124cb
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x224]
push eax
push ebx
mov edi, ebx
call fcn.0100db5e
mov byte [ebp - 0x219], al
mov eax, dword [ebp - 0x23c]
cmp byte [eax + 0x169], 0
mov esi, dword [sym.imp.DUI70.dll_public:_class_DirectUI::Element____thiscall_DirectUI::Element::FindDescendent_unsigned_short_int_]
mov dword [eax + 0x1c8], edi
mov byte [ebp - 0x225], 0
jne 0x1012621
push 0x1003200
call sub.DUI70.dll_StrToID
mov ecx, dword [ebp - 0x23c]
movzx eax, ax
push eax
call esi
push 0x10031f4
mov dword [ebp - 0x230], eax
call sub.DUI70.dll_StrToID
mov ecx, dword [ebp - 0x23c]
movzx eax, ax
push eax
call esi
cmp dword [ebp - 0x230], 0
mov dword [ebp - 0x234], eax
je 0x1012621
test eax, eax
je 0x1012621
push 0x1027698
lea ecx, [ebp - 0x22c]
call fcn.0100f83e
mov ecx, dword [ebp - 0x230]
and dword [ebp - 4], 0
push 0
push 2
push dword [sym.imp.DUI70.dll_public:_static_struct_DirectUI::PropertyInfo_const____stdcall_DirectUI::Element::ClassProp_void_]
call dword [sym.imp.DUI70.dll_public:_class_DirectUI::Value____thiscall_DirectUI::Element::GetValue_struct_DirectUI::PropertyInfo_const_____stdcall___void___int__struct_DirectUI::UpdateCache__]
push dword [eax + 4]
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x238], eax
call fcn.01011396
mov eax, dword [ebp - 0x22c]
mov ecx, 0x10031e4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10125ad
test dx, dx
je 0x10125a9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10125ad
add eax, 4
add ecx, 4
test dx, dx
jne 0x1012587
xor eax, eax
jmp 0x10125b2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1012603
cmp edi, ebx
sete bl
mov byte [ebp - 0x225], 1
cmp byte [ebp - 0x219], al
je 0x10125d1
test bl, bl
jne 0x10125d1
inc eax
jmp 0x10125d4
push 0xfffffffffffffffd
pop eax
mov ecx, dword [ebp - 0x230]
push eax
call dword [sym.imp.DUI70.dll_public:_long_int___thiscall_DirectUI::Element::SetLayoutPos_int_]
cmp byte [ebp - 0x219], 0
je 0x10125f3
test bl, bl
jne 0x10125f3
push 0xfffffffffffffffd
pop eax
jmp 0x10125f6
xor eax, eax
inc eax
mov ecx, dword [ebp - 0x234]
push eax
call dword [sym.imp.DUI70.dll_public:_long_int___thiscall_DirectUI::Element::SetLayoutPos_int_]
mov ecx, dword [ebp - 0x238]
call dword [sym.imp.DUI70.dll_public:_void___thiscall_DirectUI::Value::Release_void_]
mov ecx, dword [ebp - 0x22c]
or dword [ebp - 4], 0xffffffff
add ecx, 0xfffffff0
call fcn.0100d958
push 0x10031d8
call sub.DUI70.dll_StrToID
mov edi, dword [ebp - 0x23c]
movzx eax, ax
push eax
mov ecx, edi
call esi
push 0x10031cc
mov dword [ebp - 0x22c], eax
call sub.DUI70.dll_StrToID
movzx eax, ax
push eax
mov ecx, edi
call esi
cmp byte [ebp - 0x219], 0
mov dword [ebp - 0x230], eax
je 0x1012a7f
xor ebx, ebx
cmp dword [ebp - 0x22c], ebx
jne 0x1012676
cmp eax, ebx
je 0x1012a7f
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x248], ebx
mov dword [ebp - 0x244], ebx
push 0x20019
push 0x1003188
push 0x80000001
lea ecx, [ebp - 0x24c]
mov dword [ebp - 4], 1
xor esi, esi
mov dword [ebp - 0x234], 0x7c
mov dword [ebp - 0x240], ebx
call fcn.01008f26
test eax, eax
jne 0x10126ff
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [0x1026490]
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x238], 0x104
call fcn.0100da90
test eax, eax
je 0x10126f9
lea ecx, [ebp - 0x24c]
call fcn.01007b2d
jmp 0x10126ff
mov esi, dword [ebp - 0x238]
cmp byte [edi + 0x169], 0
je 0x1012834
cmp esi, ebx
je 0x1012a09
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x27c]
push eax
push dword [0x10264a0]
lea ecx, [ebp - 0x24c]
mov dword [ebp - 0x238], 0x30
call fcn.0100da5a
test eax, eax
jne 0x1012822
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x218]
push eax
xor bl, bl
call sub.msvcrt.dll_wcstok_s
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1012822
cmp dword [ebp - 0x27c], 0xa
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
jb 0x10127e5
mov ecx, dword [ebp - 0x224]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10127a9
test dx, dx
je 0x10127a5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10127a9
add eax, 4
add ecx, 4
test dx, dx
jne 0x1012783
xor eax, eax
jmp 0x10127ae
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10127c9
push dword [ebp - 0x220]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
call esi
mov dword [ebp - 0x220], eax
jmp 0x10127cb
mov bl, 1
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x234]
push eax
push 0
call sub.msvcrt.dll_wcstok_s
add esp, 0xc
mov edi, eax
test edi, edi
je 0x1012822
cmp dword [ebp - 0x278], 0xa
jb 0x1012822
test bl, bl
je 0x101280d
push dword [ebp - 0x220]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
call esi
mov dword [ebp - 0x220], eax
jmp 0x1012822
push dword [ebp - 0x224]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
call esi
mov dword [ebp - 0x224], eax
lea ecx, [ebp - 0x24c]
call fcn.01007b2d
xor ebx, ebx
jmp 0x1012a09
cmp byte [ebp - 0x225], 0
je 0x1012a09
cmp dword [ebp - 0x230], ebx
je 0x1012a09
mov ecx, dword [ebp - 0x224]
push 4
mov eax, 0x1002268
pop edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x101287f
cmp dx, bx
je 0x101287b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x101287f
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x101285b
xor eax, eax
jmp 0x1012884
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10128fc
mov ecx, dword [ebp - 0x224]
mov eax, 0x100225c
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10128b7
cmp dx, bx
je 0x10128b3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10128b7
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x1012893
xor eax, eax
jmp 0x10128bc
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10128fc
mov ecx, dword [ebp - 0x224]
mov eax, 0x1003178
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10128ef
cmp dx, bx
je 0x10128eb
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10128ef
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x10128cb
xor eax, eax
jmp 0x10128f4
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x1012a09
cmp esi, ebx
jne 0x1012917
push dword [0x10264b0]
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0100e9bb
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x218]
push eax
jmp 0x10129dc
mov ecx, esi
mov eax, 0x1002268
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x101295c
cmp dx, bx
je 0x1012958
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x101295c
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x1012938
xor eax, eax
jmp 0x1012961
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10129cd
mov ecx, esi
mov eax, 0x100225c
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1012990
cmp dx, bx
je 0x101298c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1012990
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x101296c
xor eax, eax
jmp 0x1012995
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10129cd
mov ecx, esi
mov eax, 0x1003178
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10129c4
cmp dx, bx
je 0x10129c0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10129c4
add eax, edi
add ecx, edi
cmp dx, bx
jne 0x10129a0
xor eax, eax
jmp 0x10129c9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x10129f0
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x234]
push eax
push ebx
call sub.msvcrt.dll_wcstok_s
mov esi, eax
add esp, 0xc
cmp esi, ebx
jne 0x1012931
jmp 0x1012a09
push dword [ebp - 0x220]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x220], eax
mov esi, 0x1002e50
cmp dword [ebp - 0x22c], ebx
je 0x1012a41
mov ecx, dword [ebp - 0x23c]
push ebx
push dword [ebp - 0x224]
push esi
push dword [ebp - 0x22c]
call fcn.0100e00f
push dword [ebp - 0x224]
mov ecx, dword [ebp - 0x22c]
call dword [sym.imp.DUI70.dll_public:_long_int___thiscall_DirectUI::Element::SetAccName_unsigned_short_int_const__]
cmp dword [ebp - 0x230], ebx
je 0x1012a74
mov ecx, dword [ebp - 0x23c]
push ebx
push dword [ebp - 0x220]
push esi
push dword [ebp - 0x230]
call fcn.0100e00f
push dword [ebp - 0x220]
mov ecx, dword [ebp - 0x230]
call dword [sym.imp.DUI70.dll_public:_long_int___thiscall_DirectUI::Element::SetAccName_unsigned_short_int_const__]
lea ecx, [ebp - 0x24c]
call fcn.01007b2d
push dword [ebp - 0x224]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
push dword [ebp - 0x220]
call esi
call fcn.0101f014
ret