Function at 0x2103f417
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
push esi
mov eax, dword [ebp + 0x10]
mov word [eax], 0
cmp dword [ebp + 0xc], 0
je 0x2103f737
mov ecx, dword [ebp + 8]
and ecx, 0xffff
mov dword [ebp - 0x208], ecx
cmp dword [0x2109c994], 0
jne 0x2103f64b
push 2
push 0x2103f79d
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
mov edx, dword [0x2109c994]
add edx, 1
imul edx, edx, 0xc
mov eax, dword [0x2109c990]
lea ecx, [edx + eax*2]
mov dword [ebp - 0x20c], ecx
push 0
push 2
mov edx, dword [ebp - 0x20c]
push edx
mov ecx, 0x2109c978
call fcn.2102d311
mov eax, dword [0x2109c97c]
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
mov dword [0x2109c970], ecx
mov edx, dword [0x2109c994]
add edx, 1
imul edx, edx, 0xc
mov eax, dword [0x2109c970]
add eax, edx
mov dword [0x2109c968], eax
push 2
push 0x2103f846
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
push 0x2103f981
push 0xc
mov ecx, dword [0x2109c96c]
push ecx
mov edx, dword [0x2109c970]
push edx
call fcn.2105f697
add esp, 0x10
mov eax, dword [0x2109c96c]
imul eax, eax, 0xc
mov ecx, dword [0x2109c970]
mov dword [ecx + eax], 0
mov edx, dword [0x2109c96c]
imul edx, edx, 0xc
mov eax, dword [0x2109c970]
mov dword [eax + edx + 4], 0
mov ecx, dword [0x2109c96c]
imul ecx, ecx, 0xc
mov edx, dword [0x2109c970]
mov dword [edx + ecx + 8], 0
mov eax, dword [0x2109c970]
mov dword [ebp - 0x204], eax
jmp 0x2103f542
mov ecx, dword [ebp - 0x204]
add ecx, 0xc
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x204]
cmp dword [edx], 0
je 0x2103f64b
mov eax, dword [ebp - 0x204]
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x214], 1
mov ecx, dword [ebp - 0x210]
cmp dword [ecx + 4], 0
je 0x2103f5a4
mov edx, dword [ebp - 0x210]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x204]
mov edx, dword [ecx + 4]
push edx
call fcn.2105e86f
add esp, 8
test eax, eax
jne 0x2103f5a4
mov eax, dword [ebp - 0x210]
add eax, 0xc
mov dword [ebp - 0x210], eax
jmp 0x2103f567
mov ecx, dword [ebp - 0x204]
add ecx, 0xc
mov dword [ebp - 0x218], ecx
jmp 0x2103f5c4
mov edx, dword [ebp - 0x218]
add edx, 0xc
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x218]
cmp eax, dword [ebp - 0x210]
jae 0x2103f600
mov ecx, dword [ebp - 0x204]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax + 8]
push ecx
call fcn.2105e86f
add esp, 8
test eax, eax
je 0x2103f5fe
mov dword [ebp - 0x214], 0
jmp 0x2103f600
jmp 0x2103f5b5
cmp dword [ebp - 0x214], 0
je 0x2103f637
jmp 0x2103f61a
mov edx, dword [ebp - 0x204]
add edx, 0xc
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
cmp eax, dword [ebp - 0x210]
jae 0x2103f637
mov ecx, dword [ebp - 0x204]
mov dword [ecx + 8], 0
jmp 0x2103f60b
mov edx, dword [ebp - 0x210]
sub edx, 0xc
mov dword [ebp - 0x204], edx
jmp 0x2103f533
mov eax, dword [0x2109c970]
mov dword [ebp - 0x204], eax
jmp 0x2103f667
mov ecx, dword [ebp - 0x204]
add ecx, 0xc
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x204]
cmp dword [edx], 0
je 0x2103f737
mov eax, dword [ebp - 0x204]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x208]
jne 0x2103f732
mov edx, dword [ebp - 0x204]
mov eax, dword [edx + 4]
push eax
lea ecx, [ebp - 0x200]
push ecx
call fcn.2105e417
add esp, 8
mov edx, dword [ebp - 0x204]
mov eax, dword [edx + 8]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
je 0x2103f6d6
mov ecx, dword [ebp - 0x220]
xor edx, edx
mov dx, word [ecx]
test edx, edx
je 0x2103f6d6
mov dword [ebp - 0x224], 0
jmp 0x2103f6e0
mov dword [ebp - 0x224], 1
cmp dword [ebp - 0x224], 0
jne 0x2103f717
mov eax, dword [ebp - 0x204]
mov ecx, dword [eax + 8]
push ecx
push str.___s_
lea edx, [ebp - 0x200]
push edx
call fcn.2105e7d8
add esp, 4
lea eax, [ebp + eax*2 - 0x200]
push eax
call fcn.2105e37e
add esp, 0xc
push 0
lea ecx, [ebp - 0x200]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.21003492
add esp, 0x10
jmp 0x2103f737
jmp 0x2103f658
push pe_nt_image_headers32
lea ecx, [ebp - 0x200]
push ecx
push 0x1001
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x2103f790
lea eax, [ebp - 0x200]
push eax
call fcn.2105e7d8
add esp, 4
mov esi, eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.2105e7d8
add esp, 4
cmp esi, eax
jbe 0x2103f790
push 0
lea edx, [ebp - 0x200]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.21003492
add esp, 0x10
mov edx, dword [ebp + 0x10]
xor eax, eax
mov ax, word [edx]
pop esi
mov esp, ebp
pop ebp
ret