Function at 0x10025fb0
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x314
mov dword [esp + 4], 0
call fcn.10026ef0
lea ecx, [esp]
push 4
push ecx
and eax, 0xffff
push 3
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
lea edx, [esp]
push 0x1003d1a8
push edx
mov byte [esp + 0xb], 0
call fcn.1002917c
add esp, 8
test eax, eax
jne 0x10026002
mov cl, byte [eax + 0x1003d1a4]
mov byte [esp + eax], cl
inc eax
test cl, cl
jne 0x10025ff3
lea eax, [esp]
push 0x1003d1a0
push eax
call fcn.1002917c
add esp, 8
test eax, eax
jne 0x10026027
mov cl, byte [eax + 0x1003d19c]
mov byte [esp + eax], cl
inc eax
test cl, cl
jne 0x10026018
lea ecx, [esp]
push 0x1003d198
push ecx
call fcn.1002917c
add esp, 8
test eax, eax
jne 0x1002604c
mov cl, byte [eax + 0x1003d19c]
mov byte [esp + eax], cl
inc eax
test cl, cl
jne 0x1002603d
lea edx, [esp]
push 0x1003d194
push edx
call fcn.1002917c
add esp, 8
test eax, eax
jne 0x10026071
mov cl, byte [eax + 0x1003d190]
mov byte [esp + eax], cl
inc eax
test cl, cl
jne 0x10026062
push ebx
push ebp
push esi
push edi
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x220]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x328]
lea eax, [esp + 0x220]
push eax
push ecx
call fcn.10025ec0
mov ebx, dword [esp + 0x334]
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x18]
lea eax, [esp + 0x20]
push edx
push ebx
push eax
call ebp
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x344]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
call fcn.10026800
add esp, 0x20
test eax, eax
je 0x1002613f
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x11c]
lea edx, [esp + 0x18]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x11c]
push ecx
push edx
call fcn.10025ec0
add esp, 8
lea esi, [esp + 0x220]
lea eax, [esp + 0x11c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1002612c
test cl, cl
je 0x10026128
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1002612c
add eax, 2
add esi, 2
test cl, cl
jne 0x10026108
xor eax, eax
jmp 0x10026131
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1002613f
mov ebx, 1
jmp 0x100264c2
lea eax, [esp + 0x10]
lea ecx, [esp + 0x18]
push eax
push ebx
push ecx
mov byte [esp + 0x1e], 0
call ebp
mov edx, dword [esp + 0x340]
mov eax, dword [esp + 0x33c]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.10026800
add esp, 0x18
test eax, eax
je 0x100261e0
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x11c]
lea edx, [esp + 0x11c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
push edx
push eax
call fcn.10025ec0
add esp, 8
lea esi, [esp + 0x220]
lea eax, [esp + 0x11c]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x100261cd
test cl, cl
je 0x100261c9
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x100261cd
add eax, 2
add esi, 2
test cl, cl
jne 0x100261a5
xor eax, eax
jmp 0x100261d2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100261e0
mov ebx, 1
jmp 0x100264c2
mov bl, 0x41
mov ecx, dword [esp + 0x32c]
lea eax, [esp + 0x10]
push eax
lea edx, [esp + 0x1c]
push ecx
push edx
mov byte [esp + 0x1e], bl
call ebp
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x33c]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.10026800
add esp, 0x18
test eax, eax
je 0x100262a2
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x11c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x18]
push eax
push ecx
call fcn.10025ec0
add esp, 8
lea esi, [esp + 0x220]
lea eax, [esp + 0x11c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10026276
test cl, cl
je 0x10026272
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10026276
add eax, 2
add esi, 2
test cl, cl
jne 0x10026252
xor eax, eax
jmp 0x1002627b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100262a2
mov esi, dword [esp + 0x330]
push esi
call fcn.10036f90
push 0x1003d18c
push esi
call fcn.10028410
add esp, 0xc
test eax, eax
je 0x100261d6
inc bl
cmp bl, 0x5a
jle 0x100261e2
lea eax, [esp + 0x10]
push 4
push eax
push 0
push str.SOFTWAREATI_TechnologiesDesktopControlPanel
push SysStringLen
call fcn.10024100
add esp, 0x14
mov ebx, 1
test eax, eax
je 0x10026383
mov edi, 0x1003e3e0
lea esi, [esp + 0x10]
mov ecx, ebx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10026383
mov ecx, dword [esp + 0x32c]
lea eax, [esp + 0x10]
push eax
lea edx, [esp + 0x1c]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x33c]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.10026800
add esp, 0x18
test eax, eax
je 0x10026383
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x11c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x18]
push eax
push ecx
call fcn.10025ec0
add esp, 8
lea esi, [esp + 0x220]
lea eax, [esp + 0x11c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10026376
test cl, cl
je 0x10026372
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10026376
add eax, 2
add esi, 2
test cl, cl
jne 0x10026352
xor eax, eax
jmp 0x1002637b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100264c2
xor eax, eax
mov cl, byte [eax + 0x1003d18c]
mov byte [esp + eax + 0x10], cl
inc eax
test cl, cl
jne 0x10026385
mov ecx, dword [esp + 0x32c]
lea eax, [esp + 0x10]
push eax
lea edx, [esp + 0x1c]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x33c]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.10026800
add esp, 0x18
test eax, eax
je 0x1002642d
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x11c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x18]
push eax
push ecx
call fcn.10025ec0
add esp, 8
lea esi, [esp + 0x220]
lea eax, [esp + 0x11c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10026420
test cl, cl
je 0x1002641c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10026420
add eax, 2
add esi, 2
test cl, cl
jne 0x100263fc
xor eax, eax
jmp 0x10026425
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100264c2
mov eax, dword [esp + 0x32c]
push 0x1003d158
lea ecx, [esp + 0x1c]
push eax
push ecx
call ebp
mov edx, dword [esp + 0x340]
mov eax, dword [esp + 0x33c]
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.10026800
add esp, 0x18
test eax, eax
je 0x100264c6
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x11c]
lea edx, [esp + 0x11c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
push edx
push eax
call fcn.10025ec0
add esp, 8
lea esi, [esp + 0x220]
lea eax, [esp + 0x11c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100264b9
test cl, cl
je 0x100264b5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100264b9
add eax, 2
add esi, 2
test cl, cl
jne 0x10026495
xor eax, eax
jmp 0x100264be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100264c6
mov dword [esp + 0x14], ebx
lea eax, [esp + 0x10]
push 0x1003d154
push eax
call fcn.1002917c
add esp, 8
test eax, eax
je 0x100264f9
lea ecx, [esp + 0x10]
push 0x1003d150
push ecx
call fcn.1002917c
add esp, 8
mov byte [0x1003e3f0], 0
test eax, eax
jne 0x100264ff
mov byte [0x1003e3f0], bl
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
test eax, eax
pop ebx
je 0x10026534
mov edx, dword [esp + 0x31c]
lea ecx, [esp + 8]
lea eax, [esp + 8]
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1002651c
mov eax, dword [esp + 0x320]
add esp, 0x314
ret
xor eax, eax
add esp, 0x314
ret