Function at 0x1400343a0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x180
mov rax, qword [0x1400b2010]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rdi, rcx
xor sil, sil
xor r14b, r14b
call fcn.14005dec0
test al, al
je 0x140034721
mov dl, 1
lea rcx, str.Menu
call fcn.14005e030
test al, al
je 0x140034433
xor r8d, r8d
xor edx, edx
lea rcx, str.Open
call fcn.14005ed60
movzx esi, sil
mov r15d, 1
test al, al
cmovne esi, r15d
xor r8d, r8d
xor edx, edx
lea rcx, str.Open_directory
call fcn.14005ed60
movzx r14d, r14b
test al, al
cmovne r14d, r15d
call fcn.14005ec80
jmp 0x140034439
mov r15d, 1
mov dl, 1
lea rcx, str.Option
call fcn.14005e030
test al, al
je 0x1400344db
lea rdx, [rdi + 0xd79]
lea rcx, str.Minimap
call fcn.1400543e0
mov dword [rsp + 0x100], 0xa
mov dword [rsp + 0x108], r15d
lea r8, [rdi + 0xda8]
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x108]
lea rcx, str.Minimap_Size
call fcn.140056380
lea rdx, [rdi + 0xdac]
lea rcx, str.Add_fog_of_war_in_minmap
call fcn.1400543e0
lea rdx, [rdi + 0xd7a]
lea rcx, str.Resume
call fcn.1400543e0
lea rdx, [rdi + 0xdbc]
lea rcx, str.Limit_Resume_to_Selected_Player
call fcn.1400543e0
call fcn.14005ec80
mov dl, 1
lea rcx, str.Panels
call fcn.14005e030
test al, al
je 0x140034564
lea rdx, [rdi + 0xd7b]
lea rcx, str.Technologies__T_
call fcn.1400543e0
lea rdx, [rdi + 0xd7c]
lea rcx, str.Civics__C_
call fcn.1400543e0
lea rdx, [rdi + 0xd7d]
lea rcx, str.City_State__S_
call fcn.1400543e0
lea rdx, [rdi + 0xd7e]
lea rcx, str.Religion__R_
call fcn.1400543e0
lea rdx, [rdi + 0xd80]
lea rcx, str.Great_People__G_
call fcn.1400543e0
lea rdx, [rdi + 0xd7f]
lea rcx, str.Policies__P_
call fcn.1400543e0
call fcn.14005ec80
mov dl, 1
lea rcx, str.Map_Filters
call fcn.14005e030
test al, al
je 0x14003462b
cmp dword [rdi + 0xd84], 3
sete r8b
lea rdx, [0x1400a1efc]
lea rcx, str.Religions
call fcn.14005ed60
xor ebx, ebx
test al, al
je 0x1400345b4
mov eax, 3
cmp dword [rdi + 0xd84], eax
cmove eax, ebx
mov dword [rdi + 0xd84], eax
jmp 0x1400345ba
mov eax, dword [rdi + 0xd84]
cmp eax, 2
sete r8b
lea rdx, [0x1400a1f0c]
lea rcx, str.Continents
call fcn.14005ed60
test al, al
je 0x1400345ee
mov eax, 2
cmp dword [rdi + 0xd84], eax
cmove eax, ebx
mov dword [rdi + 0xd84], eax
jmp 0x1400345f4
mov eax, dword [rdi + 0xd84]
cmp eax, 1
sete r8b
lea rdx, [0x1400a1f1c]
lea rcx, str.Appeal
call fcn.14005ed60
test al, al
je 0x140034624
mov eax, ebx
cmp dword [rdi + 0xd84], 1
setne al
mov dword [rdi + 0xd84], eax
call fcn.14005ec80
jmp 0x14003462d
xor ebx, ebx
mov dl, 1
lea rcx, str.Statistics
call fcn.14005e030
test al, al
je 0x14003466a
lea rdx, [rdi + 0xd81]
lea rcx, str.Goody_huts
call fcn.1400543e0
lea rdx, [rdi + 0xd82]
lea rcx, str.Hard_Tech
call fcn.1400543e0
call fcn.14005ec80
call fcn.14005df60
test sil, sil
je 0x1400346c7
mov rdi, qword [0x1400b2e50]
mov rax, qword [rdi + 0x2210]
movsxd rcx, dword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.Open_File
call fcn.1400646d0
cmp dword [rdi + 0x225c], eax
jne 0x1400346b1
mov dword [rdi + 0x2260], eax
cmp dword [rdi + 0x2298], eax
jne 0x1400346c0
mov byte [rdi + 0x229c], 1
mov ecx, eax
call fcn.140071e50
test r14b, r14b
je 0x140034727
mov rdi, qword [0x1400b2e50]
mov rax, qword [rdi + 0x2210]
movsxd rcx, dword [rax + 0xc8]
mov rax, qword [rax + 0xd0]
mov r8d, dword [rax + rcx*4 - 4]
xor edx, edx
lea rcx, str.Open_Directory
call fcn.1400646d0
cmp dword [rdi + 0x225c], eax
jne 0x140034709
mov dword [rdi + 0x2260], eax
cmp dword [rdi + 0x2298], eax
jne 0x140034718
mov byte [rdi + 0x229c], 1
mov ecx, eax
call fcn.140071e50
jmp 0x140034727
xor ebx, ebx
lea r15d, [rbx + 1]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], Ordinal_20
mov byte [rsp + 0x60], 0
mov r8d, 9
lea rdx, str..Civ6Save
lea rcx, [rsp + 0x60]
call fcn.14000dae0
nop
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], Ordinal_20
mov byte [rsp + 0x40], 0
mov r8d, 9
lea rdx, str.Open_File
lea rcx, [rsp + 0x40]
call fcn.14000dae0
nop
mov dword [rsp + 0x108], 0x442f0000
mov dword [rsp + 0x10c], 0x439b0000
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x108]
mov r8d, r15d
lea rdx, [rsp + 0x40]
lea rcx, [0x1400bfeb0]
call fcn.1400129a0
movzx edi, al
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140034829
inc rdx
mov qword [rsp + 0x110], rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034824
add rdx, 0x27
mov qword [rsp + 0x110], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140034824
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.14008f90c
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], Ordinal_20
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14003488b
inc rdx
mov qword [rsp + 0x118], rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034886
add rdx, 0x27
mov qword [rsp + 0x118], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140034886
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.14008f90c
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], Ordinal_20
mov byte [rsp + 0x60], 0
test dil, dil
je 0x140034980
lea r8, [0x1400bfed0]
cmp qword [0x1400bfee8], 0x10
cmovae r8, qword [0x1400bfed0]
lea rdx, str.Open_file__s_..._n
mov ecx, r15d
call fcn.1400337e0
lea rcx, [0x1400b2e78]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400348e6
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov rdx, qword [0x1400b2ee8]
lea rax, [rdx + 1]
mov rcx, qword [0x1400b2ed8]
cmp rcx, rax
ja 0x140034917
lea rcx, [0x1400b2ec8]
call fcn.14003e810
mov rdx, qword [0x1400b2ee8]
mov rcx, qword [0x1400b2ed8]
dec rcx
mov rax, qword [0x1400b2ee0]
and rax, rcx
mov qword [0x1400b2ee0], rax
lea rdi, [rax + rdx]
and rdi, rcx
mov rcx, qword [0x1400b2ed0]
cmp qword [rcx + rdi*8], 0
jne 0x14003495c
mov ecx, 0x20
call fcn.14008f5b0
mov rcx, qword [0x1400b2ed0]
mov qword [rcx + rdi*8], rax
mov rcx, qword [0x1400b2ed0]
lea rdx, [0x1400bfed0]
mov rcx, qword [rcx + rdi*8]
call fcn.14001a110
inc qword [0x1400b2ee8]
lea rcx, [0x1400b2e78]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], Ordinal_20
mov byte [rsp + 0xa0], 0
mov r8d, 9
lea rdx, str..Civ6Save
lea rcx, [rsp + 0xa0]
call fcn.14000dae0
nop
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], Ordinal_20
mov byte [rsp + 0x80], 0
mov r8d, Ordinal_19
lea rdx, str.Open_Directory
lea rcx, [rsp + 0x80]
call fcn.14000dae0
nop
mov dword [rsp + 0x100], 0x442f0000
mov dword [rsp + 0x104], 0x439b0000
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x100]
xor r8d, r8d
lea rdx, [rsp + 0x80]
lea rcx, [0x1400bfeb0]
call fcn.1400129a0
movzx edi, al
mov rdx, qword [rsp + 0x98]
cmp rdx, 0x10
jb 0x140034ab8
inc rdx
mov qword [rsp + 0x120], rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034ab3
add rdx, 0x27
mov qword [rsp + 0x120], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140034ab3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.14008f90c
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], Ordinal_20
mov byte [rsp + 0x80], 0
mov rdx, qword [rsp + 0xb8]
cmp rdx, 0x10
jb 0x140034b29
inc rdx
mov qword [rsp + 0x128], rdx
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034b24
add rdx, 0x27
mov qword [rsp + 0x128], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140034b24
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.14008f90c
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], Ordinal_20
mov byte [rsp + 0xa0], 0
test dil, dil
je 0x140034cbd
lea r8, [0x1400bfed0]
cmp qword [0x1400bfee8], 0x10
cmovae r8, qword [0x1400bfed0]
lea rdx, str.Open_directory__s_..._n
mov ecx, r15d
call fcn.1400337e0
lea rcx, [0x1400b2e78]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x140034b8d
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
lea rdx, [0x1400bfed0]
lea rcx, [rsp + 0x138]
call fcn.14001a110
nop
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x108], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], Ordinal_20
mov byte [rsp + 0xc0], 0
mov r8d, 9
lea rdx, str..Civ6Save
lea rcx, [rsp + 0xc0]
call fcn.14000dae0
nop
lea rdx, [rsp + 0x138]
lea rcx, [rsp + 0xe0]
call fcn.14001a110
nop
lea r8, [0x1400b2ec8]
lea rdx, [rsp + 0xc0]
mov rcx, rax
call fcn.140033c50
lea rcx, [0x1400b2e78]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
mov rdx, qword [rsp + 0x150]
cmp rdx, 0x10
jb 0x140034ca1
inc rdx
mov qword [rsp + 0x130], rdx
mov rcx, qword [rsp + 0x138]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140034c9c
add rdx, 0x27
mov qword [rsp + 0x130], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140034c9c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.14008f90c
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], Ordinal_20
mov byte [rsp + 0x138], 0
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.14008f590
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret