Function at 0x457440
Capabilities:
Get geographical location

Disassembly:
push 0x904
mov eax, 0x5b3173
call fcn.0058f792
mov edi, ecx
mov dword [ebp - 0x8d0], edi
mov esi, dword [ebp + 8]
push 0x5d56c0
push str.CLanguageSelector::CreateLanguageList
push 5
mov dword [ebp - 0x8d4], esi
call fcn.00424dad
add esp, 0xc
lea ecx, [ebp - 0x588]
call sym.SETUP.exe_public:_void___thiscall_CDeviceInfSection::constructor_void_
xor eax, eax
lea ecx, [ebp - 0x8b0]
mov dword [ebp - 4], eax
call sym.SETUP.exe_public:_void___thiscall_CDeviceInfSection::constructor_void_
xor ebx, ebx
inc ebx
mov byte [ebp - 4], bl
test esi, esi
je 0x457d70
lea esi, [edi + 0x368]
push dword [esi + 4]
mov ecx, esi
mov dword [ebp - 0x8f0], esi
push dword [esi]
call fcn.004594bb
mov eax, dword [esi]
mov dword [esi + 4], eax
lea esi, [edi + 4]
cmp dword [esi + 0x14], 8
mov eax, dword [edi + 0x14]
jb 0x4574ca
mov ecx, dword [esi]
jmp 0x4574cc
mov ecx, esi
push 0xf
push str.NATIVELANGNAME
push 0
inc eax
push eax
push ecx
lea ecx, [ebp - 0x588]
call sym.SETUP.exe_public:_int___thiscall_CDeviceInfSection::InitWFN_wchar_t_const___unsigned_int__class_CInfStringTable___wchar_t_const___unsigned_int_
test eax, eax
je 0x4574f2
lea ecx, [ebp - 0x588]
call sym.SETUP.exe_public:_int___thiscall_CDeviceInfSection::GetList_void_
cmp dword [esi + 0x14], 8
mov eax, dword [edi + 0x14]
jb 0x4574fd
mov esi, dword [esi]
push 0x1d
push str.LANGUAGE_SIMPLIFIED_SPELLING
push 0
inc eax
lea ecx, [ebp - 0x8b0]
push eax
push esi
call sym.SETUP.exe_public:_int___thiscall_CDeviceInfSection::InitWFN_wchar_t_const___unsigned_int__class_CInfStringTable___wchar_t_const___unsigned_int_
test eax, eax
je 0x457523
lea ecx, [ebp - 0x8b0]
call sym.SETUP.exe_public:_int___thiscall_CDeviceInfSection::GetList_void_
lea eax, [edi + 0x40]
xor esi, esi
mov ecx, eax
mov dword [ebp - 0x8b4], esi
mov dword [ebp - 0x90c], eax
call sym.SETUP.exe_public:_unsigned_long_int___thiscall_CDeviceInfSection::Count_void_
test eax, eax
je 0x4576ce
lea ecx, [ebp - 0x260]
call fcn.0044b390
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.0046d5d4
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.0046d5d4
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.0046d5d4
xor eax, eax
mov byte [ebp - 4], 5
mov dword [ebp - 0x910], eax
lea ecx, [edi + 0x40]
push 0x10
lea eax, [ebp - 0x910]
push eax
push esi
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetKey_unsigned_long_int_
push eax
call fcn.00592a11
add esp, 0xc
mov word [ebp - 0x260], ax
lea ecx, [edi + 0x40]
push 0x2c
push esi
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_unsigned_long_int_
push eax
lea ecx, [ebp - 0x8cc]
call fcn.0046eb6a
push 0x20
lea ecx, [ebp - 0x8cc]
call fcn.0046f50b
lea ecx, [ebp - 0x8cc]
call fcn.0046d95f
cmp eax, ebx
jne 0x4576e9
push 9
mov esi, str._SELECT_
push esi
call fcn.00591dbe
pop ecx
pop ecx
push eax
push esi
xor esi, esi
lea ecx, [ebp - 0x8cc]
push esi
call fcn.0046dbf8
push eax
call fcn.00592342
add esp, 0xc
test eax, eax
jne 0x457677
push 0x7c
push esi
lea ecx, [ebp - 0x8cc]
mov dword [ebp - 0x1cc], ebx
call fcn.0046dbf8
push eax
lea ecx, [ebp - 0x908]
call fcn.0046eb6a
lea ecx, [ebp - 0x908]
call fcn.0046d95f
cmp eax, 2
jne 0x457665
push ebx
lea ecx, [ebp - 0x908]
call fcn.0046dbf8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x457658
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1c8]
call fcn.00404be0
lea eax, [ebp - 0x260]
push eax
lea ecx, [edi + 0x368]
call fcn.00459912
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.0046d690
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.0046d690
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.0046d690
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.0044b5ed
inc dword [ebp - 0x8b4]
lea ecx, [edi + 0x40]
call sym.SETUP.exe_public:_unsigned_long_int___thiscall_CDeviceInfSection::Count_void_
mov esi, dword [ebp - 0x8b4]
cmp esi, eax
jb 0x457543
push 0x5d56dc
push str.CLanguageSelector::CreateLanguageList
push 5
call fcn.00424dad
add esp, 0xc
xor eax, eax
jmp 0x457d88
lea ecx, [ebp - 0x8cc]
call fcn.0046d95f
cmp eax, 3
jne 0x457677
push 7
xor ecx, ecx
xor eax, eax
pop edx
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x140], ecx
mov word [ebp - 0x150], ax
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x128], ecx
mov word [ebp - 0x138], ax
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xf8], ecx
mov word [ebp - 0x108], ax
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xe0], ecx
mov word [ebp - 0xf0], ax
push ebx
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 9
call fcn.0046dbf8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x457776
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00404be0
lea esi, [edi + 0x24]
lea eax, [ebp - 0xf0]
cmp eax, esi
je 0x4577a1
push 0xffffffffffffffff
xor eax, eax
lea ecx, [ebp - 0xf0]
push eax
push esi
call fcn.00404b26
cmp dword [ebp - 0x124], 8
lea eax, [ebp - 0x138]
cmovae eax, dword [ebp - 0x138]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.0047026a
push dword [ebp - 0xe0]
push str.strFullStringTable.length_____1_lu__n
push str.CLanguageSelector::CreateLanguageList
push 4
call fcn.00424dad
add esp, 0x18
cmp dword [ebp - 0xe0], 0x104
jae 0x457cad
cmp dword [ebp - 0xdc], 8
lea eax, [ebp - 0xf0]
cmovae eax, dword [ebp - 0xf0]
push eax
call fcn.004366b8
pop ecx
test eax, eax
jne 0x457846
xor esi, esi
lea ecx, [ebp - 0xf0]
push esi
push ebx
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x150]
call fcn.00404970
jmp 0x457677
push 2
lea ecx, [ebp - 0x8cc]
call fcn.0046dbf8
mov edi, eax
xor eax, eax
cmp word [edi], ax
je 0x457863
push edi
call fcn.0058edd4
pop ecx
push eax
push edi
lea ecx, [ebp - 0x150]
call fcn.00404be0
lea eax, [ebp - 0x108]
xor edi, edi
cmp eax, esi
je 0x457887
push 0xffffffffffffffff
push edi
push esi
mov ecx, eax
call fcn.00404b26
cmp dword [ebp - 0x13c], 8
lea eax, [ebp - 0x150]
cmovae eax, dword [ebp - 0x150]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0047026a
push dword [ebp - 0xf8]
mov esi, str.CLanguageSelector::CreateLanguageList
push str.strFullResourceDLL.length_____1_lu__n
push esi
push 4
call fcn.00424dad
add esp, 0x18
cmp dword [ebp - 0xf8], 0x104
jae 0x457ca5
cmp dword [ebp - 0xf4], 8
lea eax, [ebp - 0x108]
cmovae eax, dword [ebp - 0x108]
push eax
call fcn.004366b8
pop ecx
test eax, eax
jne 0x45796c
push edi
push ebx
lea ecx, [ebp - 0xf0]
call fcn.00404970
push edi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00404970
push edi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00404970
push edi
push ebx
lea ecx, [ebp - 0x150]
call fcn.00404970
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.0046d690
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.0046d690
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.0046d690
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.0044b5ed
mov edi, dword [ebp - 0x8d0]
jmp 0x4576b2
push 0x7c
push edi
lea ecx, [ebp - 0x8cc]
call fcn.0046dbf8
push eax
lea ecx, [ebp - 0x8ec]
call fcn.0046eb6a
lea ecx, [ebp - 0x8ec]
call fcn.0046d95f
push edi
cmp eax, 2
jb 0x4579c8
lea ecx, [ebp - 0x8ec]
call fcn.0046dbf8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x4579b2
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x25c]
call fcn.00404be0
push ebx
lea ecx, [ebp - 0x8ec]
jmp 0x4579f9
lea ecx, [ebp - 0x8cc]
call fcn.0046dbf8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x4579e3
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x25c]
call fcn.00404be0
xor eax, eax
lea ecx, [ebp - 0x8cc]
push eax
call fcn.0046dbf8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x457a0e
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x244]
call fcn.00404be0
push ebx
lea ecx, [ebp - 0x8cc]
call fcn.0046dbf8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x457a37
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x22c]
call fcn.00404be0
push 2
lea ecx, [ebp - 0x8cc]
call fcn.0046dbf8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x457a61
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x214]
call fcn.00404be0
push 0xffffffffffffffff
xor esi, esi
lea eax, [ebp - 0xf0]
push esi
push eax
lea ecx, [ebp - 0x1fc]
call fcn.00404b26
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00404b26
push dword [ebp - 0x8b4]
mov ecx, dword [ebp - 0x90c]
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetKey_unsigned_long_int_
push eax
lea ecx, [ebp - 0x120]
call fcn.00401c0c
push 8
pop edi
cmp dword [ebp - 0x10c], edi
lea eax, [ebp - 0x120]
lea ecx, [ebp - 0x588]
mov byte [ebp - 4], 0xa
cmovae eax, dword [ebp - 0x120]
push eax
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_wchar_t_const__
push eax
lea ecx, [ebp - 0x180]
call fcn.00401c0c
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x170], esi
jbe 0x457b0f
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00404b26
jmp 0x457bf2
xor eax, eax
push 0xc6
mov word [ebp - 0xd8], ax
lea eax, [ebp - 0xd6]
push esi
push eax
call fcn.0058e700
cmp dword [ebp - 0x230], edi
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x120]
cmovae ecx, dword [ebp - 0x244]
cmp dword [ebp - 0x10c], edi
push ecx
cmovae eax, dword [ebp - 0x120]
push eax
push str.failed_to_get_NativeLangName.__LangID_1_s___DisplayName_2_s___n
push str.CLanguageSelector::CreateLanguageList
push 2
call fcn.00424dad
add esp, 0x20
lea eax, [ebp - 0xd8]
push 0x64
push eax
movzx eax, word [ebp - 0x260]
push 4
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [ebp - 0xd8]
test eax, eax
je 0x457bb6
xor eax, eax
cmp ax, word [ebp - 0xd8]
je 0x457bb6
lea eax, [ebp - 0xd8]
push eax
call fcn.0058edd4
pop ecx
push eax
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00404be0
jmp 0x457bf2
cmp dword [ebp - 0x230], edi
lea ecx, [ebp - 0x244]
lea eax, [ebp - 0x120]
cmovae ecx, dword [ebp - 0x244]
cmp dword [ebp - 0x10c], edi
push ecx
cmovae eax, dword [ebp - 0x120]
push eax
push str.failed_to_GetLocaleInfo_API.__LangID_1_s___DisplayName_2_s___n
push str.CLanguageSelector::CreateLanguageList
push 2
call fcn.00424dad
add esp, 0x14
cmp dword [ebp - 0x10c], edi
lea eax, [ebp - 0x120]
lea ecx, [ebp - 0x8b0]
cmovae eax, dword [ebp - 0x120]
push eax
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_wchar_t_const__
push eax
lea ecx, [ebp - 0x168]
call fcn.00401c0c
cmp dword [ebp - 0x158], 0
mov byte [ebp - 4], 0xc
jbe 0x457c3f
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x198]
call fcn.00404b26
mov ecx, dword [ebp - 0x8f0]
lea eax, [ebp - 0x260]
push eax
call fcn.00459912
push esi
push ebx
lea ecx, [ebp - 0x168]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x180]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x120]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0xf0]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00404970
push esi
jmp 0x45791a
push str.resources_path_is_too_long_1_._n
push esi
jmp 0x457cb7
push str.resources_path_is_too_long_1_._n
push str.CLanguageSelector::CreateLanguageList
push 2
call fcn.00424dad
mov edi, dword [ebp - 0x8d4]
mov esi, 0xbba
push 0xb4
push esi
lea eax, [edi + 8]
push eax
call fcn.0040b585
mov ecx, dword [section..data]
add esp, 0x18
push esi
call fcn.004151a4
push eax
lea ecx, [edi + 4]
call fcn.0041c8bc
mov ecx, dword [section..data]
push esi
call fcn.004151db
xor esi, esi
mov dword [edi + 0xc], eax
push esi
push ebx
lea ecx, [ebp - 0xf0]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x150]
call fcn.00404970
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.0046d690
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.0046d690
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.0046d690
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.0044b5ed
push 0x5d56f8
push str.CLanguageSelector::CreateLanguageList
push 5
call fcn.00424dad
add esp, 0xc
xor eax, eax
mov ebx, eax
lea ecx, [ebp - 0x8b0]
mov byte [ebp - 4], al
call sym.SETUP.exe_public_virtual:_void___thiscall_CDeviceInfSection::destructor_void_
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x588]
call sym.SETUP.exe_public_virtual:_void___thiscall_CDeviceInfSection::destructor_void_
mov eax, ebx
call fcn.0058f741
ret 4