Function at 0x101fb7cd
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x1039fb98]
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.101f6f90
mov edi, eax
test edi, edi
je 0x101fbd78
mov ecx, dword [ebp + 0x18]
mov eax, ecx
imul eax, eax, 0x14
mov edx, dword [eax + 0x1003ef70]
mov dword [ebp - 0xb0], eax
test dl, 0x40
je 0x101fb916
sub ecx, 0x10
mov edx, dword [edi + 8]
mov dword [ebp - 0xa8], edx
je 0x101fb855
dec ecx
jne 0x101fb86b
push dword [ebp - 0xc4]
jmp 0x101fb858
push dword [esi + 0xc]
call fcn.101fb016
test al, al
je 0x101fbd69
mov eax, dword [ebp - 0xb0]
test byte [ebp + 0x1c], 0x20
je 0x101fb88c
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
cmp ax, word [ebp - 0xa8]
jne 0x101fb886
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xb0]
test byte [ebp + 0x1c], 2
mov esi, dword [eax + 0x1003ef68]
je 0x101fb89e
or esi, 0x80000000
cmp dword [ebp - 0xa8], 0x1000
jne 0x101fb8dc
call fcn.101fc54f
test al, al
je 0x101fb8dc
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push esi
push dword [edi + 4]
call fcn.101fc4f2
mov ebx, eax
test ebx, ebx
jne 0x101fbb07
push eax
push eax
push esi
push dword [edi + 4]
call fcn.101fc4f2
jmp 0x101fb909
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 0x101fbb07
push eax
push eax
push esi
push dword [ebp - 0xa8]
call edi
mov ecx, dword [ebp - 0xac]
mov dword [ecx], eax
jmp 0x101fbd69
test dl, dl
jns 0x101fbb14
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 0x101fb95e
lea eax, [ebp - 0xc0]
push eax
push 1
push dword [ebp - 0xc4]
call fcn.101fa48a
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x101fbd84
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xc0]
call fcn.101f8175
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x101fbd84
cmp dword [ebp + 0x18], 0x29
jne 0x101fb9a1
push dword [esi + 0xc]
call fcn.101f6f90
mov edi, eax
test edi, edi
je 0x101fbd69
mov eax, dword [edi + 8]
mov dword [ebp - 0xb8], eax
test byte [ebp + 0x1c], 0x20
mov ebx, dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
je 0x101fb9be
call ebx
cmp ax, word [ebp - 0xb8]
jne 0x101fb9be
mov dword [ebp - 0xb8], eax
test byte [ebp + 0x1c], 2
mov eax, dword [ebp - 0xb0]
je 0x101fb9de
mov esi, dword [eax + 0x1003ef68]
or esi, 0x80000000
mov dword [ebp - 0xb0], esi
jmp 0x101fb9ec
mov eax, dword [eax + 0x1003ef68]
mov dword [ebp - 0xb0], eax
mov esi, eax
cmp dword [ebp - 0xb8], 0x1000
jne 0x101fba41
call fcn.101fc54f
test al, al
je 0x101fba41
push 0
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push esi
push 0
push dword [ebp - 0xa8]
push dword [edi + 4]
call fcn.101fc50b
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x101fbb07
push eax
push eax
push eax
push esi
push eax
push dword [ebp - 0xa8]
push dword [edi + 4]
call fcn.101fc50b
jmp 0x101fb909
call ebx
cmp dword [ebp - 0xb8], eax
jne 0x101fbac8
cmp esi, 5
je 0x101fba55
cmp esi, 6
jne 0x101fbac8
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 0x101fbac2
lea eax, [ebp - 0xa4]
push eax
call fcn.101f8338
cmp eax, dword [ebp - 0xa8]
jne 0x101fbac2
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 0x101fbb07
push eax
push eax
push edi
push dword [ebp - 0xb8]
call esi
jmp 0x101fb909
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 0x101fbb07
push eax
push eax
push eax
push esi
push dword [ebp - 0xa8]
push dword [ebp - 0xb8]
call edi
jmp 0x101fb909
mov eax, dword [ebp - 0xac]
mov dword [eax], ebx
jmp 0x101fbd69
cmp ecx, 4
jl 0x101fbd78
cmp ecx, 5
jle 0x101fbd47
cmp ecx, 0xe
je 0x101fbd05
cmp ecx, 0xf
je 0x101fbcba
cmp ecx, 0x35
jle 0x101fbd78
cmp ecx, 0x42
jg 0x101fbd78
cmp dword [esi + 8], ebx
je 0x101fbd78
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 0x101fbbd9
lea eax, [ebp - 0xa4]
push eax
call fcn.101f8338
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 1
jne 0x101fbd69
lea eax, [ebp - 0xa8]
push eax
push dword [esi + 8]
call fcn.101f8175
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x101fbd84
cmp dword [ebp - 0xa8], 1
jne 0x101fbd69
and dword [ebp - 0xc0], 0
lea eax, [ebp - 0xc0]
push eax
push 1
push dword [esi]
call fcn.101fa48a
mov esi, dword [ebp - 0xb4]
mov dword [esi], eax
test eax, eax
jl 0x101fbd84
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0xc0]
call fcn.101f8175
mov dword [esi], eax
test eax, eax
jl 0x101fbd84
cmp dword [ebp - 0xa8], 1
jne 0x101fbd69
mov eax, dword [ebp + 0x18]
add eax, 0xffffffcb
push 0x50
mov word [ebp - 0xd2], ax
lea eax, [ebp - 0xa4]
push eax
push 0x1003f9a8
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 0x101fbd69
push esi
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
call fcn.101f834f
jmp 0x101fbd67
mov edi, dword [edi + 8]
mov esi, edi
shr esi, 0x10
and esi, 0xf
test byte [ebp + 0x1c], 0x20
je 0x101fbcde
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
cmp ax, di
jne 0x101fbcde
shr eax, 0x10
and eax, 0xf
mov esi, eax
movzx eax, si
push eax
call fcn.101faef5
push dword [ebp - 0xb4]
mov word [ebp - 0xc0], ax
xor eax, eax
mov word [ebp - 0xbe], ax
lea eax, [ebp - 0xc0]
jmp 0x101fbca0
cmp dword [esi + 4], ebx
jne 0x101fbd28
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xc4]
call fcn.101fa1b6
mov ecx, dword [ebp - 0xb4]
mov dword [ecx], eax
test eax, eax
jl 0x101fbd84
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push dword [esi + 4]
call fcn.101f94fc
jmp 0x101fbd67
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
push dword [ebp + 0xc]
push dword [ebp - 0xbc]
push dword [ebp - 0xc4]
call fcn.101f9fa5
mov ebx, eax
mov eax, dword [ebp - 0xb4]
cmp dword [eax], 0
jl 0x101fbd84
test ebx, ebx
jne 0x101fbd84
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.102f77a6
leave
ret 0x1c