Function at 0x140009e90
Capabilities:
Get geographical location

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x308]
sub rsp, 0x3d0
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x140035868]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
movzx r15d, r9w
mov r12, r8
mov r14, rdx
mov rdi, rcx
mov r13, qword [rbp + 0x330]
mov rax, qword [rbp + 0x338]
mov qword [rbp - 0x80], rax
mov esi, 0x80004005
lea rdx, [0x140022b78]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
nop
and dword [rsp + 0x40], 0
mov rbx, qword [0x1400382c0]
call qword [sym.imp.MFC42u.dll_Ordinal_1463]
mov qword [rax + 0x18], rbx
mov r8d, r15d
cmp r15d, 0x73
ja 0x14000a1e9
cmp r15d, 0x73
je 0x14000a629
sub r8d, 0x61
je 0x14000a18e
sub r8d, 1
je 0x14000a108
sub r8d, 1
je 0x14000a025
sub r8d, 1
je 0x14000a3b2
sub r8d, 2
je 0x140009fda
sub r8d, 6
je 0x14000a629
cmp r8d, 6
jne 0x14000a803
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140022378]
mov esi, eax
test eax, eax
js 0x14000a803
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CMonthCalCtrl::GetMonthRange]
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo]
nop
mov r8, qword [rsp + 0x30]
lea rdx, [0x140023ad8]
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CPtrList::FreeNode]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop
lea rcx, [rsp + 0x38]
jmp 0x14000a7f9
mov rax, qword [rdi]
lea r8, [rsp + 0x38]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x28]
call qword [0x140022378]
mov esi, eax
test eax, eax
js 0x14000a803
movsd xmm2, qword [rsp + 0x38]
movq r8, xmm2
mov rdx, r12
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CPtrList::FreeNode]
cvttsd2si rax, qword [rsp + 0x38]
mov dword [rsp + 0x40], eax
jmp 0x14000a7ff
xorps xmm0, xmm0
movsd qword [rsp + 0x58], xmm0
and dword [rsp + 0x60], 0
mov rax, qword [rdi]
lea r8, [rbp - 0x60]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x20]
call qword [0x140022378]
mov esi, eax
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x70]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleObject::Advise]
movsd xmm0, qword [rsp + 0x70]
movsd qword [rsp + 0x58], xmm0
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x60], eax
test esi, esi
js 0x14000a803
cvttsd2si rax, xmm0
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CPropertySheet::EnableStackedTabs]
mov dword [rsp + 0x28], 0x104
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp - 0x60]
lea edx, [r9 + 1]
mov r14d, 0x400
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetDateFormatW]
test eax, eax
je 0x14000a0c9
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
mov rax, qword [rsp + 0x30]
cmp dword [rax - 8], 0
jne 0x14000a7ff
mov r9d, r14d
xor r8d, r8d
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x58]
call qword [sym.imp.MFC42u.dll_CString::FreeExtra]
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop
lea rcx, [rsp + 0x68]
jmp 0x14000a7f9
lea rcx, [0x1400386d8]
mov rax, qword [0x1400386d8]
cmp dword [rax - 8], 0
jne 0x14000a127
mov edx, 0x1b0
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
lea rbx, [0x140038798]
mov rax, qword [0x140038798]
cmp dword [rax - 8], 0
jne 0x14000a149
mov edx, 0x1b1
mov rcx, rbx
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [rdi]
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [0x140022378]
mov esi, eax
test eax, eax
js 0x14000a803
cmp dword [rsp + 0x40], 0
lea rax, [0x1400386d8]
cmovne rbx, rax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
jmp 0x14000a7ff
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140022378]
mov esi, eax
test eax, eax
js 0x14000a803
xor edx, edx
lea r8d, [rdx + 0x10]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.msvcrt.dll_wcstoul]
mov r9d, 0x104
lea r8, [rbp - 0x50]
mov edx, 6
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14000a7ff
lea rdx, [rbp - 0x50]
jmp 0x14000a3a2
sub r8d, 0x74
je 0x14000a681
sub r8d, 1
je 0x14000a629
sub r8d, 1
je 0x14000a60a
sub r8d, 1
je 0x14000a22b
sub r8d, 1
je 0x14000a3b2
sub r8d, 1
je 0x14000a332
cmp r8d, 1
jne 0x14000a803
mov rax, qword [0x140038858]
xor esi, esi
cmp dword [rax - 8], esi
jne 0x14000a24b
mov edx, CDocObjectServerItem::CDocObjectServerItem
lea rcx, [0x140038858]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038918]
cmp dword [rax - 8], esi
jne 0x14000a269
mov edx, CDocObjectServerItem::CDocObjectServerItem
lea rcx, [0x140038918]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x1400389d8]
cmp dword [rax - 8], esi
jne 0x14000a287
mov edx, reloc.MFC42u.dll_CDocObjectServerItem::CDocObjectServerItem
lea rcx, [0x1400389d8]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038a98]
cmp dword [rax - 8], esi
jne 0x14000a2a5
mov edx, 0x151
lea rcx, [0x140038a98]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038b58]
cmp dword [rax - 8], esi
jne 0x14000a2c3
mov edx, 0x152
lea rcx, [0x140038b58]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [rdi]
lea r8, [rsp + 0x68]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x28]
call qword [0x140022378]
mov esi, eax
test eax, eax
js 0x14000a803
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CDaoIndexFieldInfo::CDaoIndexFieldInfo]
nop
movsd xmm1, qword [rsp + 0x68]
cvttsd2si rax, xmm1
mov dword [rsp + 0x40], eax
cmp r15w, 0x77
jne 0x14000a3ec
xor r8d, r8d
lea rcx, [rsp + 0x48]
call fcn.140009cec
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop
lea rcx, [rsp + 0x48]
jmp 0x14000a5ee
and qword [rsp + 0x38], 0
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x1c0]
call sub.msvcrt.dll_memset
mov rax, qword [rdi]
lea r8, [rsp + 0x38]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x30]
call qword [0x140022378]
mov esi, eax
test eax, eax
js 0x14000a803
mov rcx, qword [rsp + 0x38]
shl rcx, 0xa
mov qword [rsp + 0x38], rcx
mov r9d, 0x80
lea r8, [rbp + 0x1c0]
lea edx, [r9 - 0x7f]
call qword [sym.imp.SHLWAPI.dll_StrFormatByteSizeEx]
test eax, eax
js 0x14000a7ff
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
jmp 0x14000a7ff
mov rax, qword [rdi]
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [0x140022378]
mov esi, eax
test eax, eax
js 0x14000a803
mov r8d, dword [rsp + 0x40]
mov rdx, r12
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CPtrList::FreeNode]
jmp 0x14000a7ff
xor ebx, ebx
comisd xmm1, xmmword [0x140029100]
jb 0x14000a407
mulsd xmm1, qword [0x1400290f8]
inc ebx
cmp ebx, 4
jle 0x14000a3ee
mov eax, ebx
neg eax
sbb r8d, r8d
and r8d, 2
lea rcx, [rsp + 0x48]
call fcn.140009cec
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
mov ecx, ebx
lea rdi, [0x140023ac8]
test ebx, ebx
je 0x14000a503
sub ecx, 1
je 0x14000a4dc
sub ecx, 1
je 0x14000a4b5
sub ecx, 1
je 0x14000a48e
cmp ecx, 1
jne 0x14000a533
lea r8, [0x140038b58]
mov rdx, rdi
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_AfxThrowUserException]
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_Ordinal_1284]
nop
jmp 0x14000a528
lea r8, [0x140038a98]
mov rdx, rdi
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_AfxThrowUserException]
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_Ordinal_1284]
nop
jmp 0x14000a528
lea r8, [0x1400389d8]
mov rdx, rdi
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_AfxThrowUserException]
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_Ordinal_1284]
nop
jmp 0x14000a528
lea r8, [0x140038918]
mov rdx, rdi
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_AfxThrowUserException]
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_Ordinal_1284]
nop
jmp 0x14000a528
lea r8, [0x140038858]
mov rdx, rdi
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_AfxThrowUserException]
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_Ordinal_1284]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
cmp r15w, 0x7a
jne 0x14000a5f4
test ebx, ebx
je 0x14000a5f4
xor r8d, r8d
movsd xmm1, qword [rsp + 0x68]
lea rcx, [rsp + 0x58]
call fcn.140009cec
nop
mov r8, rax
lea rdx, [0x140023ad0]
lea rcx, [rsp + 0x70]
call qword [sym.imp.MFC42u.dll_AfxThrowUserException]
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp - 0x60]
call qword [sym.imp.MFC42u.dll_AfxThrowOleException]
nop
lea r8, [0x140038858]
mov rdx, rax
lea rcx, [rbp - 0x70]
call qword [sym.imp.MFC42u.dll_AfxThrowNotSupportedException]
nop
lea r8, [0x140023acc]
mov rdx, rax
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_AfxThrowOleException]
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_Ordinal_1284]
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop
lea rcx, [rbp - 0x70]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop
jmp 0x140009fd0
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x38]
call qword [0x140022378]
mov esi, eax
jmp 0x14000a7ff
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140022378]
mov esi, eax
test eax, eax
js 0x14000a803
cmp r15w, 0x75
jne 0x14000a65f
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CView::OnDragOver]
jmp 0x14000a671
cmp r15w, 0x6c
jne 0x14000a671
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CWnd::OnDragList]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CMonthCalCtrl::GetMonthRange]
jmp 0x14000a7ff
xorps xmm0, xmm0
movsd qword [rsp + 0x48], xmm0
and dword [rsp + 0x50], 0
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov rax, qword [rdi]
lea r8, [rbp - 0x70]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x20]
call qword [0x140022378]
mov esi, eax
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x58]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleObject::Advise]
movsd xmm0, qword [rsp + 0x58]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x50], eax
test esi, esi
js 0x14000a803
cvttsd2si rax, xmm0
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CPropertySheet::EnableStackedTabs]
mov dword [rsp + 0x28], 0x104
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp - 0x70]
lea edx, [r9 + 1]
mov r14d, 0x400
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetDateFormatW]
test eax, eax
je 0x14000a7c3
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
mov dword [rsp + 0x28], 0x104
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp - 0x70]
lea edx, [r9 + 2]
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_GetTimeFormatW]
test eax, eax
je 0x14000a7c3
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
mov rbx, rax
lea rdx, [0x140023ac8]
lea rcx, [rsp + 0x70]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x58]
call qword [sym.imp.MFC42u.dll_AfxThrowNotSupportedException]
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_Ordinal_1284]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop
lea rcx, [rsp + 0x70]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
mov rax, qword [rsp + 0x30]
cmp dword [rax - 8], 0
jne 0x14000a7ff
mov r9d, r14d
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_CString::FreeExtra]
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
test esi, esi
jns 0x14000a82f
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.1400082c8
nop
mov rdx, rax
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
and dword [rsp + 0x40], 0
test r13, r13
je 0x14000a8f1
lea eax, [r15 - 0x64]
cmp ax, 0x14
ja 0x14000a85f
mov ecx, 0x100005
bt ecx, eax
jae 0x14000a85f
lea rdx, [rsp + 0x30]
mov rcx, r13
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
jmp 0x14000a8f1
mov rdx, r12
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
nop
lea rdx, [0x140023ae4]
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CRichEditView::FindTextW]
mov rcx, qword [rsp + 0x38]
movsxd r8, dword [rcx - 8]
cmp eax, 0xffffffff
je 0x14000a8e6
cmp eax, r8d
jge 0x14000a8e6
movsxd rdx, eax
test rdx, rdx
js 0x14000a8a7
cmp eax, dword [rcx - 8]
jge 0x14000a8a7
movzx r9d, word [rcx + rdx*2]
jmp 0x14000a8aa
xor r9d, r9d
cmp r9w, r15w
je 0x14000a8ba
inc eax
inc rdx
cmp rdx, r8
jl 0x14000a896
cmp eax, r8d
jge 0x14000a8e6
mov r8d, 0x73
mov edx, eax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CRecordset::SkipDeletedRecords]
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rcx, r13
call qword [sym.imp.MFC42u.dll_CPtrList::FreeNode]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14000a900
mov eax, dword [rsp + 0x40]
mov dword [rcx], eax
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef]
mov eax, esi
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.14001cbc0
mov rbx, qword [rsp + 0x428]
add rsp, 0x3d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret