Function at 0x4562a8
Capabilities:
Get geographical location

Disassembly:
push 0x904
mov eax, 0x5ac19e
call fcn.00588aeb
mov edi, ecx
mov dword [ebp - 0x8d0], edi
mov esi, dword [ebp + 8]
push 0x5cf600
push str.CLanguageSelector::CreateLanguageList
push 5
mov dword [ebp - 0x8d4], esi
call fcn.00423f75
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 0x456bd8
lea esi, [edi + 0x368]
mov ecx, esi
push dword [esi + 4]
mov dword [ebp - 0x8f0], esi
push dword [esi]
call fcn.00458378
mov eax, dword [esi]
mov dword [esi + 4], eax
mov eax, dword [edi + 0x14]
lea esi, [edi + 4]
cmp dword [esi + 0x14], 8
jb 0x456332
mov ecx, dword [esi]
jmp 0x456334
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 0x45635a
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 0x456365
mov esi, dword [esi]
push 0x1d
push str.LANGUAGE_SIMPLIFIED_SPELLING
push 0
inc eax
push eax
push esi
lea ecx, [ebp - 0x8b0]
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 0x45638b
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 0x456536
lea ecx, [ebp - 0x260]
call fcn.0044a5f4
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.0046c48f
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.0046c48f
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.0046c48f
xor eax, eax
mov dword [ebp - 0x910], eax
push 0x10
lea eax, [ebp - 0x910]
push eax
push esi
lea ecx, [edi + 0x40]
mov byte [ebp - 4], 5
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetKey_unsigned_long_int_
push eax
call fcn.0058bd55
add esp, 0xc
lea ecx, [edi + 0x40]
push 0x2c
push esi
mov word [ebp - 0x260], ax
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_unsigned_long_int_
push eax
lea ecx, [ebp - 0x8cc]
call fcn.0046d9ee
push 0x20
lea ecx, [ebp - 0x8cc]
call fcn.0046e2e7
lea ecx, [ebp - 0x8cc]
call fcn.0046c815
cmp eax, ebx
jne 0x456551
push 9
mov esi, str._SELECT_
push esi
call fcn.0058b10d
pop ecx
pop ecx
push eax
push esi
xor esi, esi
push esi
lea ecx, [ebp - 0x8cc]
call fcn.0046caa8
push eax
call fcn.0058b693
add esp, 0xc
test eax, eax
jne 0x4564df
push 0x7c
push esi
lea ecx, [ebp - 0x8cc]
mov dword [ebp - 0x1cc], ebx
call fcn.0046caa8
push eax
lea ecx, [ebp - 0x908]
call fcn.0046d9ee
lea ecx, [ebp - 0x908]
call fcn.0046c815
cmp eax, 2
jne 0x4564cd
push ebx
lea ecx, [ebp - 0x908]
call fcn.0046caa8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x4564c0
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1c8]
call fcn.00403cef
lea eax, [ebp - 0x260]
push eax
lea ecx, [edi + 0x368]
call fcn.004587e2
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.0046c546
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.0046c546
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.0046c546
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.0044a851
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 0x4563ab
push 0x5cf61c
push str.CLanguageSelector::CreateLanguageList
push 5
call fcn.00423f75
add esp, 0xc
xor eax, eax
jmp 0x456bf0
lea ecx, [ebp - 0x8cc]
call fcn.0046c815
cmp eax, 3
jne 0x4564df
push 7
xor ecx, ecx
pop edx
xor eax, eax
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.0046caa8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x4565de
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00403cef
lea esi, [edi + 0x24]
lea eax, [ebp - 0xf0]
cmp eax, esi
je 0x456609
push 0xffffffffffffffff
xor eax, eax
push eax
push esi
lea ecx, [ebp - 0xf0]
call fcn.00403c35
cmp dword [ebp - 0x124], 8
lea eax, [ebp - 0x138]
cmovae eax, dword [ebp - 0x138]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.0046f03c
push dword [ebp - 0xe0]
push str.strFullStringTable.length_____1_lu__n
push str.CLanguageSelector::CreateLanguageList
push 4
call fcn.00423f75
add esp, 0x18
cmp dword [ebp - 0xe0], 0x104
jae 0x456b15
cmp dword [ebp - 0xdc], 8
lea eax, [ebp - 0xf0]
cmovae eax, dword [ebp - 0xf0]
push eax
call fcn.00435877
pop ecx
test eax, eax
jne 0x4566ae
xor esi, esi
push esi
push ebx
lea ecx, [ebp - 0xf0]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x150]
call fcn.00403a7f
jmp 0x4564df
push 2
lea ecx, [ebp - 0x8cc]
call fcn.0046caa8
mov edi, eax
xor eax, eax
cmp word [edi], ax
je 0x4566cb
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x150]
call fcn.00403cef
lea eax, [ebp - 0x108]
xor edi, edi
cmp eax, esi
je 0x4566ef
push 0xffffffffffffffff
push edi
push esi
mov ecx, eax
call fcn.00403c35
cmp dword [ebp - 0x13c], 8
lea eax, [ebp - 0x150]
cmovae eax, dword [ebp - 0x150]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0046f03c
push dword [ebp - 0xf8]
mov esi, str.CLanguageSelector::CreateLanguageList
push str.strFullResourceDLL.length_____1_lu__n
push esi
push 4
call fcn.00423f75
add esp, 0x18
cmp dword [ebp - 0xf8], 0x104
jae 0x456b0d
cmp dword [ebp - 0xf4], 8
lea eax, [ebp - 0x108]
cmovae eax, dword [ebp - 0x108]
push eax
call fcn.00435877
pop ecx
test eax, eax
jne 0x4567d4
push edi
push ebx
lea ecx, [ebp - 0xf0]
call fcn.00403a7f
push edi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00403a7f
push edi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00403a7f
push edi
push ebx
lea ecx, [ebp - 0x150]
call fcn.00403a7f
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.0046c546
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.0046c546
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.0046c546
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.0044a851
mov edi, dword [ebp - 0x8d0]
jmp 0x45651a
push 0x7c
push edi
lea ecx, [ebp - 0x8cc]
call fcn.0046caa8
push eax
lea ecx, [ebp - 0x8ec]
call fcn.0046d9ee
lea ecx, [ebp - 0x8ec]
call fcn.0046c815
push edi
cmp eax, 2
jb 0x456830
lea ecx, [ebp - 0x8ec]
call fcn.0046caa8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x45681a
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x25c]
call fcn.00403cef
push ebx
lea ecx, [ebp - 0x8ec]
jmp 0x456861
lea ecx, [ebp - 0x8cc]
call fcn.0046caa8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x45684b
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x25c]
call fcn.00403cef
xor eax, eax
push eax
lea ecx, [ebp - 0x8cc]
call fcn.0046caa8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x456876
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x244]
call fcn.00403cef
push ebx
lea ecx, [ebp - 0x8cc]
call fcn.0046caa8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x45689f
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x22c]
call fcn.00403cef
push 2
lea ecx, [ebp - 0x8cc]
call fcn.0046caa8
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x4568c9
push esi
call fcn.00588144
pop ecx
push eax
push esi
lea ecx, [ebp - 0x214]
call fcn.00403cef
push 0xffffffffffffffff
xor esi, esi
push esi
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x1fc]
call fcn.00403c35
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00403c35
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.004010bc
push 8
pop edi
cmp dword [ebp - 0x10c], edi
lea eax, [ebp - 0x120]
cmovae eax, dword [ebp - 0x120]
push eax
lea ecx, [ebp - 0x588]
mov byte [ebp - 4], 0xa
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_wchar_t_const__
push eax
lea ecx, [ebp - 0x180]
call fcn.004010bc
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x170], esi
jbe 0x456977
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00403c35
jmp 0x456a5a
xor eax, eax
push 0xc6
mov word [ebp - 0xd8], ax
lea eax, [ebp - 0xd6]
push esi
push eax
call fcn.00587a70
cmp dword [ebp - 0x230], edi
lea ecx, [ebp - 0x244]
cmovae ecx, dword [ebp - 0x244]
cmp dword [ebp - 0x10c], edi
push ecx
lea eax, [ebp - 0x120]
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.00423f75
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 0x456a1e
xor eax, eax
cmp ax, word [ebp - 0xd8]
je 0x456a1e
lea eax, [ebp - 0xd8]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00403cef
jmp 0x456a5a
cmp dword [ebp - 0x230], edi
lea ecx, [ebp - 0x244]
cmovae ecx, dword [ebp - 0x244]
cmp dword [ebp - 0x10c], edi
push ecx
lea eax, [ebp - 0x120]
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.00423f75
add esp, 0x14
cmp dword [ebp - 0x10c], edi
lea eax, [ebp - 0x120]
cmovae eax, dword [ebp - 0x120]
push eax
lea ecx, [ebp - 0x8b0]
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_wchar_t_const__
push eax
lea ecx, [ebp - 0x168]
call fcn.004010bc
cmp dword [ebp - 0x158], 0
mov byte [ebp - 4], 0xc
jbe 0x456aa7
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x198]
call fcn.00403c35
mov ecx, dword [ebp - 0x8f0]
lea eax, [ebp - 0x260]
push eax
call fcn.004587e2
push esi
push ebx
lea ecx, [ebp - 0x168]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x180]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x120]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0xf0]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00403a7f
push esi
jmp 0x456782
push str.resources_path_is_too_long_1_._n
push esi
jmp 0x456b1f
push str.resources_path_is_too_long_1_._n
push str.CLanguageSelector::CreateLanguageList
push 2
call fcn.00423f75
mov edi, dword [ebp - 0x8d4]
push 0xb4
mov esi, 0xbba
lea eax, [edi + 8]
push esi
push eax
call fcn.0040a650
mov ecx, dword [0x62f260]
add esp, 0x18
push esi
call fcn.00414206
push eax
lea ecx, [edi + 4]
call fcn.0041b902
mov ecx, dword [0x62f260]
push esi
call fcn.0041423b
xor esi, esi
push esi
push ebx
lea ecx, [ebp - 0xf0]
mov dword [edi + 0xc], eax
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00403a7f
push esi
push ebx
lea ecx, [ebp - 0x150]
call fcn.00403a7f
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.0046c546
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.0046c546
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.0046c546
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.0044a851
push 0x5cf638
push str.CLanguageSelector::CreateLanguageList
push 5
call fcn.00423f75
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.00588a9a
ret 4