Function at 0x14000a430
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 - 0x208]
sub rsp, 0x2d0
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x140035898]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
movzx r15d, r9w
mov r12, r8
mov r14, rdx
mov rdi, rcx
mov r13, qword [rbp + 0x230]
mov rax, qword [rbp + reloc.MFC42u.dll_CWordArray::CWordArray]
mov qword [rbp - 0x80], rax
mov esi, 0x80004005
lea rdx, [0x140022b98]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
nop
and dword [rsp + 0x40], 0
mov rbx, qword [0x1400382f0]
call qword [sym.imp.MFC42u.dll_Ordinal_1463]
mov qword [rax + 0x18], rbx
mov r8d, r15d
cmp r15d, 0x73
ja 0x14000a777
je 0x14000abae
sub r8d, 0x61
je 0x14000a71c
sub r8d, 1
je 0x14000a696
sub r8d, 1
je 0x14000a5c1
sub r8d, 1
je 0x14000a937
sub r8d, 2
je 0x14000a576
sub r8d, 6
je 0x14000abae
cmp r8d, 6
jne 0x14000ad68
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140022398]
mov esi, eax
test eax, eax
js 0x14000ad68
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, [0x140023af8]
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 0x14000ad5e
mov rax, qword [rdi]
lea r8, [rsp + 0x38]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x28]
call qword [0x140022398]
mov esi, eax
test eax, eax
js 0x14000ad68
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 0x14000ad64
mov rax, qword [rdi]
lea r8, [rbp - 0x60]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x20]
call qword [0x140022398]
mov esi, eax
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x58]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleObject::Advise]
movsd xmm0, qword [rsp + 0x58]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x78], eax
test esi, esi
js 0x14000ad68
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 0x14000a657
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 0x14000ad64
mov r9d, r14d
xor r8d, r8d
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x70]
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 0x14000ad5e
lea rcx, [0x140038708]
mov rax, qword [0x140038708]
cmp dword [rax - 8], 0
jne 0x14000a6b5
mov edx, 0x1b0
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
lea rbx, [0x1400387c8]
mov rax, qword [0x1400387c8]
cmp dword [rax - 8], 0
jne 0x14000a6d7
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 [0x140022398]
mov esi, eax
test eax, eax
js 0x14000ad68
cmp dword [rsp + 0x40], 0
lea rax, [0x140038708]
cmovne rbx, rax
mov rdx, rbx
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
jmp 0x14000ad64
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140022398]
mov esi, eax
test eax, eax
js 0x14000ad68
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 0x14000ad64
lea rdx, [rbp - 0x50]
jmp 0x14000a927
sub r8d, 0x74
je 0x14000ac06
sub r8d, 1
je 0x14000abae
sub r8d, 1
je 0x14000ab8f
sub r8d, 1
je 0x14000a7b9
sub r8d, 1
je 0x14000a937
sub r8d, 1
je 0x14000a8c0
cmp r8d, 1
jne 0x14000ad68
mov rax, qword [0x140038888]
xor esi, esi
cmp dword [rax - 8], esi
jne 0x14000a7d9
mov edx, CDocObjectServerItem::CDocObjectServerItem
lea rcx, [0x140038888]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038948]
cmp dword [rax - 8], esi
jne 0x14000a7f7
mov edx, CDocObjectServerItem::CDocObjectServerItem
lea rcx, [0x140038948]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038a08]
cmp dword [rax - 8], esi
jne 0x14000a815
mov edx, reloc.MFC42u.dll_CDocObjectServerItem::CDocObjectServerItem
lea rcx, [0x140038a08]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038ac8]
cmp dword [rax - 8], esi
jne 0x14000a833
mov edx, 0x151
lea rcx, [0x140038ac8]
call qword [sym.imp.MFC42u.dll_CPropertySheet::OnCtlColor]
mov rax, qword [0x140038b88]
cmp dword [rax - 8], esi
jne 0x14000a851
mov edx, 0x152
lea rcx, [0x140038b88]
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 [0x140022398]
mov esi, eax
test eax, eax
js 0x14000ad68
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 0x14000a971
xor r8d, r8d
lea rcx, [rsp + 0x48]
call fcn.14000a280
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
nop
lea rcx, [rsp + 0x48]
jmp 0x14000ab73
and qword [rsp + 0x38], 0
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp - 0x50]
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 [0x140022398]
mov esi, eax
test eax, eax
js 0x14000ad68
mov rcx, qword [rsp + 0x38]
shl rcx, 0xa
mov qword [rsp + 0x38], rcx
mov r9d, 0x80
lea r8, [rbp - 0x50]
lea edx, [r9 - 0x7f]
call qword [sym.imp.SHLWAPI.dll_StrFormatByteSizeEx]
test eax, eax
js 0x14000ad64
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_AfxDeleteObject]
jmp 0x14000ad64
mov rax, qword [rdi]
lea r8, [rsp + 0x40]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [0x140022398]
mov esi, eax
test eax, eax
js 0x14000ad68
mov r8d, dword [rsp + 0x40]
mov rdx, r12
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CPtrList::FreeNode]
jmp 0x14000ad64
xor ebx, ebx
comisd xmm1, xmmword [0x1400292a8]
jb 0x14000a98c
mulsd xmm1, qword [0x1400292a0]
inc ebx
cmp ebx, 4
jle 0x14000a973
mov eax, ebx
neg eax
sbb r8d, r8d
and r8d, 2
lea rcx, [rsp + 0x48]
call fcn.14000a280
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, [0x140023ae8]
test ebx, ebx
je 0x14000aa88
sub ecx, 1
je 0x14000aa61
sub ecx, 1
je 0x14000aa3a
sub ecx, 1
je 0x14000aa13
cmp ecx, 1
jne 0x14000aab8
lea r8, [0x140038b88]
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 0x14000aaad
lea r8, [0x140038ac8]
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 0x14000aaad
lea r8, [0x140038a08]
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 0x14000aaad
lea r8, [0x140038948]
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 0x14000aaad
lea r8, [0x140038888]
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 0x14000ab79
test ebx, ebx
je 0x14000ab79
xor r8d, r8d
movsd xmm1, qword [rsp + 0x68]
lea rcx, [rsp + 0x58]
call fcn.14000a280
nop
mov r8, rax
lea rdx, [0x140023af0]
lea rcx, [rbp - 0x60]
call qword [sym.imp.MFC42u.dll_AfxThrowUserException]
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.MFC42u.dll_AfxThrowOleException]
nop
lea r8, [0x140038888]
mov rdx, rax
lea rcx, [rbp - 0x70]
call qword [sym.imp.MFC42u.dll_AfxThrowNotSupportedException]
nop
lea r8, [0x140023aec]
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, [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]
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 0x14000a56c
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x38]
call qword [0x140022398]
mov esi, eax
jmp 0x14000ad64
mov rax, qword [rdi]
lea r8, [rsp + 0x30]
mov rdx, r14
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [0x140022398]
mov esi, eax
test eax, eax
js 0x14000ad68
cmp r15w, 0x75
jne 0x14000abe4
lea rcx, [rsp + 0x30]
call qword [sym.imp.MFC42u.dll_CView::OnDragOver]
jmp 0x14000abf6
cmp r15w, 0x6c
jne 0x14000abf6
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 0x14000ad64
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 [0x140022398]
mov esi, eax
test eax, eax
js 0x14000ad68
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x48]
call qword [sym.imp.MFC42u.dll_CDocObjectServer::XOleObject::Advise]
cvttsd2si rax, qword [rsp + 0x48]
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 0x14000ad28
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 0x14000ad28
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x70]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
mov rbx, rax
lea rdx, [0x140023ae8]
lea rcx, [rbp - 0x60]
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, [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]
mov rax, qword [rsp + 0x30]
cmp dword [rax - 8], 0
jne 0x14000ad64
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 0x14000ad94
mov edx, esi
lea rcx, [rsp + 0x58]
call fcn.140008734
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 0x14000ae56
lea eax, [r15 - 0x64]
cmp ax, 0x14
ja 0x14000adc4
mov ecx, 0x100005
bt ecx, eax
jae 0x14000adc4
lea rdx, [rsp + 0x30]
mov rcx, r13
call qword [sym.imp.MFC42u.dll_AfxDaoGetEngine]
jmp 0x14000ae56
mov rdx, r12
lea rcx, [rsp + 0x38]
call qword [sym.imp.MFC42u.dll_CDaoException::CDaoException]
nop
lea rdx, [0x140023b04]
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 0x14000ae4b
cmp eax, r8d
jge 0x14000ae4b
movsxd rdx, eax
test rdx, rdx
js 0x14000ae0c
cmp eax, dword [rcx - 8]
jge 0x14000ae0c
movzx r9d, word [rcx + rdx*2]
jmp 0x14000ae0f
xor r9d, r9d
cmp r9w, r15w
je 0x14000ae1f
inc eax
inc rdx
cmp rdx, r8
jl 0x14000adfb
cmp eax, r8d
jge 0x14000ae4b
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 0x14000ae65
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 + 0x1c0]
xor rcx, rsp
call fcn.14001d7f0
mov rbx, qword [rsp + 0x328]
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret