Function at 0x1002a79
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1164
call fcn.01007ef0
mov eax, dword [0x10093b0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
push edi
push 2
lea eax, [ebp - 0x954]
push eax
push 0x1fb
xor edi, edi
push edi
call esi
lea ecx, [eax - 1]
cmp ecx, 1
ja 0x1002ac9
push eax
lea eax, [ebp - 0x954]
push eax
push 2
push 0x1009020
call fcn.01002541
push 0x10
lea eax, [ebp - 0x954]
push eax
push 0x1fc
push edi
call esi
lea ecx, [eax - 1]
cmp ecx, 0xf
ja 0x1002af6
push eax
lea eax, [ebp - 0x954]
push eax
push 0x10
push section..data
call fcn.01002541
push 4
lea eax, [ebp - 0x954]
push eax
push 0x1fd
push edi
call esi
lea ecx, [eax - 1]
cmp ecx, 3
ja 0x1002b23
push eax
lea eax, [ebp - 0x954]
push eax
push 4
push 0x10093f4
call fcn.01002541
cmp dword [0x1009040], 6
mov dword [ebp - 0x1164], edi
je 0x1002fc5
mov dword [ebp - 0x1158], edi
mov dword [ebp - 0x115c], 0x1009040
mov edi, 0x400
push ebx
push edi
lea eax, [ebp - 0x1154]
push eax
mov eax, dword [ebp - 0x1158]
push dword [eax + 0x1009028]
push 0
call dword [sym.imp.USER32.dll_LoadStringW]
mov ebx, dword [sym.imp.msvcrt.dll_wcstok]
lea eax, [ebp - 0x1154]
push 0x1009020
push eax
call ebx
push 0x1009020
push 0
mov esi, eax
call ebx
push 0x1009020
push 0
mov dword [ebp - 0x1160], eax
call ebx
push 0x1009020
push 0
mov ebx, eax
call dword [sym.imp.msvcrt.dll_wcstok]
add esp, 0x20
push esi
call fcn.01001cdc
test eax, eax
jne 0x1002beb
mov ecx, 0x1001340
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002bdf
test dx, dx
je 0x1002bdb
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002bdf
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002bb9
xor eax, eax
jmp 0x1002be4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002beb
push esi
jmp 0x1002bed
push 0
call fcn.0100283f
mov ecx, dword [ebp - 0x1158]
push dword [ebp - 0x1160]
mov dword [ecx + 0x1009034], eax
call fcn.01001cdc
test eax, eax
mov esi, 0x1001340
jne 0x1002c51
mov eax, dword [ebp - 0x1160]
mov ecx, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002c40
test dx, dx
je 0x1002c3c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002c40
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002c1a
xor eax, eax
jmp 0x1002c45
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002c51
push dword [ebp - 0x1160]
jmp 0x1002c53
push 0
call fcn.0100283f
mov ecx, dword [ebp - 0x1158]
mov dword [ecx + 0x1009038], eax
mov eax, ecx
mov eax, dword [eax + 0x1009044]
test ax, 0x4000
je 0x1002ddf
mov ebx, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push 0x50
lea eax, [ebp - 0x154]
push eax
push 0x1f
push edi
call ebx
push 0x50
lea eax, [ebp - 0xb4]
push eax
push 0x1003
push edi
call ebx
push 4
lea eax, [ebp - 0x14]
push eax
push 0x28
push edi
call ebx
test eax, eax
jne 0x1002cae
and word [ebp - 0x14], ax
push 4
lea eax, [ebp - 0xc]
push eax
push 0x29
push edi
call ebx
test eax, eax
jne 0x1002cc1
and word [ebp - 0xc], ax
lea eax, [ebp - 0xb4]
push 0x1001284
push eax
call dword [sym.imp.msvcrt.dll_wcstok]
pop ecx
lea eax, [ebp - 0x14]
pop ecx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1002cdb
sub eax, edx
sar eax, 1
je 0x1002d44
lea eax, [ebp - 0xc]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1002cf1
sub eax, edx
sar eax, 1
je 0x1002d44
mov ebx, dword [ebp - 0x1158]
test byte [ebx + 0x1009044], 4
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x954]
je 0x1002d33
push 0x1001320
jmp 0x1002d38
push 0x1001300
push edi
push eax
call fcn.010025d0
add esp, 0x1c
jmp 0x1002d7d
mov ebx, dword [ebp - 0x1158]
test byte [ebx + 0x1009044], 4
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x954]
je 0x1002d6e
push 0x10012f0
jmp 0x1002d73
push 0x10012e0
push edi
push eax
call fcn.010025d0
add esp, 0x14
lea eax, [ebp - 0x954]
push eax
call fcn.01001cdc
test eax, eax
jne 0x1002dcd
mov ecx, esi
lea eax, [ebp - 0x954]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002dbb
test dx, dx
je 0x1002db7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002dbb
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002d95
xor eax, eax
jmp 0x1002dc0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002dcd
lea eax, [ebp - 0x954]
push eax
jmp 0x1002dcf
push 0
call fcn.0100283f
mov dword [ebx + 0x100903c], eax
jmp 0x1002f9a
test ax, 0x1000
je 0x1002e02
push edi
lea eax, [ebp - 0x1154]
push eax
push 0x1f7
push 0
call dword [sym.imp.USER32.dll_LoadStringW]
lea ebx, [ebp - 0x1154]
jmp 0x1002e3f
test ax, 0x2000
je 0x1002e17
push edi
lea eax, [ebp - 0x1154]
push eax
push 0x1f8
jmp 0x1002df2
test ax, ax
jns 0x1002e37
push edi
lea eax, [ebp - 0x1154]
push eax
push 0x1f9
push 0
call dword [sym.imp.USER32.dll_LoadStringW]
lea ebx, [ebp - 0x1154]
test ebx, ebx
je 0x1002f4f
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1002e44
sub eax, edx
sar eax, 1
je 0x1002f4f
mov ecx, esi
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002e82
test dx, dx
je 0x1002e7e
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002e82
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002e5c
xor eax, eax
jmp 0x1002e87
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002f4f
mov eax, dword [ebp - 0x1158]
mov eax, dword [eax + 0x1009044]
test al, 4
mov ecx, dword [ebp - 0x115c]
je 0x1002ec1
cmp dword [ecx], 5
jne 0x1002eb9
test ax, 0x200
jne 0x1002eb9
push ebx
push ebx
push 0x10012c4
jmp 0x1002ed3
push ebx
push 0x10012b8
jmp 0x1002eeb
cmp dword [ecx], 5
jne 0x1002ee5
test ax, 0x200
jne 0x1002ee5
push ebx
push ebx
push 0x100129c
lea eax, [ebp - 0x954]
push edi
push eax
call fcn.010025d0
add esp, 0x14
jmp 0x1002efb
push ebx
push 0x1001290
lea eax, [ebp - 0x954]
push edi
push eax
call fcn.010025d0
add esp, 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.01001cdc
test eax, eax
jne 0x1002f4b
mov ecx, esi
lea eax, [ebp - 0x954]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002f39
test dx, dx
je 0x1002f35
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002f39
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002f13
xor eax, eax
jmp 0x1002f3e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002f4b
lea eax, [ebp - 0x954]
push eax
jmp 0x1002f89
push 0
jmp 0x1002f89
xor ebx, ebx
push ebx
call fcn.01001cdc
test eax, eax
jne 0x1002f88
mov ecx, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002f83
cmp dx, bx
je 0x1002f7f
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002f83
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1002f5d
xor eax, eax
jmp 0x1002f88
sbb eax, eax
sbb eax, 0xffffffff
push ebx
call fcn.0100283f
mov ecx, dword [ebp - 0x1158]
mov dword [ecx + 0x100903c], eax
inc dword [ebp - 0x1164]
mov eax, dword [ebp - 0x1164]
shl eax, 6
mov dword [ebp - 0x1158], eax
lea eax, [eax + 0x1009040]
cmp dword [eax], 6
mov dword [ebp - 0x115c], eax
jne 0x1002b4c
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.01007ed1
leave
ret