Function at 0x140009f40
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, [0x140022b28]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
nop
and dword [rsp + 0x40], 0
mov rbx, qword [0x1400382e0]
call qword [sym.imp.MFC42u.dll_Ordinal_1463]
mov qword [rax + 0x18], rbx
mov r8d, r15d
cmp r15d, 0x73
ja 0x14000a299
cmp r15d, 0x73
je 0x14000a6da
sub r8d, 0x61
je 0x14000a23e
sub r8d, 1
je 0x14000a1b8
sub r8d, 1
je 0x14000a0d5
sub r8d, 1
je 0x14000a360
sub r8d, 2
je 0x14000a08a
sub r8d, 6
je 0x14000a6da
cmp r8d, 6
jne 0x14000a8b4
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140022358]
mov esi, eax
test eax, eax
js 0x14000a8b4
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, [0x140023a88]
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 0x14000a8aa
mov rax, qword [rdi]
lea r8, [rsp + 0x38]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x28]
call qword [0x140022358]
mov esi, eax
test eax, eax
js 0x14000a8b4
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 0x14000a8b0
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 [0x140022358]
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 0x14000a8b4
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 0x14000a179
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 0x14000a8b0
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 0x14000a8aa
lea rcx, [0x1400386f8]
mov rax, qword [0x1400386f8]
cmp dword [rax - 8], 0
jne 0x14000a1d7
mov edx, 0x1b0
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
lea rbx, [0x1400387b8]
mov rax, qword [0x1400387b8]
cmp dword [rax - 8], 0
jne 0x14000a1f9
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 [0x140022358]
mov esi, eax
test eax, eax
js 0x14000a8b4
cmp dword [rsp + 0x40], 0
lea rax, [0x1400386f8]
cmovne rbx, rax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
jmp 0x14000a8b0
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140022358]
mov esi, eax
test eax, eax
js 0x14000a8b4
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 0x14000a8b0
lea rdx, [rbp - 0x50]
jmp 0x14000a350
sub r8d, 0x74
je 0x14000a732
sub r8d, 1
je 0x14000a6da
sub r8d, 1
je 0x14000a6bb
sub r8d, 1
je 0x14000a39a
sub r8d, 1
je 0x14000a360
sub r8d, 1
je 0x14000a2e0
cmp r8d, 1
je 0x14000a39a
jmp 0x14000a8b4
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 [0x140022358]
mov esi, eax
test eax, eax
js 0x14000a8b4
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 0x14000a8b0
lea rdx, [rbp + 0x1c0]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
jmp 0x14000a8b0
mov rax, qword [rdi]
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [0x140022358]
mov esi, eax
test eax, eax
js 0x14000a8b4
mov r8d, dword [rsp + 0x40]
mov rdx, r12
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CPtrList::FreeNode]
jmp 0x14000a8b0
mov rax, qword [0x140038878]
xor esi, esi
cmp dword [rax - 8], esi
jne 0x14000a3ba
mov edx, CDocObjectServerItem::CDocObjectServerItem
lea rcx, [0x140038878]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038938]
cmp dword [rax - 8], esi
jne 0x14000a3d8
mov edx, CDocObjectServerItem::CDocObjectServerItem
lea rcx, [0x140038938]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x1400389f8]
cmp dword [rax - 8], esi
jne 0x14000a3f6
mov edx, reloc.MFC42u.dll_CDocObjectServerItem::CDocObjectServerItem
lea rcx, [0x1400389f8]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038ab8]
cmp dword [rax - 8], esi
jne 0x14000a414
mov edx, 0x151
lea rcx, [0x140038ab8]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038b78]
cmp dword [rax - 8], esi
jne 0x14000a432
mov edx, 0x152
lea rcx, [0x140038b78]
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 [0x140022358]
mov esi, eax
test eax, eax
js 0x14000a8b4
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 0x14000a49d
xor r8d, r8d
lea rcx, [rsp + 0x48]
call fcn.140009d8c
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop
lea rcx, [rsp + 0x48]
jmp 0x14000a69f
xor ebx, ebx
comisd xmm1, xmmword [0x140028fd0]
jb 0x14000a4b8
mulsd xmm1, qword [0x140028fc8]
inc ebx
cmp ebx, 4
jle 0x14000a49f
mov eax, ebx
neg eax
sbb r8d, r8d
and r8d, 2
lea rcx, [rsp + 0x48]
call fcn.140009d8c
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, [0x140023a78]
test ebx, ebx
je 0x14000a5b4
sub ecx, 1
je 0x14000a58d
sub ecx, 1
je 0x14000a566
sub ecx, 1
je 0x14000a53f
cmp ecx, 1
jne 0x14000a5e4
lea r8, [0x140038b78]
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 0x14000a5d9
lea r8, [0x140038ab8]
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 0x14000a5d9
lea r8, [0x1400389f8]
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 0x14000a5d9
lea r8, [0x140038938]
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 0x14000a5d9
lea r8, [0x140038878]
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 0x14000a6a5
test ebx, ebx
je 0x14000a6a5
xor r8d, r8d
movsd xmm1, qword [rsp + 0x68]
lea rcx, [rsp + 0x58]
call fcn.140009d8c
nop
mov r8, rax
lea rdx, [0x140023a80]
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, [0x140038878]
mov rdx, rax
lea rcx, [rbp - 0x70]
call qword [sym.imp.MFC42u.dll_AfxThrowNotSupportedException]
nop
lea r8, [0x140023a7c]
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 0x14000a080
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x38]
call qword [0x140022358]
mov esi, eax
jmp 0x14000a8b0
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140022358]
mov esi, eax
test eax, eax
js 0x14000a8b4
cmp r15w, 0x75
jne 0x14000a710
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CView::OnDragOver]
jmp 0x14000a722
cmp r15w, 0x6c
jne 0x14000a722
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 0x14000a8b0
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 [0x140022358]
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 0x14000a8b4
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 0x14000a874
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 0x14000a874
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
mov rbx, rax
lea rdx, [0x140023a78]
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 0x14000a8b0
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 0x14000a8e0
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.1400082cc
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 0x14000a9a2
lea eax, [r15 - 0x64]
cmp ax, 0x14
ja 0x14000a910
mov ecx, 0x100005
bt ecx, eax
jae 0x14000a910
lea rdx, [rsp + 0x30]
mov rcx, r13
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
jmp 0x14000a9a2
mov rdx, r12
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
nop
lea rdx, [0x140023a94]
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 0x14000a997
cmp eax, r8d
jge 0x14000a997
movsxd rdx, eax
test rdx, rdx
js 0x14000a958
cmp eax, dword [rcx - 8]
jge 0x14000a958
movzx r9d, word [rcx + rdx*2]
jmp 0x14000a95b
xor r9d, r9d
cmp r9w, r15w
je 0x14000a96b
inc eax
inc rdx
cmp rdx, r8
jl 0x14000a947
cmp eax, r8d
jge 0x14000a997
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 0x14000a9b1
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.14001c820
mov rbx, qword [rsp + 0x428]
add rsp, 0x3d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret