Function at 0x4286a6
Capabilities:
Get geographical location

Disassembly:
push 0x904
mov eax, 0x44b642
call fcn.004386f7
mov edi, ecx
mov dword [ebp - 0x8d0], edi
mov esi, dword [ebp + 8]
push 0x4558c0
push str.CLanguageSelector::CreateLanguageList
push 5
mov dword [ebp - 0x8d4], esi
call fcn.00405a24
add esp, 0xc
lea ecx, [ebp - 0x588]
call sym.DELDRV.exe_public:_void___thiscall_CDeviceInfSection::constructor_void_
xor eax, eax
lea ecx, [ebp - 0x8b0]
mov dword [ebp - 4], eax
call sym.DELDRV.exe_public:_void___thiscall_CDeviceInfSection::constructor_void_
xor ebx, ebx
inc ebx
mov byte [ebp - 4], bl
test esi, esi
je 0x428fd6
lea esi, [edi + 0x368]
mov ecx, esi
push dword [esi + 4]
mov dword [ebp - 0x8f0], esi
push dword [esi]
call fcn.0042a84d
mov eax, dword [esi]
mov dword [esi + 4], eax
mov eax, dword [edi + 0x14]
lea esi, [edi + 4]
cmp dword [esi + 0x14], 8
jb 0x428730
mov ecx, dword [esi]
jmp 0x428732
mov ecx, esi
push 0xf
push str.NATIVELANGNAME
push 0
inc eax
push eax
push ecx
lea ecx, [ebp - 0x588]
call sym.DELDRV.exe_public:_int___thiscall_CDeviceInfSection::InitWFN_wchar_t_const___unsigned_int__class_CInfStringTable___wchar_t_const___unsigned_int_
test eax, eax
je 0x428758
lea ecx, [ebp - 0x588]
call sym.DELDRV.exe_public:_int___thiscall_CDeviceInfSection::GetList_void_
cmp dword [esi + 0x14], 8
mov eax, dword [edi + 0x14]
jb 0x428763
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.DELDRV.exe_public:_int___thiscall_CDeviceInfSection::InitWFN_wchar_t_const___unsigned_int__class_CInfStringTable___wchar_t_const___unsigned_int_
test eax, eax
je 0x428789
lea ecx, [ebp - 0x8b0]
call sym.DELDRV.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.DELDRV.exe_public:_unsigned_long_int___thiscall_CDeviceInfSection::Count_void_
test eax, eax
je 0x428934
lea ecx, [ebp - 0x260]
call fcn.004282a3
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.00430fac
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.00430fac
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.00430fac
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.DELDRV.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetKey_unsigned_long_int_
push eax
call fcn.0043a4af
add esp, 0xc
lea ecx, [edi + 0x40]
push 0x2c
push esi
mov word [ebp - 0x260], ax
call sym.DELDRV.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_unsigned_long_int_
push eax
lea ecx, [ebp - 0x8cc]
call fcn.0043250a
push 0x20
lea ecx, [ebp - 0x8cc]
call fcn.00432e03
lea ecx, [ebp - 0x8cc]
call fcn.00431332
cmp eax, ebx
jne 0x42894f
push 9
mov esi, str._SELECT_
push esi
call fcn.0043965b
pop ecx
pop ecx
push eax
push esi
xor esi, esi
push esi
lea ecx, [ebp - 0x8cc]
call fcn.004315c5
push eax
call fcn.004394ab
add esp, 0xc
test eax, eax
jne 0x4288dd
push 0x7c
push esi
lea ecx, [ebp - 0x8cc]
mov dword [ebp - 0x1cc], ebx
call fcn.004315c5
push eax
lea ecx, [ebp - 0x908]
call fcn.0043250a
lea ecx, [ebp - 0x908]
call fcn.00431332
cmp eax, 2
jne 0x4288cb
push ebx
lea ecx, [ebp - 0x908]
call fcn.004315c5
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x4288be
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1c8]
call fcn.00401db2
lea eax, [ebp - 0x260]
push eax
lea ecx, [edi + 0x368]
call fcn.0042acfd
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.00431063
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.00431063
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.00431063
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.004284c5
inc dword [ebp - 0x8b4]
lea ecx, [edi + 0x40]
call sym.DELDRV.exe_public:_unsigned_long_int___thiscall_CDeviceInfSection::Count_void_
mov esi, dword [ebp - 0x8b4]
cmp esi, eax
jb 0x4287a9
push 0x4558dc
push str.CLanguageSelector::CreateLanguageList
push 5
call fcn.00405a24
add esp, 0xc
xor eax, eax
jmp 0x428fee
lea ecx, [ebp - 0x8cc]
call fcn.00431332
cmp eax, 3
jne 0x4288dd
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.004315c5
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x4289dc
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x138]
call fcn.00401db2
lea esi, [edi + 0x24]
lea eax, [ebp - 0xf0]
cmp eax, esi
je 0x428a07
push 0xffffffffffffffff
xor eax, eax
push eax
push esi
lea ecx, [ebp - 0xf0]
call fcn.00401cf8
cmp dword [ebp - 0x124], 8
lea eax, [ebp - 0x138]
cmovae eax, dword [ebp - 0x138]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.0043460e
push dword [ebp - 0xe0]
push str.strFullStringTable.length_____1_lu__n
push str.CLanguageSelector::CreateLanguageList
push 4
call fcn.00405a24
add esp, 0x18
cmp dword [ebp - 0xe0], 0x104
jae 0x428f13
cmp dword [ebp - 0xdc], 8
lea eax, [ebp - 0xf0]
cmovae eax, dword [ebp - 0xf0]
push eax
call fcn.00426617
pop ecx
test eax, eax
jne 0x428aac
xor esi, esi
push esi
push ebx
lea ecx, [ebp - 0xf0]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x150]
call fcn.00401ba5
jmp 0x4288dd
push 2
lea ecx, [ebp - 0x8cc]
call fcn.004315c5
mov edi, eax
xor eax, eax
cmp word [edi], ax
je 0x428ac9
push edi
call fcn.0043860f
pop ecx
push eax
push edi
lea ecx, [ebp - 0x150]
call fcn.00401db2
lea eax, [ebp - 0x108]
xor edi, edi
cmp eax, esi
je 0x428aed
push 0xffffffffffffffff
push edi
push esi
mov ecx, eax
call fcn.00401cf8
cmp dword [ebp - 0x13c], 8
lea eax, [ebp - 0x150]
cmovae eax, dword [ebp - 0x150]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.0043460e
push dword [ebp - 0xf8]
mov esi, str.CLanguageSelector::CreateLanguageList
push str.strFullResourceDLL.length_____1_lu__n
push esi
push 4
call fcn.00405a24
add esp, 0x18
cmp dword [ebp - 0xf8], 0x104
jae 0x428f0b
cmp dword [ebp - 0xf4], 8
lea eax, [ebp - 0x108]
cmovae eax, dword [ebp - 0x108]
push eax
call fcn.00426617
pop ecx
test eax, eax
jne 0x428bd2
push edi
push ebx
lea ecx, [ebp - 0xf0]
call fcn.00401ba5
push edi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00401ba5
push edi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00401ba5
push edi
push ebx
lea ecx, [ebp - 0x150]
call fcn.00401ba5
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.00431063
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.00431063
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.00431063
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.004284c5
mov edi, dword [ebp - 0x8d0]
jmp 0x428918
push 0x7c
push edi
lea ecx, [ebp - 0x8cc]
call fcn.004315c5
push eax
lea ecx, [ebp - 0x8ec]
call fcn.0043250a
lea ecx, [ebp - 0x8ec]
call fcn.00431332
push edi
cmp eax, 2
jb 0x428c2e
lea ecx, [ebp - 0x8ec]
call fcn.004315c5
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x428c18
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x25c]
call fcn.00401db2
push ebx
lea ecx, [ebp - 0x8ec]
jmp 0x428c5f
lea ecx, [ebp - 0x8cc]
call fcn.004315c5
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x428c49
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x25c]
call fcn.00401db2
xor eax, eax
push eax
lea ecx, [ebp - 0x8cc]
call fcn.004315c5
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x428c74
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x244]
call fcn.00401db2
push ebx
lea ecx, [ebp - 0x8cc]
call fcn.004315c5
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x428c9d
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x22c]
call fcn.00401db2
push 2
lea ecx, [ebp - 0x8cc]
call fcn.004315c5
mov esi, eax
xor eax, eax
cmp word [esi], ax
je 0x428cc7
push esi
call fcn.0043860f
pop ecx
push eax
push esi
lea ecx, [ebp - 0x214]
call fcn.00401db2
push 0xffffffffffffffff
xor esi, esi
push esi
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x1fc]
call fcn.00401cf8
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00401cf8
push dword [ebp - 0x8b4]
mov ecx, dword [ebp - 0x90c]
call sym.DELDRV.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetKey_unsigned_long_int_
push eax
lea ecx, [ebp - 0x120]
call fcn.00403477
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.DELDRV.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_wchar_t_const__
push eax
lea ecx, [ebp - 0x180]
call fcn.00403477
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x170], esi
jbe 0x428d75
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00401cf8
jmp 0x428e58
xor eax, eax
push 0xc6
mov word [ebp - 0xd8], ax
lea eax, [ebp - 0xd6]
push esi
push eax
call fcn.00438dc0
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.00405a24
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 0x428e1c
xor eax, eax
cmp ax, word [ebp - 0xd8]
je 0x428e1c
lea eax, [ebp - 0xd8]
push eax
call fcn.0043860f
pop ecx
push eax
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00401db2
jmp 0x428e58
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.00405a24
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.DELDRV.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_wchar_t_const__
push eax
lea ecx, [ebp - 0x168]
call fcn.00403477
cmp dword [ebp - 0x158], 0
mov byte [ebp - 4], 0xc
jbe 0x428ea5
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x198]
call fcn.00401cf8
mov ecx, dword [ebp - 0x8f0]
lea eax, [ebp - 0x260]
push eax
call fcn.0042acfd
push esi
push ebx
lea ecx, [ebp - 0x168]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x180]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x120]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0xf0]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00401ba5
push esi
jmp 0x428b80
push str.resources_path_is_too_long_1_._n
push esi
jmp 0x428f1d
push str.resources_path_is_too_long_1_._n
push str.CLanguageSelector::CreateLanguageList
push 2
call fcn.00405a24
mov edi, dword [ebp - 0x8d4]
push 0xb4
mov esi, 0xbba
lea eax, [edi + 8]
push esi
push eax
call fcn.0040ceea
mov ecx, dword [0x467018]
add esp, 0x18
push esi
call fcn.00407ad2
push eax
lea ecx, [edi + 4]
call fcn.0040983e
mov ecx, dword [0x467018]
push esi
call fcn.00407b07
xor esi, esi
push esi
push ebx
lea ecx, [ebp - 0xf0]
mov dword [edi + 0xc], eax
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x108]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x138]
call fcn.00401ba5
push esi
push ebx
lea ecx, [ebp - 0x150]
call fcn.00401ba5
lea ecx, [ebp - 0x8ec]
mov byte [ebp - 4], 4
call fcn.00431063
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 3
call fcn.00431063
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 2
call fcn.00431063
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], bl
call fcn.004284c5
push 0x4558f8
push str.CLanguageSelector::CreateLanguageList
push 5
call fcn.00405a24
add esp, 0xc
xor eax, eax
mov ebx, eax
lea ecx, [ebp - 0x8b0]
mov byte [ebp - 4], al
call sym.DELDRV.exe_public_virtual:_void___thiscall_CDeviceInfSection::destructor_void_
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x588]
call sym.DELDRV.exe_public_virtual:_void___thiscall_CDeviceInfSection::destructor_void_
mov eax, ebx
call fcn.004386a6
ret 4