{"name": "pdf_create_widget", "code": "__int64 __fastcall pdf_create_widget ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , unsigned int @@a4@@ , const char * @@a5@@ ) { __int64 v5 ; __int64 v6 ; unsigned int v7 ; __int64 v8 ; __int64 v9 ; __int64 v10 ; __int64 v11 ; __int64 v12 ; _DWORD * v13 ; int v14 ; __int64 v15 ; __int64 v16 ; int * @@v18@@ ; int @@v20@@ ; __int64 @@v24@@ ; __int64 @@v25@@ ; __int64 @@v26@@ ; v5 = pdf_trailer ( @@a1@@ , @@a2@@ ) ; v6 = pdf_dict_getp ( @@a1@@ , v5 , String ) ; @@v25@@ = ( unsigned int ) pdf_to_int ( @@a1@@ , v6 ) ; @@v24@@ = pdf_create_annot ( @@a1@@ , @@a2@@ , @@a3@@ , Number L ) ; if ( ( unsigned int ) fz_push_try ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ) { @@v18@@ = * ( int * * ) ( @@a1@@ + Number ) ; @@v20@@ = * @@v18@@ ; @@v18@@ [ Number * @@v20@@ + Number ] = _sigsetjmp ( ( struct __jmp_buf_tag * ) & @@v18@@ [ Number * * @@v18@@ + Number ] , Number ) ; if ( ! @@v18@@ [ Number * @@v20@@ + Number ] ) { pdf_set_field_type ( @@a1@@ , @@a2@@ , * ( _QWORD * ) ( @@v24@@ + Number ) , @@a4@@ ) ; v7 = strlen ( @@a5@@ ) ; v8 = pdf_new_string ( @@a1@@ , @@a2@@ , @@a5@@ , v7 ) ; pdf_dict_put_drop ( @@a1@@ , * ( _QWORD * ) ( @@v24@@ + Number ) , Number L , v8 ) ; * ( _DWORD * ) ( @@v24@@ + Number ) = @@a4@@ ; if ( @@a4@@ == Number ) { v9 = pdf_new_int ( @@a1@@ , @@a2@@ , ( unsigned int ) @@v25@@ | Number ) ; v10 = pdf_trailer ( @@a1@@ , @@a2@@ ) ; pdf_dict_putl_drop ( @@a1@@ , v10 , v9 , Number L , Number L , Number L , Number L ) ; } v11 = pdf_trailer ( @@a1@@ , @@a2@@ ) ; @@v26@@ = pdf_dict_getp ( @@a1@@ , v11 , String ) ; if ( ! @@v26@@ ) { @@v26@@ = pdf_new_array ( @@a1@@ , @@a2@@ , Number L ) ; v12 = pdf_trailer ( @@a1@@ , @@a2@@ ) ; pdf_dict_putl_drop ( @@a1@@ , v12 , @@v26@@ , Number L , Number L , Number L , Number L ) ; } pdf_array_push ( @@a1@@ , @@v26@@ , * ( _QWORD * ) ( @@v24@@ + Number ) ) ; } } v13 = * ( _DWORD * * ) ( @@a1@@ + Number ) ; v14 = ( * v13 ) -- ; if ( ( int ) v13 [ Number * v14 + Number ] > Number ) { pdf_delete_annot ( @@a1@@ , @@a2@@ , @@a3@@ , @@v24@@ ) ; if ( @@a4@@ == Number ) { v15 = pdf_new_int ( @@a1@@ , @@a2@@ , ( unsigned int ) @@v25@@ ) ; v16 = pdf_trailer ( @@a1@@ , @@a2@@ ) ; pdf_dict_putl_drop ( @@a1@@ , v16 , v15 , Number L , Number L , Number L , Number L ) ; } fz_rethrow ( @@a1@@ ) ; } return @@v24@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 3, "t": "const char"}, "location": "r72"}, {"n": "v26", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v25", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s28"}, {"n": "v24", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v20", "t": {"T": 1, "n": "int", "s": 4}, "location": "s80"}, {"n": "v18", "t": {"T": 3, "t": "int"}, "location": "s96"}]}