Function at 0x2e0873c1
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x2e0d630c]
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.2e0832a5
mov edi, eax
test edi, edi
je 0x2e08796c
mov ecx, dword [ebp + 0x18]
mov eax, ecx
imul eax, eax, 0x14
mov edx, dword [eax + 0x2e0263b0]
mov dword [ebp - 0xb0], eax
test dl, 0x40
je 0x2e08750a
sub ecx, 0x10
mov edx, dword [edi + 8]
mov dword [ebp - 0xa8], edx
je 0x2e087449
dec ecx
jne 0x2e08745f
push dword [ebp - 0xc4]
jmp 0x2e08744c
push dword [esi + 0xc]
call fcn.2e086c0a
test al, al
je 0x2e08795d
mov eax, dword [ebp - 0xb0]
test byte [ebp + 0x1c], 0x20
je 0x2e087480
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
cmp ax, word [ebp - 0xa8]
jne 0x2e08747a
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xb0]
test byte [ebp + 0x1c], 2
mov esi, dword [eax + 0x2e0263a8]
je 0x2e087492
or esi, 0x80000000
cmp dword [ebp - 0xa8], 0x1000
jne 0x2e0874d0
call fcn.2e088146
test al, al
je 0x2e0874d0
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push esi
push dword [edi + 4]
call fcn.2e0880e9
mov ebx, eax
test ebx, ebx
jne 0x2e0876fb
push eax
push eax
push esi
push dword [edi + 4]
call fcn.2e0880e9
jmp 0x2e0874fd
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 0x2e0876fb
push eax
push eax
push esi
push dword [ebp - 0xa8]
call edi
mov ecx, dword [ebp - 0xac]
mov dword [ecx], eax
jmp 0x2e08795d
test dl, dl
jns 0x2e087708
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 0x2e087552
lea eax, [ebp - 0xc0]
push eax
push 1
push dword [ebp - 0xc4]
call fcn.2e08653e
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e087978
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xc0]
call fcn.2e084486
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e087978
cmp dword [ebp + 0x18], 0x29
jne 0x2e087595
push dword [esi + 0xc]
call fcn.2e0832a5
mov edi, eax
test edi, edi
je 0x2e08795d
mov eax, dword [edi + 8]
mov dword [ebp - 0xb8], eax
test byte [ebp + 0x1c], 0x20
mov ebx, dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
je 0x2e0875b2
call ebx
cmp ax, word [ebp - 0xb8]
jne 0x2e0875b2
mov dword [ebp - 0xb8], eax
test byte [ebp + 0x1c], 2
mov eax, dword [ebp - 0xb0]
je 0x2e0875d2
mov esi, dword [eax + 0x2e0263a8]
or esi, 0x80000000
mov dword [ebp - 0xb0], esi
jmp 0x2e0875e0
mov eax, dword [eax + 0x2e0263a8]
mov dword [ebp - 0xb0], eax
mov esi, eax
cmp dword [ebp - 0xb8], 0x1000
jne 0x2e087635
call fcn.2e088146
test al, al
je 0x2e087635
push 0
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push esi
push 0
push dword [ebp - 0xa8]
push dword [edi + 4]
call fcn.2e088102
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x2e0876fb
push eax
push eax
push eax
push esi
push eax
push dword [ebp - 0xa8]
push dword [edi + 4]
call fcn.2e088102
jmp 0x2e0874fd
call ebx
cmp dword [ebp - 0xb8], eax
jne 0x2e0876bc
cmp esi, 5
je 0x2e087649
cmp esi, 6
jne 0x2e0876bc
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 0x2e0876b6
lea eax, [ebp - 0xa4]
push eax
call fcn.2e084612
cmp eax, dword [ebp - 0xa8]
jne 0x2e0876b6
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 0x2e0876fb
push eax
push eax
push edi
push dword [ebp - 0xb8]
call esi
jmp 0x2e0874fd
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 0x2e0876fb
push eax
push eax
push eax
push esi
push dword [ebp - 0xa8]
push dword [ebp - 0xb8]
call edi
jmp 0x2e0874fd
mov eax, dword [ebp - 0xac]
mov dword [eax], ebx
jmp 0x2e08795d
cmp ecx, 4
jl 0x2e08796c
cmp ecx, 5
jle 0x2e08793b
cmp ecx, 0xe
je 0x2e0878f9
cmp ecx, 0xf
je 0x2e0878ae
cmp ecx, 0x35
jle 0x2e08796c
cmp ecx, 0x42
jg 0x2e08796c
cmp dword [esi + 8], ebx
je 0x2e08796c
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 0x2e0877cd
lea eax, [ebp - 0xa4]
push eax
call fcn.2e084612
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 1
jne 0x2e08795d
lea eax, [ebp - 0xa8]
push eax
push dword [esi + 8]
call fcn.2e084486
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e087978
cmp dword [ebp - 0xa8], 1
jne 0x2e08795d
and dword [ebp - 0xc0], 0
lea eax, [ebp - 0xc0]
push eax
push 1
push dword [esi]
call fcn.2e08653e
mov esi, dword [ebp - 0xb4]
mov dword [esi], eax
test eax, eax
jl 0x2e087978
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xc0]
call fcn.2e084486
mov dword [esi], eax
test eax, eax
jl 0x2e087978
cmp dword [ebp - 0xa8], 1
jne 0x2e08795d
mov eax, dword [ebp + 0x18]
add eax, 0xffffffcb
push 0x50
mov word [ebp - 0xd2], ax
lea eax, [ebp - 0xa4]
push eax
push 0x2e026de8
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 0x2e08795d
push esi
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
call fcn.2e084629
jmp 0x2e08795b
mov edi, dword [edi + 8]
mov esi, edi
shr esi, 0x10
and esi, 0xf
test byte [ebp + 0x1c], 0x20
je 0x2e0878d2
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
cmp ax, di
jne 0x2e0878d2
shr eax, 0x10
and eax, 0xf
mov esi, eax
movzx eax, si
push eax
call fcn.2e086ae9
push dword [ebp - 0xb4]
mov word [ebp - 0xc0], ax
xor eax, eax
mov word [ebp - 0xbe], ax
lea eax, [ebp - 0xc0]
jmp 0x2e087894
cmp dword [esi + 4], ebx
jne 0x2e08791c
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xc4]
call fcn.2e08647b
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x2e087978
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push dword [esi + 4]
call fcn.2e0857c1
jmp 0x2e08795b
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push dword [ebp - 0xc4]
call fcn.2e08626a
mov ebx, eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax], 0
jl 0x2e087978
test ebx, ebx
jne 0x2e087978
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.2e046cd2
leave
ret 0x1c