Function at 0x140009280
Capabilities:
Get geographical location

Disassembly:
push rbx
sub rsp, 0x30
mov r8, qword [0x140058ba0]
mov rcx, qword [0x140058ba8]
cmp r8, rcx
jne 0x1400093a0
lea rdx, [0x140024a80]
lea rcx, [0x1400566a0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, [0x140024a80]
lea rcx, [0x1400566a0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
cmp qword [0x1400564d8], 0x10
lea rbx, [0x1400564c0]
mov r8, qword [0x1400564d0]
mov rdx, rbx
cmovae rdx, qword [0x1400564c0]
mov rcx, rax
call fcn.14002b7c0
lea rdx, [0x140024a80]
lea rcx, [0x1400566a0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rax
lea rdx, str.Build_Facility_Error:_AIForceTaxiOutRunway_vector_was_unexpectedly_empty
call fcn.1400247e0
lea rdx, [0x140024a80]
lea rcx, [0x1400566a0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rax
lea rdx, str.No_AI_s__Will_Be_Assigned_a_Forced_Taxi_Out.
call fcn.1400247e0
lea rdx, [0x140024a80]
lea rcx, [0x1400566a0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
cmp qword [0x1400564d8], 0x10
mov rcx, rax
mov r8, qword [0x1400564d0]
cmovae rbx, qword [0x1400564c0]
mov rdx, rbx
call fcn.14002b7c0
lea rdx, [0x140024a80]
lea rcx, [0x1400566a0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rdx, [0x140024a80]
lea rcx, [0x1400566a0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword [rsp + 0x68]
mov byte [rax], 1
add rsp, 0x30
pop rbx
ret
mov r9d, dword [0x140058960]
sub rcx, r8
movabs rax, 0x7878787878787879
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jb 0x1400093d7
mov byte [0x140058912], 0
add rsp, 0x30
pop rbx
ret
movzx ecx, byte [0x140058b8e]
lea rax, [r9 + 1]
cmp rax, rdx
mov qword [rsp + 0x40], rsi
mov esi, 1
cmove ecx, esi
imul rbx, r9, 0x88
mov byte [0x140058b8e], cl
add rbx, r8
cmp qword [rbx + 0x18], 0x10
jb 0x14000940c
mov rbx, qword [rbx]
cmp byte [0x14005892e], 0
mov edx, 0x28
mov rcx, qword [0x140058900]
mov qword [rsp + 0x48], rdi
je 0x1400094f5
lea rdi, [0x1400437db]
mov r9, rbx
mov r8d, esi
mov qword [rsp + 0x20], rdi
call fcn.140034800
mov rcx, qword [0x140058900]
mov edx, 0x29
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
mov rcx, qword [0x140058900]
mov edx, 0x2a
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
mov rcx, qword [0x140058900]
mov edx, 0x2b
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
mov rcx, qword [0x140058900]
mov edx, 0x2c
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
mov rcx, qword [0x140058900]
mov edx, 0x2d
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
jmp 0x140009ec8
lea r8, str.OPEN_AIRPORT
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.LATITUDE
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.LONGITUDE
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.ALTITUDE
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.MAGVAR
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.N_RUNWAYS
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.N_STARTS
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.N_APPROACHES
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.N_DEPARTURES
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.N_ARRIVALS
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.N_TAXI_POINTS
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.N_TAXI_PARKINGS
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.N_TAXI_PATHS
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.N_TAXI_NAMES
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.NAME
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_AIRPORT
mov edx, 0x28
mov dword [0x140058b88], eax
call fcn.140034150
lea rdi, [0x1400437db]
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov rcx, qword [0x140058900]
mov r8d, esi
mov edx, 0x28
call fcn.140034800
mov rcx, qword [0x140058900]
lea r8, str.OPEN_AIRPORT
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.OPEN_RUNWAY
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.LATITUDE
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.LONGITUDE
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.ALTITUDE
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.HEADING
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.LENGTH
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.PATTERN_ALTITUDE
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.PRIMARY_NUMBER
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.PRIMARY_DESIGNATOR
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.SECONDARY_NUMBER
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.SECONDARY_DESIGNATOR
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_RUNWAY
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_AIRPORT
mov edx, 0x29
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
mov edx, 0x29
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
mov rcx, qword [0x140058900]
lea r8, str.OPEN_AIRPORT
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.OPEN_START
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.LATITUDE
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.LONGITUDE
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.ALTITUDE
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.HEADING
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.NUMBER
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.DESIGNATOR
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.TYPE
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_START
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_AIRPORT
mov edx, 0x2a
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
mov edx, 0x2a
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
mov rcx, qword [0x140058900]
lea r8, str.OPEN_AIRPORT
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.OPEN_TAXI_PARKING
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.TYPE
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.TAXI_POINT_TYPE
mov dword [0x140058b88], eax
mov edx, 0x2b
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.NAME
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.SUFFIX
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.NUMBER
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.ORIENTATION
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.HEADING
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.RADIUS
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.BIAS_X
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.BIAS_Z
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_TAXI_PARKING
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_AIRPORT
mov edx, 0x2b
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
mov edx, 0x2b
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
mov rcx, qword [0x140058900]
lea r8, str.OPEN_AIRPORT
mov edx, 0x2c
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.OPEN_TAXI_POINT
mov edx, 0x2c
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.TYPE
mov edx, 0x2c
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.ORIENTATION
mov edx, 0x2c
mov dword [0x140058b88], eax
call fcn.140034150
mov dword [0x140058b88], eax
lea r8, str.BIAS_X
mov edx, 0x2c
mov rcx, qword [0x140058900]
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.BIAS_Z
mov edx, 0x2c
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_TAXI_POINT
mov edx, 0x2c
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_AIRPORT
mov edx, 0x2c
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
mov edx, 0x2c
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
mov rcx, qword [0x140058900]
lea r8, str.OPEN_AIRPORT
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.OPEN_TAXI_PATH
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.TYPE
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.WIDTH
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.LEFT_HALF_WIDTH
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.RIGHT_HALF_WIDTH
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.WEIGHT
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.RUNWAY_NUMBER
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.RUNWAY_DESIGNATOR
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.START
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, [0x140046cdc]
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov dword [0x140058b88], eax
lea r8, str.NAME_INDEX
mov rcx, qword [0x140058900]
mov edx, 0x2d
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_TAXI_PATH
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
lea r8, str.CLOSE_AIRPORT
mov edx, 0x2d
mov dword [0x140058b88], eax
call fcn.140034150
mov rcx, qword [0x140058900]
mov edx, 0x2d
mov r9, rbx
mov dword [0x140058b88], eax
mov qword [rsp + 0x20], rdi
lea r8d, [rdx - 0x27]
call fcn.140034800
mov byte [0x14005892e], sil
mov rdi, qword [rsp + 0x48]
mov byte [0x1400588e1], sil
mov rsi, qword [rsp + 0x40]
mov dword [0x140058b88], eax
mov rax, qword [rsp + 0x68]
mov byte [rax], 0
add rsp, 0x30
pop rbx
ret