Function at 0x1001a3b0
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x10080275
call fcn.1007fb08
sub esp, 0x94
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], 0x29949dfc
inc edi
mov byte [ebp - 0x15], dl
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x14], 0
jmp 0x1001a3f4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], 0x996f377c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001a3e6
dec dword [ebp - 0x10]
xor ebx, ebx
mov ecx, dword [ebp - 0x1c]
sub ecx, dword [ebp - 0x1c]
imul ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
push 4
pop esi
cmp ecx, eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
setge bl
xor edx, edx
cmp ecx, eax
setl dl
sub ebx, edx
sub ebx, dword [ebp - 0x1c]
sub ebx, dword [ebp - 0x1c]
neg ebx
sbb ebx, ebx
inc ebx
mov dword [ebp - 0x1c], ebx
xor ebx, ebx
mov dword [ebp - 0x10], ebx
jmp 0x1001a4f9
push esi
lea ecx, [ebp - 0x70]
call fcn.100168de
mov dword [ebp - 0x14], 0xfffffff9
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x14], ebx
jmp 0x1001a462
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x1001a456
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x2c]
cmp eax, edi
mov eax, 0xfb8c
setl cl
xor edx, edx
sub eax, ecx
mov ecx, 0xfffff869
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x70]
cmp ecx, dword [eax + 8]
mov eax, dword [ebp - 0x10]
setle dl
xor ebx, ebx
mov ecx, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x10]
sub edx, eax
cmp ecx, edx
setg bl
add ebx, 0xd7c6
sub ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
neg ebx
sbb ebx, ebx
xor ecx, ecx
inc ebx
mov edx, dword [ebp + eax*4 - 0x2c]
mov eax, dword [ebp - 0x20]
cmp ebx, eax
setl cl
xor ebx, ebx
add edx, ecx
mov dword [ebp - 0x28], edx
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], al
je 0x1001a4ee
push 0x24ea
push ebx
call dword [sym.imp.KERNEL32.dll_EnumSystemLocalesW]
lea ecx, [ebp - 0x70]
call fcn.10017139
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jle 0x1001a43a
cmp byte [ebp - 0x15], 0
je 0x1001a8c6
mov dword [ebp - 0x14], 0x2e91a049
mov dword [ebp - 0x10], 0x1afa
mov dword [ebp - 0x1c], 0xd5feaf86
mov dword [ebp - 0x20], 0x9c309ab8
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001a54c
push 0x1cfa
push 0x26b6
push 0x1050
push 0x13d3
push ebx
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
mov dword [ebp - 0x14], 0xfffffff8
jmp 0x1001a5e1
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1001a580
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x38], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001a572
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], 0x50d8af87
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1c]
add eax, ecx
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov eax, dword [ebp - 0x38]
sub eax, ecx
mov ecx, edi
neg eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x20]
cmp ecx, eax
setle dl
xor eax, eax
add edx, dword [ebp - 0x20]
cmp edx, 0xfffffffe
setle al
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff9
jg 0x1001a558
mov eax, 0x48c4
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x20], 6
mov dword [ebp - 0x14], ebx
jmp 0x1001a622
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x5c], 0x720d7006
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001a614
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001a641
push 0x10a8
push 0x1674
push ebx
call dword [sym.imp.GDI32.dll_OffsetRgn]
cmp dword [ebp - 0x94], ebx
je 0x1001a650
mov eax, edi
cmp dword [ebp - 0x5c], ebx
jne 0x1001a652
mov eax, ebx
cmp eax, 0xffff
push edi
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x20]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x50]
call fcn.100168de
push 3
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], ebx
call fcn.100168de
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], ebx
jmp 0x1001a69e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x50]
mov dword [eax + ecx*4], 0xdde0bcd8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1001a68e
mov dword [ebp - 0x10], ebx
jmp 0x1001a6b8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], 0x56f9b2cf
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1001a6a8
mov esi, dword [ebp - 0x7c]
mov dword [esi + 4], ebx
mov dword [ebp - 0x1c], 0x23ed15de
mov dword [ebp - 0x20], 0x2a2ef7e2
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x1001a74b
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x10], ebx
jmp 0x1001a6f4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x64], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1001a6ea
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x50]
cmp dword [eax + ecx*4], ebx
jne 0x1001a742
cmp dword [ebp - 0x1c], ebx
je 0x1001a730
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x50]
cmp dword [eax + ecx*4], ebx
jne 0x1001a71c
mov edx, ebx
cmp dword [ebp - 0x1c], ebx
je 0x1001a71e
mov edx, edi
mov eax, dword [ebp - 0x50]
mov ecx, dword [esi + 4]
mov dword [eax + ecx*4], edx
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
jle 0x1001a6de
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001a767
push 0x1ca6
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
dec dword [esi + 4]
jns 0x1001a6c4
push 2
mov dword [ebp - 0x14], ebx
pop esi
jmp 0x1001a795
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001a792
push 0x20c6
push 0x1de7
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x1001a778
lea ecx, [ebp - 0x7c]
call fcn.10017139
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.10017139
push esi
lea ecx, [ebp - 0x88]
call fcn.100168de
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0x700d35da
mov dword [ebp - 0x20], 0x75761ac7
mov dword [ebp - 0x10], ebx
jmp 0x1001a7e7
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x88]
mov dword [eax + ecx*4], 0x42a4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a7d4
mov dword [ebp - 0x10], ebx
jmp 0x1001a7fb
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x58], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a7f1
mov dword [ebp - 0x10], ebx
jmp 0x1001a816
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa0], 0x752570e8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1001a805
mov esi, dword [ebp - 0x54]
mov ecx, 0x9b3a00d0
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x54], esi
mov edi, dword [edx + 4]
cmp edi, 0xf58382bd
sbb eax, eax
neg eax
cmp ecx, eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, dword [edx]
setl cl
xor edx, edx
imul ecx, edi
cmp ecx, edi
setg dl
xor eax, eax
cmp esi, 0xfffffffb
setle al
add edx, eax
xor eax, eax
cmp edx, edi
setge al
xor ecx, ecx
cmp eax, edi
setge cl
xor edx, edx
cmp ecx, 0xffffffff
lea ecx, [ebp - 0x88]
setne dl
xor eax, eax
add edx, edi
cmp edi, edx
setge al
add eax, edi
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x20], 0x1b07fb07
call fcn.10017139
mov edx, dword [ebp + 0xc]
mov dword [edx], ebx
cmp dword [edx], 1
jge 0x1001a9a5
mov esi, dword [ebp - 0x30]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0x17f75960
inc dword [edx]
cmp dword [edx], 1
jl 0x1001a8af
jmp 0x1001a9a5
push 3
lea ecx, [ebp - 0x44]
call fcn.100168de
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x30], 0x8b1
mov dword [ebp - 0x14], 0xc6d21cd4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], ebx
jmp 0x1001a8f9
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov dword [eax + ecx*4], 0xdc85f70a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1001a8e9
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ebx
jl 0x1001a994
mov dword [ebp - 0x20], 0xe11a796d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
add edx, 0x8b77
cmp edx, eax
setg cl
xor ebx, ebx
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx + eax*4]
cmp eax, dword [ecx + edx*4]
setg bl
xor edx, edx
sub ebx, dword [ecx + esi*4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setl dl
xor ecx, ecx
test edx, edx
sets cl
imul ecx, dword [eax + edi*4]
xor eax, eax
cmp ebx, ecx
sete al
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
cmp eax, dword [edx + esi*4]
setg cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x14]
dec dword [ebp - 0x10]
jns 0x1001a90f
lea ecx, [ebp - 0x44]
call fcn.10017139
mov eax, dword [ebp + 8]
mov dword [eax], 0xa0b8ee41
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret