Function at 0x140356040
Capabilities:
Get geographical location

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x198
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov rax, qword [0x1404f5550]
xor rax, rsp
mov qword [rsp + reloc.mfc90u.dll_CDynLinkLibrary::CDynLinkLibrary], rax
mov dword [rsp + 0xc0], 0
lea rcx, [rsp + 0x38]
call qword [0x140409500]
nop
cmp dword [rsp + 0x1b8], 0
jne 0x14035652e
mov dword [rsp + 0x50], 0xa
mov eax, dword [rsp + 0x1b0]
and eax, 8
test eax, eax
je 0x1403560c1
mov dword [rsp + 0xe8], 1
jmp 0x1403560cc
mov dword [rsp + 0xe8], 0
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0
jne 0x140356139
mov r9d, 0xa
lea r8, [rsp + 0x68]
mov edx, 0x23
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movzx eax, word [rsp + 0x68]
mov dword [rsp + 0xec], eax
cmp dword [rsp + 0xec], 0x30
je 0x140356121
cmp dword [rsp + 0xec], 0x31
je 0x14035612e
jmp 0x140356139
mov dword [rsp + 0x80], 0
jmp 0x140356139
mov dword [rsp + 0x80], 1
cmp dword [rsp + 0x80], 0
je 0x140356154
lea rax, [0x14044c7a8]
mov qword [rsp + 0xf0], rax
jmp 0x140356163
lea rax, [0x14047bdc4]
mov qword [rsp + 0xf0], rax
mov rdx, qword [rsp + 0xf0]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
mov r9d, 0xa
lea r8, [rsp + 0x68]
mov edx, 0x25
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movzx eax, word [rsp + 0x68]
mov dword [rsp + 0xf8], eax
cmp dword [rsp + 0xf8], 0x31
je 0x1403561ab
jmp 0x1403561c6
xor edx, edx
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator__]
movzx edx, ax
lea rcx, [rsp + 0x38]
call qword [0x140408908]
lea rcx, [rsp + 0x58]
call qword [0x140409500]
nop
mov r9d, 0xa
lea r8, [rsp + 0x68]
mov edx, 0x1e
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
lea r8, [rsp + 0x58]
lea rdx, [0x14047bdc0]
lea rcx, [rsp + 0x88]
call fcn.140015c64
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x108], rax
lea r8, [0x14047bdc0]
mov rdx, qword [rsp + 0x108]
lea rcx, [rsp + 0x90]
call fcn.140015bcc
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x118], rax
mov rdx, qword [rsp + 0x118]
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x90]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x88]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov eax, dword [rsp + 0x1b0]
and eax, 1
test eax, eax
jne 0x140356359
lea r8, [0x140450f60]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x98]
call fcn.140015bcc
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x128], rax
mov rdx, qword [rsp + 0x128]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_]
nop
lea rcx, [rsp + 0x98]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov eax, dword [rsp + 0x1b0]
and eax, 2
test eax, eax
jne 0x140356359
lea r8, [0x14047bdb8]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0xa0]
call fcn.140015bcc
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x138], rax
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_]
nop
lea rcx, [rsp + 0xa0]
call qword [sym.imp.mfc90u.dll_CView::CView]
cmp dword [rsp + 0x80], 0
je 0x140356375
mov eax, dword [rsp + 0x1b0]
and eax, 4
test eax, eax
je 0x140356523
xor eax, eax
mov word [rsp + 0x68], ax
mov rcx, qword [rsp + reloc.mfc90u.dll_CGopherLocator::CGopherLocator]
call fcn.1402391d0
cmp eax, 0xc
jge 0x1403563ab
mov r9d, 0xa
lea r8, [rsp + 0x68]
mov edx, 0x28
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
jmp 0x1403563c6
mov r9d, 0xa
lea r8, [rsp + 0x68]
mov edx, 0x29
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CTreeCtrl::CTreeCtrl]
lea r8, [rsp + 0x58]
lea rdx, [0x14047bdc0]
lea rcx, [rsp + 0xa8]
call fcn.140015c64
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x148], rax
lea r8, [0x14047bdc0]
mov rdx, qword [rsp + 0x148]
lea rcx, [rsp + 0xb0]
call fcn.140015bcc
mov qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu], rax
mov rax, qword [rsp + reloc.mfc90u.dll_CChevronOwnerDrawMenu::CChevronOwnerDrawMenu]
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x158]
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0xb0]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0xa8]
call qword [sym.imp.mfc90u.dll_CView::CView]
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CStatusBar::GetThisMessageMap]
movzx eax, al
test eax, eax
jne 0x140356523
mov r9d, 0xa
lea r8, [rsp + 0x68]
mov edx, CRichEditDoc::GetView
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movzx eax, word [rsp + 0x68]
mov dword [rsp + 0x160], eax
cmp dword [rsp + 0x160], 0x30
je 0x1403564bf
cmp dword [rsp + 0x160], 0x31
je 0x1403564d1
jmp 0x140356523
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_]
jmp 0x140356523
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0xb8]
call fcn.14000779c
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x170], rax
mov rdx, qword [rsp + 0x170]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0xb8]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x58]
call qword [sym.imp.mfc90u.dll_CView::CView]
lea rcx, [rsp + 0x30]
call qword [0x140409500]
nop
mov rax, qword [rsp + reloc.mfc90u.dll_CGopherLocator::CGopherLocator]
mov eax, dword [rax + 8]
mov dword [rsp + 0xdc], eax
cmp dword [rsp + 0xdc], 0
jne 0x14035657e
lea rdx, [rsp + 0x40]
mov rax, qword [rsp + reloc.mfc90u.dll_CGopherLocator::CGopherLocator]
movsd xmm0, qword [rax]
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
test eax, eax
je 0x14035657e
mov dword [rsp + reloc.mfc90u.dll_CDialog::CDialog], 1
jmp 0x140356589
mov dword [rsp + reloc.mfc90u.dll_CDialog::CDialog], 0
cmp dword [rsp + 0x1b8], 0
je 0x1403565a1
mov qword [rsp + 0x180], 0
jmp 0x1403565b4
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov qword [rsp + 0x180], rax
mov edx, SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov dword [rsp + 0x28], SerializeElements<class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > >
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x180]
lea r8, [rsp + 0x40]
mov edx, dword [rsp + 0x1b0]
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetTimeFormatW]
mov edx, 0xffffffff
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_CDataPathProperty::Open]
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x1a0]
call qword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
mov eax, dword [rsp + 0xc0]
or eax, 1
mov dword [rsp + 0xc0], eax
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rsp + reloc.mfc90u.dll_CDynLinkLibrary::CDynLinkLibrary]
xor rcx, rsp
call fcn.1403c2380
add rsp, 0x198
ret