Function at 0x14004c97c
Capabilities:
Get geographical location

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x38
xor r14d, r14d
mov rbx, rcx
mov qword [rbp + 0x58], r14
mov dword [rbp + 0x50], r14d
lea r12d, [r14 + 1]
mov sil, r12b
call qword [sym.imp.MFC42u.dll_CPropertySet::GetClassID]
nop dword [rax + rax]
lea r15, str.Options
mov rdi, rax
test rax, rax
je 0x14004ca0a
lea rax, [rbp + 0x60]
mov r9d, 0x20019
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x14004c9fb
mov rcx, qword [rbp + 0x60]
mov sil, r14b
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
mov edi, 2
lea r8, str.Wrap
mov r9d, edi
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_COleServerDoc::GetRuntimeClass]
nop dword [rax + rax]
mov r9d, r12d
lea r8, str.ShowStatusBar
cmp eax, edi
mov rdx, r15
mov rcx, rbx
cmova eax, edi
mov dword [rbx + 0x244], eax
call qword [sym.imp.MFC42u.dll_COleServerDoc::GetRuntimeClass]
nop dword [rax + rax]
mov r9d, r12d
lea r8, str.ShowRuler
mov rdx, r15
mov dword [rbx + 0x23c], eax
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_COleServerDoc::GetRuntimeClass]
nop dword [rax + rax]
mov r9d, edi
mov word [rbp + 0x48], r14w
lea r8, [rbp + 0x48]
mov dword [rbx + 0x240], eax
lea edx, [rdi + 0xb]
mov ecx, COleDropTarget::XDropTarget::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
nop dword [rax + rax]
cmp word [rbp + 0x48], 0x31
lea r8, str.Units
mov r9d, r14d
mov rdx, r15
setne r9b
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_COleServerDoc::GetRuntimeClass]
nop dword [rax + rax]
lea r13d, [rdi + 1]
mov rdx, r15
test eax, eax
lea r8, str.Maximized
mov rcx, rbx
cmovs eax, r14d
cmp eax, 4
cmovge eax, r13d
xor r9d, r9d
mov dword [rbx + 0x340], eax
call qword [sym.imp.MFC42u.dll_COleServerDoc::GetRuntimeClass]
nop dword [rax + rax]
mov dword [rbx + reloc.MFC42u.dll_CString::CString], eax
lea r9, [rbp + 0x58]
lea rax, [rbp + 0x50]
mov rdx, r15
lea r8, str.FrameRect
mov qword [rsp + 0x20], rax
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_COleResizeBar::GetRuntimeClass]
nop dword [rax + rax]
test eax, eax
je 0x14004cb3d
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x14004cb3d
movups xmm0, xmmword [rcx]
movdqu xmmword [rbx + reloc.MFC42u.dll_CSocketFile::CSocketFile], xmm0
call sub.msvcrt.dll_free
jmp 0x14004cb5d
lea rcx, [rbx + reloc.MFC42u.dll_CSocketFile::CSocketFile]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_SetRect]
nop dword [rax + rax]
mov r9d, r12d
lea r8, str.PrintPageNum
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_COleServerDoc::GetRuntimeClass]
nop dword [rax + rax]
mov dword [rbx + 0x1f8], eax
lea r9, [rbp + 0x58]
lea rax, [rbp + 0x50]
mov rdx, r15
lea r8, str.PageMargin
mov qword [rsp + 0x20], rax
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_COleResizeBar::GetRuntimeClass]
nop dword [rax + rax]
test eax, eax
je 0x14004cbc4
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x14004cbc4
movups xmm0, xmmword [rcx]
movdqu xmmword [rbx + 0x1fc], xmm0
call sub.msvcrt.dll_free
jmp 0x14004cbea
mov edx, CRuntimeClassconstCDaoTableDef::classCDaoTableDef
lea rcx, [rbx + 0x1fc]
mov r8d, Ordinal_1442
mov r9d, edx
mov dword [rsp + 0x20], r8d
call qword [sym.imp.USER32.dll_SetRect]
nop dword [rax + rax]
mov edi, 5
test sil, sil
jne 0x14004cc36
mov r9d, edi
lea r8, str.DefaultFormat
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_COleServerDoc::GetRuntimeClass]
nop dword [rax + rax]
cmp eax, 0xe
cmova eax, edi
cmp eax, r13d
je 0x14004cc32
movsxd rcx, eax
lea rdx, [rcx + rcx*4]
add rdx, rdx
lea rcx, [0x1400ed5f8]
cmp dword [rcx + rdx*8], r14d
jne 0x14004cc34
mov eax, edi
mov edi, eax
xor r9d, r9d
mov dword [0x1400eea00], edi
lea r8, str.AlwaysConvertToRTF
mov dword [0x1400ecebc], edi
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_COleServerDoc::GetRuntimeClass]
nop dword [rax + rax]
test eax, eax
je 0x14004cc69
mov dword [rbx + 0x230], r12d
mov edx, r12d
mov ecx, SHCreateMemStream
call fcn.1400406b8
mov dword [rbx + 0x234], eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret