Function at 0x14000f970
Capabilities:
Get geographical location

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x108
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x140210348]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov r13, r9
mov qword [rsp + 0x48], r9
mov r9, r8
mov qword [rsp + 0x38], r8
mov r14, rdx
mov qword [rsp + 0x40], rdx
mov r12, rcx
mov dword [rsp + 0x30], 0
xor eax, eax
mov ecx, dword [rcx + 0xd8c]
lea rdx, [0x140217830]
mov ebp, 1
or rsi, 0xffffffffffffffff
cmp dword [rdx], ecx
je 0x14000f9eb
add eax, ebp
add rdx, 0x58
cmp eax, 0xb
jb 0x14000f9d1
jmp 0x14000fa27
mov dword [rsp + 0x30], ebp
movsxd rdx, eax
imul rdx, rdx, 0x58
lea rax, str.Dark
add rdx, rax
jne 0x14000fa06
xor ecx, ecx
jmp 0x14000fa17
xor eax, eax
mov rcx, rsi
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8d, ecx
mov rcx, r14
call fcn.140002390
mov r9, qword [rsp + 0x38]
xor eax, eax
mov edx, dword [r12 + 0xd90]
lea rcx, [0x140217c04]
cmp dword [rcx], edx
je 0x14000fa49
add eax, ebp
add rcx, 0x5c
cmp eax, 0x24
jb 0x14000fa38
jmp 0x14000fa7c
movsxd rdx, eax
imul rdx, rdx, 0x5c
lea rax, str.DarkUI_MSI_2015_NB_AIO
add rdx, rax
jne 0x14000fa60
xor ecx, ecx
jmp 0x14000fa71
xor eax, eax
mov rcx, rsi
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov r8d, ecx
mov rcx, r9
call fcn.140002390
mov ecx, dword [r12 + 0xd8c]
sub ecx, 0xf
je 0x14000fea1
sub ecx, 3
je 0x14000fba0
sub ecx, ebp
je 0x14000fb87
sub ecx, ebp
je 0x14000fba0
cmp ecx, 2
jne 0x14000febc
mov ecx, 0x10
call qword [sym.imp.KERNEL32.dll_GetUserGeoID]
mov edx, eax
sub edx, 0x2d
je 0x14000febc
sub edx, 0x31
je 0x14000febc
cmp edx, 0x28
je 0x14000febc
xor eax, eax
mov rcx, rsi
lea rdi, str.UA_65945523_11
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.UA_65945523_11
lea rcx, [0x14022f730]
call fcn.140002390
lea rdx, [0x1402188b0]
mov qword [0x14022e658], rdx
lea rax, [0x1402188d0]
mov qword [0x14022e660], rax
mov dword [0x14022e668], 6
mov dword [0x14022e66c], 0x10
mov dword [reloc.DSOUND.dll_DirectSoundCreate], 2
mov edx, 6
mov r8, rdx
lea rcx, [0x14022f6e0]
call fcn.14015208c
mov edx, dword [0x14022e66c]
mov r8, rdx
lea rcx, [0x14022f708]
call fcn.14014ed94
call fcn.1400074d0
mov edx, 0x28
mov r8d, edx
lea rcx, [0x14022f748]
call fcn.140155ef4
mov dword [0x14022e648], ebp
jmp 0x14000febc
mov dword [r12 + 0x428], 0x19
mov dword [r13], 0
jmp 0x14000febc
movzx r15d, word [r12 + 0x86c]
lea rbx, [r12 + 0xae8]
xor eax, eax
mov rcx, rsi
lea rdi, str.Segoe_UI
repne scasw ax, word [rdi]
not rcx
sub rcx, rbp
mov rdi, rcx
test ecx, ecx
jne 0x14000fc35
mov rax, qword [rbx]
lea rdx, [rax - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], ecx
je 0x14000fcc6
cmp dword [rdx + 0x10], ecx
jge 0x14000fc09
cmp dword [rax - 0xc], ecx
jge 0x14000fbf5
mov ecx, 0x80070057
call fcn.140001c00
int3
mov dword [rax - 0x10], 0
mov rax, qword [rbx]
mov word [rax], 0
jmp 0x14000fcc6
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000fc20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbx], rax
jmp 0x14000fcc6
mov rax, qword [rbx]
mov r13d, dword [rax - 0x10]
lea r14, str.Segoe_UI
sub r14, rax
sar r14, 1
mov ecx, ebp
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ecx
jge 0x14000fc61
mov edx, edi
mov rcx, rbx
call fcn.140001df0
mov rcx, qword [rbx]
cmp r14, r13
ja 0x14000fc81
movsxd rax, edi
lea r13, [rax + rax]
lea r8, [rcx + r14*2]
mov r9, r13
mov rdx, r13
call fcn.14015cf60
jmp 0x14000fc9a
movsxd rax, edi
lea r13, [rax + rax]
mov r9, r13
lea r8, str.Segoe_UI
mov rdx, r13
call fcn.14015cd30
test edi, edi
js 0x14000fe96
mov rax, qword [rbx]
cmp edi, dword [rax - 0xc]
jg 0x14000fe96
mov dword [rax - 0x10], edi
mov rax, qword [rbx]
mov word [r13 + rax], 0
mov r13, qword [rsp + 0x48]
mov r14, qword [rsp + 0x40]
mov byte [rsp + 0xa7], bpl
mov word [rsp + 0xac], 0
mov edx, 0xa
lea rcx, [rsp + 0x58]
call fcn.1401555fc
nop
call fcn.14014c248
mov rcx, rax
test rax, rax
je 0x14000fd00
mov rax, qword [rax]
call qword [rax + 0xe8]
jmp 0x14000fd02
xor eax, eax
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_GetDC]
mov rcx, rax
call fcn.140148834
test rax, rax
jne 0x14000fd1d
xor ecx, ecx
jmp 0x14000fd21
mov rcx, qword [rax + 8]
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x58]
lea r8, [0x14004f120]
lea rdx, [rsp + 0x90]
call qword [sym.imp.GDI32.dll_EnumFontFamiliesExW]
xor r8d, r8d
lea rdx, str.MuseoForDell_100
lea rcx, [rsp + 0x58]
call fcn.140155730
xor ecx, ecx
test rax, rax
setne cl
mov dword [r12 + 0xae0], ecx
lea rcx, [rsp + 0x58]
call fcn.1401557fc
cmp r15w, 0x412
je 0x14000febc
cmp dword [r12 + 0xae0], 0
je 0x14000febc
xor eax, eax
mov rcx, rsi
lea rdi, str.Museo_For_Dell_100
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
mov rdi, rcx
test ecx, ecx
jne 0x14000fe0f
mov rax, qword [rbx]
lea rdx, [rax - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], ecx
je 0x14000febc
cmp dword [rdx + 0x10], ecx
jge 0x14000fde5
cmp dword [rax - 0xc], ecx
jge 0x14000fdd1
mov ecx, 0x80070057
call fcn.140001c00
int3
mov dword [rax - 0x10], 0
mov rax, qword [rbx]
mov word [rax], 0
jmp 0x14000febc
lock xadd dword [rdx + 0x10], esi
add esi, 0xffffffff
test esi, esi
jg 0x14000fdfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbx], rax
jmp 0x14000febc
mov rax, qword [rbx]
mov esi, dword [rax - 0x10]
lea r12, str.Museo_For_Dell_100
sub r12, rax
sar r12, 1
sub ebp, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, ecx
or ebp, eax
jge 0x14000fe38
mov edx, ecx
mov rcx, rbx
call fcn.140001df0
mov rcx, qword [rbx]
cmp r12, rsi
ja 0x14000fe58
movsxd rax, edi
lea rsi, [rax + rax]
lea r8, [rcx + r12*2]
mov r9, rsi
mov rdx, rsi
call fcn.14015cf60
jmp 0x14000fe71
movsxd rax, edi
lea rsi, [rax + rax]
mov r9, rsi
lea r8, str.Museo_For_Dell_100
mov rdx, rsi
call fcn.14015cd30
test edi, edi
js 0x14000fe8b
mov rax, qword [rbx]
cmp edi, dword [rax - 0xc]
jg 0x14000fe8b
mov dword [rax - 0x10], edi
mov rax, qword [rbx]
mov word [rsi + rax], 0
jmp 0x14000febc
mov ecx, 0x80070057
call fcn.140001c00
int3
mov ecx, 0x80070057
call fcn.140001c00
int3
mov eax, dword [r12 + 0xd90]
add eax, 0xfffffece
cmp eax, 4
ja 0x14000febc
mov edx, ebp
mov ecx, ebp
call fcn.140007250
mov r9d, dword [r13]
mov r8, qword [rsp + 0x38]
mov r8, qword [r8]
mov rdx, qword [r14]
lea rcx, str.CGuiEngine::GetSkinSubSkinName:__s___s__bTray__d
call fcn.140001600
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.14015d000
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret