Function at 0x2e0867ad
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x2e0d530c]
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.2e082691
mov edi, eax
test edi, edi
je 0x2e086d58
mov ecx, dword [ebp + 0x18]
mov eax, ecx
imul eax, eax, 0x14
mov edx, dword [eax + 0x2e026068]
mov dword [ebp - 0xb0], eax
test dl, 0x40
je 0x2e0868f6
sub ecx, 0x10
mov edx, dword [edi + 8]
mov dword [ebp - 0xa8], edx
je 0x2e086835
dec ecx
jne 0x2e08684b
push dword [ebp - 0xc4]
jmp 0x2e086838
push dword [esi + 0xc]
call fcn.2e085ff6
test al, al
je 0x2e086d49
mov eax, dword [ebp - 0xb0]
test byte [ebp + 0x1c], 0x20
je 0x2e08686c
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
cmp ax, word [ebp - 0xa8]
jne 0x2e086866
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xb0]
test byte [ebp + 0x1c], 2
mov esi, dword [eax + 0x2e026060]
je 0x2e08687e
or esi, 0x80000000
cmp dword [ebp - 0xa8], 0x1000
jne 0x2e0868bc
call fcn.2e087532
test al, al
je 0x2e0868bc
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push esi
push dword [edi + 4]
call fcn.2e0874d5
mov ebx, eax
test ebx, ebx
jne 0x2e086ae7
push eax
push eax
push esi
push dword [edi + 4]
call fcn.2e0874d5
jmp 0x2e0868e9
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 0x2e086ae7
push eax
push eax
push esi
push dword [ebp - 0xa8]
call edi
mov ecx, dword [ebp - 0xac]
mov dword [ecx], eax
jmp 0x2e086d49
test dl, dl
jns 0x2e086af4
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 0x2e08693e
lea eax, [ebp - 0xc0]
push eax
push 1
push dword [ebp - 0xc4]
call fcn.2e08592a
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e086d64
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xc0]
call fcn.2e083872
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e086d64
cmp dword [ebp + 0x18], 0x29
jne 0x2e086981
push dword [esi + 0xc]
call fcn.2e082691
mov edi, eax
test edi, edi
je 0x2e086d49
mov eax, dword [edi + 8]
mov dword [ebp - 0xb8], eax
test byte [ebp + 0x1c], 0x20
mov ebx, dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
je 0x2e08699e
call ebx
cmp ax, word [ebp - 0xb8]
jne 0x2e08699e
mov dword [ebp - 0xb8], eax
test byte [ebp + 0x1c], 2
mov eax, dword [ebp - 0xb0]
je 0x2e0869be
mov esi, dword [eax + 0x2e026060]
or esi, 0x80000000
mov dword [ebp - 0xb0], esi
jmp 0x2e0869cc
mov eax, dword [eax + 0x2e026060]
mov dword [ebp - 0xb0], eax
mov esi, eax
cmp dword [ebp - 0xb8], 0x1000
jne 0x2e086a21
call fcn.2e087532
test al, al
je 0x2e086a21
push 0
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push esi
push 0
push dword [ebp - 0xa8]
push dword [edi + 4]
call fcn.2e0874ee
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x2e086ae7
push eax
push eax
push eax
push esi
push eax
push dword [ebp - 0xa8]
push dword [edi + 4]
call fcn.2e0874ee
jmp 0x2e0868e9
call ebx
cmp dword [ebp - 0xb8], eax
jne 0x2e086aa8
cmp esi, 5
je 0x2e086a35
cmp esi, 6
jne 0x2e086aa8
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 0x2e086aa2
lea eax, [ebp - 0xa4]
push eax
call fcn.2e0839fe
cmp eax, dword [ebp - 0xa8]
jne 0x2e086aa2
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 0x2e086ae7
push eax
push eax
push edi
push dword [ebp - 0xb8]
call esi
jmp 0x2e0868e9
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 0x2e086ae7
push eax
push eax
push eax
push esi
push dword [ebp - 0xa8]
push dword [ebp - 0xb8]
call edi
jmp 0x2e0868e9
mov eax, dword [ebp - 0xac]
mov dword [eax], ebx
jmp 0x2e086d49
cmp ecx, 4
jl 0x2e086d58
cmp ecx, 5
jle 0x2e086d27
cmp ecx, 0xe
je 0x2e086ce5
cmp ecx, 0xf
je 0x2e086c9a
cmp ecx, 0x35
jle 0x2e086d58
cmp ecx, 0x42
jg 0x2e086d58
cmp dword [esi + 8], ebx
je 0x2e086d58
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 0x2e086bb9
lea eax, [ebp - 0xa4]
push eax
call fcn.2e0839fe
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 1
jne 0x2e086d49
lea eax, [ebp - 0xa8]
push eax
push dword [esi + 8]
call fcn.2e083872
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e086d64
cmp dword [ebp - 0xa8], 1
jne 0x2e086d49
and dword [ebp - 0xc0], 0
lea eax, [ebp - 0xc0]
push eax
push 1
push dword [esi]
call fcn.2e08592a
mov esi, dword [ebp - 0xb4]
mov dword [esi], eax
test eax, eax
jl 0x2e086d64
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xc0]
call fcn.2e083872
mov dword [esi], eax
test eax, eax
jl 0x2e086d64
cmp dword [ebp - 0xa8], 1
jne 0x2e086d49
mov eax, dword [ebp + 0x18]
add eax, 0xffffffcb
push 0x50
mov word [ebp - 0xd2], ax
lea eax, [ebp - 0xa4]
push eax
push 0x2e026aa0
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 0x2e086d49
push esi
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
call fcn.2e083a15
jmp 0x2e086d47
mov edi, dword [edi + 8]
mov esi, edi
shr esi, 0x10
and esi, 0xf
test byte [ebp + 0x1c], 0x20
je 0x2e086cbe
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
cmp ax, di
jne 0x2e086cbe
shr eax, 0x10
and eax, 0xf
mov esi, eax
movzx eax, si
push eax
call fcn.2e085ed5
push dword [ebp - 0xb4]
mov word [ebp - 0xc0], ax
xor eax, eax
mov word [ebp - 0xbe], ax
lea eax, [ebp - 0xc0]
jmp 0x2e086c80
cmp dword [esi + 4], ebx
jne 0x2e086d08
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xc4]
call fcn.2e085867
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e086d64
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push dword [esi + 4]
call fcn.2e084bad
jmp 0x2e086d47
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push dword [ebp - 0xc4]
call fcn.2e085656
mov ebx, eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax], 0
jl 0x2e086d64
test ebx, ebx
jne 0x2e086d64
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.2e046266
leave
ret 0x1c