Function at 0x1400578a4
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 0x140057932
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 0x140057923
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 0x140057a65
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x140057a65
movups xmm0, xmmword [rcx]
movdqu xmmword [rbx + reloc.MFC42u.dll_CSocketFile::CSocketFile], xmm0
call sub.msvcrt.dll_free
jmp 0x140057a85
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 0x140057aec
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x140057aec
movups xmm0, xmmword [rcx]
movdqu xmmword [rbx + 0x1fc], xmm0
call sub.msvcrt.dll_free
jmp 0x140057b12
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 0x140057b5e
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 0x140057b5a
movsxd rcx, eax
lea r8, [0x1400fdad8]
lea rdx, [rcx + rcx*4]
add rdx, rdx
cmp dword [r8 + rdx*8], r14d
jne 0x140057b5c
mov eax, edi
mov edi, eax
mov edx, edi
mov dword [0x1400fef88], edi
mov ecx, r13d
mov dword [0x1400fd28c], edi
call fcn.140061f04
mov r8d, eax
lea rcx, [0x1400fd8d0]
mov edx, 0x1438
call qword [sym.imp.ntdll.dll_WinSqmSetDWORD]
nop dword [rax + rax]
xor r9d, r9d
lea r8, str.AlwaysConvertToRTF
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_COleServerDoc::GetRuntimeClass]
nop dword [rax + rax]
test eax, eax
je 0x140057bb6
mov dword [rbx + 0x230], r12d
mov edx, r12d
mov ecx, 0xb
call fcn.14003f634
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