Function at 0x100091d2
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10057f3a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x88
push ebx
push esi
push edi
mov esi, edx
mov edi, ecx
xor edx, edx
mov dword [esp + 0x28], edx
push 2
mov dword [esp + 0x20], 0xd4e06482
mov dword [esp + 0x20], edx
pop ebx
jmp 0x100092ee
mov dword [esp + 0x14], 0xf37d45db
mov dword [esp + 0x18], 0xfffffff7
mov dword [esp + 0x18], edx
jmp 0x10009236
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x50], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x1000922a
mov dword [esp + 0x14], edx
jmp 0x10009268
mov dword [esp + 0x18], 0xc9ed9ba0
mov dword [esp + 0x18], edx
jmp 0x1000925d
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x50], edx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x10009251
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jle 0x10009243
mov dword [esp + 0x14], 0xc
jmp 0x100092e3
mov dword [esp + 0x20], 0xc97412df
mov dword [esp + 0x20], 0xfffffffb
jmp 0x100092bd
mov dword [esp + 0x18], edx
jmp 0x100092a1
mov eax, dword [esp + 0x18]
mov dword [esp + eax*4 + 0x40], 0xb8e9646b
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jl 0x10009291
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x14]
add eax, ecx
mov dword [esp + 0x18], eax
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0xfffffffd
jne 0x1000928b
mov byte [esp + 0x13], dl
cmp byte [esp + 0x13], 0
je 0x100092df
push 0x199
push edx
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor edx, edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x12
jne 0x10009279
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 7
jle 0x10009214
mov byte [esp + 0x13], dl
cmp byte [esp + 0x13], 0
je 0x10009311
push 0xede
push edx
push edx
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
call fcn.100052ed
push ecx
push eax
lea ecx, [esp + 0x40]
call fcn.10009cee
and dword [esp + 0x9c], 0
add esi, 0xffffd40a
mov edx, dword [esp + 0x38]
mov ecx, edx
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x10009365
cmp dword [eax + 0x10], esi
jge 0x10009348
mov eax, dword [eax + 8]
jmp 0x1000934c
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x1000933e
cmp ecx, edx
je 0x10009365
cmp esi, dword [ecx + 0x10]
jl 0x10009365
mov dword [esp + 0x2c], ecx
lea esi, [esp + 0x2c]
jmp 0x1000936d
mov dword [esp + 0x30], edx
lea esi, [esp + 0x30]
mov esi, dword [esi]
mov dword [esp + 0x20], 0xfffffffd
mov dword [esp + 0x20], 0xf
jmp 0x100093ab
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x10009393
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x100093a7
push 0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
inc dword [esp + 0x20]
cmp dword [esp + 0x20], 0x1d
jne 0x10009381
mov eax, dword [0x10070bf4]
test al, 1
jne 0x100093e7
and dword [0x10070be8], 0
or eax, 1
mov dword [0x10070bf4], eax
xor eax, eax
push 0x10058d17
mov dword [0x10070bec], 7
mov word [0x10070bd8], ax
call fcn.1003f912
pop ecx
mov dword [esp + 0x20], 0x6f9b2cfb
xor ecx, ecx
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], 3
mov dword [esp + 0x20], 0x86b6feb9
mov dword [esp + 0x20], 0xf4a8fe24
mov dword [esp + 0x14], ecx
jmp 0x10009427
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x34], 0xbcd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x10009417
mov dword [esp + 0x14], ecx
jmp 0x10009440
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x48], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], ebx
jl 0x10009434
mov dword [esp + 0x14], ecx
jmp 0x10009458
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x24], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x1000944c
dec dword [esp + 0x24]
cmp esi, dword [esp + 0x38]
je 0x10009486
push dword [esi + 0x18]
mov edx, dword [esi + 0x14]
lea ecx, [esp + 0x7c]
call fcn.10001b0e
pop ecx
xor ebx, ebx
mov byte [esp + 0x9c], 1
inc ebx
jmp 0x1000949b
push 0x10070bd8
lea ecx, [esp + 0x64]
call fcn.10009699
mov dword [esp + 0x9c], ebx
push eax
mov ecx, edi
mov dword [esp + 0x2c], ebx
call fcn.10009699
or ebx, 4
test bl, 2
je 0x100094bf
push 0
push 1
lea ecx, [esp + 0x68]
and ebx, 0xfffffffd
call fcn.10009ca4
test bl, 1
je 0x100094d4
push 0
push 1
lea ecx, [esp + 0x80]
call fcn.10009ca4
lea ecx, [esp + 0x38]
call fcn.1000979c
mov ecx, dword [esp + 0x94]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret