Function at 0x1002bf9
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1164
call fcn.01007460
mov eax, dword [0x1009428]
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 0x1002c49
push eax
lea eax, [ebp - 0x954]
push eax
push 2
push 0x1009020
call fcn.010026a1
push 0x10
lea eax, [ebp - 0x954]
push eax
push 0x1fc
push edi
call esi
lea ecx, [eax - 1]
cmp ecx, 0xf
ja 0x1002c76
push eax
lea eax, [ebp - 0x954]
push eax
push 0x10
push section..data
call fcn.010026a1
push 4
lea eax, [ebp - 0x954]
push eax
push 0x1fd
push edi
call esi
lea ecx, [eax - 1]
cmp ecx, 3
ja 0x1002ca3
push eax
lea eax, [ebp - 0x954]
push eax
push 4
push 0x1009464
call fcn.010026a1
cmp dword [0x1009040], 6
mov dword [ebp - 0x1164], edi
je 0x100314c
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.01001a46
test eax, eax
jne 0x1002d6b
mov ecx, 0x100132c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002d5f
test dx, dx
je 0x1002d5b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002d5f
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002d39
xor eax, eax
jmp 0x1002d64
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002d6b
push esi
jmp 0x1002d6d
push 0
call fcn.010029bf
mov ecx, dword [ebp - 0x1158]
push dword [ebp - 0x1160]
mov dword [ecx + 0x1009034], eax
call fcn.01001a46
mov esi, 0x100132c
test eax, eax
jne 0x1002dd1
mov eax, dword [ebp - 0x1160]
mov ecx, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002dc0
test dx, dx
je 0x1002dbc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002dc0
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002d9a
xor eax, eax
jmp 0x1002dc5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002dd1
push dword [ebp - 0x1160]
jmp 0x1002dd3
push 0
call fcn.010029bf
mov ecx, dword [ebp - 0x1158]
mov dword [ecx + 0x1009038], eax
mov eax, ecx
mov eax, dword [eax + 0x1009044]
test eax, 0x4000
je 0x1002f60
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 0x1002e2f
mov word [ebp - 0x14], ax
push 4
lea eax, [ebp - 0xc]
push eax
push 0x29
push edi
call ebx
test eax, eax
jne 0x1002e42
mov word [ebp - 0xc], ax
lea eax, [ebp - 0xb4]
push 0x1001270
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 0x1002e5c
sub eax, edx
sar eax, 1
je 0x1002ec5
lea eax, [ebp - 0xc]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1002e72
sub eax, edx
sar eax, 1
je 0x1002ec5
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 0x1002eb4
push 0x100130c
jmp 0x1002eb9
push 0x10012ec
push edi
push eax
call fcn.0100274a
add esp, 0x1c
jmp 0x1002efe
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 0x1002eef
push 0x10012dc
jmp 0x1002ef4
push 0x10012cc
push edi
push eax
call fcn.0100274a
add esp, 0x14
lea eax, [ebp - 0x954]
push eax
call fcn.01001a46
test eax, eax
jne 0x1002f4e
mov ecx, esi
lea eax, [ebp - 0x954]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002f3c
test dx, dx
je 0x1002f38
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002f3c
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002f16
xor eax, eax
jmp 0x1002f41
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002f4e
lea eax, [ebp - 0x954]
push eax
jmp 0x1002f50
push 0
call fcn.010029bf
mov dword [ebx + 0x100903c], eax
jmp 0x1003121
test eax, 0x1000
je 0x1002f84
push edi
lea eax, [ebp - 0x1154]
push eax
push 0x1f7
push 0
call dword [sym.imp.USER32.dll_LoadStringW]
lea ebx, [ebp - 0x1154]
jmp 0x1002fc4
test eax, 0x2000
je 0x1002f9a
push edi
lea eax, [ebp - 0x1154]
push eax
push 0x1f8
jmp 0x1002f74
test eax, 0x8000
je 0x1002fbc
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 0x10030d6
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1002fc9
sub eax, edx
sar eax, 1
je 0x10030d6
mov ecx, esi
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1003007
test dx, dx
je 0x1003003
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1003007
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002fe1
xor eax, eax
jmp 0x100300c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10030d6
mov eax, dword [ebp - 0x1158]
mov eax, dword [eax + 0x1009044]
mov ecx, dword [ebp - 0x115c]
test al, 4
je 0x1003047
cmp dword [ecx], 5
jne 0x100303f
test eax, 0x200
jne 0x100303f
push ebx
push ebx
push 0x10012b0
jmp 0x100305a
push ebx
push 0x10012a4
jmp 0x1003072
cmp dword [ecx], 5
jne 0x100306c
test eax, 0x200
jne 0x100306c
push ebx
push ebx
push 0x1001288
lea eax, [ebp - 0x954]
push edi
push eax
call fcn.0100274a
add esp, 0x14
jmp 0x1003082
push ebx
push 0x100127c
lea eax, [ebp - 0x954]
push edi
push eax
call fcn.0100274a
add esp, 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.01001a46
test eax, eax
jne 0x10030d2
mov ecx, esi
lea eax, [ebp - 0x954]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10030c0
test dx, dx
je 0x10030bc
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10030c0
add eax, 4
add ecx, 4
test dx, dx
jne 0x100309a
xor eax, eax
jmp 0x10030c5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10030d2
lea eax, [ebp - 0x954]
push eax
jmp 0x1003110
push 0
jmp 0x1003110
xor ebx, ebx
push ebx
call fcn.01001a46
test eax, eax
jne 0x100310f
mov ecx, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100310a
cmp dx, bx
je 0x1003106
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100310a
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x10030e4
xor eax, eax
jmp 0x100310f
sbb eax, eax
sbb eax, 0xffffffff
push ebx
call fcn.010029bf
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 0x1002ccc
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0100741c
leave
ret