Function at 0x2e06cf5b
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x2e0c18a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x20]
push ebx
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0x14]
xor ebx, ebx
mov dword [eax], ebx
mov dword [ebp - 0xac], eax
mov dword [ecx], ebx
mov eax, dword [esi]
push edi
push eax
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xc4], eax
call fcn.2e069700
mov edi, eax
test edi, edi
je 0x2e06d506
mov ecx, dword [ebp + 0x18]
mov eax, ecx
imul eax, eax, 0x14
mov edx, dword [eax + 0x2e022280]
mov dword [ebp - 0xb0], eax
test dl, 0x40
je 0x2e06d0a4
sub ecx, 0x10
mov edx, dword [edi + 8]
mov dword [ebp - 0xa8], edx
je 0x2e06cfe3
dec ecx
jne 0x2e06cff9
push dword [ebp - 0xc4]
jmp 0x2e06cfe6
push dword [esi + 0xc]
call fcn.2e06c7a2
test al, al
je 0x2e06d4f7
mov eax, dword [ebp - 0xb0]
test byte [ebp + 0x1c], 0x20
je 0x2e06d01a
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
cmp ax, word [ebp - 0xa8]
jne 0x2e06d014
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xb0]
test byte [ebp + 0x1c], 2
mov esi, dword [eax + 0x2e022278]
je 0x2e06d02c
or esi, 0x80000000
cmp dword [ebp - 0xa8], 0x1000
jne 0x2e06d06a
call fcn.2e06dcf9
test al, al
je 0x2e06d06a
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push esi
push dword [edi + 4]
call fcn.2e06dc9c
mov ebx, eax
test ebx, ebx
jne 0x2e06d295
push eax
push eax
push esi
push dword [edi + 4]
call fcn.2e06dc9c
jmp 0x2e06d097
push dword [ebp + 0xc]
mov edi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push dword [ebp - 0xbc]
push esi
push dword [ebp - 0xa8]
call edi
mov ebx, eax
test ebx, ebx
jne 0x2e06d295
push eax
push eax
push esi
push dword [ebp - 0xa8]
call edi
mov ecx, dword [ebp - 0xac]
mov dword [ecx], eax
jmp 0x2e06d4f7
test dl, dl
jns 0x2e06d2a2
mov eax, dword [esi + 8]
mov ecx, dword [edi + 8]
and dword [ebp - 0xa8], ebx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xb8], ecx
test eax, eax
jne 0x2e06d0ec
lea eax, [ebp - 0xc0]
push eax
push 1
push dword [ebp - 0xc4]
call fcn.2e06b3cc
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e06d512
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xc0]
call fcn.2e0694ff
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e06d512
cmp dword [ebp + 0x18], 0x29
jne 0x2e06d12f
push dword [esi + 0xc]
call fcn.2e069700
mov edi, eax
test edi, edi
je 0x2e06d4f7
mov eax, dword [edi + 8]
mov dword [ebp - 0xb8], eax
test byte [ebp + 0x1c], 0x20
mov ebx, dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
je 0x2e06d14c
call ebx
cmp ax, word [ebp - 0xb8]
jne 0x2e06d14c
mov dword [ebp - 0xb8], eax
test byte [ebp + 0x1c], 2
mov eax, dword [ebp - 0xb0]
je 0x2e06d16c
mov esi, dword [eax + 0x2e022278]
or esi, 0x80000000
mov dword [ebp - 0xb0], esi
jmp 0x2e06d17a
mov eax, dword [eax + 0x2e022278]
mov dword [ebp - 0xb0], eax
mov esi, eax
cmp dword [ebp - 0xb8], 0x1000
jne 0x2e06d1cf
call fcn.2e06dcf9
test al, al
je 0x2e06d1cf
push 0
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push esi
push 0
push dword [ebp - 0xa8]
push dword [edi + 4]
call fcn.2e06dcb5
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x2e06d295
push eax
push eax
push eax
push esi
push eax
push dword [ebp - 0xa8]
push dword [edi + 4]
call fcn.2e06dcb5
jmp 0x2e06d097
call ebx
cmp dword [ebp - 0xb8], eax
jne 0x2e06d256
cmp esi, 5
je 0x2e06d1e3
cmp esi, 6
jne 0x2e06d256
mov esi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push 0x50
lea eax, [ebp - 0xa4]
push eax
push 0x1009
push dword [ebp - 0xb8]
call esi
test eax, eax
jbe 0x2e06d250
lea eax, [ebp - 0xa4]
push eax
call fcn.2e06968b
cmp eax, dword [ebp - 0xa8]
jne 0x2e06d250
push dword [ebp + 0xc]
xor eax, eax
cmp dword [ebp - 0xb0], 5
push dword [ebp - 0xbc]
setne al
add eax, 0x1f
mov edi, eax
push edi
push dword [ebp - 0xb8]
call esi
mov ebx, eax
test ebx, ebx
jne 0x2e06d295
push eax
push eax
push edi
push dword [ebp - 0xb8]
call esi
jmp 0x2e06d097
mov esi, dword [ebp - 0xb0]
mov edi, dword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
push 0
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push esi
push dword [ebp - 0xa8]
push dword [ebp - 0xb8]
call edi
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x2e06d295
push eax
push eax
push eax
push esi
push dword [ebp - 0xa8]
push dword [ebp - 0xb8]
call edi
jmp 0x2e06d097
mov eax, dword [ebp - 0xac]
mov dword [eax], ebx
jmp 0x2e06d4f7
cmp ecx, 4
jl 0x2e06d506
cmp ecx, 5
jle 0x2e06d4d5
cmp ecx, 0xe
je 0x2e06d493
cmp ecx, 0xf
je 0x2e06d448
cmp ecx, 0x35
jle 0x2e06d506
cmp ecx, 0x42
jg 0x2e06d506
cmp dword [esi + 8], ebx
je 0x2e06d506
push 0xa
mov eax, 0x7d6
mov word [ebp - 0xd4], ax
pop eax
push 2
mov word [ebp - 0xd2], ax
pop eax
push 0xa
mov word [ebp - 0xd0], ax
pop eax
push 2
and dword [ebp - 0xa8], ebx
mov word [ebp - 0xce], ax
pop eax
push 0x1d
mov word [ebp - 0xcc], ax
pop eax
push 0x17
mov word [ebp - 0xca], ax
pop eax
mov word [ebp - 0xc8], ax
xor eax, eax
push 0x50
mov word [ebp - 0xc6], ax
lea eax, [ebp - 0xa4]
push eax
push 0x1009
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov ebx, eax
test ebx, ebx
jbe 0x2e06d367
lea eax, [ebp - 0xa4]
push eax
call fcn.2e06968b
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 1
jne 0x2e06d4f7
lea eax, [ebp - 0xa8]
push eax
push dword [esi + 8]
call fcn.2e0694ff
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e06d512
cmp dword [ebp - 0xa8], 1
jne 0x2e06d4f7
and dword [ebp - 0xc0], 0
lea eax, [ebp - 0xc0]
push eax
push 1
push dword [esi]
call fcn.2e06b3cc
mov esi, dword [ebp - 0xb4]
mov dword [esi], eax
test eax, eax
jl 0x2e06d512
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xc0]
call fcn.2e0694ff
mov dword [esi], eax
test eax, eax
jl 0x2e06d512
cmp dword [ebp - 0xa8], 1
jne 0x2e06d4f7
mov eax, dword [ebp + 0x18]
add eax, 0xffffffcb
push 0x50
mov word [ebp - 0xd2], ax
lea eax, [ebp - 0xa4]
push eax
push 0x2e022cb8
lea eax, [ebp - 0xd4]
push eax
push 0
push dword [edi + 8]
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
mov ebx, eax
test ebx, ebx
jbe 0x2e06d4f7
push esi
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
call fcn.2e0696a2
jmp 0x2e06d4f5
mov edi, dword [edi + 8]
mov esi, edi
shr esi, 0x10
and esi, 0xf
test byte [ebp + 0x1c], 0x20
je 0x2e06d46c
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
cmp ax, di
jne 0x2e06d46c
shr eax, 0x10
and eax, 0xf
mov esi, eax
movzx eax, si
push eax
call fcn.2e06c681
push dword [ebp - 0xb4]
mov word [ebp - 0xc0], ax
xor eax, eax
mov word [ebp - 0xbe], ax
lea eax, [ebp - 0xc0]
jmp 0x2e06d42e
cmp dword [esi + 4], ebx
jne 0x2e06d4b6
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xc4]
call fcn.2e06b309
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e06d512
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push dword [esi + 4]
call fcn.2e06a64f
jmp 0x2e06d4f5
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push dword [ebp - 0xc4]
call fcn.2e06b0f8
mov ebx, eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax], 0
jl 0x2e06d512
test ebx, ebx
jne 0x2e06d512
mov eax, dword [ebp - 0xb4]
mov dword [eax], 0x80004005
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.2e06e7f2
leave
ret 0x1c