Function at 0x606b88
Capabilities:
Get geographical location

Disassembly:
push 0x254
mov eax, 0x6bce27
call fcn.0064d018
mov ebx, edx
mov edi, ecx
mov eax, dword fs:[0x2c]
mov esi, dword [eax]
mov eax, dword [0x83523c]
cmp eax, dword [esi + 0x2c]
jg 0x607130
push ecx
push 0x835240
lea ecx, [ebp - 0x218]
call fcn.005d2f7d
mov dword [ebp - 4], 1
mov ecx, dword [edi]
xor edi, edi
mov dword [ebp - 0x224], ecx
mov eax, dword [ecx]
cmp eax, ecx
mov dword [ebp - 0x21c], eax
je 0x60710b
add eax, 8
mov dword [ebp - 0x1e0], edi
push eax
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x1dc], edi
call fcn.0040d595
lea eax, [ebp - 0x1f0]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x188]
mov dword [ebp - 0x178], edi
mov dword [ebp - 0x174], edi
call fcn.0040d595
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 3
call fcn.00415412
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x218]
call fcn.0041a971
mov esi, eax
cmp esi, dword [ebp - 0x218]
je 0x606c64
lea eax, [esi + 0x10]
push eax
lea ecx, [ebp - 0x188]
call fcn.0040ea68
shr eax, 0x1f
test al, al
je 0x606c6a
mov esi, dword [ebp - 0x218]
cmp esi, dword [ebp - 0x218]
je 0x606d2c
lea eax, [ebp - 0x188]
mov edx, str.Matched_Culture__s
push eax
lea ecx, [ebp - 0x1bc]
call reloc.KERNEL32.dll_WerRegisterMemoryBlock
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x606c97
mov edx, dword [edx]
push 7
pop esi
xor eax, eax
mov dword [ebp - 0x228], edx
mov ecx, esi
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], vtable.Mso::Logging::StructuredObject_wchar_t_const___1_.0
lea edi, [ebp - 0x1a4]
mov dword [ebp - 0x22c], str.ContextData
rep stosd dword es:[edi], eax
mov word [ebp - 0x1a0], ax
xor edi, edi
lea eax, [ebp - 0x230]
mov dword [ebp - method.C2R::CommonTelemetry.virtual_0], vtable.C2R::CommonTelemetry.0
push eax
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x190], edi
push eax
push str.CultureMatchOS::MatchCultureWithOfficeCulture
push 0x32
push 0xe
pop edx
mov ecx, 0x149b515
mov dword [ebp - 0x18c], esi
call fcn.00411dd9
lea ecx, [ebp - 0x1a0]
call fcn.0040d475
lea ecx, [ebp - 0x1bc]
call fcn.0040d475
lea eax, [ebp - 0x188]
mov ecx, ebx
push eax
push dword [ebx]
call fcn.00483293
jmp 0x6070de
push 7
pop esi
xor eax, eax
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], vtable.Mso::Logging::StructuredObject_wchar_t_const___1_.0
mov ecx, esi
mov dword [ebp - 0x238], str.ContextData
lea edi, [ebp - 0x20c]
mov dword [ebp - 0x234], str.Failed_to_match_culture._Must_test_parent_cultures
rep stosd dword es:[edi], eax
mov word [ebp - 0x208], ax
xor edi, edi
lea eax, [ebp - 0x23c]
mov dword [ebp - method.C2R::CommonTelemetry.virtual_0], vtable.C2R::CommonTelemetry.0
push eax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x1f8], edi
push eax
push str.CultureMatchOS::MatchCultureWithOfficeCulture
push 0x32
push 0xe
pop edx
mov ecx, 0x149b516
mov dword [ebp - 0x1f4], esi
call fcn.00411dd9
lea ecx, [ebp - 0x208]
call fcn.0040d475
push 0xaa
lea eax, [ebp - 0xc0]
push edi
push eax
call fcn.0064f890
add esp, 0xc
lea ecx, [ebp - 0xc0]
cmp dword [ebp - 0x174], 8
lea eax, [ebp - 0x188]
cmovae eax, dword [ebp - 0x188]
push 0x55
push ecx
push 0x6d
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x606e9e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x210], eax
lea ecx, [ebp - 0x1bc]
lea eax, [ebp - 0x210]
mov edx, str.Failed_to_get_LOCALE_SPARENT_of_osCulture._osCulture:_s_Error:_d
push eax
lea eax, [ebp - 0x188]
push eax
call fcn.0050ac48
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x606e1c
mov edx, dword [edx]
xor eax, eax
mov dword [ebp - 0x240], edx
mov ecx, esi
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], vtable.Mso::Logging::StructuredObject_wchar_t_const___1_.0
lea edi, [ebp - 0x1a4]
mov dword [ebp - 0x244], str.ContextData
rep stosd dword es:[edi], eax
mov word [ebp - 0x1a0], ax
xor edi, edi
lea eax, [ebp - 0x248]
mov dword [ebp - method.C2R::CommonTelemetry.virtual_0], vtable.C2R::CommonTelemetry.0
push eax
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x190], edi
push eax
push str.CultureMatchOS::MatchCultureWithOfficeCulture
push 0xa
push 0xe
pop edx
mov ecx, 0x14d2508
mov dword [ebp - 0x18c], esi
call fcn.00411dd9
lea ecx, [ebp - 0x1a0]
call fcn.0040d475
lea ecx, [ebp - 0x1bc]
call fcn.0040d475
jmp 0x6070de
mov esi, dword [ebp - 0x218]
mov eax, dword [esi]
mov dword [ebp - 0x210], eax
jmp 0x6070d6
add eax, 0x10
mov dword [ebp - 0x1ac], edi
push eax
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1a8], edi
call fcn.0040d595
push 0xaa
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 4
push edi
push eax
call fcn.0064f890
add esp, 0xc
lea ecx, [ebp - 0x170]
cmp dword [ebp - 0x1a8], 8
lea eax, [ebp - 0x1bc]
cmovae eax, dword [ebp - 0x1bc]
push 0x55
push ecx
push 0x6d
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
jne 0x606fce
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x220], eax
lea ecx, [ebp - 0x1a0]
lea eax, [ebp - 0x220]
mov edx, str.Failed_to_get_LOCALE_SPARENT_of_officeCulture._officeCulture:_s_Error:_d
push eax
lea eax, [ebp - 0x1bc]
push eax
call fcn.0050ac48
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x606f47
mov edx, dword [edx]
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0x24c], edx
lea edi, [ebp - 0x1d8]
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], vtable.Mso::Logging::StructuredObject_wchar_t_const___1_.0
rep stosd dword es:[edi], eax
mov word [ebp - 0x1d4], ax
xor edi, edi
lea eax, [ebp - 0x254]
mov dword [ebp - method.C2R::CommonTelemetry.virtual_0], vtable.C2R::CommonTelemetry.0
push eax
lea eax, [ebp - 0x1d8]
mov dword [ebp - 0x1c4], edi
push eax
push str.CultureMatchOS::MatchCultureWithOfficeCulture
push 0xa
push 0xe
pop edx
mov ecx, 0x14d2509
mov dword [ebp - 0x1c0], 7
mov dword [ebp - 0x250], str.ContextData
call fcn.00411dd9
lea ecx, [ebp - 0x1d4]
call fcn.0040d475
lea ecx, [ebp - 0x1a0]
call fcn.0040d475
jmp 0x6070b6
push edi
push 0xffffffffffffffff
lea edx, [ebp - 0xc0]
lea ecx, [ebp - 0x170]
call fcn.0040bf20
test eax, eax
jne 0x6070b6
lea eax, [ebp - 0x1bc]
mov edx, str.Matched_parent_locales_for_cultures_osCulture:_s_officeCulture:_s
push eax
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00501719
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x607012
mov edx, dword [edx]
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0x258], edx
lea edi, [ebp - 0x1d8]
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], vtable.Mso::Logging::StructuredObject_wchar_t_const___1_.0
rep stosd dword es:[edi], eax
mov word [ebp - 0x1d4], ax
xor edi, edi
lea eax, [ebp - 0x260]
mov dword [ebp - method.C2R::CommonTelemetry.virtual_0], vtable.C2R::CommonTelemetry.0
push eax
lea eax, [ebp - 0x1d8]
mov dword [ebp - 0x1c4], edi
push eax
push str.CultureMatchOS::MatchCultureWithOfficeCulture
push 0x32
push 0xe
pop edx
mov ecx, 0x149b517
mov dword [ebp - 0x1c0], 7
mov dword [ebp - 0x25c], str.ContextData
call fcn.00411dd9
lea ecx, [ebp - 0x1d4]
call fcn.0040d475
lea ecx, [ebp - 0x1a0]
call fcn.0040d475
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x188]
call fcn.0040d37a
lea eax, [ebp - 0x188]
mov ecx, ebx
push eax
push dword [ebx]
call fcn.00483293
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 3
call fcn.0040d475
lea ecx, [ebp - 0x210]
call fcn.0040e1cb
mov eax, dword [ebp - 0x210]
cmp eax, esi
jne 0x606eb1
lea ecx, [ebp - 0x188]
call fcn.0040d475
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 1
call fcn.0040d475
mov eax, dword [ebp - 0x21c]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x224]
jmp 0x606bda
cmp dword [ebx + 4], edi
lea ecx, [ebp - 0x218]
setne bl
call fcn.004bdb69
push dword [ebp - 0x218]
call fcn.0064e37d
pop ecx
mov al, bl
call fcn.0064cfc2
ret
mov esi, 0x83523c
push esi
call fcn.0064cbb6
cmp dword [0x83523c], 0xffffffff
pop ecx
jne 0x606bb4
and dword [ebp - 4], 0
push ecx
call fcn.0060716e
push 0x6c8ac4
call fcn.0064c9fd
or dword [ebp - 4], 0xffffffff
pop ecx
push esi
call fcn.0064cb6c
pop ecx
jmp 0x606bb4