Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- signed int __fastcall android::ISecCameraHardware::autoFocusThread(int a1)
- {
- pthread_mutex_t *v1; // r5@1
- int v2; // r4@1
- signed int v3; // r5@1
- signed int result; // r0@2
- int v5; // r0@3
- int v6; // r0@7
- int v7; // r6@7
- void (__fastcall *v8)(_DWORD, _DWORD, _DWORD, _DWORD); // r6@10
- signed int v9; // r0@10
- signed int v10; // r1@10
- signed int v11; // r2@10
- v1 = (pthread_mutex_t *)(a1 + 156);
- v2 = a1;
- pthread_mutex_lock((pthread_mutex_t *)(a1 + 156));
- pthread_cond_wait((pthread_cond_t *)(v2 + 160), v1);
- pthread_mutex_unlock(v1);
- v3 = *(_BYTE *)(v2 + 164);
- if ( *(_BYTE *)(v2 + 164) )
- return 0;
- v5 = *(_DWORD *)v2;
- *(_BYTE *)(v2 + 178) = 1;
- if ( (*(int (__fastcall **)(int))(v5 + 164))(v2) )
- {
- if ( !*(_BYTE *)(v2 + 178) || !(*(_DWORD *)(v2 + 232) & 4) )
- goto LABEL_13;
- v6 = (*(int (__fastcall **)(int))(*(_DWORD *)v2 + 168))(v2);
- v7 = v6;
- if ( v6 == 2 )
- {
- v8 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v2 + 208);
- v9 = 4;
- v10 = 1;
- v11 = v3;
- }
- else
- {
- if ( v6 == 4 )
- {
- (*(void (__fastcall **)(int, signed int, int, signed int))(*(_DWORD *)v2 + 120))(
- v2,
- 134217827,
- *(_DWORD *)(v2 + 132) | 0x100,
- v3);
- (*(void (__fastcall **)(int, signed int, signed int, _DWORD))(v2 + 208))(v7, 1, v3, *(_DWORD *)(v2 + 228));
- goto LABEL_13;
- }
- _android_log_print(5, "ISecCameraHardware", "autoFocusThread X: AF fail");
- v8 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v2 + 208);
- v9 = 4;
- v10 = v3;
- v11 = v3;
- }
- v8(v9, v10, v11, *(_DWORD *)(v2 + 228));
- goto LABEL_13;
- }
- _android_log_print(6, "ISecCameraHardware", "autoFocusThread X: error, nativeSetAutofocus");
- LABEL_13:
- result = 1;
- *(_BYTE *)(v2 + 178) = 0;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement