Function at 0x180021ac0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x1800529c8]
xor rax, rsp
mov qword [rbp + 0x40], rax
lea r15d, [rdx + 0x10]
mov r12, rcx
cmp edx, r15d
jae 0x18002217e
lea r14d, [rdx - 0xbf]
xor ebx, ebx
lea r13, [0x180000000]
cmp r14d, 0x1b
ja case.0x180021b27.4
mov ecx, dword [r13 + r14*4 + 0x221dc]
add rcx, r13
jmp rcx
mov rdi, qword [0x180052d48]
test rdi, rdi
je 0x180021b5b
nop word [rax + rax]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
lea ecx, [r9 + 0x1d]
call fcn.1800328b0
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x180021b40
mov r8, qword [str.ifndef_YY_MALLOC_ndefine_YY_MALLOC_C__N__t_tmalloc_N__nendif_nifndef_YY_REALLOC_ndefine_YY_REALLOC_C__P__N__trealloc_P__N__nendif_nifndef_YY_FREE_ndefine_YY_FREE_free_nendif_nifndef_YY_LOCAL_ndefine_YY_LOCAL_T__tstatic_T_nendif_nifndef_YY_ACTION_ndefine_YY_ACTION_T__tstatic_T_nendif_nifndef_YY_RULE_ndefine_YY_RULE_T__tstatic_T_nendif_nifndef_YY_PARSE_ndefine_YY_PARSE_T__tT_nendif_nifndef_YYPARSE_ndefine_YYPARSE_t_tyyparse_nendif_nifndef_YYPARSEFROM_ndefine_YYPARSEFROM_tyyparsefrom_nendif_nifndef_YYRELEASE_ndefine_YYRELEASE_tyyrelease_nendif_nifndef_YY_BEGIN_ndefine_YY_BEGIN_t__yy____begin_yy____pos__1__nendif_nifndef_YY_END_ndefine_YY_END_t_t__yy____end_yy____pos__1__nendif_nifdef_YY_DEBUG_n_define_yyprintf_args__tfprintf_args_nelse_n_define_yyprintf_args__nendif_nifndef_YYSTYPE_ndefine_YYSTYPE_tint_nendif_nifndef_YY_STACK_SIZE_ndefine_YY_STACK_SIZE_128_nendif_n_nifndef_YY_BUFFER_SIZE_ndefine_YY_BUFFER_SIZE_1024_nendif_n_nifndef_YY_PART_n_ntypedef_struct__yycontext_yycontext__ntypedef_void__yyaction__yycontext_yy__char_yytext__int_yyleng___ntypedef_struct__yythunk__int_begin__end___yyaction__action___struct__yythunk_next___yythunk__n_nstruct__yycontext__n__char_______buf__n__int_________buflen__n__int_________pos__n__int_________limit__n__char_______text__n__int_________textlen__n__int_________begin__n__int_________end__n__int_________textmax__n__yythunk____thunks__n__int_________thunkslen__n__int_________thunkpos__n__YYSTYPE_______n__YYSTYPE____val__n__YYSTYPE____vals__n__int_________valslen__nifdef_YY_CTX_MEMBERS_n__YY_CTX_MEMBERS_nendif_n__n_nifdef_YY_CTX_LOCAL_ndefine_YY_CTX_PARAM__tyycontext_yyctx__ndefine_YY_CTX_PARAM_tyycontext_yyctx_ndefine_YY_CTX_ARG__tyyctx__ndefine_YY_CTX_ARG_tyyctx_nifndef_YY_INPUT_ndefine_YY_INPUT_yy__buf__result__max_size__t_t_n___t_t_t_t_t_t_t_n____int_yyc_getchar____t_t_t_t_t_n____result__EOF__yyc____0_:___buf__yyc__1___t_n____yyprintf__stderr_____c____yyc____t_t_t_n___nendif_nelse_ndefine_YY_CTX_PARAM__ndefine_YY_CTX_PARAM_ndefine_YY_CTX_ARG__ndefine_YY_CTX_ARG_nyycontext__yyctx__0__0___nyycontext_yyctx__yyctx__nifndef_YY_INPUT_ndefine_YY_INPUT_buf__result__max_size__t_t_t_n___t_t_t_t_t_t_t_n____int_yyc_getchar____t_t_t_t_t_n____result__EOF__yyc____0_:___buf__yyc__1___t_n____yyprintf__stderr_____c____yyc____t_t_t_n___nendif_nendif_n_nYY_LOCAL_int__yyrefill_yycontext_yy__n_n__int_yyn__n__while__yy____buflen___yy____pos___512__n_____n______yy____buflen__2__n______yy____buf__char__YY_REALLOC_yy__yy____buf__yy____buflen___n_____nifdef_YY_CTX_LOCAL_n__YY_INPUT_yy___yy____buf__yy____pos___yyn___yy____buflen___yy____pos____nelse_n__YY_INPUT__yy____buf__yy____pos___yyn___yy____buflen___yy____pos____nendif_n__if___yyn__return_0__n__yy____limit__yyn__n__return_1__n_n_nYY_LOCAL_int__yymatchDot_yycontext_yy__n_n__if__yy____pos___yy____limit___yyrefill_yy___return_0__n__yy____pos__n__return_1__n_n_nYY_LOCAL_int__yymatchChar_yycontext_yy__int_c__n_n__if__yy____pos___yy____limit___yyrefill_yy___return_0__n__if___unsigned_char_yy____buf_yy____pos___c__n_____n______yy____pos__n______yyprintf__stderr_____ok___yymatchChar_yy___c_____s_n___c__yy____bufyy____pos____n______return_1__n_____n__yyprintf__stderr_____fail_yymatchChar_yy___c_____s_n___c__yy____bufyy____pos____n__return_0__n_n_nYY_LOCAL_int__yymatchString_yycontext_yy__const_char_s__n_n__int_yysav_yy____pos__n__while__s__n_____n______if__yy____pos___yy____limit___yyrefill_yy___return_0__n______if__yy____buf_yy____pos____s__n_________n__________yy____pos_yysav__n__________return_0__n_________n______s__n______yy____pos__n_____n__return_1__n_n_nYY_LOCAL_int__yymatchClass_yycontext_yy__unsigned_char_bits__n_n__int_c__n__if__yy____pos___yy____limit___yyrefill_yy___return_0__n__c__unsigned_char_yy____buf_yy____pos___n__if__bits_c____3____1_____c__7____n_____n______yy____pos__n______yyprintf__stderr_____ok___yymatchClass____s_n___yy____bufyy____pos____n]
lea rdx, [0x180040954]
mov rcx, qword [0x180052d58]
call fcn.18003b800
jmp case.0x180021b27.4
mov edx, 0x43
xor ecx, ecx
call fcn.18002aba0
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor edx, edx
lea ecx, [rax + 0x36]
call fcn.18002fa40
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
mov qword [rsp + 0x28], rbx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov edx, 0x99
xor ecx, ecx
call fcn.180029110
jmp 0x180022159
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov r8d, 0x113
call fcn.1800349f0
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
mov edx, 0xcb
xor ecx, ecx
call fcn.180015430
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
mov edx, 0x125
xor ecx, ecx
call fcn.1800298c0
jmp 0x180022159
mov edx, 0x79
xor ecx, ecx
call fcn.180029720
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor edx, edx
mov ecx, 0x85
call fcn.180018610
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor edx, edx
mov ecx, 0xe3
call fcn.18002e550
jmp 0x180022159
xor r8d, r8d
xor ecx, ecx
lea edx, [r8 + 0x4a]
call fcn.18000e150
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xad
call fcn.180028b90
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
lea ecx, [rax + 0x1c]
xor edx, edx
call fcn.180026710
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
mov edx, 0x9a
xor ecx, ecx
call fcn.1800240b0
jmp 0x180022159
xor edx, edx
xor ecx, ecx
lea r8d, [rdx + 0x4b]
call fcn.180028ce0
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor r8d, r8d
xor edx, edx
mov ecx, 0x127
call fcn.180020af0
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
mov qword [rsp + 0x28], rbx
lea edx, [rax + 0x78]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor r8d, r8d
xor ecx, ecx
call fcn.180029110
jmp 0x180022159
lea r8, [rbp - 0x80]
mov dword [rsp + 0x50], ebx
mov edx, 0x4f
mov qword [rsp + 0x54], 0x3f800000
xor ecx, ecx
mov dword [rsp + 0x60], 0x3dcccccd
mov dword [rsp + 0x64], 0x3dcccccd
mov dword [rsp + 0x68], 0x3dcccccd
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x74], 0x3f8ccccd
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x44], 0x3f800000
call fcn.180023f90
lea r8, [rbp - 0x40]
mov ecx, 0x100
lea rdx, [rsp + 0x60]
call fcn.18001d130
mov r8, rax
lea rcx, [rbp - 0x80]
mov edx, 0xb0
call fcn.1800300b0
lea r8, [rsp + 0x40]
mov ecx, 0xda
lea rdx, [rbp]
call fcn.180018c70
mov r8, rax
lea rcx, [rbp - 0x80]
mov edx, 0xb0
call fcn.1800300b0
lea r8, [rsp + 0x50]
mov edx, 0xa2
lea rcx, [rbp - 0x80]
call fcn.180035670
lea r8, [rsp + 0x50]
mov ecx, 0x38
lea rdx, [rsp + 0x70]
call fcn.1800179c0
test eax, eax
lea rcx, str.Trying_to_call_glApplyFramebufferAttachmentCMAAINTEL___without_current_GL_context
cmovne rcx, rbx
inc dword [0x180052c14]
mov qword [0x180052d10], rcx
test rcx, rcx
jne 0x1800221b0
lea edx, [rcx + 0x14]
call fcn.180005a90
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
mov edx, 0x82
xor ecx, ecx
call fcn.180021910
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor r9d, r9d
lea ecx, [rax + 0x4c]
xor r8d, r8d
xor edx, edx
call fcn.18002b650
jmp 0x180022159
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xb9
call fcn.180032580
jmp 0x180022159
mov rdi, qword [0x180052d40]
test rdi, rdi
je 0x180021fcb
nop dword [rax]
mov esi, 0x4d
mov eax, esi
sub eax, 0x4d
je 0x180021f83
sub eax, 0x17
je 0x180021f57
sub eax, 0x17
je 0x180021f2b
cmp eax, 0x17
jne 0x180021faf
mov rcx, qword [rdi + 0x28]
lea edx, [rax + 0x65]
mov rcx, qword [rcx + 0x18]
call fcn.180025000
mov rcx, qword [0x180052d58]
lea rdx, [0x1800409e4]
call fcn.18003b800
jmp 0x180021faf
mov r8, qword [rdi + 0x10]
lea rdx, str.___s__n
mov rcx, qword [0x180052d58]
call fcn.18003b800
mov rcx, qword [0x180052d58]
lea rdx, str.___n
call fcn.18003b800
jmp 0x180021faf
mov r8, qword [rdi + 0x20]
lea rdx, str.IDR_GEOLOCATION_GRAY_BUTTON_RIGHT_P
mov rcx, qword [0x180052d58]
call fcn.18003b800
mov rcx, qword [0x180052d58]
lea rdx, [0x1800409cc]
call fcn.18003b800
jmp 0x180021faf
mov r8, qword [rdi + 0x20]
lea rdx, str.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mov rcx, qword [0x180052d58]
call fcn.18003b800
mov r9, qword [rdi + 0x28]
xor edx, edx
xor ecx, ecx
mov r9, qword [r9 + 0x18]
lea r8d, [rdx + 0x20]
call fcn.180011f40
add esi, 0x17
cmp esi, 0xa9
jb 0x180021ee5
mov rdi, qword [rdi + 0x18]
test rdi, rdi
jne 0x180021ee0
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
lea edx, [r9 + 0x4d]
call fcn.18000f120
jmp case.0x180021b27.4
xor r8d, r8d
xor edx, edx
mov ecx, 0xec
call fcn.180028ec0
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor edx, edx
lea r8d, [rax + 0x1b]
xor ecx, ecx
call fcn.180015230
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov r8d, 0xa1
call fcn.18002bd90
jmp 0x180022159
mov rdi, r12
test r12, r12
je 0x180022074
nop dword [rax]
mov r9d, dword [rdi + 0x28]
lea rdx, str.Argument_3_of_CameraControl.setConfiguration
mov r8, qword [rdi + 0x10]
mov rcx, qword [0x180052d58]
call fcn.18003b800
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x180022050
mov rcx, qword [0x180052d58]
lea rdx, [0x180040a18]
call fcn.18003b800
jmp case.0x180021b27.4
mov r8, qword [0x180052d50]
mov rdx, qword [str._n_nifndef_YY_PART_n_ntypedef_int__yyrule__yycontext_yy___n_nYY_PARSE_int__YYPARSEFROM_YY_CTX_PARAM__yyrule_yystart__n_n__int_yyok__n__if___yyctx____buflen__n_____n______yyctx____buflen_YY_BUFFER_SIZE__n______yyctx____buf__char__YY_MALLOC_yyctx__yyctx____buflen___n______yyctx____textlen_YY_BUFFER_SIZE__n______yyctx____text__char__YY_MALLOC_yyctx__yyctx____textlen___n______yyctx____thunkslen_YY_STACK_SIZE__n______yyctx____thunks__yythunk__YY_MALLOC_yyctx__sizeof_yythunk___yyctx____thunkslen___n______yyctx____valslen_YY_STACK_SIZE__n______yyctx____vals__YYSTYPE__YY_MALLOC_yyctx__sizeof_YYSTYPE___yyctx____valslen___n______yyctx____begin_yyctx____end_yyctx____pos_yyctx____limit_yyctx____thunkpos_0__n_____n__yyctx____begin_yyctx____end_yyctx____pos__n__yyctx____thunkpos_0__n__yyctx____val_yyctx____vals__n__yyok_yystart_yyctx___n__if__yyok__yyDone_yyctx___n__yyCommit_yyctx___n__return_yyok__n_n_nYY_PARSE_int__YYPARSE_YY_CTX_PARAM__n_n__return_YYPARSEFROM_YY_CTX_ARG__yy__s___n_n_nYY_PARSE_yycontext___YYRELEASE_yycontext_yyctx__n_n__if__yyctx____buflen__n_____n______yyctx____buflen_0__n______YY_FREE_yyctx____buf___n______YY_FREE_yyctx____text___n______YY_FREE_yyctx____thunks___n______YY_FREE_yyctx____vals___n_____n__return_yyctx__n_n_nendif_n]
mov rcx, qword [0x180052d58]
mov r8, qword [r8 + 0x10]
call fcn.18003b800
jmp case.0x180021b27.4
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov qword [rsp + 0x28], rbx
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbx
mov ecx, 0x91
call fcn.180029c10
jmp 0x180022159
xor r9d, r9d
xor edx, edx
xor ecx, ecx
lea r8d, [r9 + 0x45]
call fcn.180032e10
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
lea r9d, [rax + 0x40]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1800338b0
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor r8d, r8d
lea edx, [rax + 0x7e]
xor ecx, ecx
call fcn.180010d60
jmp 0x180022159
xor edx, edx
mov ecx, 0x117
call fcn.180004c60
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
xor r8d, r8d
xor edx, edx
mov ecx, reloc.SHLWAPI.dll_StrCmpNCA
call fcn.18002a980
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
inc r14d
lea eax, [r14 + 0xbf]
cmp eax, r15d
jb 0x180021b12
mov rax, qword [rsp + 0x50]
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.18003bee0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rax, rcx
jmp 0x180022183
xor r8d, r8d
xor ecx, ecx
lea edx, [r8 + 0x5b]
call fcn.1800237b0
inc dword [0x180052c14]
mov qword [0x180052d10], rax
test rax, rax
jne 0x180022183
mov rax, rbx
jmp 0x180022183