Function at 0x10020447
Capabilities:
Get geographical location
Identify system language via api

Disassembly:
push 0x198
mov eax, 0x1007d75c
call fcn.10063f27
lea esi, [ebp - 0x1a0]
mov dword [ebp - 4], 2
call fcn.10026f5a
mov byte [ebp - 4], 3
mov bl, byte [0x100aba29]
mov al, byte [0x100aba2a]
mov cl, byte [0x100aba2b]
mov dl, byte [0x100aba2c]
mov byte [ebp - 0x195], al
mov byte [ebp - 0x1a1], cl
mov byte [ebp - 0x1a2], dl
test bl, bl
jne 0x100204ef
test al, al
jne 0x100204ef
test cl, cl
jne 0x100204ef
test dl, dl
jne 0x100204ef
xor esi, esi
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1a0], esi
je 0x100204bf
push dword [ebp - 0x1a0]
call fcn.1005a1d0
pop ecx
mov byte [ebp - 4], 1
cmp dword [ebp + 0xc], esi
je 0x100204d1
push dword [ebp + 0xc]
call fcn.1005a1d0
pop ecx
mov byte [ebp - 4], 0
cmp dword [ebp + 0x14], esi
je 0x100204e3
push dword [ebp + 0x14]
call fcn.1005a1d0
pop ecx
or dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x1c], esi
jmp 0x100206b9
lea eax, [ebp + 0x1c]
call fcn.10027071
test al, al
je 0x10020508
push str.empty
lea esi, [ebp + 0x1c]
call fcn.10027362
push str._r_nAPI_version:
lea esi, [ebp + 0x1c]
call fcn.10027443
push 0x1009717c
call fcn.10027443
mov eax, dword [ebp + 8]
xor edi, edi
sub eax, edi
je 0x1002063a
dec eax
je 0x1002062a
dec eax
je 0x1002056f
dec eax
je 0x10020558
sub eax, 3
jne 0x10020676
cmp byte [ebp - 0x1a2], al
je 0x10020676
push str.GenErr:
jmp 0x10020643
cmp byte [ebp - 0x195], 0
je 0x10020676
push str.Info:
jmp 0x10020643
cmp byte [ebp - 0x1a1], 0
je 0x10020676
mov edi, dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
call edi
movzx eax, ax
mov ebx, 0x100971e8
push ebx
push eax
push str.OLANGS:
lea esi, [ebp - 0x1a0]
call fcn.10027362
call fcn.1002749a
mov esi, eax
call fcn.10027443
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push ebx
push eax
lea eax, [ebp - 0x1a0]
call fcn.1002749a
mov esi, eax
call fcn.10027443
mov esi, 0x80
push esi
lea eax, [ebp - 0x194]
push eax
push 0x59
call edi
movzx eax, ax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x194]
push esi
push eax
call fcn.1002a5ca
add esp, 0xc
lea eax, [ebp - 0x94]
push eax
lea esi, [ebp - 0x1a0]
call fcn.10027443
push dword [ebp - 0x1a0]
mov ecx, dword [ebp + 0x1c]
push dword [ebp + 0xc]
push str.da30be9bcd4ad240be8c12290485c41b
push str.b2339614c111441ba9365e0dd24ca788
call fcn.100325a6
add esp, 0x10
xor edi, edi
jmp 0x10020676
cmp byte [ebp - 0x195], 0
je 0x10020676
push str.ODF:
jmp 0x10020643
test bl, bl
je 0x10020676
push str.ORC:
lea esi, [ebp - 0x1a0]
call fcn.10027362
push dword [ebp + 0x14]
mov esi, eax
call fcn.10027443
push dword [ebp - 0x1a0]
mov ecx, dword [ebp + 0x1c]
push dword [ebp + 0xc]
push str.da30be9bcd4ad240be8c12290485c41b
push str.b2339614c111441ba9365e0dd24ca788
call fcn.100325a6
add esp, 0x10
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1a0], edi
je 0x1002068e
push dword [ebp - 0x1a0]
call fcn.1005a1d0
pop ecx
mov byte [ebp - 4], 1
cmp dword [ebp + 0xc], edi
je 0x100206a0
push dword [ebp + 0xc]
call fcn.1005a1d0
pop ecx
mov byte [ebp - 4], 0
cmp dword [ebp + 0x14], edi
je 0x100206b2
push dword [ebp + 0x14]
call fcn.1005a1d0
pop ecx
or dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x1c], edi
je 0x100206c4
push dword [ebp + 0x1c]
call fcn.1005a1d0
pop ecx
call fcn.10063faa
ret