Function at 0x1002ba9
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1164
call fcn.01008050
mov eax, dword [0x100a3a8]
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 0x1002bf9
push eax
lea eax, [ebp - 0x954]
push eax
push 2
push 0x100a020
call fcn.01002651
push 0x10
lea eax, [ebp - 0x954]
push eax
push 0x1fc
push edi
call esi
lea ecx, [eax - 1]
cmp ecx, 0xf
ja 0x1002c26
push eax
lea eax, [ebp - 0x954]
push eax
push 0x10
push section..data
call fcn.01002651
push 4
lea eax, [ebp - 0x954]
push eax
push 0x1fd
push edi
call esi
lea ecx, [eax - 1]
cmp ecx, 3
ja 0x1002c53
push eax
lea eax, [ebp - 0x954]
push eax
push 4
push 0x100a3e4
call fcn.01002651
cmp dword [0x100a040], 6
mov dword [ebp - 0x1164], edi
je 0x10030fc
mov dword [ebp - 0x1158], edi
mov dword [ebp - 0x115c], 0x100a040
mov edi, 0x400
push ebx
push edi
lea eax, [ebp - 0x1154]
push eax
mov eax, dword [ebp - 0x1158]
push dword [eax + 0x100a028]
push 0
call dword [sym.imp.USER32.dll_LoadStringW]
mov ebx, dword [sym.imp.msvcrt.dll_wcstok]
lea eax, [ebp - 0x1154]
push 0x100a020
push eax
call ebx
push 0x100a020
push 0
mov esi, eax
call ebx
push 0x100a020
push 0
mov dword [ebp - 0x1160], eax
call ebx
push 0x100a020
push 0
mov ebx, eax
call dword [sym.imp.msvcrt.dll_wcstok]
add esp, 0x20
push esi
call fcn.01001cb6
test eax, eax
jne 0x1002d1b
mov ecx, 0x1001350
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002d0f
test dx, dx
je 0x1002d0b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002d0f
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002ce9
xor eax, eax
jmp 0x1002d14
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002d1b
push esi
jmp 0x1002d1d
push 0
call fcn.0100296f
mov ecx, dword [ebp - 0x1158]
push dword [ebp - 0x1160]
mov dword [ecx + 0x100a034], eax
call fcn.01001cb6
mov esi, 0x1001350
test eax, eax
jne 0x1002d81
mov eax, dword [ebp - 0x1160]
mov ecx, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002d70
test dx, dx
je 0x1002d6c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002d70
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002d4a
xor eax, eax
jmp 0x1002d75
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002d81
push dword [ebp - 0x1160]
jmp 0x1002d83
push 0
call fcn.0100296f
mov ecx, dword [ebp - 0x1158]
mov dword [ecx + 0x100a038], eax
mov eax, ecx
mov eax, dword [eax + 0x100a044]
test eax, 0x4000
je 0x1002f10
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 0x1002ddf
mov word [ebp - 0x14], ax
push 4
lea eax, [ebp - 0xc]
push eax
push 0x29
push edi
call ebx
test eax, eax
jne 0x1002df2
mov word [ebp - 0xc], ax
lea eax, [ebp - 0xb4]
push 0x1001294
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 0x1002e0c
sub eax, edx
sar eax, 1
je 0x1002e75
lea eax, [ebp - 0xc]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1002e22
sub eax, edx
sar eax, 1
je 0x1002e75
mov ebx, dword [ebp - 0x1158]
test byte [ebx + 0x100a044], 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 0x1002e64
push 0x1001330
jmp 0x1002e69
push 0x1001310
push edi
push eax
call fcn.010026fa
add esp, 0x1c
jmp 0x1002eae
mov ebx, dword [ebp - 0x1158]
test byte [ebx + 0x100a044], 4
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x954]
je 0x1002e9f
push 0x1001300
jmp 0x1002ea4
push 0x10012f0
push edi
push eax
call fcn.010026fa
add esp, 0x14
lea eax, [ebp - 0x954]
push eax
call fcn.01001cb6
test eax, eax
jne 0x1002efe
mov ecx, esi
lea eax, [ebp - 0x954]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002eec
test dx, dx
je 0x1002ee8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002eec
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002ec6
xor eax, eax
jmp 0x1002ef1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1002efe
lea eax, [ebp - 0x954]
push eax
jmp 0x1002f00
push 0
call fcn.0100296f
mov dword [ebx + 0x100a03c], eax
jmp 0x10030d1
test eax, 0x1000
je 0x1002f34
push edi
lea eax, [ebp - 0x1154]
push eax
push 0x1f7
push 0
call dword [sym.imp.USER32.dll_LoadStringW]
lea ebx, [ebp - 0x1154]
jmp 0x1002f74
test eax, 0x2000
je 0x1002f4a
push edi
lea eax, [ebp - 0x1154]
push eax
push 0x1f8
jmp 0x1002f24
test eax, 0x8000
je 0x1002f6c
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 0x1003086
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1002f79
sub eax, edx
sar eax, 1
je 0x1003086
mov ecx, esi
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1002fb7
test dx, dx
je 0x1002fb3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1002fb7
add eax, 4
add ecx, 4
test dx, dx
jne 0x1002f91
xor eax, eax
jmp 0x1002fbc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1003086
mov eax, dword [ebp - 0x1158]
mov eax, dword [eax + 0x100a044]
mov ecx, dword [ebp - 0x115c]
test al, 4
je 0x1002ff7
cmp dword [ecx], 5
jne 0x1002fef
test eax, 0x200
jne 0x1002fef
push ebx
push ebx
push 0x10012d4
jmp 0x100300a
push ebx
push 0x10012c8
jmp 0x1003022
cmp dword [ecx], 5
jne 0x100301c
test eax, 0x200
jne 0x100301c
push ebx
push ebx
push 0x10012ac
lea eax, [ebp - 0x954]
push edi
push eax
call fcn.010026fa
add esp, 0x14
jmp 0x1003032
push ebx
push 0x10012a0
lea eax, [ebp - 0x954]
push edi
push eax
call fcn.010026fa
add esp, 0x10
lea eax, [ebp - 0x954]
push eax
call fcn.01001cb6
test eax, eax
jne 0x1003082
mov ecx, esi
lea eax, [ebp - 0x954]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1003070
test dx, dx
je 0x100306c
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1003070
add eax, 4
add ecx, 4
test dx, dx
jne 0x100304a
xor eax, eax
jmp 0x1003075
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1003082
lea eax, [ebp - 0x954]
push eax
jmp 0x10030c0
push 0
jmp 0x10030c0
xor ebx, ebx
push ebx
call fcn.01001cb6
test eax, eax
jne 0x10030bf
mov ecx, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10030ba
cmp dx, bx
je 0x10030b6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10030ba
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1003094
xor eax, eax
jmp 0x10030bf
sbb eax, eax
sbb eax, 0xffffffff
push ebx
call fcn.0100296f
mov ecx, dword [ebp - 0x1158]
mov dword [ecx + 0x100a03c], eax
inc dword [ebp - 0x1164]
mov eax, dword [ebp - 0x1164]
shl eax, 6
mov dword [ebp - 0x1158], eax
lea eax, [eax + 0x100a040]
cmp dword [eax], 6
mov dword [ebp - 0x115c], eax
jne 0x1002c7c
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.01008013
leave
ret