Function at 0x100b966b
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x13c
mov eax, dword [0x1000f6d4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
and dword [ebp - 0x108], esi
and dword [ebp - 0x10c], esi
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], ecx
cmp dword [0x10106e00], esi
jne 0x100b96bb
mov esi, 0x8ff000ff
jmp 0x100b9b67
test eax, eax
je 0x100b9b62
push ebx
call fcn.100b9f8a
test al, al
je 0x100b9b62
push dword [ebx]
call fcn.100b7024
mov dword [ebp - 0x114], eax
test eax, eax
je 0x100b9b67
mov ecx, dword [ebx + 8]
test ecx, ecx
jne 0x100b9707
lea eax, [ebp - 0x10c]
push eax
push 1
push dword [ebx]
call fcn.100b6649
mov ecx, dword [ebp - 0x10c]
mov esi, eax
jmp 0x100b970d
mov dword [ebp - 0x10c], ecx
test esi, esi
js 0x100b9b67
test ecx, ecx
je 0x100b9b67
mov eax, dword [0x1013eb4c]
push 0
add ecx, ecx
push dword [eax + ecx*8 + 4]
lea eax, [ebp - 0x104]
push 0x7f
push eax
call fcn.100bb63c
test al, al
je 0x100b9b67
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x10c]
call fcn.100b65b2
mov esi, eax
test esi, esi
js 0x100b9b67
push 0x10106de8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x10
mov ecx, 0x10106e04
call fcn.10006213
test eax, eax
je 0x100b9782
mov ecx, eax
call fcn.100baf7e
mov ecx, eax
jmp 0x100b9784
xor ecx, ecx
mov eax, dword [ebp - 0x108]
mov dword [0x1013eb8c], ecx
mov dword [0x1013eb90], eax
test ecx, ecx
je 0x100b9b50
mov ecx, dword [ebp + 0xc]
push edi
test cl, 0x54
je 0x100b9914
or dword [0x1013eb94], 0x54
push 2
lea eax, [ebp - 0x134]
mov edi, 0x100b9c30
push eax
mov dword [ebp - 0x118], edi
push 0x21
test ecx, 0x100
je 0x100b97d3
push 0
jmp 0x100b97dc
mov eax, dword [ebp - 0x114]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
je 0x100b9808
movzx eax, word [ebp - 0x134]
sub eax, 0x30
dec eax
je 0x100b97fd
dec eax
jne 0x100b9808
mov edi, 0x100b9c90
jmp 0x100b9802
mov edi, 0x100b9c60
mov dword [ebp - 0x118], edi
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
test dword [ebx + 0x100b9bd4], ecx
je 0x100b98fc
lea eax, [ebp - 0x130]
push eax
push 0
push dword [ebx + 0x100b9bd8]
push edi
push 0
call fcn.10007b30
mov esi, eax
test esi, esi
js 0x100b9883
mov eax, dword [ebp - 0x12c]
xor edi, edi
test eax, eax
je 0x100b9875
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + edi*4], 0
je 0x100b9870
push dword [0x1013eb94]
push 0
push dword [ecx + edi*4]
mov ecx, dword [0x1013eb8c]
push dword [ebp - 0x108]
call fcn.100bafc5
mov eax, dword [ebp - 0x12c]
inc edi
cmp edi, eax
jb 0x100b9842
lea eax, [ebp - 0x130]
push eax
call fcn.10008479
jmp 0x100b98f9
lea eax, [ebp - 0x130]
push eax
mov eax, dword [ebp - 0x110]
push 0
push dword [ebx + 0x100b9bd8]
push 0x100b9c08
push dword [eax]
call fcn.10007b30
mov esi, eax
test esi, esi
js 0x100b98eb
mov eax, dword [ebp - 0x12c]
xor edi, edi
test eax, eax
je 0x100b9875
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + edi*4], 0
je 0x100b98e4
push dword [0x1013eb94]
push 0
push dword [ecx + edi*4]
mov ecx, dword [0x1013eb8c]
push dword [ebp - 0x108]
call fcn.100bafc5
mov eax, dword [ebp - 0x12c]
inc edi
cmp edi, eax
jae 0x100b9875
jmp 0x100b98b6
cmp esi, 0x8007000e
je 0x100b9b32
xor esi, esi
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x118]
add ebx, 0xc
cmp ebx, 0x30
jb 0x100b980d
mov ebx, dword [ebp - 0x110]
xor edi, edi
mov eax, dword [edi + 0x100b9b80]
test ecx, eax
je 0x100b9a99
mov dword [0x1013eb94], eax
test cl, cl
jns 0x100b9937
or eax, 0x80
mov dword [0x1013eb94], eax
push dword [ebx]
call fcn.100b705f
test al, al
jne 0x100b9a3c
lea eax, [ebp - 0x130]
push eax
push 0
push dword [edi + 0x100b9b84]
push 0x10028e0c
push dword [ebx]
call fcn.10007b30
mov esi, eax
test esi, esi
js 0x100b99b4
mov eax, dword [ebp - 0x12c]
xor esi, esi
test eax, eax
je 0x100b99a6
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + esi*4], 0
je 0x100b99a1
push dword [0x1013eb94]
push 0
push dword [ecx + esi*4]
mov ecx, dword [0x1013eb8c]
push dword [ebp - 0x108]
call fcn.100bafc5
mov eax, dword [ebp - 0x12c]
inc esi
cmp esi, eax
jb 0x100b9973
lea eax, [ebp - 0x130]
push eax
call fcn.10008479
jmp 0x100b99c0
cmp esi, 0x8007000e
je 0x100b9b32
lea eax, [ebp - 0x130]
push eax
push 0
push dword [edi + 0x100b9b84]
lea eax, [ebp - 0x104]
push eax
push dword [ebx]
call fcn.10007b30
mov esi, eax
test esi, esi
js 0x100b9a30
mov eax, dword [ebp - 0x12c]
xor esi, esi
test eax, eax
je 0x100b9a22
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + esi*4], 0
je 0x100b9a1d
push dword [0x1013eb94]
push 0
push dword [ecx + esi*4]
mov ecx, dword [0x1013eb8c]
push dword [ebp - 0x108]
call fcn.100bafc5
mov eax, dword [ebp - 0x12c]
inc esi
cmp esi, eax
jb 0x100b99ef
lea eax, [ebp - 0x130]
push eax
call fcn.10008479
jmp 0x100b9a3c
cmp esi, 0x8007000e
je 0x100b9b32
mov eax, dword [edi + 0x100b9b80]
test al, 0xb
je 0x100b9a64
mov eax, dword [ebp - 0x114]
push 0
push dword [edi + 0x100b9b88]
push dword [eax + 4]
push 0x100bb159
call dword [sym.imp.KERNEL32.dll_EnumDateFormatsExEx]
jmp 0x100b9a80
test al, 0x20
je 0x100b9a80
mov eax, dword [ebp - 0x114]
push 0
push 0
push dword [eax + 4]
push 0x100bb194
call dword [sym.imp.KERNEL32.dll_EnumTimeFormatsEx]
mov eax, dword [0x1013eb8c]
mov esi, dword [eax + 0xc]
cmp esi, 0x8007000e
je 0x100b9b32
mov ecx, dword [ebp + 0xc]
xor esi, esi
add edi, 0xc
cmp edi, 0x54
jb 0x100b9916
mov eax, dword [0x1013eb8c]
xor edi, edi
add eax, 4
cmp dword [eax], edi
jbe 0x100b9b32
xor ebx, ebx
cmp edi, dword [eax]
jb 0x100b9abd
xor eax, eax
jmp 0x100b9ac7
mov eax, dword [0x1013eb8c]
mov eax, dword [eax]
mov eax, dword [ebx + eax]
lea ecx, [ebp - 0x110]
push ecx
push eax
call fcn.100b6559
mov esi, eax
test esi, esi
js 0x100b9b18
mov ecx, dword [0x1013eb8c]
cmp edi, dword [ecx + 4]
jb 0x100b9ae9
xor edx, edx
jmp 0x100b9aef
mov eax, dword [ecx]
mov edx, dword [ebx + eax + 0xc]
cmp edi, dword [ecx + 4]
jb 0x100b9af8
xor eax, eax
jmp 0x100b9afe
mov eax, dword [ecx]
mov eax, dword [ebx + eax + 4]
push dword [ebp - 0x138]
push edx
push eax
push dword [ebp - 0x110]
call dword [ebp - 0x13c]
test eax, eax
jne 0x100b9b22
jmp 0x100b9b32
cmp esi, 0x8007000e
je 0x100b9b32
xor esi, esi
mov eax, dword [0x1013eb8c]
inc edi
add eax, 4
add ebx, 0x10
cmp edi, dword [eax]
jb 0x100b9abd
mov ecx, dword [0x1013eb8c]
call fcn.100bb10c
push dword [0x1013eb8c]
mov ecx, 0x10106e04
call fcn.100078cd
pop edi
jmp 0x100b9b55
mov esi, 0x8007000e
push 0x10106de8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x100b9b67
mov esi, 0x80004005
mov ecx, dword [ebp - 4]
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.10002069
leave
ret 0x10