
/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* std::locale::_Impl::_Impl(unsigned int) */

void __thiscall std::locale::_Impl::_Impl(_Impl *this,uint param_1)

{
  undefined4 *puVar1;
  undefined2 *puVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  facet *local_34;
  undefined4 *local_30;
  undefined4 *local_2c;
  undefined4 *local_28;
  undefined4 *local_24;
  undefined4 *local_20;
  
  *(undefined4 *)(this + 8) = 0x2e;
  puVar1 = &::(anonymous_namespace)::facet_vec;
  *(uint *)this = param_1;
  do {
    *puVar1 = 0;
    puVar1 = puVar1 + 1;
  } while (puVar1 != (undefined4 *)&::(anonymous_namespace)::name_c);
  *(undefined4 **)(this + 4) = &::(anonymous_namespace)::facet_vec;
  puVar1 = &::(anonymous_namespace)::cache_vec;
  do {
    *puVar1 = 0;
    puVar1 = puVar1 + 1;
  } while (puVar1 != (undefined4 *)&DAT_00397cb8);
  *(undefined4 **)(this + 0xc) = &::(anonymous_namespace)::cache_vec;
  puVar1 = &::(anonymous_namespace)::name_vec;
  do {
    *puVar1 = 0;
    puVar1 = puVar1 + 1;
  } while (puVar1 != &::(anonymous_namespace)::c_locale);
  *(undefined2 ***)(this + 0x10) = &::(anonymous_namespace)::name_vec;
  ::(anonymous_namespace)::name_vec = &::(anonymous_namespace)::name_c;
  puVar2 = (undefined2 *)facet::_S_get_c_name();
  ::(anonymous_namespace)::name_c = *puVar2;
                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */
  ctype<char>::ctype((ctype<char> *)::(anonymous_namespace)::ctype_c,(ushort *)0x0,false,1);
  _M_install_facet(this,(id *)PTR_id_0038efa8,(facet *)::(anonymous_namespace)::ctype_c);
  codecvt<char,char,__mbstate_t>::codecvt
            ((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1);
  _M_install_facet(this,(id *)PTR_id_0038edec,(facet *)::(anonymous_namespace)::codecvt_c);
  _DAT_00397344 = 1;
  _DAT_00397348 = 0;
  _DAT_0039734c = 0;
  ::(anonymous_namespace)::numpunct_cache_c = &PTR____numpunct_cache_0038c6c0;
  DAT_00397350 = 0;
  DAT_00397354 = 0;
  ::(anonymous_namespace)::numpunct_c = &PTR__numpunct_0038e564;
  DAT_003979d0 = &::(anonymous_namespace)::numpunct_cache_c;
  DAT_00397358 = 0;
  DAT_0039735c = 0;
  DAT_00397360 = 0;
  DAT_00397364 = 0;
  DAT_003973a4 = 0;
  DAT_003979cc = 1;
                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */
  numpunct<char>::_M_initialize_numpunct
            ((numpunct<char> *)&::(anonymous_namespace)::numpunct_c,(__locale_struct *)0x0);
                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */
  _M_install_facet(this,(id *)&numpunct<char>::id,(facet *)&::(anonymous_namespace)::numpunct_c);
  _DAT_003979c4 = 1;
  ::(anonymous_namespace)::num_get_c = &PTR__num_get_0038c40c;
  _M_install_facet(this,(id *)PTR_id_0038ecc4,(facet *)&::(anonymous_namespace)::num_get_c);
  _DAT_003979bc = 1;
  ::(anonymous_namespace)::num_put_c = &PTR__num_put_0038c448;
  _M_install_facet(this,(id *)PTR_id_0038ed08,(facet *)&::(anonymous_namespace)::num_put_c);
  _DAT_003979d8 = 1;
  ::(anonymous_namespace)::collate_c = &PTR__collate_0038e52c;
                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */
  DAT_003979dc = facet::_S_get_c_locale();
                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */
  _M_install_facet(this,(id *)PTR_id_0038eb40,(facet *)&::(anonymous_namespace)::collate_c);
  _DAT_00397284 = 1;
  ::(anonymous_namespace)::moneypunct_cache_cf = &PTR____moneypunct_cache_0038c6a0;
  DAT_00397290 = 0;
  DAT_00397288 = 0;
  DAT_0039728c = 0;
  ::(anonymous_namespace)::moneypunct_cf = &PTR__moneypunct_0038e5e0;
  DAT_0039799c = &::(anonymous_namespace)::moneypunct_cache_cf;
  DAT_00397292 = 0;
  DAT_00397294 = 0;
  DAT_00397298 = 0;
  DAT_0039729c = 0;
  DAT_003972a0 = 0;
  DAT_003972a4 = 0;
  DAT_003972a8 = 0;
  DAT_003972ac = 0;
  DAT_003972b0 = 0;
  DAT_003972b4 = 0;
  DAT_003972c3 = 0;
  DAT_00397998 = 1;
                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */
  moneypunct<char,false>::_M_initialize_moneypunct
            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_cf,(char *)0x0);
                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */
  _M_install_facet(this,(id *)&moneypunct<char,false>::id,
                   (facet *)&::(anonymous_namespace)::moneypunct_cf);
  _DAT_003972e4 = 1;
  ::(anonymous_namespace)::moneypunct_cache_ct = &PTR____moneypunct_cache_0038c6b0;
  DAT_003972f0 = 0;
  DAT_003972e8 = 0;
  DAT_003972ec = 0;
  ::(anonymous_namespace)::moneypunct_ct = &PTR__moneypunct_0038e5ac;
  DAT_003979a8 = &::(anonymous_namespace)::moneypunct_cache_ct;
  DAT_003972f2 = 0;
  DAT_003972f4 = 0;
  DAT_003972f8 = 0;
  DAT_003972fc = 0;
  DAT_00397300 = 0;
  DAT_00397304 = 0;
  DAT_00397308 = 0;
  DAT_0039730c = 0;
  DAT_00397310 = 0;
  DAT_00397314 = 0;
  DAT_00397323 = 0;
  DAT_003979a4 = 1;
                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */
  moneypunct<char,true>::_M_initialize_moneypunct
            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_ct,(char *)0x0);
                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */
  _M_install_facet(this,(id *)&moneypunct<char,true>::id,
                   (facet *)&::(anonymous_namespace)::moneypunct_ct);
  _DAT_00397990 = 1;
  ::(anonymous_namespace)::money_get_c = &PTR__money_get_0038e698;
  _M_install_facet(this,(id *)PTR_id_0038ed64,(facet *)&::(anonymous_namespace)::money_get_c);
  _DAT_00397988 = 1;
  ::(anonymous_namespace)::money_put_c = &PTR__money_put_0038e6b0;
  _M_install_facet(this,(id *)PTR_id_0038ec70,(facet *)&::(anonymous_namespace)::money_put_c);
  _DAT_003971a4 = 1;
  _DAT_003971a8 = 0;
  _DAT_003971ac = 0;
  ::(anonymous_namespace)::timepunct_cache_c = &PTR____timepunct_cache_0038c478;
  DAT_003971b0 = 0;
  DAT_003971b4 = 0;
  DAT_003971b8 = 0;
  DAT_003971bc = 0;
  DAT_003971c0 = 0;
  DAT_003971c4 = 0;
  DAT_003971c8 = 0;
  DAT_003971cc = 0;
  DAT_003971d0 = 0;
  DAT_003971d4 = 0;
  DAT_003971d8 = 0;
  DAT_003971dc = 0;
  DAT_003971e0 = 0;
  DAT_003971e4 = 0;
  DAT_003971e8 = 0;
  DAT_003971ec = 0;
  DAT_003971f0 = 0;
  DAT_003971f4 = 0;
  DAT_003971f8 = 0;
  DAT_003971fc = 0;
  DAT_00397200 = 0;
  DAT_00397204 = 0;
  DAT_00397208 = 0;
  DAT_0039720c = 0;
  DAT_00397210 = 0;
  DAT_00397214 = 0;
  DAT_00397218 = 0;
  DAT_0039721c = 0;
  DAT_00397220 = 0;
  DAT_00397224 = 0;
  DAT_00397228 = 0;
  DAT_0039722c = 0;
  DAT_00397230 = 0;
  DAT_00397234 = 0;
  DAT_00397238 = 0;
  DAT_0039723c = 0;
  DAT_00397240 = 0;
  DAT_00397244 = 0;
  DAT_00397248 = 0;
  DAT_0039724c = 0;
  DAT_00397250 = 0;
  DAT_00397254 = 0;
  DAT_00397258 = 0;
  DAT_0039725c = 0;
  DAT_00397260 = 0;
  DAT_00397264 = 0;
  __timepunct<char>::__timepunct
            ((__timepunct<char> *)::(anonymous_namespace)::timepunct_c,
             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_c,1);
  _M_install_facet(this,(id *)&__timepunct<char>::id,(facet *)::(anonymous_namespace)::timepunct_c);
  _DAT_0039796c = 1;
  ::(anonymous_namespace)::time_get_c = &PTR__time_get_0038e6c8;
  _M_install_facet(this,(id *)PTR_id_0038ee50,(facet *)&::(anonymous_namespace)::time_get_c);
  _DAT_00397964 = 1;
  ::(anonymous_namespace)::time_put_c = &PTR__time_put_0038c60c;
  _M_install_facet(this,(id *)PTR_id_0038eec4,(facet *)&::(anonymous_namespace)::time_put_c);
  messages<char>::messages((messages<char> *)::(anonymous_namespace)::messages_c,1);
  _M_install_facet(this,(id *)PTR_id_0038ee48,(facet *)::(anonymous_namespace)::messages_c);
  ctype<wchar_t>::ctype((ctype<wchar_t> *)::(anonymous_namespace)::ctype_w,1);
  _M_install_facet(this,(id *)PTR_id_0038ee20,(facet *)::(anonymous_namespace)::ctype_w);
  codecvt<wchar_t,char,__mbstate_t>::codecvt
            ((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1);
  _M_install_facet(this,(id *)PTR_id_0038ec24,(facet *)::(anonymous_namespace)::codecvt_w);
  _DAT_00397064 = 1;
  DAT_00397070 = 0;
  ::(anonymous_namespace)::numpunct_cache_w = &PTR____numpunct_cache_0038d780;
  DAT_00397068 = 0;
  DAT_0039706c = 0;
  ::(anonymous_namespace)::numpunct_w = &PTR__numpunct_0038e25c;
  DAT_00397438 = &::(anonymous_namespace)::numpunct_cache_w;
  DAT_00397074 = 0;
  DAT_00397078 = 0;
  DAT_0039707c = 0;
  DAT_00397080 = 0;
  DAT_00397084 = 0;
  DAT_00397088 = 0;
  DAT_00397184 = 0;
  DAT_00397434 = 1;
                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */
  numpunct<wchar_t>::_M_initialize_numpunct
            ((numpunct<wchar_t> *)&::(anonymous_namespace)::numpunct_w,(__locale_struct *)0x0);
                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */
  _M_install_facet(this,(id *)&numpunct<wchar_t>::id,(facet *)&::(anonymous_namespace)::numpunct_w);
  _DAT_0039742c = 1;
  ::(anonymous_namespace)::num_get_w = &PTR__num_get_0038dd08;
  _M_install_facet(this,(id *)PTR_id_0038ecc0,(facet *)&::(anonymous_namespace)::num_get_w);
  _DAT_00397424 = 1;
  ::(anonymous_namespace)::num_put_w = &PTR__num_put_0038dd44;
  _M_install_facet(this,(id *)PTR_id_0038ee70,(facet *)&::(anonymous_namespace)::num_put_w);
  _DAT_00397440 = 1;
  ::(anonymous_namespace)::collate_w = &PTR__collate_0038e224;
                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */
  DAT_00397444 = facet::_S_get_c_locale();
                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */
  _M_install_facet(this,(id *)PTR_id_0038edac,(facet *)&::(anonymous_namespace)::collate_w);
  _DAT_00396f64 = 1;
  ::(anonymous_namespace)::moneypunct_cache_wf = &PTR____moneypunct_cache_0038d7b8;
  DAT_00396f68 = 0;
  DAT_00396f6c = 0;
  ::(anonymous_namespace)::moneypunct_wf = &PTR__moneypunct_0038e2d8;
  DAT_00397404 = &::(anonymous_namespace)::moneypunct_cache_wf;
  DAT_00396f70 = 0;
  DAT_00396f74 = 0;
  DAT_00396f78 = 0;
  DAT_00396f7c = 0;
  DAT_00396f80 = 0;
  DAT_00396f84 = 0;
  DAT_00396f88 = 0;
  DAT_00396f8c = 0;
  DAT_00396f90 = 0;
  DAT_00396f94 = 0;
  DAT_00396f98 = 0;
  DAT_00396f9c = 0;
  DAT_00396fcc = 0;
  DAT_00397400 = 1;
                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */
  moneypunct<wchar_t,false>::_M_initialize_moneypunct
            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_wf,(char *)0x0);
                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */
  _M_install_facet(this,(id *)&moneypunct<wchar_t,false>::id,
                   (facet *)&::(anonymous_namespace)::moneypunct_wf);
  _DAT_00396fe4 = 1;
  ::(anonymous_namespace)::moneypunct_cache_wt = &PTR____moneypunct_cache_0038d7a8;
  DAT_00396fe8 = 0;
  DAT_00396fec = 0;
  ::(anonymous_namespace)::moneypunct_wt = &PTR__moneypunct_0038e2a4;
  DAT_00397410 = &::(anonymous_namespace)::moneypunct_cache_wt;
  DAT_00396ff0 = 0;
  DAT_00396ff4 = 0;
  DAT_00396ff8 = 0;
  DAT_00396ffc = 0;
  DAT_00397000 = 0;
  DAT_00397004 = 0;
  DAT_00397008 = 0;
  DAT_0039700c = 0;
  DAT_00397010 = 0;
  DAT_00397014 = 0;
  DAT_00397018 = 0;
  DAT_0039701c = 0;
  DAT_0039704c = 0;
  DAT_0039740c = 1;
                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */
  moneypunct<wchar_t,true>::_M_initialize_moneypunct
            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_wt,(char *)0x0);
                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */
  _M_install_facet(this,(id *)&moneypunct<wchar_t,true>::id,
                   (facet *)&::(anonymous_namespace)::moneypunct_wt);
  _DAT_003973f8 = 1;
  ::(anonymous_namespace)::money_get_w = &PTR__money_get_0038e390;
  _M_install_facet(this,(id *)PTR_id_0038edd8,(facet *)&::(anonymous_namespace)::money_get_w);
  _DAT_003973f0 = 1;
  ::(anonymous_namespace)::money_put_w = &PTR__money_put_0038e3a8;
  _M_install_facet(this,(id *)PTR_id_0038ef8c,(facet *)&::(anonymous_namespace)::money_put_w);
  _DAT_00396e84 = 1;
  _DAT_00396e88 = 0;
  _DAT_00396e8c = 0;
  ::(anonymous_namespace)::timepunct_cache_w = &PTR____timepunct_cache_0038dd74;
  DAT_00396e90 = 0;
  DAT_00396e94 = 0;
  DAT_00396e98 = 0;
  DAT_00396e9c = 0;
  DAT_00396ea0 = 0;
  DAT_00396ea4 = 0;
  DAT_00396ea8 = 0;
  DAT_00396eac = 0;
  DAT_00396eb0 = 0;
  DAT_00396eb4 = 0;
  DAT_00396eb8 = 0;
  DAT_00396ebc = 0;
  DAT_00396ec0 = 0;
  DAT_00396ec4 = 0;
  DAT_00396ec8 = 0;
  DAT_00396ecc = 0;
  DAT_00396ed0 = 0;
  DAT_00396ed4 = 0;
  DAT_00396ed8 = 0;
  DAT_00396edc = 0;
  DAT_00396ee0 = 0;
  DAT_00396ee4 = 0;
  DAT_00396ee8 = 0;
  DAT_00396eec = 0;
  DAT_00396ef0 = 0;
  DAT_00396ef4 = 0;
  DAT_00396ef8 = 0;
  DAT_00396efc = 0;
  DAT_00396f00 = 0;
  DAT_00396f04 = 0;
  DAT_00396f08 = 0;
  DAT_00396f0c = 0;
  DAT_00396f10 = 0;
  DAT_00396f14 = 0;
  DAT_00396f18 = 0;
  DAT_00396f1c = 0;
  DAT_00396f20 = 0;
  DAT_00396f24 = 0;
  DAT_00396f28 = 0;
  DAT_00396f2c = 0;
  DAT_00396f30 = 0;
  DAT_00396f34 = 0;
  DAT_00396f38 = 0;
  DAT_00396f3c = 0;
  DAT_00396f40 = 0;
  DAT_00396f44 = 0;
  __timepunct<wchar_t>::__timepunct
            ((__timepunct<wchar_t> *)::(anonymous_namespace)::timepunct_w,
             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_w,1);
  _M_install_facet(this,(id *)&__timepunct<wchar_t>::id,
                   (facet *)::(anonymous_namespace)::timepunct_w);
  _DAT_003973d4 = 1;
  ::(anonymous_namespace)::time_get_w = &PTR__time_get_0038e3c0;
  _M_install_facet(this,(id *)PTR_id_0038ecf8,(facet *)&::(anonymous_namespace)::time_get_w);
  _DAT_003973cc = 1;
  ::(anonymous_namespace)::time_put_w = &PTR__time_put_0038df08;
  _M_install_facet(this,(id *)PTR_id_0038ef48,(facet *)&::(anonymous_namespace)::time_put_w);
  messages<wchar_t>::messages((messages<wchar_t> *)::(anonymous_namespace)::messages_w,1);
  _M_install_facet(this,(id *)PTR_id_0038ef5c,(facet *)::(anonymous_namespace)::messages_w);
  _DAT_003973b4 = 1;
  ::(anonymous_namespace)::codecvt_c16 = &PTR__codecvt_0038e858;
  _M_install_facet(this,(id *)PTR_id_0038eb70,(facet *)&::(anonymous_namespace)::codecvt_c16);
  _DAT_003973ac = 1;
  ::(anonymous_namespace)::codecvt_c32 = &PTR__codecvt_0038e884;
  _M_install_facet(this,(id *)PTR_id_0038ee64,(facet *)&::(anonymous_namespace)::codecvt_c32);
  local_34 = (facet *)&::(anonymous_namespace)::numpunct_cache_c;
  local_30 = &::(anonymous_namespace)::moneypunct_cache_cf;
  local_2c = &::(anonymous_namespace)::moneypunct_cache_ct;
  local_28 = &::(anonymous_namespace)::numpunct_cache_w;
  local_24 = &::(anonymous_namespace)::moneypunct_cache_wf;
  local_20 = &::(anonymous_namespace)::moneypunct_cache_wt;
  _M_init_extra(this,&local_34);
  iVar5 = *(int *)(this + 0xc);
  iVar3 = locale::id::_M_id((id *)&numpunct<char>::id);
  *(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::numpunct_cache_c;
  iVar5 = *(int *)(this + 0xc);
  iVar4 = locale::id::_M_id((id *)&moneypunct<char,false>::id);
  iVar3 = *(int *)(this + 0xc);
  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_cf;
  iVar5 = locale::id::_M_id((id *)&moneypunct<char,true>::id);
  *(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::moneypunct_cache_ct;
  iVar5 = *(int *)(this + 0xc);
  iVar3 = locale::id::_M_id((id *)&__timepunct<char>::id);
  *(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::timepunct_cache_c;
  iVar5 = *(int *)(this + 0xc);
  iVar4 = locale::id::_M_id((id *)&numpunct<wchar_t>::id);
  iVar3 = *(int *)(this + 0xc);
  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::numpunct_cache_w;
  iVar4 = locale::id::_M_id((id *)&moneypunct<wchar_t,false>::id);
  iVar5 = *(int *)(this + 0xc);
  *(undefined ****)(iVar3 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wf;
  iVar4 = locale::id::_M_id((id *)&moneypunct<wchar_t,true>::id);
  iVar3 = *(int *)(this + 0xc);
  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wt;
  iVar5 = locale::id::_M_id((id *)&__timepunct<wchar_t>::id);
  *(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::timepunct_cache_w;
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void FUN_00237040(undefined4 *param_1,undefined4 param_2)

{
  undefined4 *puVar1;
  undefined2 *puVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  undefined4 *local_34;
  undefined4 *local_30;
  undefined4 *local_2c;
  undefined4 *local_28;
  undefined4 *local_24;
  undefined4 *local_20;
  
  param_1[2] = 0x2e;
  puVar1 = &DAT_00397cc0;
  *param_1 = param_2;
  do {
    *puVar1 = 0;
    puVar1 = puVar1 + 1;
  } while (puVar1 != (undefined4 *)&DAT_00397d78);
  param_1[1] = &DAT_00397cc0;
  puVar1 = &DAT_00397c00;
  do {
    *puVar1 = 0;
    puVar1 = puVar1 + 1;
  } while (puVar1 != (undefined4 *)&DAT_00397cb8);
  param_1[3] = &DAT_00397c00;
  puVar1 = &DAT_00397da0;
  do {
    *puVar1 = 0;
    puVar1 = puVar1 + 1;
  } while (puVar1 != (undefined4 *)&DAT_00397dd0);
  param_1[4] = &DAT_00397da0;
  DAT_00397da0 = &DAT_00397d78;
  puVar2 = (undefined2 *)FUN_001e9300();
  DAT_00397d78 = *puVar2;
                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */
  FUN_00221ab0(&DAT_003979e0,0,0,1);
  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);
  FUN_002387b0(&DAT_003979ac,1);
  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);
  DAT_00397344 = 1;
  DAT_00397348 = 0;
  DAT_0039734c = 0;
  DAT_00397340 = &PTR_FUN_0038c6c0;
  DAT_00397350 = 0;
  DAT_00397354 = 0;
  DAT_003979c8 = &PTR_FUN_0038e564;
  DAT_003979d0 = &DAT_00397340;
  DAT_00397358 = 0;
  DAT_0039735c = 0;
  DAT_00397360 = 0;
  DAT_00397364 = 0;
  DAT_003973a4 = 0;
  DAT_003979cc = 1;
                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */
  FUN_00230a30(&DAT_003979c8,0);
                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);
  DAT_003979c4 = 1;
  DAT_003979c0 = &PTR_FUN_0038c40c;
  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);
  DAT_003979bc = 1;
  DAT_003979b8 = &PTR_FUN_0038c448;
  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);
  DAT_003979d8 = 1;
  DAT_003979d4 = &PTR_FUN_0038e52c;
                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */
  DAT_003979dc = FUN_001e92a0();
                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);
  DAT_00397284 = 1;
  DAT_00397280 = &PTR_FUN_0038c6a0;
  DAT_00397290 = 0;
  DAT_00397288 = 0;
  DAT_0039728c = 0;
  DAT_00397994 = &PTR_FUN_0038e5e0;
  DAT_0039799c = &DAT_00397280;
  DAT_00397292 = 0;
  DAT_00397294 = 0;
  DAT_00397298 = 0;
  DAT_0039729c = 0;
  DAT_003972a0 = 0;
  DAT_003972a4 = 0;
  DAT_003972a8 = 0;
  DAT_003972ac = 0;
  DAT_003972b0 = 0;
  DAT_003972b4 = 0;
  DAT_003972c3 = 0;
  DAT_00397998 = 1;
                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */
  FUN_00231560(&DAT_00397994,0,0);
                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);
  DAT_003972e4 = 1;
  DAT_003972e0 = &PTR_FUN_0038c6b0;
  DAT_003972f0 = 0;
  DAT_003972e8 = 0;
  DAT_003972ec = 0;
  DAT_003979a0 = &PTR_FUN_0038e5ac;
  DAT_003979a8 = &DAT_003972e0;
  DAT_003972f2 = 0;
  DAT_003972f4 = 0;
  DAT_003972f8 = 0;
  DAT_003972fc = 0;
  DAT_00397300 = 0;
  DAT_00397304 = 0;
  DAT_00397308 = 0;
  DAT_0039730c = 0;
  DAT_00397310 = 0;
  DAT_00397314 = 0;
  DAT_00397323 = 0;
  DAT_003979a4 = 1;
                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */
  FUN_00231020(&DAT_003979a0,0,0);
                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);
  DAT_00397990 = 1;
  DAT_0039798c = &PTR_FUN_0038e698;
  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);
  DAT_00397988 = 1;
  DAT_00397984 = &PTR_FUN_0038e6b0;
  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);
  DAT_003971a4 = 1;
  DAT_003971a8 = 0;
  DAT_003971ac = 0;
  DAT_003971a0 = &PTR_FUN_0038c478;
  DAT_003971b0 = 0;
  DAT_003971b4 = 0;
  DAT_003971b8 = 0;
  DAT_003971bc = 0;
  DAT_003971c0 = 0;
  DAT_003971c4 = 0;
  DAT_003971c8 = 0;
  DAT_003971cc = 0;
  DAT_003971d0 = 0;
  DAT_003971d4 = 0;
  DAT_003971d8 = 0;
  DAT_003971dc = 0;
  DAT_003971e0 = 0;
  DAT_003971e4 = 0;
  DAT_003971e8 = 0;
  DAT_003971ec = 0;
  DAT_003971f0 = 0;
  DAT_003971f4 = 0;
  DAT_003971f8 = 0;
  DAT_003971fc = 0;
  DAT_00397200 = 0;
  DAT_00397204 = 0;
  DAT_00397208 = 0;
  DAT_0039720c = 0;
  DAT_00397210 = 0;
  DAT_00397214 = 0;
  DAT_00397218 = 0;
  DAT_0039721c = 0;
  DAT_00397220 = 0;
  DAT_00397224 = 0;
  DAT_00397228 = 0;
  DAT_0039722c = 0;
  DAT_00397230 = 0;
  DAT_00397234 = 0;
  DAT_00397238 = 0;
  DAT_0039723c = 0;
  DAT_00397240 = 0;
  DAT_00397244 = 0;
  DAT_00397248 = 0;
  DAT_0039724c = 0;
  DAT_00397250 = 0;
  DAT_00397254 = 0;
  DAT_00397258 = 0;
  DAT_0039725c = 0;
  DAT_00397260 = 0;
  DAT_00397264 = 0;
  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);
  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);
  DAT_0039796c = 1;
  DAT_00397968 = &PTR_FUN_0038e6c8;
  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);
  DAT_00397964 = 1;
  DAT_00397960 = &PTR_FUN_0038c60c;
  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);
  FUN_002638b0(&DAT_00397950,1);
  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);
  FUN_0022cd90(&DAT_00397460,1);
  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);
  FUN_00238840(&DAT_00397414,1);
  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);
  DAT_00397064 = 1;
  DAT_00397070 = 0;
  DAT_00397060 = &PTR_FUN_0038d780;
  DAT_00397068 = 0;
  DAT_0039706c = 0;
  DAT_00397430 = &PTR_FUN_0038e25c;
  DAT_00397438 = &DAT_00397060;
  DAT_00397074 = 0;
  DAT_00397078 = 0;
  DAT_0039707c = 0;
  DAT_00397080 = 0;
  DAT_00397084 = 0;
  DAT_00397088 = 0;
  DAT_00397184 = 0;
  DAT_00397434 = 1;
                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */
  FUN_00230d40(&DAT_00397430,0);
                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);
  DAT_0039742c = 1;
  DAT_00397428 = &PTR_FUN_0038dd08;
  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);
  DAT_00397424 = 1;
  DAT_00397420 = &PTR_FUN_0038dd44;
  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);
  DAT_00397440 = 1;
  DAT_0039743c = &PTR_FUN_0038e224;
                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */
  DAT_00397444 = FUN_001e92a0();
                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);
  DAT_00396f64 = 1;
  DAT_00396f60 = &PTR_FUN_0038d7b8;
  DAT_00396f68 = 0;
  DAT_00396f6c = 0;
  DAT_003973fc = &PTR_FUN_0038e2d8;
  DAT_00397404 = &DAT_00396f60;
  DAT_00396f70 = 0;
  DAT_00396f74 = 0;
  DAT_00396f78 = 0;
  DAT_00396f7c = 0;
  DAT_00396f80 = 0;
  DAT_00396f84 = 0;
  DAT_00396f88 = 0;
  DAT_00396f8c = 0;
  DAT_00396f90 = 0;
  DAT_00396f94 = 0;
  DAT_00396f98 = 0;
  DAT_00396f9c = 0;
  DAT_00396fcc = 0;
  DAT_00397400 = 1;
                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */
  FUN_00232310(&DAT_003973fc,0,0);
                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);
  DAT_00396fe4 = 1;
  DAT_00396fe0 = &PTR_FUN_0038d7a8;
  DAT_00396fe8 = 0;
  DAT_00396fec = 0;
  DAT_00397408 = &PTR_FUN_0038e2a4;
  DAT_00397410 = &DAT_00396fe0;
  DAT_00396ff0 = 0;
  DAT_00396ff4 = 0;
  DAT_00396ff8 = 0;
  DAT_00396ffc = 0;
  DAT_00397000 = 0;
  DAT_00397004 = 0;
  DAT_00397008 = 0;
  DAT_0039700c = 0;
  DAT_00397010 = 0;
  DAT_00397014 = 0;
  DAT_00397018 = 0;
  DAT_0039701c = 0;
  DAT_0039704c = 0;
  DAT_0039740c = 1;
                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */
  FUN_00231d40(&DAT_00397408,0,0);
                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);
  DAT_003973f8 = 1;
  DAT_003973f4 = &PTR_FUN_0038e390;
  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);
  DAT_003973f0 = 1;
  DAT_003973ec = &PTR_FUN_0038e3a8;
  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);
  DAT_00396e84 = 1;
  DAT_00396e88 = 0;
  DAT_00396e8c = 0;
  DAT_00396e80 = &PTR_FUN_0038dd74;
  DAT_00396e90 = 0;
  DAT_00396e94 = 0;
  DAT_00396e98 = 0;
  DAT_00396e9c = 0;
  DAT_00396ea0 = 0;
  DAT_00396ea4 = 0;
  DAT_00396ea8 = 0;
  DAT_00396eac = 0;
  DAT_00396eb0 = 0;
  DAT_00396eb4 = 0;
  DAT_00396eb8 = 0;
  DAT_00396ebc = 0;
  DAT_00396ec0 = 0;
  DAT_00396ec4 = 0;
  DAT_00396ec8 = 0;
  DAT_00396ecc = 0;
  DAT_00396ed0 = 0;
  DAT_00396ed4 = 0;
  DAT_00396ed8 = 0;
  DAT_00396edc = 0;
  DAT_00396ee0 = 0;
  DAT_00396ee4 = 0;
  DAT_00396ee8 = 0;
  DAT_00396eec = 0;
  DAT_00396ef0 = 0;
  DAT_00396ef4 = 0;
  DAT_00396ef8 = 0;
  DAT_00396efc = 0;
  DAT_00396f00 = 0;
  DAT_00396f04 = 0;
  DAT_00396f08 = 0;
  DAT_00396f0c = 0;
  DAT_00396f10 = 0;
  DAT_00396f14 = 0;
  DAT_00396f18 = 0;
  DAT_00396f1c = 0;
  DAT_00396f20 = 0;
  DAT_00396f24 = 0;
  DAT_00396f28 = 0;
  DAT_00396f2c = 0;
  DAT_00396f30 = 0;
  DAT_00396f34 = 0;
  DAT_00396f38 = 0;
  DAT_00396f3c = 0;
  DAT_00396f40 = 0;
  DAT_00396f44 = 0;
  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);
  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);
  DAT_003973d4 = 1;
  DAT_003973d0 = &PTR_FUN_0038e3c0;
  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);
  DAT_003973cc = 1;
  DAT_003973c8 = &PTR_FUN_0038df08;
  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);
  FUN_00255090(&DAT_003973b8,1);
  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);
  DAT_003973b4 = 1;
  DAT_003973b0 = &PTR_FUN_0038e858;
  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);
  DAT_003973ac = 1;
  DAT_003973a8 = &PTR_FUN_0038e884;
  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);
  local_34 = &DAT_00397340;
  local_30 = &DAT_00397280;
  local_2c = &DAT_003972e0;
  local_28 = &DAT_00397060;
  local_24 = &DAT_00396f60;
  local_20 = &DAT_00396fe0;
  FUN_0026c420(param_1,&local_34);
  iVar5 = param_1[3];
  iVar3 = FUN_001e9750(&DAT_00397f4c);
  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;
  iVar5 = param_1[3];
  iVar4 = FUN_001e9750(&DAT_00397f5c);
  iVar3 = param_1[3];
  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;
  iVar5 = FUN_001e9750(&DAT_00397f58);
  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;
  iVar5 = param_1[3];
  iVar3 = FUN_001e9750(&DAT_00396de0);
  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;
  iVar5 = param_1[3];
  iVar4 = FUN_001e9750(&DAT_00397eec);
  iVar3 = param_1[3];
  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;
  iVar4 = FUN_001e9750(&DAT_00397efc);
  iVar5 = param_1[3];
  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;
  iVar4 = FUN_001e9750(&DAT_00397ef8);
  iVar3 = param_1[3];
  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;
  iVar5 = FUN_001e9750(&DAT_00397e80);
  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;
  return;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
CALL 0x000559ea
ADD ESI,0x157fb6
PUSH EBX
SUB ESP,0x7c
MOV EDI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + 0xc]
MOV dword ptr [EDI + 0x8],0x2e
LEA ECX,[ESI + 0x8cc0]
MOV dword ptr [EDI],EAX
LEA EDX,[ECX + 0xb8]
MOV EAX,ECX
LEA ESI,[ESI]
MOV dword ptr [EAX],0x0
ADD EAX,0x4
CMP EAX,EDX
JNZ 0x00237078
MOV dword ptr [EDI + 0x4],ECX
LEA ECX,[ESI + 0x8c00]
MOV EAX,ECX
LEA EDX,[ECX + 0xb8]
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV dword ptr [EAX],0x0
ADD EAX,0x4
CMP EAX,EDX
JNZ 0x002370a0
MOV dword ptr [EDI + 0xc],ECX
LEA ECX,[ESI + 0x8da0]
MOV EAX,ECX
LEA EDX,[ECX + 0x30]
LEA ESI,[ESI]
NOP
MOV dword ptr [EAX],0x0
ADD EAX,0x4
CMP EDX,EAX
JNZ 0x002370c0
MOV dword ptr [EDI + 0x10],ECX
LEA EAX,[ESI + 0x8d78]
MOV EBX,ESI
MOV dword ptr [ESI + 0x8da0],EAX
CALL 0x001e9300
MOVZX EAX,word ptr [EAX]
PUSH 0x1
PUSH 0x0
MOV word ptr [ESI + 0x8d78],AX
LEA EAX,[ESI + 0x89e0]
PUSH 0x0
PUSH EAX
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x00221ab0
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH dword ptr [ESI + 0xffffffa8]
PUSH EDI
CALL 0x001e97a0
POP EAX
LEA EAX,[ESI + 0x89ac]
POP EDX
PUSH 0x1
PUSH EAX
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x002387b0
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH dword ptr [ESI + 0xfffffdec]
PUSH EDI
CALL 0x001e97a0
POP EAX
POP EDX
PUSH 0x0
XOR ECX,ECX
LEA EAX,[ESI + 0xffffd6b8]
MOV dword ptr [ESI + 0x8344],0x1
MOV dword ptr [ESI + 0x8348],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x834c],0x0
MOV dword ptr [ESI + 0x8340],EAX
LEA EAX,[ESI + 0xfffff55c]
MOV byte ptr [ESI + 0x8350],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x8354],0x0
MOV dword ptr [ESI + 0x89c8],EAX
LEA EAX,[ESI + 0x8340]
MOV dword ptr [EBP + -0x44],EAX
MOV dword ptr [ESI + 0x89d0],EAX
LEA EAX,[ESI + 0x89c8]
PUSH EAX
MOV dword ptr [ESI + 0x8358],0x0
MOV dword ptr [ESI + 0x835c],0x0
MOV dword ptr [ESI + 0x8360],0x0
MOV word ptr [ESI + 0x8364],CX
MOV byte ptr [ESI + 0x83a4],0x0
MOV dword ptr [ESI + 0x89cc],0x1
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x00230a30
LEA EAX,[ESI + 0x8f4c]
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + -0x6c],EAX
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffd404]
ADD ESP,0xc
MOV dword ptr [ESI + 0x89c4],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x89c0],EAX
LEA EAX,[ESI + 0x89c0]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffcc4]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffd440]
ADD ESP,0xc
MOV dword ptr [ESI + 0x89bc],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x89b8],EAX
LEA EAX,[ESI + 0x89b8]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffd08]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff524]
ADD ESP,0x10
MOV dword ptr [ESI + 0x89d8],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x89d4],EAX
CALL 0x001e92a0
SUB ESP,0x4
MOV dword ptr [ESI + 0x89dc],EAX
LEA EAX,[ESI + 0x89d4]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffb40]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffd698]
ADD ESP,0xc
MOV dword ptr [ESI + 0x8284],0x1
PUSH 0x0
ADD EAX,0x8
PUSH 0x0
MOV dword ptr [ESI + 0x8280],EAX
XOR EAX,EAX
MOV word ptr [ESI + 0x8290],AX
LEA EAX,[ESI + 0xfffff5d8]
MOV dword ptr [ESI + 0x8288],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x828c],0x0
MOV dword ptr [ESI + 0x8994],EAX
LEA EAX,[ESI + 0x8280]
MOV dword ptr [EBP + -0x5c],EAX
MOV dword ptr [ESI + 0x899c],EAX
LEA EAX,[ESI + 0x8994]
PUSH EAX
MOV byte ptr [ESI + 0x8292],0x0
MOV dword ptr [ESI + 0x8294],0x0
MOV dword ptr [ESI + 0x8298],0x0
MOV dword ptr [ESI + 0x829c],0x0
MOV dword ptr [ESI + 0x82a0],0x0
MOV dword ptr [ESI + 0x82a4],0x0
MOV dword ptr [ESI + 0x82a8],0x0
MOV dword ptr [ESI + 0x82ac],0x0
MOV dword ptr [ESI + 0x82b0],0x0
MOV dword ptr [ESI + 0x82b4],0x0
MOV byte ptr [ESI + 0x82c3],0x0
MOV dword ptr [ESI + 0x8998],0x1
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x00231560
LEA EAX,[ESI + 0x8f5c]
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + -0x7c],EAX
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffd6a8]
ADD ESP,0xc
MOV dword ptr [ESI + 0x82e4],0x1
PUSH 0x0
ADD EAX,0x8
PUSH 0x0
MOV dword ptr [ESI + 0x82e0],EAX
XOR EAX,EAX
MOV word ptr [ESI + 0x82f0],AX
LEA EAX,[ESI + 0xfffff5a4]
MOV dword ptr [ESI + 0x82e8],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x82ec],0x0
MOV dword ptr [ESI + 0x89a0],EAX
LEA EAX,[ESI + 0x82e0]
MOV dword ptr [EBP + -0x40],EAX
MOV dword ptr [ESI + 0x89a8],EAX
LEA EAX,[ESI + 0x89a0]
PUSH EAX
MOV byte ptr [ESI + 0x82f2],0x0
MOV dword ptr [ESI + 0x82f4],0x0
MOV dword ptr [ESI + 0x82f8],0x0
MOV dword ptr [ESI + 0x82fc],0x0
MOV dword ptr [ESI + 0x8300],0x0
MOV dword ptr [ESI + 0x8304],0x0
MOV dword ptr [ESI + 0x8308],0x0
MOV dword ptr [ESI + 0x830c],0x0
MOV dword ptr [ESI + 0x8310],0x0
MOV dword ptr [ESI + 0x8314],0x0
MOV byte ptr [ESI + 0x8323],0x0
MOV dword ptr [ESI + 0x89a4],0x1
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x00231020
LEA EAX,[ESI + 0x8f58]
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + -0x74],EAX
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff690]
ADD ESP,0xc
MOV dword ptr [ESI + 0x8990],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x898c],EAX
LEA EAX,[ESI + 0x898c]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffd64]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff6a8]
ADD ESP,0xc
MOV dword ptr [ESI + 0x8988],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x8984],EAX
LEA EAX,[ESI + 0x8984]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffc70]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffd470]
ADD ESP,0xc
MOV dword ptr [ESI + 0x81a4],0x1
MOV dword ptr [ESI + 0x81a8],0x0
MOV dword ptr [ESI + 0x81ac],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x81a0],EAX
LEA EAX,[ESI + 0x81a0]
MOV dword ptr [ESI + 0x81b0],0x0
MOV dword ptr [ESI + 0x81b4],0x0
MOV dword ptr [ESI + 0x81b8],0x0
MOV dword ptr [ESI + 0x81bc],0x0
MOV dword ptr [ESI + 0x81c0],0x0
MOV dword ptr [ESI + 0x81c4],0x0
MOV dword ptr [ESI + 0x81c8],0x0
MOV dword ptr [ESI + 0x81cc],0x0
MOV dword ptr [ESI + 0x81d0],0x0
MOV dword ptr [ESI + 0x81d4],0x0
MOV dword ptr [ESI + 0x81d8],0x0
MOV dword ptr [ESI + 0x81dc],0x0
MOV dword ptr [ESI + 0x81e0],0x0
MOV dword ptr [ESI + 0x81e4],0x0
MOV dword ptr [ESI + 0x81e8],0x0
MOV dword ptr [ESI + 0x81ec],0x0
MOV dword ptr [ESI + 0x81f0],0x0
MOV dword ptr [ESI + 0x81f4],0x0
MOV dword ptr [ESI + 0x81f8],0x0
MOV dword ptr [ESI + 0x81fc],0x0
MOV dword ptr [ESI + 0x8200],0x0
MOV dword ptr [ESI + 0x8204],0x0
MOV dword ptr [ESI + 0x8208],0x0
MOV dword ptr [ESI + 0x820c],0x0
MOV dword ptr [ESI + 0x8210],0x0
MOV dword ptr [ESI + 0x8214],0x0
MOV dword ptr [ESI + 0x8218],0x0
MOV dword ptr [ESI + 0x821c],0x0
PUSH 0x1
MOV dword ptr [EBP + -0x64],EAX
PUSH EAX
LEA EAX,[ESI + 0x8970]
PUSH EAX
MOV dword ptr [ESI + 0x8220],0x0
MOV dword ptr [ESI + 0x8224],0x0
MOV dword ptr [ESI + 0x8228],0x0
MOV dword ptr [ESI + 0x822c],0x0
MOV dword ptr [ESI + 0x8230],0x0
MOV dword ptr [ESI + 0x8234],0x0
MOV dword ptr [ESI + 0x8238],0x0
MOV dword ptr [ESI + 0x823c],0x0
MOV dword ptr [ESI + 0x8240],0x0
MOV dword ptr [ESI + 0x8244],0x0
MOV dword ptr [ESI + 0x8248],0x0
MOV dword ptr [ESI + 0x824c],0x0
MOV dword ptr [ESI + 0x8250],0x0
MOV dword ptr [ESI + 0x8254],0x0
MOV dword ptr [ESI + 0x8258],0x0
MOV dword ptr [ESI + 0x825c],0x0
MOV dword ptr [ESI + 0x8260],0x0
MOV byte ptr [ESI + 0x8264],0x0
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x001fadc0
LEA EAX,[ESI + 0x7de0]
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + -0x68],EAX
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff6c0]
ADD ESP,0xc
MOV dword ptr [ESI + 0x896c],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x8968],EAX
LEA EAX,[ESI + 0x8968]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffe50]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffd604]
ADD ESP,0xc
MOV dword ptr [ESI + 0x8964],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x8960],EAX
LEA EAX,[ESI + 0x8960]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffec4]
PUSH EDI
CALL 0x001e97a0
POP ECX
POP EAX
LEA EAX,[ESI + 0x8950]
PUSH 0x1
PUSH EAX
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x002638b0
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH dword ptr [ESI + 0xfffffe48]
PUSH EDI
CALL 0x001e97a0
POP EAX
LEA EAX,[ESI + 0x8460]
POP EDX
PUSH 0x1
PUSH EAX
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x0022cd90
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH dword ptr [ESI + 0xfffffe20]
PUSH EDI
CALL 0x001e97a0
POP ECX
POP EAX
LEA EAX,[ESI + 0x8414]
PUSH 0x1
PUSH EAX
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x00238840
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH dword ptr [ESI + 0xfffffc24]
PUSH EDI
CALL 0x001e97a0
POP EAX
LEA EAX,[ESI + 0xffffe778]
MOV dword ptr [ESI + 0x8064],0x1
POP EDX
PUSH 0x0
ADD EAX,0x8
MOV byte ptr [ESI + 0x8070],0x0
MOV dword ptr [ESI + 0x8060],EAX
LEA EAX,[ESI + 0xfffff254]
MOV dword ptr [ESI + 0x8068],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x806c],0x0
MOV dword ptr [ESI + 0x8430],EAX
LEA EAX,[ESI + 0x8060]
MOV dword ptr [EBP + -0x50],EAX
MOV dword ptr [ESI + 0x8438],EAX
LEA EAX,[ESI + 0x8430]
PUSH EAX
MOV dword ptr [ESI + 0x8074],0x0
MOV dword ptr [ESI + 0x8078],0x0
MOV dword ptr [ESI + 0x807c],0x0
MOV dword ptr [ESI + 0x8080],0x0
MOV dword ptr [ESI + 0x8084],0x0
MOV dword ptr [ESI + 0x8088],0x0
MOV byte ptr [ESI + 0x8184],0x0
MOV dword ptr [ESI + 0x8434],0x1
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x00230d40
LEA EAX,[ESI + 0x8eec]
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + -0x78],EAX
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffed00]
ADD ESP,0xc
MOV dword ptr [ESI + 0x842c],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x8428],EAX
LEA EAX,[ESI + 0x8428]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffcc0]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffed3c]
ADD ESP,0xc
MOV dword ptr [ESI + 0x8424],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x8420],EAX
LEA EAX,[ESI + 0x8420]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffe70]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff21c]
ADD ESP,0x10
MOV dword ptr [ESI + 0x8440],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x843c],EAX
CALL 0x001e92a0
SUB ESP,0x4
MOV dword ptr [ESI + 0x8444],EAX
LEA EAX,[ESI + 0x843c]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffdac]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffe7b0]
ADD ESP,0xc
MOV dword ptr [ESI + 0x7f64],0x1
PUSH 0x0
ADD EAX,0x8
PUSH 0x0
MOV dword ptr [ESI + 0x7f60],EAX
LEA EAX,[ESI + 0xfffff2d0]
MOV dword ptr [ESI + 0x7f68],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x7f6c],0x0
MOV dword ptr [ESI + 0x83fc],EAX
LEA EAX,[ESI + 0x7f60]
MOV dword ptr [EBP + -0x48],EAX
MOV dword ptr [ESI + 0x8404],EAX
LEA EAX,[ESI + 0x83fc]
PUSH EAX
MOV byte ptr [ESI + 0x7f70],0x0
MOV dword ptr [ESI + 0x7f74],0x0
MOV dword ptr [ESI + 0x7f78],0x0
MOV dword ptr [ESI + 0x7f7c],0x0
MOV dword ptr [ESI + 0x7f80],0x0
MOV dword ptr [ESI + 0x7f84],0x0
MOV dword ptr [ESI + 0x7f88],0x0
MOV dword ptr [ESI + 0x7f8c],0x0
MOV dword ptr [ESI + 0x7f90],0x0
MOV dword ptr [ESI + 0x7f94],0x0
MOV dword ptr [ESI + 0x7f98],0x0
MOV dword ptr [ESI + 0x7f9c],0x0
MOV byte ptr [ESI + 0x7fcc],0x0
MOV dword ptr [ESI + 0x8400],0x1
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x00232310
LEA EAX,[ESI + 0x8efc]
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + -0x60],EAX
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffe7a0]
ADD ESP,0xc
MOV dword ptr [ESI + 0x7fe4],0x1
PUSH 0x0
ADD EAX,0x8
PUSH 0x0
MOV dword ptr [ESI + 0x7fe0],EAX
LEA EAX,[ESI + 0xfffff29c]
MOV dword ptr [ESI + 0x7fe8],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x7fec],0x0
MOV dword ptr [ESI + 0x8408],EAX
LEA EAX,[ESI + 0x7fe0]
MOV dword ptr [EBP + -0x54],EAX
MOV dword ptr [ESI + 0x8410],EAX
LEA EAX,[ESI + 0x8408]
PUSH EAX
MOV byte ptr [ESI + 0x7ff0],0x0
MOV dword ptr [ESI + 0x7ff4],0x0
MOV dword ptr [ESI + 0x7ff8],0x0
MOV dword ptr [ESI + 0x7ffc],0x0
MOV dword ptr [ESI + 0x8000],0x0
MOV dword ptr [ESI + 0x8004],0x0
MOV dword ptr [ESI + 0x8008],0x0
MOV dword ptr [ESI + 0x800c],0x0
MOV dword ptr [ESI + 0x8010],0x0
MOV dword ptr [ESI + 0x8014],0x0
MOV dword ptr [ESI + 0x8018],0x0
MOV dword ptr [ESI + 0x801c],0x0
MOV byte ptr [ESI + 0x804c],0x0
MOV dword ptr [ESI + 0x840c],0x1
MOV dword ptr [EBP + -0x3c],EAX
CALL 0x00231d40
LEA EAX,[ESI + 0x8ef8]
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + -0x70],EAX
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff388]
ADD ESP,0xc
MOV dword ptr [ESI + 0x83f8],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x83f4],EAX
LEA EAX,[ESI + 0x83f4]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffdd8]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff3a0]
ADD ESP,0xc
MOV dword ptr [ESI + 0x83f0],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x83ec],EAX
LEA EAX,[ESI + 0x83ec]
PUSH EAX
PUSH dword ptr [ESI + 0xffffff8c]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffed6c]
ADD ESP,0xc
LEA EBX,[ESI + 0x83d8]
MOV dword ptr [ESI + 0x7e84],0x1
MOV dword ptr [ESI + 0x7e88],0x0
MOV dword ptr [ESI + 0x7e8c],0x0
ADD EAX,0x8
MOV dword ptr [ESI + 0x7e80],EAX
LEA EAX,[ESI + 0x7e80]
MOV dword ptr [ESI + 0x7e90],0x0
MOV dword ptr [ESI + 0x7e94],0x0
MOV dword ptr [ESI + 0x7e98],0x0
MOV dword ptr [ESI + 0x7e9c],0x0
MOV dword ptr [ESI + 0x7ea0],0x0
MOV dword ptr [ESI + 0x7ea4],0x0
MOV dword ptr [ESI + 0x7ea8],0x0
MOV dword ptr [ESI + 0x7eac],0x0
MOV dword ptr [ESI + 0x7eb0],0x0
MOV dword ptr [ESI + 0x7eb4],0x0
MOV dword ptr [ESI + 0x7eb8],0x0
MOV dword ptr [ESI + 0x7ebc],0x0
MOV dword ptr [ESI + 0x7ec0],0x0
MOV dword ptr [ESI + 0x7ec4],0x0
MOV dword ptr [ESI + 0x7ec8],0x0
MOV dword ptr [ESI + 0x7ecc],0x0
MOV dword ptr [ESI + 0x7ed0],0x0
MOV dword ptr [ESI + 0x7ed4],0x0
MOV dword ptr [ESI + 0x7ed8],0x0
MOV dword ptr [ESI + 0x7edc],0x0
MOV dword ptr [ESI + 0x7ee0],0x0
MOV dword ptr [ESI + 0x7ee4],0x0
MOV dword ptr [ESI + 0x7ee8],0x0
MOV dword ptr [ESI + 0x7eec],0x0
MOV dword ptr [ESI + 0x7ef0],0x0
MOV dword ptr [ESI + 0x7ef4],0x0
MOV dword ptr [ESI + 0x7ef8],0x0
MOV dword ptr [ESI + 0x7efc],0x0
PUSH 0x1
PUSH EAX
PUSH EBX
MOV dword ptr [EBP + -0x3c],EBX
MOV EBX,ESI
MOV dword ptr [ESI + 0x7f00],0x0
MOV dword ptr [ESI + 0x7f04],0x0
MOV dword ptr [ESI + 0x7f08],0x0
MOV dword ptr [ESI + 0x7f0c],0x0
MOV dword ptr [ESI + 0x7f10],0x0
MOV dword ptr [ESI + 0x7f14],0x0
MOV dword ptr [ESI + 0x7f18],0x0
MOV dword ptr [ESI + 0x7f1c],0x0
MOV dword ptr [ESI + 0x7f20],0x0
MOV dword ptr [ESI + 0x7f24],0x0
MOV dword ptr [ESI + 0x7f28],0x0
MOV dword ptr [ESI + 0x7f2c],0x0
MOV dword ptr [ESI + 0x7f30],0x0
MOV dword ptr [ESI + 0x7f34],0x0
MOV dword ptr [ESI + 0x7f38],0x0
MOV dword ptr [ESI + 0x7f3c],0x0
MOV dword ptr [ESI + 0x7f40],0x0
MOV byte ptr [ESI + 0x7f44],0x0
MOV dword ptr [EBP + -0x4c],EAX
CALL 0x0023b1b0
LEA EBX,[ESI + 0x8e80]
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH EBX
PUSH EDI
MOV dword ptr [EBP + -0x58],EBX
MOV EBX,ESI
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff3b8]
ADD ESP,0xc
MOV dword ptr [ESI + 0x83d4],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x83d0],EAX
LEA EAX,[ESI + 0x83d0]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffcf8]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xffffef00]
ADD ESP,0xc
MOV dword ptr [ESI + 0x83cc],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x83c8],EAX
LEA EAX,[ESI + 0x83c8]
PUSH EAX
PUSH dword ptr [ESI + 0xffffff48]
PUSH EDI
CALL 0x001e97a0
LEA EDX,[ESI + 0x83b8]
POP ECX
POP EAX
PUSH 0x1
PUSH EDX
MOV dword ptr [EBP + -0x3c],EDX
CALL 0x00255090
ADD ESP,0xc
PUSH dword ptr [EBP + -0x3c]
PUSH dword ptr [ESI + 0xffffff5c]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff850]
ADD ESP,0xc
MOV dword ptr [ESI + 0x83b4],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x83b0],EAX
LEA EAX,[ESI + 0x83b0]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffb70]
PUSH EDI
CALL 0x001e97a0
LEA EAX,[ESI + 0xfffff87c]
ADD ESP,0xc
MOV dword ptr [ESI + 0x83ac],0x1
ADD EAX,0x8
MOV dword ptr [ESI + 0x83a8],EAX
LEA EAX,[ESI + 0x83a8]
PUSH EAX
PUSH dword ptr [ESI + 0xfffffe64]
PUSH EDI
CALL 0x001e97a0
POP EAX
MOV EAX,dword ptr [EBP + -0x40]
MOV ECX,dword ptr [EBP + -0x5c]
POP EDX
MOV EBX,dword ptr [EBP + -0x50]
MOV EDX,dword ptr [EBP + -0x44]
MOV dword ptr [EBP + -0x28],EAX
MOV EAX,dword ptr [EBP + -0x54]
MOV dword ptr [EBP + -0x2c],ECX
MOV ECX,dword ptr [EBP + -0x48]
MOV dword ptr [EBP + -0x24],EBX
MOV EBX,ESI
MOV dword ptr [EBP + -0x1c],EAX
LEA EAX,[EBP + -0x30]
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + -0x30],EDX
MOV dword ptr [EBP + -0x20],ECX
CALL 0x0026c420
POP EAX
MOV EBX,dword ptr [EDI + 0xc]
PUSH dword ptr [EBP + -0x6c]
MOV dword ptr [EBP + -0x3c],EBX
MOV EBX,ESI
CALL 0x001e9750
MOV EBX,dword ptr [EBP + -0x3c]
MOV EDX,dword ptr [EBP + -0x44]
MOV dword ptr [EBX + EAX*0x4],EDX
MOV EBX,dword ptr [EDI + 0xc]
POP EDX
PUSH dword ptr [EBP + -0x7c]
MOV dword ptr [EBP + -0x3c],EBX
MOV EBX,ESI
CALL 0x001e9750
MOV EBX,dword ptr [EBP + -0x3c]
MOV ECX,dword ptr [EDI + 0xc]
MOV EDX,dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + -0x3c],ECX
MOV dword ptr [EBX + EAX*0x4],EDX
POP ECX
MOV EBX,ESI
PUSH dword ptr [EBP + -0x74]
CALL 0x001e9750
MOV ECX,dword ptr [EBP + -0x3c]
MOV EDX,dword ptr [EBP + -0x40]
MOV dword ptr [ECX + EAX*0x4],EDX
MOV ECX,dword ptr [EDI + 0xc]
POP EAX
PUSH dword ptr [EBP + -0x68]
MOV dword ptr [EBP + -0x3c],ECX
CALL 0x001e9750
MOV ECX,dword ptr [EBP + -0x3c]
MOV EBX,dword ptr [EBP + -0x64]
MOV dword ptr [ECX + EAX*0x4],EBX
MOV ECX,dword ptr [EDI + 0xc]
MOV EBX,ESI
POP EAX
PUSH dword ptr [EBP + -0x78]
MOV dword ptr [EBP + -0x3c],ECX
CALL 0x001e9750
MOV ECX,dword ptr [EBP + -0x3c]
MOV EDX,dword ptr [EBP + -0x50]
MOV EBX,dword ptr [EDI + 0xc]
MOV dword ptr [ECX + EAX*0x4],EDX
POP EAX
PUSH dword ptr [EBP + -0x60]
MOV dword ptr [EBP + -0x3c],EBX
MOV EBX,ESI
CALL 0x001e9750
MOV EBX,dword ptr [EBP + -0x3c]
MOV EDX,dword ptr [EBP + -0x48]
MOV ECX,dword ptr [EDI + 0xc]
MOV dword ptr [EBX + EAX*0x4],EDX
POP EAX
MOV EBX,ESI
PUSH dword ptr [EBP + -0x70]
MOV dword ptr [EBP + -0x3c],ECX
CALL 0x001e9750
MOV ECX,dword ptr [EBP + -0x3c]
MOV EDX,dword ptr [EBP + -0x54]
MOV EDI,dword ptr [EDI + 0xc]
MOV dword ptr [ECX + EAX*0x4],EDX
POP EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x001e9750
MOV ECX,dword ptr [EBP + -0x4c]
ADD ESP,0x10
MOV dword ptr [EDI + EAX*0x4],ECX
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n\nvoid FUN_00237040(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  param_1[2] = 0x2e;\n  puVar1 = &DAT_00397cc0;\n  *param_1 = param_2;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);\n  param_1[1] = &DAT_00397cc0;\n  puVar1 = &DAT_00397c00;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  param_1[3] = &DAT_00397c00;\n  puVar1 = &DAT_00397da0;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);\n  param_1[4] = &DAT_00397da0;\n  DAT_00397da0 = &DAT_00397d78;\n  puVar2 = (undefined2 *)FUN_001e9300();\n  DAT_00397d78 = *puVar2;\n                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */\n  FUN_00221ab0(&DAT_003979e0,0,0,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);\n  FUN_002387b0(&DAT_003979ac,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);\n  DAT_00397344 = 1;\n  DAT_00397348 = 0;\n  DAT_0039734c = 0;\n  DAT_00397340 = &PTR_FUN_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  DAT_003979c8 = &PTR_FUN_0038e564;\n  DAT_003979d0 = &DAT_00397340;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */\n  FUN_00230a30(&DAT_003979c8,0);\n                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);\n  DAT_003979c4 = 1;\n  DAT_003979c0 = &PTR_FUN_0038c40c;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);\n  DAT_003979bc = 1;\n  DAT_003979b8 = &PTR_FUN_0038c448;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);\n  DAT_003979d8 = 1;\n  DAT_003979d4 = &PTR_FUN_0038e52c;\n                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */\n  DAT_003979dc = FUN_001e92a0();\n                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);\n  DAT_00397284 = 1;\n  DAT_00397280 = &PTR_FUN_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  DAT_00397994 = &PTR_FUN_0038e5e0;\n  DAT_0039799c = &DAT_00397280;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */\n  FUN_00231560(&DAT_00397994,0,0);\n                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);\n  DAT_003972e4 = 1;\n  DAT_003972e0 = &PTR_FUN_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  DAT_003979a0 = &PTR_FUN_0038e5ac;\n  DAT_003979a8 = &DAT_003972e0;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */\n  FUN_00231020(&DAT_003979a0,0,0);\n                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);\n  DAT_00397990 = 1;\n  DAT_0039798c = &PTR_FUN_0038e698;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);\n  DAT_00397988 = 1;\n  DAT_00397984 = &PTR_FUN_0038e6b0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);\n  DAT_003971a4 = 1;\n  DAT_003971a8 = 0;\n  DAT_003971ac = 0;\n  DAT_003971a0 = &PTR_FUN_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);\n  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);\n  DAT_0039796c = 1;\n  DAT_00397968 = &PTR_FUN_0038e6c8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);\n  DAT_00397964 = 1;\n  DAT_00397960 = &PTR_FUN_0038c60c;\n  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);\n  FUN_002638b0(&DAT_00397950,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);\n  FUN_0022cd90(&DAT_00397460,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);\n  FUN_00238840(&DAT_00397414,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);\n  DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  DAT_00397060 = &PTR_FUN_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  DAT_00397430 = &PTR_FUN_0038e25c;\n  DAT_00397438 = &DAT_00397060;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */\n  FUN_00230d40(&DAT_00397430,0);\n                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);\n  DAT_0039742c = 1;\n  DAT_00397428 = &PTR_FUN_0038dd08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);\n  DAT_00397424 = 1;\n  DAT_00397420 = &PTR_FUN_0038dd44;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);\n  DAT_00397440 = 1;\n  DAT_0039743c = &PTR_FUN_0038e224;\n                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */\n  DAT_00397444 = FUN_001e92a0();\n                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);\n  DAT_00396f64 = 1;\n  DAT_00396f60 = &PTR_FUN_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  DAT_003973fc = &PTR_FUN_0038e2d8;\n  DAT_00397404 = &DAT_00396f60;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */\n  FUN_00232310(&DAT_003973fc,0,0);\n                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);\n  DAT_00396fe4 = 1;\n  DAT_00396fe0 = &PTR_FUN_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  DAT_00397408 = &PTR_FUN_0038e2a4;\n  DAT_00397410 = &DAT_00396fe0;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */\n  FUN_00231d40(&DAT_00397408,0,0);\n                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);\n  DAT_003973f8 = 1;\n  DAT_003973f4 = &PTR_FUN_0038e390;\n  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);\n  DAT_003973f0 = 1;\n  DAT_003973ec = &PTR_FUN_0038e3a8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);\n  DAT_00396e84 = 1;\n  DAT_00396e88 = 0;\n  DAT_00396e8c = 0;\n  DAT_00396e80 = &PTR_FUN_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);\n  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);\n  DAT_003973d4 = 1;\n  DAT_003973d0 = &PTR_FUN_0038e3c0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);\n  DAT_003973cc = 1;\n  DAT_003973c8 = &PTR_FUN_0038df08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);\n  FUN_00255090(&DAT_003973b8,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);\n  DAT_003973b4 = 1;\n  DAT_003973b0 = &PTR_FUN_0038e858;\n  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);\n  DAT_003973ac = 1;\n  DAT_003973a8 = &PTR_FUN_0038e884;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);\n  local_34 = &DAT_00397340;\n  local_30 = &DAT_00397280;\n  local_2c = &DAT_003972e0;\n  local_28 = &DAT_00397060;\n  local_24 = &DAT_00396f60;\n  local_20 = &DAT_00396fe0;\n  FUN_0026c420(param_1,&local_34);\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00397f4c);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397f5c);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;\n  iVar5 = FUN_001e9750(&DAT_00397f58);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00396de0);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397eec);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;\n  iVar4 = FUN_001e9750(&DAT_00397efc);\n  iVar5 = param_1[3];\n  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;\n  iVar4 = FUN_001e9750(&DAT_00397ef8);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;\n  iVar5 = FUN_001e9750(&DAT_00397e80);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;\n  return;\n}\n\n" comment (function_definition "void FUN_00237040(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  param_1[2] = 0x2e;\n  puVar1 = &DAT_00397cc0;\n  *param_1 = param_2;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);\n  param_1[1] = &DAT_00397cc0;\n  puVar1 = &DAT_00397c00;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  param_1[3] = &DAT_00397c00;\n  puVar1 = &DAT_00397da0;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);\n  param_1[4] = &DAT_00397da0;\n  DAT_00397da0 = &DAT_00397d78;\n  puVar2 = (undefined2 *)FUN_001e9300();\n  DAT_00397d78 = *puVar2;\n                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */\n  FUN_00221ab0(&DAT_003979e0,0,0,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);\n  FUN_002387b0(&DAT_003979ac,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);\n  DAT_00397344 = 1;\n  DAT_00397348 = 0;\n  DAT_0039734c = 0;\n  DAT_00397340 = &PTR_FUN_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  DAT_003979c8 = &PTR_FUN_0038e564;\n  DAT_003979d0 = &DAT_00397340;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */\n  FUN_00230a30(&DAT_003979c8,0);\n                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);\n  DAT_003979c4 = 1;\n  DAT_003979c0 = &PTR_FUN_0038c40c;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);\n  DAT_003979bc = 1;\n  DAT_003979b8 = &PTR_FUN_0038c448;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);\n  DAT_003979d8 = 1;\n  DAT_003979d4 = &PTR_FUN_0038e52c;\n                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */\n  DAT_003979dc = FUN_001e92a0();\n                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);\n  DAT_00397284 = 1;\n  DAT_00397280 = &PTR_FUN_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  DAT_00397994 = &PTR_FUN_0038e5e0;\n  DAT_0039799c = &DAT_00397280;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */\n  FUN_00231560(&DAT_00397994,0,0);\n                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);\n  DAT_003972e4 = 1;\n  DAT_003972e0 = &PTR_FUN_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  DAT_003979a0 = &PTR_FUN_0038e5ac;\n  DAT_003979a8 = &DAT_003972e0;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */\n  FUN_00231020(&DAT_003979a0,0,0);\n                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);\n  DAT_00397990 = 1;\n  DAT_0039798c = &PTR_FUN_0038e698;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);\n  DAT_00397988 = 1;\n  DAT_00397984 = &PTR_FUN_0038e6b0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);\n  DAT_003971a4 = 1;\n  DAT_003971a8 = 0;\n  DAT_003971ac = 0;\n  DAT_003971a0 = &PTR_FUN_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);\n  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);\n  DAT_0039796c = 1;\n  DAT_00397968 = &PTR_FUN_0038e6c8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);\n  DAT_00397964 = 1;\n  DAT_00397960 = &PTR_FUN_0038c60c;\n  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);\n  FUN_002638b0(&DAT_00397950,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);\n  FUN_0022cd90(&DAT_00397460,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);\n  FUN_00238840(&DAT_00397414,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);\n  DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  DAT_00397060 = &PTR_FUN_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  DAT_00397430 = &PTR_FUN_0038e25c;\n  DAT_00397438 = &DAT_00397060;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */\n  FUN_00230d40(&DAT_00397430,0);\n                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);\n  DAT_0039742c = 1;\n  DAT_00397428 = &PTR_FUN_0038dd08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);\n  DAT_00397424 = 1;\n  DAT_00397420 = &PTR_FUN_0038dd44;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);\n  DAT_00397440 = 1;\n  DAT_0039743c = &PTR_FUN_0038e224;\n                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */\n  DAT_00397444 = FUN_001e92a0();\n                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);\n  DAT_00396f64 = 1;\n  DAT_00396f60 = &PTR_FUN_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  DAT_003973fc = &PTR_FUN_0038e2d8;\n  DAT_00397404 = &DAT_00396f60;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */\n  FUN_00232310(&DAT_003973fc,0,0);\n                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);\n  DAT_00396fe4 = 1;\n  DAT_00396fe0 = &PTR_FUN_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  DAT_00397408 = &PTR_FUN_0038e2a4;\n  DAT_00397410 = &DAT_00396fe0;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */\n  FUN_00231d40(&DAT_00397408,0,0);\n                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);\n  DAT_003973f8 = 1;\n  DAT_003973f4 = &PTR_FUN_0038e390;\n  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);\n  DAT_003973f0 = 1;\n  DAT_003973ec = &PTR_FUN_0038e3a8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);\n  DAT_00396e84 = 1;\n  DAT_00396e88 = 0;\n  DAT_00396e8c = 0;\n  DAT_00396e80 = &PTR_FUN_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);\n  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);\n  DAT_003973d4 = 1;\n  DAT_003973d0 = &PTR_FUN_0038e3c0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);\n  DAT_003973cc = 1;\n  DAT_003973c8 = &PTR_FUN_0038df08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);\n  FUN_00255090(&DAT_003973b8,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);\n  DAT_003973b4 = 1;\n  DAT_003973b0 = &PTR_FUN_0038e858;\n  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);\n  DAT_003973ac = 1;\n  DAT_003973a8 = &PTR_FUN_0038e884;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);\n  local_34 = &DAT_00397340;\n  local_30 = &DAT_00397280;\n  local_2c = &DAT_003972e0;\n  local_28 = &DAT_00397060;\n  local_24 = &DAT_00396f60;\n  local_20 = &DAT_00396fe0;\n  FUN_0026c420(param_1,&local_34);\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00397f4c);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397f5c);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;\n  iVar5 = FUN_001e9750(&DAT_00397f58);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00396de0);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397eec);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;\n  iVar4 = FUN_001e9750(&DAT_00397efc);\n  iVar5 = param_1[3];\n  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;\n  iVar4 = FUN_001e9750(&DAT_00397ef8);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;\n  iVar5 = FUN_001e9750(&DAT_00397e80);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;\n  return;\n}" primitive_type (function_declarator "FUN_00237040(undefined4 *param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  param_1[2] = 0x2e;\n  puVar1 = &DAT_00397cc0;\n  *param_1 = param_2;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);\n  param_1[1] = &DAT_00397cc0;\n  puVar1 = &DAT_00397c00;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  param_1[3] = &DAT_00397c00;\n  puVar1 = &DAT_00397da0;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);\n  param_1[4] = &DAT_00397da0;\n  DAT_00397da0 = &DAT_00397d78;\n  puVar2 = (undefined2 *)FUN_001e9300();\n  DAT_00397d78 = *puVar2;\n                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */\n  FUN_00221ab0(&DAT_003979e0,0,0,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);\n  FUN_002387b0(&DAT_003979ac,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);\n  DAT_00397344 = 1;\n  DAT_00397348 = 0;\n  DAT_0039734c = 0;\n  DAT_00397340 = &PTR_FUN_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  DAT_003979c8 = &PTR_FUN_0038e564;\n  DAT_003979d0 = &DAT_00397340;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */\n  FUN_00230a30(&DAT_003979c8,0);\n                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);\n  DAT_003979c4 = 1;\n  DAT_003979c0 = &PTR_FUN_0038c40c;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);\n  DAT_003979bc = 1;\n  DAT_003979b8 = &PTR_FUN_0038c448;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);\n  DAT_003979d8 = 1;\n  DAT_003979d4 = &PTR_FUN_0038e52c;\n                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */\n  DAT_003979dc = FUN_001e92a0();\n                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);\n  DAT_00397284 = 1;\n  DAT_00397280 = &PTR_FUN_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  DAT_00397994 = &PTR_FUN_0038e5e0;\n  DAT_0039799c = &DAT_00397280;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */\n  FUN_00231560(&DAT_00397994,0,0);\n                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);\n  DAT_003972e4 = 1;\n  DAT_003972e0 = &PTR_FUN_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  DAT_003979a0 = &PTR_FUN_0038e5ac;\n  DAT_003979a8 = &DAT_003972e0;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */\n  FUN_00231020(&DAT_003979a0,0,0);\n                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);\n  DAT_00397990 = 1;\n  DAT_0039798c = &PTR_FUN_0038e698;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);\n  DAT_00397988 = 1;\n  DAT_00397984 = &PTR_FUN_0038e6b0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);\n  DAT_003971a4 = 1;\n  DAT_003971a8 = 0;\n  DAT_003971ac = 0;\n  DAT_003971a0 = &PTR_FUN_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);\n  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);\n  DAT_0039796c = 1;\n  DAT_00397968 = &PTR_FUN_0038e6c8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);\n  DAT_00397964 = 1;\n  DAT_00397960 = &PTR_FUN_0038c60c;\n  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);\n  FUN_002638b0(&DAT_00397950,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);\n  FUN_0022cd90(&DAT_00397460,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);\n  FUN_00238840(&DAT_00397414,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);\n  DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  DAT_00397060 = &PTR_FUN_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  DAT_00397430 = &PTR_FUN_0038e25c;\n  DAT_00397438 = &DAT_00397060;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */\n  FUN_00230d40(&DAT_00397430,0);\n                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);\n  DAT_0039742c = 1;\n  DAT_00397428 = &PTR_FUN_0038dd08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);\n  DAT_00397424 = 1;\n  DAT_00397420 = &PTR_FUN_0038dd44;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);\n  DAT_00397440 = 1;\n  DAT_0039743c = &PTR_FUN_0038e224;\n                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */\n  DAT_00397444 = FUN_001e92a0();\n                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);\n  DAT_00396f64 = 1;\n  DAT_00396f60 = &PTR_FUN_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  DAT_003973fc = &PTR_FUN_0038e2d8;\n  DAT_00397404 = &DAT_00396f60;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */\n  FUN_00232310(&DAT_003973fc,0,0);\n                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);\n  DAT_00396fe4 = 1;\n  DAT_00396fe0 = &PTR_FUN_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  DAT_00397408 = &PTR_FUN_0038e2a4;\n  DAT_00397410 = &DAT_00396fe0;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */\n  FUN_00231d40(&DAT_00397408,0,0);\n                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */\n  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);\n  DAT_003973f8 = 1;\n  DAT_003973f4 = &PTR_FUN_0038e390;\n  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);\n  DAT_003973f0 = 1;\n  DAT_003973ec = &PTR_FUN_0038e3a8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);\n  DAT_00396e84 = 1;\n  DAT_00396e88 = 0;\n  DAT_00396e8c = 0;\n  DAT_00396e80 = &PTR_FUN_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);\n  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);\n  DAT_003973d4 = 1;\n  DAT_003973d0 = &PTR_FUN_0038e3c0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);\n  DAT_003973cc = 1;\n  DAT_003973c8 = &PTR_FUN_0038df08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);\n  FUN_00255090(&DAT_003973b8,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);\n  DAT_003973b4 = 1;\n  DAT_003973b0 = &PTR_FUN_0038e858;\n  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);\n  DAT_003973ac = 1;\n  DAT_003973a8 = &PTR_FUN_0038e884;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);\n  local_34 = &DAT_00397340;\n  local_30 = &DAT_00397280;\n  local_2c = &DAT_003972e0;\n  local_28 = &DAT_00397060;\n  local_24 = &DAT_00396f60;\n  local_20 = &DAT_00396fe0;\n  FUN_0026c420(param_1,&local_34);\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00397f4c);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397f5c);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;\n  iVar5 = FUN_001e9750(&DAT_00397f58);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00396de0);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397eec);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;\n  iVar4 = FUN_001e9750(&DAT_00397efc);\n  iVar5 = param_1[3];\n  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;\n  iVar4 = FUN_001e9750(&DAT_00397ef8);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;\n  iVar5 = FUN_001e9750(&DAT_00397e80);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined2 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "undefined4 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "undefined4 *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "param_1[2] = 0x2e;" (assignment_expression "param_1[2] = 0x2e" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = &DAT_00397cc0;" (assignment_expression "puVar1 = &DAT_00397cc0" identifier = (pointer_expression "&DAT_00397cc0" & identifier)) ;) (expression_statement "*param_1 = param_2;" (assignment_expression "*param_1 = param_2" (pointer_expression "*param_1" * identifier) = identifier) ;) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);" do (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" { (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" identifier = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397d78)" ( (binary_expression "puVar1 != (undefined4 *)&DAT_00397d78" identifier != (cast_expression "(undefined4 *)&DAT_00397d78" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00397d78" & identifier))) )) ;) (expression_statement "param_1[1] = &DAT_00397cc0;" (assignment_expression "param_1[1] = &DAT_00397cc0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (pointer_expression "&DAT_00397cc0" & identifier)) ;) (expression_statement "puVar1 = &DAT_00397c00;" (assignment_expression "puVar1 = &DAT_00397c00" identifier = (pointer_expression "&DAT_00397c00" & identifier)) ;) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);" do (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" { (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" identifier = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397cb8)" ( (binary_expression "puVar1 != (undefined4 *)&DAT_00397cb8" identifier != (cast_expression "(undefined4 *)&DAT_00397cb8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00397cb8" & identifier))) )) ;) (expression_statement "param_1[3] = &DAT_00397c00;" (assignment_expression "param_1[3] = &DAT_00397c00" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (pointer_expression "&DAT_00397c00" & identifier)) ;) (expression_statement "puVar1 = &DAT_00397da0;" (assignment_expression "puVar1 = &DAT_00397da0" identifier = (pointer_expression "&DAT_00397da0" & identifier)) ;) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);" do (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" { (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" identifier = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397dd0)" ( (binary_expression "puVar1 != (undefined4 *)&DAT_00397dd0" identifier != (cast_expression "(undefined4 *)&DAT_00397dd0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00397dd0" & identifier))) )) ;) (expression_statement "param_1[4] = &DAT_00397da0;" (assignment_expression "param_1[4] = &DAT_00397da0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (pointer_expression "&DAT_00397da0" & identifier)) ;) (expression_statement "DAT_00397da0 = &DAT_00397d78;" (assignment_expression "DAT_00397da0 = &DAT_00397d78" identifier = (pointer_expression "&DAT_00397d78" & identifier)) ;) (expression_statement "puVar2 = (undefined2 *)FUN_001e9300();" (assignment_expression "puVar2 = (undefined2 *)FUN_001e9300()" identifier = (cast_expression "(undefined2 *)FUN_001e9300()" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e9300()" identifier (argument_list "()" ( ))))) ;) (expression_statement "DAT_00397d78 = *puVar2;" (assignment_expression "DAT_00397d78 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) comment (expression_statement "FUN_00221ab0(&DAT_003979e0,0,0,1);" (call_expression "FUN_00221ab0(&DAT_003979e0,0,0,1)" identifier (argument_list "(&DAT_003979e0,0,0,1)" ( (pointer_expression "&DAT_003979e0" & identifier) , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0)" identifier (argument_list "(param_1,PTR_DAT_0038efa8,&DAT_003979e0)" ( identifier , identifier , (pointer_expression "&DAT_003979e0" & identifier) ))) ;) (expression_statement "FUN_002387b0(&DAT_003979ac,1);" (call_expression "FUN_002387b0(&DAT_003979ac,1)" identifier (argument_list "(&DAT_003979ac,1)" ( (pointer_expression "&DAT_003979ac" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac)" identifier (argument_list "(param_1,PTR_DAT_0038edec,&DAT_003979ac)" ( identifier , identifier , (pointer_expression "&DAT_003979ac" & identifier) ))) ;) (expression_statement "DAT_00397344 = 1;" (assignment_expression "DAT_00397344 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397348 = 0;" (assignment_expression "DAT_00397348 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039734c = 0;" (assignment_expression "DAT_0039734c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397340 = &PTR_FUN_0038c6c0;" (assignment_expression "DAT_00397340 = &PTR_FUN_0038c6c0" identifier = (pointer_expression "&PTR_FUN_0038c6c0" & identifier)) ;) (expression_statement "DAT_00397350 = 0;" (assignment_expression "DAT_00397350 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397354 = 0;" (assignment_expression "DAT_00397354 = 0" identifier = number_literal) ;) (expression_statement "DAT_003979c8 = &PTR_FUN_0038e564;" (assignment_expression "DAT_003979c8 = &PTR_FUN_0038e564" identifier = (pointer_expression "&PTR_FUN_0038e564" & identifier)) ;) (expression_statement "DAT_003979d0 = &DAT_00397340;" (assignment_expression "DAT_003979d0 = &DAT_00397340" identifier = (pointer_expression "&DAT_00397340" & identifier)) ;) (expression_statement "DAT_00397358 = 0;" (assignment_expression "DAT_00397358 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039735c = 0;" (assignment_expression "DAT_0039735c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397360 = 0;" (assignment_expression "DAT_00397360 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397364 = 0;" (assignment_expression "DAT_00397364 = 0" identifier = number_literal) ;) (expression_statement "DAT_003973a4 = 0;" (assignment_expression "DAT_003973a4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003979cc = 1;" (assignment_expression "DAT_003979cc = 1" identifier = number_literal) ;) comment (expression_statement "FUN_00230a30(&DAT_003979c8,0);" (call_expression "FUN_00230a30(&DAT_003979c8,0)" identifier (argument_list "(&DAT_003979c8,0)" ( (pointer_expression "&DAT_003979c8" & identifier) , number_literal ))) ;) comment (expression_statement "FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);" (call_expression "FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8)" identifier (argument_list "(param_1,&DAT_00397f4c,&DAT_003979c8)" ( identifier , (pointer_expression "&DAT_00397f4c" & identifier) , (pointer_expression "&DAT_003979c8" & identifier) ))) ;) (expression_statement "DAT_003979c4 = 1;" (assignment_expression "DAT_003979c4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003979c0 = &PTR_FUN_0038c40c;" (assignment_expression "DAT_003979c0 = &PTR_FUN_0038c40c" identifier = (pointer_expression "&PTR_FUN_0038c40c" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0)" identifier (argument_list "(param_1,PTR_DAT_0038ecc4,&DAT_003979c0)" ( identifier , identifier , (pointer_expression "&DAT_003979c0" & identifier) ))) ;) (expression_statement "DAT_003979bc = 1;" (assignment_expression "DAT_003979bc = 1" identifier = number_literal) ;) (expression_statement "DAT_003979b8 = &PTR_FUN_0038c448;" (assignment_expression "DAT_003979b8 = &PTR_FUN_0038c448" identifier = (pointer_expression "&PTR_FUN_0038c448" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8)" identifier (argument_list "(param_1,PTR_DAT_0038ed08,&DAT_003979b8)" ( identifier , identifier , (pointer_expression "&DAT_003979b8" & identifier) ))) ;) (expression_statement "DAT_003979d8 = 1;" (assignment_expression "DAT_003979d8 = 1" identifier = number_literal) ;) (expression_statement "DAT_003979d4 = &PTR_FUN_0038e52c;" (assignment_expression "DAT_003979d4 = &PTR_FUN_0038e52c" identifier = (pointer_expression "&PTR_FUN_0038e52c" & identifier)) ;) comment (expression_statement "DAT_003979dc = FUN_001e92a0();" (assignment_expression "DAT_003979dc = FUN_001e92a0()" identifier = (call_expression "FUN_001e92a0()" identifier (argument_list "()" ( )))) ;) comment (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4)" identifier (argument_list "(param_1,PTR_DAT_0038eb40,&DAT_003979d4)" ( identifier , identifier , (pointer_expression "&DAT_003979d4" & identifier) ))) ;) (expression_statement "DAT_00397284 = 1;" (assignment_expression "DAT_00397284 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397280 = &PTR_FUN_0038c6a0;" (assignment_expression "DAT_00397280 = &PTR_FUN_0038c6a0" identifier = (pointer_expression "&PTR_FUN_0038c6a0" & identifier)) ;) (expression_statement "DAT_00397290 = 0;" (assignment_expression "DAT_00397290 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397288 = 0;" (assignment_expression "DAT_00397288 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039728c = 0;" (assignment_expression "DAT_0039728c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397994 = &PTR_FUN_0038e5e0;" (assignment_expression "DAT_00397994 = &PTR_FUN_0038e5e0" identifier = (pointer_expression "&PTR_FUN_0038e5e0" & identifier)) ;) (expression_statement "DAT_0039799c = &DAT_00397280;" (assignment_expression "DAT_0039799c = &DAT_00397280" identifier = (pointer_expression "&DAT_00397280" & identifier)) ;) (expression_statement "DAT_00397292 = 0;" (assignment_expression "DAT_00397292 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397294 = 0;" (assignment_expression "DAT_00397294 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397298 = 0;" (assignment_expression "DAT_00397298 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039729c = 0;" (assignment_expression "DAT_0039729c = 0" identifier = number_literal) ;) (expression_statement "DAT_003972a0 = 0;" (assignment_expression "DAT_003972a0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972a4 = 0;" (assignment_expression "DAT_003972a4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972a8 = 0;" (assignment_expression "DAT_003972a8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972ac = 0;" (assignment_expression "DAT_003972ac = 0" identifier = number_literal) ;) (expression_statement "DAT_003972b0 = 0;" (assignment_expression "DAT_003972b0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972b4 = 0;" (assignment_expression "DAT_003972b4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972c3 = 0;" (assignment_expression "DAT_003972c3 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397998 = 1;" (assignment_expression "DAT_00397998 = 1" identifier = number_literal) ;) comment (expression_statement "FUN_00231560(&DAT_00397994,0,0);" (call_expression "FUN_00231560(&DAT_00397994,0,0)" identifier (argument_list "(&DAT_00397994,0,0)" ( (pointer_expression "&DAT_00397994" & identifier) , number_literal , number_literal ))) ;) comment (expression_statement "FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);" (call_expression "FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994)" identifier (argument_list "(param_1,&DAT_00397f5c,&DAT_00397994)" ( identifier , (pointer_expression "&DAT_00397f5c" & identifier) , (pointer_expression "&DAT_00397994" & identifier) ))) ;) (expression_statement "DAT_003972e4 = 1;" (assignment_expression "DAT_003972e4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003972e0 = &PTR_FUN_0038c6b0;" (assignment_expression "DAT_003972e0 = &PTR_FUN_0038c6b0" identifier = (pointer_expression "&PTR_FUN_0038c6b0" & identifier)) ;) (expression_statement "DAT_003972f0 = 0;" (assignment_expression "DAT_003972f0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972e8 = 0;" (assignment_expression "DAT_003972e8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972ec = 0;" (assignment_expression "DAT_003972ec = 0" identifier = number_literal) ;) (expression_statement "DAT_003979a0 = &PTR_FUN_0038e5ac;" (assignment_expression "DAT_003979a0 = &PTR_FUN_0038e5ac" identifier = (pointer_expression "&PTR_FUN_0038e5ac" & identifier)) ;) (expression_statement "DAT_003979a8 = &DAT_003972e0;" (assignment_expression "DAT_003979a8 = &DAT_003972e0" identifier = (pointer_expression "&DAT_003972e0" & identifier)) ;) (expression_statement "DAT_003972f2 = 0;" (assignment_expression "DAT_003972f2 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972f4 = 0;" (assignment_expression "DAT_003972f4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972f8 = 0;" (assignment_expression "DAT_003972f8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972fc = 0;" (assignment_expression "DAT_003972fc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397300 = 0;" (assignment_expression "DAT_00397300 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397304 = 0;" (assignment_expression "DAT_00397304 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397308 = 0;" (assignment_expression "DAT_00397308 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039730c = 0;" (assignment_expression "DAT_0039730c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397310 = 0;" (assignment_expression "DAT_00397310 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397314 = 0;" (assignment_expression "DAT_00397314 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397323 = 0;" (assignment_expression "DAT_00397323 = 0" identifier = number_literal) ;) (expression_statement "DAT_003979a4 = 1;" (assignment_expression "DAT_003979a4 = 1" identifier = number_literal) ;) comment (expression_statement "FUN_00231020(&DAT_003979a0,0,0);" (call_expression "FUN_00231020(&DAT_003979a0,0,0)" identifier (argument_list "(&DAT_003979a0,0,0)" ( (pointer_expression "&DAT_003979a0" & identifier) , number_literal , number_literal ))) ;) comment (expression_statement "FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);" (call_expression "FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0)" identifier (argument_list "(param_1,&DAT_00397f58,&DAT_003979a0)" ( identifier , (pointer_expression "&DAT_00397f58" & identifier) , (pointer_expression "&DAT_003979a0" & identifier) ))) ;) (expression_statement "DAT_00397990 = 1;" (assignment_expression "DAT_00397990 = 1" identifier = number_literal) ;) (expression_statement "DAT_0039798c = &PTR_FUN_0038e698;" (assignment_expression "DAT_0039798c = &PTR_FUN_0038e698" identifier = (pointer_expression "&PTR_FUN_0038e698" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c)" identifier (argument_list "(param_1,PTR_DAT_0038ed64,&DAT_0039798c)" ( identifier , identifier , (pointer_expression "&DAT_0039798c" & identifier) ))) ;) (expression_statement "DAT_00397988 = 1;" (assignment_expression "DAT_00397988 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397984 = &PTR_FUN_0038e6b0;" (assignment_expression "DAT_00397984 = &PTR_FUN_0038e6b0" identifier = (pointer_expression "&PTR_FUN_0038e6b0" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984)" identifier (argument_list "(param_1,PTR_DAT_0038ec70,&DAT_00397984)" ( identifier , identifier , (pointer_expression "&DAT_00397984" & identifier) ))) ;) (expression_statement "DAT_003971a4 = 1;" (assignment_expression "DAT_003971a4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003971a8 = 0;" (assignment_expression "DAT_003971a8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971ac = 0;" (assignment_expression "DAT_003971ac = 0" identifier = number_literal) ;) (expression_statement "DAT_003971a0 = &PTR_FUN_0038c478;" (assignment_expression "DAT_003971a0 = &PTR_FUN_0038c478" identifier = (pointer_expression "&PTR_FUN_0038c478" & identifier)) ;) (expression_statement "DAT_003971b0 = 0;" (assignment_expression "DAT_003971b0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971b4 = 0;" (assignment_expression "DAT_003971b4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971b8 = 0;" (assignment_expression "DAT_003971b8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971bc = 0;" (assignment_expression "DAT_003971bc = 0" identifier = number_literal) ;) (expression_statement "DAT_003971c0 = 0;" (assignment_expression "DAT_003971c0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971c4 = 0;" (assignment_expression "DAT_003971c4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971c8 = 0;" (assignment_expression "DAT_003971c8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971cc = 0;" (assignment_expression "DAT_003971cc = 0" identifier = number_literal) ;) (expression_statement "DAT_003971d0 = 0;" (assignment_expression "DAT_003971d0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971d4 = 0;" (assignment_expression "DAT_003971d4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971d8 = 0;" (assignment_expression "DAT_003971d8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971dc = 0;" (assignment_expression "DAT_003971dc = 0" identifier = number_literal) ;) (expression_statement "DAT_003971e0 = 0;" (assignment_expression "DAT_003971e0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971e4 = 0;" (assignment_expression "DAT_003971e4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971e8 = 0;" (assignment_expression "DAT_003971e8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971ec = 0;" (assignment_expression "DAT_003971ec = 0" identifier = number_literal) ;) (expression_statement "DAT_003971f0 = 0;" (assignment_expression "DAT_003971f0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971f4 = 0;" (assignment_expression "DAT_003971f4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971f8 = 0;" (assignment_expression "DAT_003971f8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971fc = 0;" (assignment_expression "DAT_003971fc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397200 = 0;" (assignment_expression "DAT_00397200 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397204 = 0;" (assignment_expression "DAT_00397204 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397208 = 0;" (assignment_expression "DAT_00397208 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039720c = 0;" (assignment_expression "DAT_0039720c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397210 = 0;" (assignment_expression "DAT_00397210 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397214 = 0;" (assignment_expression "DAT_00397214 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397218 = 0;" (assignment_expression "DAT_00397218 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039721c = 0;" (assignment_expression "DAT_0039721c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397220 = 0;" (assignment_expression "DAT_00397220 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397224 = 0;" (assignment_expression "DAT_00397224 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397228 = 0;" (assignment_expression "DAT_00397228 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039722c = 0;" (assignment_expression "DAT_0039722c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397230 = 0;" (assignment_expression "DAT_00397230 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397234 = 0;" (assignment_expression "DAT_00397234 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397238 = 0;" (assignment_expression "DAT_00397238 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039723c = 0;" (assignment_expression "DAT_0039723c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397240 = 0;" (assignment_expression "DAT_00397240 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397244 = 0;" (assignment_expression "DAT_00397244 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397248 = 0;" (assignment_expression "DAT_00397248 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039724c = 0;" (assignment_expression "DAT_0039724c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397250 = 0;" (assignment_expression "DAT_00397250 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397254 = 0;" (assignment_expression "DAT_00397254 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397258 = 0;" (assignment_expression "DAT_00397258 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039725c = 0;" (assignment_expression "DAT_0039725c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397260 = 0;" (assignment_expression "DAT_00397260 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397264 = 0;" (assignment_expression "DAT_00397264 = 0" identifier = number_literal) ;) (expression_statement "FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);" (call_expression "FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1)" identifier (argument_list "(&DAT_00397970,&DAT_003971a0,1)" ( (pointer_expression "&DAT_00397970" & identifier) , (pointer_expression "&DAT_003971a0" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);" (call_expression "FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970)" identifier (argument_list "(param_1,&DAT_00396de0,&DAT_00397970)" ( identifier , (pointer_expression "&DAT_00396de0" & identifier) , (pointer_expression "&DAT_00397970" & identifier) ))) ;) (expression_statement "DAT_0039796c = 1;" (assignment_expression "DAT_0039796c = 1" identifier = number_literal) ;) (expression_statement "DAT_00397968 = &PTR_FUN_0038e6c8;" (assignment_expression "DAT_00397968 = &PTR_FUN_0038e6c8" identifier = (pointer_expression "&PTR_FUN_0038e6c8" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968)" identifier (argument_list "(param_1,PTR_DAT_0038ee50,&DAT_00397968)" ( identifier , identifier , (pointer_expression "&DAT_00397968" & identifier) ))) ;) (expression_statement "DAT_00397964 = 1;" (assignment_expression "DAT_00397964 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397960 = &PTR_FUN_0038c60c;" (assignment_expression "DAT_00397960 = &PTR_FUN_0038c60c" identifier = (pointer_expression "&PTR_FUN_0038c60c" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960)" identifier (argument_list "(param_1,PTR_DAT_0038eec4,&DAT_00397960)" ( identifier , identifier , (pointer_expression "&DAT_00397960" & identifier) ))) ;) (expression_statement "FUN_002638b0(&DAT_00397950,1);" (call_expression "FUN_002638b0(&DAT_00397950,1)" identifier (argument_list "(&DAT_00397950,1)" ( (pointer_expression "&DAT_00397950" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950)" identifier (argument_list "(param_1,PTR_DAT_0038ee48,&DAT_00397950)" ( identifier , identifier , (pointer_expression "&DAT_00397950" & identifier) ))) ;) (expression_statement "FUN_0022cd90(&DAT_00397460,1);" (call_expression "FUN_0022cd90(&DAT_00397460,1)" identifier (argument_list "(&DAT_00397460,1)" ( (pointer_expression "&DAT_00397460" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460)" identifier (argument_list "(param_1,PTR_DAT_0038ee20,&DAT_00397460)" ( identifier , identifier , (pointer_expression "&DAT_00397460" & identifier) ))) ;) (expression_statement "FUN_00238840(&DAT_00397414,1);" (call_expression "FUN_00238840(&DAT_00397414,1)" identifier (argument_list "(&DAT_00397414,1)" ( (pointer_expression "&DAT_00397414" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414)" identifier (argument_list "(param_1,PTR_DAT_0038ec24,&DAT_00397414)" ( identifier , identifier , (pointer_expression "&DAT_00397414" & identifier) ))) ;) (expression_statement "DAT_00397064 = 1;" (assignment_expression "DAT_00397064 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397070 = 0;" (assignment_expression "DAT_00397070 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397060 = &PTR_FUN_0038d780;" (assignment_expression "DAT_00397060 = &PTR_FUN_0038d780" identifier = (pointer_expression "&PTR_FUN_0038d780" & identifier)) ;) (expression_statement "DAT_00397068 = 0;" (assignment_expression "DAT_00397068 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039706c = 0;" (assignment_expression "DAT_0039706c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397430 = &PTR_FUN_0038e25c;" (assignment_expression "DAT_00397430 = &PTR_FUN_0038e25c" identifier = (pointer_expression "&PTR_FUN_0038e25c" & identifier)) ;) (expression_statement "DAT_00397438 = &DAT_00397060;" (assignment_expression "DAT_00397438 = &DAT_00397060" identifier = (pointer_expression "&DAT_00397060" & identifier)) ;) (expression_statement "DAT_00397074 = 0;" (assignment_expression "DAT_00397074 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397078 = 0;" (assignment_expression "DAT_00397078 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039707c = 0;" (assignment_expression "DAT_0039707c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397080 = 0;" (assignment_expression "DAT_00397080 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397084 = 0;" (assignment_expression "DAT_00397084 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397088 = 0;" (assignment_expression "DAT_00397088 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397184 = 0;" (assignment_expression "DAT_00397184 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397434 = 1;" (assignment_expression "DAT_00397434 = 1" identifier = number_literal) ;) comment (expression_statement "FUN_00230d40(&DAT_00397430,0);" (call_expression "FUN_00230d40(&DAT_00397430,0)" identifier (argument_list "(&DAT_00397430,0)" ( (pointer_expression "&DAT_00397430" & identifier) , number_literal ))) ;) comment (expression_statement "FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);" (call_expression "FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430)" identifier (argument_list "(param_1,&DAT_00397eec,&DAT_00397430)" ( identifier , (pointer_expression "&DAT_00397eec" & identifier) , (pointer_expression "&DAT_00397430" & identifier) ))) ;) (expression_statement "DAT_0039742c = 1;" (assignment_expression "DAT_0039742c = 1" identifier = number_literal) ;) (expression_statement "DAT_00397428 = &PTR_FUN_0038dd08;" (assignment_expression "DAT_00397428 = &PTR_FUN_0038dd08" identifier = (pointer_expression "&PTR_FUN_0038dd08" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428)" identifier (argument_list "(param_1,PTR_DAT_0038ecc0,&DAT_00397428)" ( identifier , identifier , (pointer_expression "&DAT_00397428" & identifier) ))) ;) (expression_statement "DAT_00397424 = 1;" (assignment_expression "DAT_00397424 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397420 = &PTR_FUN_0038dd44;" (assignment_expression "DAT_00397420 = &PTR_FUN_0038dd44" identifier = (pointer_expression "&PTR_FUN_0038dd44" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420)" identifier (argument_list "(param_1,PTR_DAT_0038ee70,&DAT_00397420)" ( identifier , identifier , (pointer_expression "&DAT_00397420" & identifier) ))) ;) (expression_statement "DAT_00397440 = 1;" (assignment_expression "DAT_00397440 = 1" identifier = number_literal) ;) (expression_statement "DAT_0039743c = &PTR_FUN_0038e224;" (assignment_expression "DAT_0039743c = &PTR_FUN_0038e224" identifier = (pointer_expression "&PTR_FUN_0038e224" & identifier)) ;) comment (expression_statement "DAT_00397444 = FUN_001e92a0();" (assignment_expression "DAT_00397444 = FUN_001e92a0()" identifier = (call_expression "FUN_001e92a0()" identifier (argument_list "()" ( )))) ;) comment (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c)" identifier (argument_list "(param_1,PTR_DAT_0038edac,&DAT_0039743c)" ( identifier , identifier , (pointer_expression "&DAT_0039743c" & identifier) ))) ;) (expression_statement "DAT_00396f64 = 1;" (assignment_expression "DAT_00396f64 = 1" identifier = number_literal) ;) (expression_statement "DAT_00396f60 = &PTR_FUN_0038d7b8;" (assignment_expression "DAT_00396f60 = &PTR_FUN_0038d7b8" identifier = (pointer_expression "&PTR_FUN_0038d7b8" & identifier)) ;) (expression_statement "DAT_00396f68 = 0;" (assignment_expression "DAT_00396f68 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f6c = 0;" (assignment_expression "DAT_00396f6c = 0" identifier = number_literal) ;) (expression_statement "DAT_003973fc = &PTR_FUN_0038e2d8;" (assignment_expression "DAT_003973fc = &PTR_FUN_0038e2d8" identifier = (pointer_expression "&PTR_FUN_0038e2d8" & identifier)) ;) (expression_statement "DAT_00397404 = &DAT_00396f60;" (assignment_expression "DAT_00397404 = &DAT_00396f60" identifier = (pointer_expression "&DAT_00396f60" & identifier)) ;) (expression_statement "DAT_00396f70 = 0;" (assignment_expression "DAT_00396f70 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f74 = 0;" (assignment_expression "DAT_00396f74 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f78 = 0;" (assignment_expression "DAT_00396f78 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f7c = 0;" (assignment_expression "DAT_00396f7c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f80 = 0;" (assignment_expression "DAT_00396f80 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f84 = 0;" (assignment_expression "DAT_00396f84 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f88 = 0;" (assignment_expression "DAT_00396f88 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f8c = 0;" (assignment_expression "DAT_00396f8c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f90 = 0;" (assignment_expression "DAT_00396f90 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f94 = 0;" (assignment_expression "DAT_00396f94 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f98 = 0;" (assignment_expression "DAT_00396f98 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f9c = 0;" (assignment_expression "DAT_00396f9c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396fcc = 0;" (assignment_expression "DAT_00396fcc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397400 = 1;" (assignment_expression "DAT_00397400 = 1" identifier = number_literal) ;) comment (expression_statement "FUN_00232310(&DAT_003973fc,0,0);" (call_expression "FUN_00232310(&DAT_003973fc,0,0)" identifier (argument_list "(&DAT_003973fc,0,0)" ( (pointer_expression "&DAT_003973fc" & identifier) , number_literal , number_literal ))) ;) comment (expression_statement "FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);" (call_expression "FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc)" identifier (argument_list "(param_1,&DAT_00397efc,&DAT_003973fc)" ( identifier , (pointer_expression "&DAT_00397efc" & identifier) , (pointer_expression "&DAT_003973fc" & identifier) ))) ;) (expression_statement "DAT_00396fe4 = 1;" (assignment_expression "DAT_00396fe4 = 1" identifier = number_literal) ;) (expression_statement "DAT_00396fe0 = &PTR_FUN_0038d7a8;" (assignment_expression "DAT_00396fe0 = &PTR_FUN_0038d7a8" identifier = (pointer_expression "&PTR_FUN_0038d7a8" & identifier)) ;) (expression_statement "DAT_00396fe8 = 0;" (assignment_expression "DAT_00396fe8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396fec = 0;" (assignment_expression "DAT_00396fec = 0" identifier = number_literal) ;) (expression_statement "DAT_00397408 = &PTR_FUN_0038e2a4;" (assignment_expression "DAT_00397408 = &PTR_FUN_0038e2a4" identifier = (pointer_expression "&PTR_FUN_0038e2a4" & identifier)) ;) (expression_statement "DAT_00397410 = &DAT_00396fe0;" (assignment_expression "DAT_00397410 = &DAT_00396fe0" identifier = (pointer_expression "&DAT_00396fe0" & identifier)) ;) (expression_statement "DAT_00396ff0 = 0;" (assignment_expression "DAT_00396ff0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ff4 = 0;" (assignment_expression "DAT_00396ff4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ff8 = 0;" (assignment_expression "DAT_00396ff8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ffc = 0;" (assignment_expression "DAT_00396ffc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397000 = 0;" (assignment_expression "DAT_00397000 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397004 = 0;" (assignment_expression "DAT_00397004 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397008 = 0;" (assignment_expression "DAT_00397008 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039700c = 0;" (assignment_expression "DAT_0039700c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397010 = 0;" (assignment_expression "DAT_00397010 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397014 = 0;" (assignment_expression "DAT_00397014 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397018 = 0;" (assignment_expression "DAT_00397018 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039701c = 0;" (assignment_expression "DAT_0039701c = 0" identifier = number_literal) ;) (expression_statement "DAT_0039704c = 0;" (assignment_expression "DAT_0039704c = 0" identifier = number_literal) ;) (expression_statement "DAT_0039740c = 1;" (assignment_expression "DAT_0039740c = 1" identifier = number_literal) ;) comment (expression_statement "FUN_00231d40(&DAT_00397408,0,0);" (call_expression "FUN_00231d40(&DAT_00397408,0,0)" identifier (argument_list "(&DAT_00397408,0,0)" ( (pointer_expression "&DAT_00397408" & identifier) , number_literal , number_literal ))) ;) comment (expression_statement "FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);" (call_expression "FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408)" identifier (argument_list "(param_1,&DAT_00397ef8,&DAT_00397408)" ( identifier , (pointer_expression "&DAT_00397ef8" & identifier) , (pointer_expression "&DAT_00397408" & identifier) ))) ;) (expression_statement "DAT_003973f8 = 1;" (assignment_expression "DAT_003973f8 = 1" identifier = number_literal) ;) (expression_statement "DAT_003973f4 = &PTR_FUN_0038e390;" (assignment_expression "DAT_003973f4 = &PTR_FUN_0038e390" identifier = (pointer_expression "&PTR_FUN_0038e390" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4)" identifier (argument_list "(param_1,PTR_DAT_0038edd8,&DAT_003973f4)" ( identifier , identifier , (pointer_expression "&DAT_003973f4" & identifier) ))) ;) (expression_statement "DAT_003973f0 = 1;" (assignment_expression "DAT_003973f0 = 1" identifier = number_literal) ;) (expression_statement "DAT_003973ec = &PTR_FUN_0038e3a8;" (assignment_expression "DAT_003973ec = &PTR_FUN_0038e3a8" identifier = (pointer_expression "&PTR_FUN_0038e3a8" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec)" identifier (argument_list "(param_1,PTR_DAT_0038ef8c,&DAT_003973ec)" ( identifier , identifier , (pointer_expression "&DAT_003973ec" & identifier) ))) ;) (expression_statement "DAT_00396e84 = 1;" (assignment_expression "DAT_00396e84 = 1" identifier = number_literal) ;) (expression_statement "DAT_00396e88 = 0;" (assignment_expression "DAT_00396e88 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e8c = 0;" (assignment_expression "DAT_00396e8c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e80 = &PTR_FUN_0038dd74;" (assignment_expression "DAT_00396e80 = &PTR_FUN_0038dd74" identifier = (pointer_expression "&PTR_FUN_0038dd74" & identifier)) ;) (expression_statement "DAT_00396e90 = 0;" (assignment_expression "DAT_00396e90 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e94 = 0;" (assignment_expression "DAT_00396e94 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e98 = 0;" (assignment_expression "DAT_00396e98 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e9c = 0;" (assignment_expression "DAT_00396e9c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ea0 = 0;" (assignment_expression "DAT_00396ea0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ea4 = 0;" (assignment_expression "DAT_00396ea4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ea8 = 0;" (assignment_expression "DAT_00396ea8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eac = 0;" (assignment_expression "DAT_00396eac = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eb0 = 0;" (assignment_expression "DAT_00396eb0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eb4 = 0;" (assignment_expression "DAT_00396eb4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eb8 = 0;" (assignment_expression "DAT_00396eb8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ebc = 0;" (assignment_expression "DAT_00396ebc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ec0 = 0;" (assignment_expression "DAT_00396ec0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ec4 = 0;" (assignment_expression "DAT_00396ec4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ec8 = 0;" (assignment_expression "DAT_00396ec8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ecc = 0;" (assignment_expression "DAT_00396ecc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ed0 = 0;" (assignment_expression "DAT_00396ed0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ed4 = 0;" (assignment_expression "DAT_00396ed4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ed8 = 0;" (assignment_expression "DAT_00396ed8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396edc = 0;" (assignment_expression "DAT_00396edc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ee0 = 0;" (assignment_expression "DAT_00396ee0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ee4 = 0;" (assignment_expression "DAT_00396ee4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ee8 = 0;" (assignment_expression "DAT_00396ee8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eec = 0;" (assignment_expression "DAT_00396eec = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ef0 = 0;" (assignment_expression "DAT_00396ef0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ef4 = 0;" (assignment_expression "DAT_00396ef4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ef8 = 0;" (assignment_expression "DAT_00396ef8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396efc = 0;" (assignment_expression "DAT_00396efc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f00 = 0;" (assignment_expression "DAT_00396f00 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f04 = 0;" (assignment_expression "DAT_00396f04 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f08 = 0;" (assignment_expression "DAT_00396f08 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f0c = 0;" (assignment_expression "DAT_00396f0c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f10 = 0;" (assignment_expression "DAT_00396f10 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f14 = 0;" (assignment_expression "DAT_00396f14 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f18 = 0;" (assignment_expression "DAT_00396f18 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f1c = 0;" (assignment_expression "DAT_00396f1c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f20 = 0;" (assignment_expression "DAT_00396f20 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f24 = 0;" (assignment_expression "DAT_00396f24 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f28 = 0;" (assignment_expression "DAT_00396f28 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f2c = 0;" (assignment_expression "DAT_00396f2c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f30 = 0;" (assignment_expression "DAT_00396f30 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f34 = 0;" (assignment_expression "DAT_00396f34 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f38 = 0;" (assignment_expression "DAT_00396f38 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f3c = 0;" (assignment_expression "DAT_00396f3c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f40 = 0;" (assignment_expression "DAT_00396f40 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f44 = 0;" (assignment_expression "DAT_00396f44 = 0" identifier = number_literal) ;) (expression_statement "FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);" (call_expression "FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1)" identifier (argument_list "(&DAT_003973d8,&DAT_00396e80,1)" ( (pointer_expression "&DAT_003973d8" & identifier) , (pointer_expression "&DAT_00396e80" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);" (call_expression "FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8)" identifier (argument_list "(param_1,&DAT_00397e80,&DAT_003973d8)" ( identifier , (pointer_expression "&DAT_00397e80" & identifier) , (pointer_expression "&DAT_003973d8" & identifier) ))) ;) (expression_statement "DAT_003973d4 = 1;" (assignment_expression "DAT_003973d4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003973d0 = &PTR_FUN_0038e3c0;" (assignment_expression "DAT_003973d0 = &PTR_FUN_0038e3c0" identifier = (pointer_expression "&PTR_FUN_0038e3c0" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0)" identifier (argument_list "(param_1,PTR_DAT_0038ecf8,&DAT_003973d0)" ( identifier , identifier , (pointer_expression "&DAT_003973d0" & identifier) ))) ;) (expression_statement "DAT_003973cc = 1;" (assignment_expression "DAT_003973cc = 1" identifier = number_literal) ;) (expression_statement "DAT_003973c8 = &PTR_FUN_0038df08;" (assignment_expression "DAT_003973c8 = &PTR_FUN_0038df08" identifier = (pointer_expression "&PTR_FUN_0038df08" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8)" identifier (argument_list "(param_1,PTR_DAT_0038ef48,&DAT_003973c8)" ( identifier , identifier , (pointer_expression "&DAT_003973c8" & identifier) ))) ;) (expression_statement "FUN_00255090(&DAT_003973b8,1);" (call_expression "FUN_00255090(&DAT_003973b8,1)" identifier (argument_list "(&DAT_003973b8,1)" ( (pointer_expression "&DAT_003973b8" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8)" identifier (argument_list "(param_1,PTR_DAT_0038ef5c,&DAT_003973b8)" ( identifier , identifier , (pointer_expression "&DAT_003973b8" & identifier) ))) ;) (expression_statement "DAT_003973b4 = 1;" (assignment_expression "DAT_003973b4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003973b0 = &PTR_FUN_0038e858;" (assignment_expression "DAT_003973b0 = &PTR_FUN_0038e858" identifier = (pointer_expression "&PTR_FUN_0038e858" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0)" identifier (argument_list "(param_1,PTR_DAT_0038eb70,&DAT_003973b0)" ( identifier , identifier , (pointer_expression "&DAT_003973b0" & identifier) ))) ;) (expression_statement "DAT_003973ac = 1;" (assignment_expression "DAT_003973ac = 1" identifier = number_literal) ;) (expression_statement "DAT_003973a8 = &PTR_FUN_0038e884;" (assignment_expression "DAT_003973a8 = &PTR_FUN_0038e884" identifier = (pointer_expression "&PTR_FUN_0038e884" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8)" identifier (argument_list "(param_1,PTR_DAT_0038ee64,&DAT_003973a8)" ( identifier , identifier , (pointer_expression "&DAT_003973a8" & identifier) ))) ;) (expression_statement "local_34 = &DAT_00397340;" (assignment_expression "local_34 = &DAT_00397340" identifier = (pointer_expression "&DAT_00397340" & identifier)) ;) (expression_statement "local_30 = &DAT_00397280;" (assignment_expression "local_30 = &DAT_00397280" identifier = (pointer_expression "&DAT_00397280" & identifier)) ;) (expression_statement "local_2c = &DAT_003972e0;" (assignment_expression "local_2c = &DAT_003972e0" identifier = (pointer_expression "&DAT_003972e0" & identifier)) ;) (expression_statement "local_28 = &DAT_00397060;" (assignment_expression "local_28 = &DAT_00397060" identifier = (pointer_expression "&DAT_00397060" & identifier)) ;) (expression_statement "local_24 = &DAT_00396f60;" (assignment_expression "local_24 = &DAT_00396f60" identifier = (pointer_expression "&DAT_00396f60" & identifier)) ;) (expression_statement "local_20 = &DAT_00396fe0;" (assignment_expression "local_20 = &DAT_00396fe0" identifier = (pointer_expression "&DAT_00396fe0" & identifier)) ;) (expression_statement "FUN_0026c420(param_1,&local_34);" (call_expression "FUN_0026c420(param_1,&local_34)" identifier (argument_list "(param_1,&local_34)" ( identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = FUN_001e9750(&DAT_00397f4c);" (assignment_expression "iVar3 = FUN_001e9750(&DAT_00397f4c)" identifier = (call_expression "FUN_001e9750(&DAT_00397f4c)" identifier (argument_list "(&DAT_00397f4c)" ( (pointer_expression "&DAT_00397f4c" & identifier) )))) ;) (expression_statement "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;" (assignment_expression "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340" (pointer_expression "*(undefined ****)(iVar5 + iVar3 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar3 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar3 * 4)" ( (binary_expression "iVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00397340" & identifier)) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397f5c);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397f5c)" identifier = (call_expression "FUN_001e9750(&DAT_00397f5c)" identifier (argument_list "(&DAT_00397f5c)" ( (pointer_expression "&DAT_00397f5c" & identifier) )))) ;) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar4 * 4)" ( (binary_expression "iVar5 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00397280" & identifier)) ;) (expression_statement "iVar5 = FUN_001e9750(&DAT_00397f58);" (assignment_expression "iVar5 = FUN_001e9750(&DAT_00397f58)" identifier = (call_expression "FUN_001e9750(&DAT_00397f58)" identifier (argument_list "(&DAT_00397f58)" ( (pointer_expression "&DAT_00397f58" & identifier) )))) ;) (expression_statement "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;" (assignment_expression "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0" (pointer_expression "*(undefined ****)(iVar3 + iVar5 * 4)" * (cast_expression "(undefined ****)(iVar3 + iVar5 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar3 + iVar5 * 4)" ( (binary_expression "iVar3 + iVar5 * 4" identifier + (binary_expression "iVar5 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_003972e0" & identifier)) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = FUN_001e9750(&DAT_00396de0);" (assignment_expression "iVar3 = FUN_001e9750(&DAT_00396de0)" identifier = (call_expression "FUN_001e9750(&DAT_00396de0)" identifier (argument_list "(&DAT_00396de0)" ( (pointer_expression "&DAT_00396de0" & identifier) )))) ;) (expression_statement "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;" (assignment_expression "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0" (pointer_expression "*(undefined ****)(iVar5 + iVar3 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar3 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar3 * 4)" ( (binary_expression "iVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_003971a0" & identifier)) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397eec);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397eec)" identifier = (call_expression "FUN_001e9750(&DAT_00397eec)" identifier (argument_list "(&DAT_00397eec)" ( (pointer_expression "&DAT_00397eec" & identifier) )))) ;) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar4 * 4)" ( (binary_expression "iVar5 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00397060" & identifier)) ;) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397efc);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397efc)" identifier = (call_expression "FUN_001e9750(&DAT_00397efc)" identifier (argument_list "(&DAT_00397efc)" ( (pointer_expression "&DAT_00397efc" & identifier) )))) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;" (assignment_expression "*(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60" (pointer_expression "*(undefined ****)(iVar3 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar3 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar3 + iVar4 * 4)" ( (binary_expression "iVar3 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00396f60" & identifier)) ;) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397ef8);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397ef8)" identifier = (call_expression "FUN_001e9750(&DAT_00397ef8)" identifier (argument_list "(&DAT_00397ef8)" ( (pointer_expression "&DAT_00397ef8" & identifier) )))) ;) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar4 * 4)" ( (binary_expression "iVar5 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00396fe0" & identifier)) ;) (expression_statement "iVar5 = FUN_001e9750(&DAT_00397e80);" (assignment_expression "iVar5 = FUN_001e9750(&DAT_00397e80)" identifier = (call_expression "FUN_001e9750(&DAT_00397e80)" identifier (argument_list "(&DAT_00397e80)" ( (pointer_expression "&DAT_00397e80" & identifier) )))) ;) (expression_statement "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;" (assignment_expression "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80" (pointer_expression "*(undefined ****)(iVar3 + iVar5 * 4)" * (cast_expression "(undefined ****)(iVar3 + iVar5 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar3 + iVar5 * 4)" ( (binary_expression "iVar3 + iVar5 * 4" identifier + (binary_expression "iVar5 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00396e80" & identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n/* std::locale::_Impl::_Impl(unsigned int) */\n\nvoid __thiscall std::locale::_Impl::_Impl(_Impl *this,uint param_1)\n\n{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  facet *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  *(undefined4 *)(this + 8) = 0x2e;\n  puVar1 = &::(anonymous_namespace)::facet_vec;\n  *(uint *)this = param_1;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&::(anonymous_namespace)::name_c);\n  *(undefined4 **)(this + 4) = &::(anonymous_namespace)::facet_vec;\n  puVar1 = &::(anonymous_namespace)::cache_vec;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  *(undefined4 **)(this + 0xc) = &::(anonymous_namespace)::cache_vec;\n  puVar1 = &::(anonymous_namespace)::name_vec;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != &::(anonymous_namespace)::c_locale);\n  *(undefined2 ***)(this + 0x10) = &::(anonymous_namespace)::name_vec;\n  ::(anonymous_namespace)::name_vec = &::(anonymous_namespace)::name_c;\n  puVar2 = (undefined2 *)facet::_S_get_c_name();\n  ::(anonymous_namespace)::name_c = *puVar2;\n                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */\n  ctype<char>::ctype((ctype<char> *)::(anonymous_namespace)::ctype_c,(ushort *)0x0,false,1);\n  _M_install_facet(this,(id *)PTR_id_0038efa8,(facet *)::(anonymous_namespace)::ctype_c);\n  codecvt<char,char,__mbstate_t>::codecvt\n            ((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1);\n  _M_install_facet(this,(id *)PTR_id_0038edec,(facet *)::(anonymous_namespace)::codecvt_c);\n  _DAT_00397344 = 1;\n  _DAT_00397348 = 0;\n  _DAT_0039734c = 0;\n  ::(anonymous_namespace)::numpunct_cache_c = &PTR____numpunct_cache_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  ::(anonymous_namespace)::numpunct_c = &PTR__numpunct_0038e564;\n  DAT_003979d0 = &::(anonymous_namespace)::numpunct_cache_c;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */\n  numpunct<char>::_M_initialize_numpunct\n            ((numpunct<char> *)&::(anonymous_namespace)::numpunct_c,(__locale_struct *)0x0);\n                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&numpunct<char>::id,(facet *)&::(anonymous_namespace)::numpunct_c);\n  _DAT_003979c4 = 1;\n  ::(anonymous_namespace)::num_get_c = &PTR__num_get_0038c40c;\n  _M_install_facet(this,(id *)PTR_id_0038ecc4,(facet *)&::(anonymous_namespace)::num_get_c);\n  _DAT_003979bc = 1;\n  ::(anonymous_namespace)::num_put_c = &PTR__num_put_0038c448;\n  _M_install_facet(this,(id *)PTR_id_0038ed08,(facet *)&::(anonymous_namespace)::num_put_c);\n  _DAT_003979d8 = 1;\n  ::(anonymous_namespace)::collate_c = &PTR__collate_0038e52c;\n                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */\n  DAT_003979dc = facet::_S_get_c_locale();\n                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)PTR_id_0038eb40,(facet *)&::(anonymous_namespace)::collate_c);\n  _DAT_00397284 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_cf = &PTR____moneypunct_cache_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  ::(anonymous_namespace)::moneypunct_cf = &PTR__moneypunct_0038e5e0;\n  DAT_0039799c = &::(anonymous_namespace)::moneypunct_cache_cf;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */\n  moneypunct<char,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_cf,(char *)0x0);\n                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<char,false>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_cf);\n  _DAT_003972e4 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_ct = &PTR____moneypunct_cache_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  ::(anonymous_namespace)::moneypunct_ct = &PTR__moneypunct_0038e5ac;\n  DAT_003979a8 = &::(anonymous_namespace)::moneypunct_cache_ct;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */\n  moneypunct<char,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_ct,(char *)0x0);\n                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<char,true>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_ct);\n  _DAT_00397990 = 1;\n  ::(anonymous_namespace)::money_get_c = &PTR__money_get_0038e698;\n  _M_install_facet(this,(id *)PTR_id_0038ed64,(facet *)&::(anonymous_namespace)::money_get_c);\n  _DAT_00397988 = 1;\n  ::(anonymous_namespace)::money_put_c = &PTR__money_put_0038e6b0;\n  _M_install_facet(this,(id *)PTR_id_0038ec70,(facet *)&::(anonymous_namespace)::money_put_c);\n  _DAT_003971a4 = 1;\n  _DAT_003971a8 = 0;\n  _DAT_003971ac = 0;\n  ::(anonymous_namespace)::timepunct_cache_c = &PTR____timepunct_cache_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  __timepunct<char>::__timepunct\n            ((__timepunct<char> *)::(anonymous_namespace)::timepunct_c,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_c,1);\n  _M_install_facet(this,(id *)&__timepunct<char>::id,(facet *)::(anonymous_namespace)::timepunct_c);\n  _DAT_0039796c = 1;\n  ::(anonymous_namespace)::time_get_c = &PTR__time_get_0038e6c8;\n  _M_install_facet(this,(id *)PTR_id_0038ee50,(facet *)&::(anonymous_namespace)::time_get_c);\n  _DAT_00397964 = 1;\n  ::(anonymous_namespace)::time_put_c = &PTR__time_put_0038c60c;\n  _M_install_facet(this,(id *)PTR_id_0038eec4,(facet *)&::(anonymous_namespace)::time_put_c);\n  messages<char>::messages((messages<char> *)::(anonymous_namespace)::messages_c,1);\n  _M_install_facet(this,(id *)PTR_id_0038ee48,(facet *)::(anonymous_namespace)::messages_c);\n  ctype<wchar_t>::ctype((ctype<wchar_t> *)::(anonymous_namespace)::ctype_w,1);\n  _M_install_facet(this,(id *)PTR_id_0038ee20,(facet *)::(anonymous_namespace)::ctype_w);\n  codecvt<wchar_t,char,__mbstate_t>::codecvt\n            ((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1);\n  _M_install_facet(this,(id *)PTR_id_0038ec24,(facet *)::(anonymous_namespace)::codecvt_w);\n  _DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  ::(anonymous_namespace)::numpunct_cache_w = &PTR____numpunct_cache_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  ::(anonymous_namespace)::numpunct_w = &PTR__numpunct_0038e25c;\n  DAT_00397438 = &::(anonymous_namespace)::numpunct_cache_w;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */\n  numpunct<wchar_t>::_M_initialize_numpunct\n            ((numpunct<wchar_t> *)&::(anonymous_namespace)::numpunct_w,(__locale_struct *)0x0);\n                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&numpunct<wchar_t>::id,(facet *)&::(anonymous_namespace)::numpunct_w);\n  _DAT_0039742c = 1;\n  ::(anonymous_namespace)::num_get_w = &PTR__num_get_0038dd08;\n  _M_install_facet(this,(id *)PTR_id_0038ecc0,(facet *)&::(anonymous_namespace)::num_get_w);\n  _DAT_00397424 = 1;\n  ::(anonymous_namespace)::num_put_w = &PTR__num_put_0038dd44;\n  _M_install_facet(this,(id *)PTR_id_0038ee70,(facet *)&::(anonymous_namespace)::num_put_w);\n  _DAT_00397440 = 1;\n  ::(anonymous_namespace)::collate_w = &PTR__collate_0038e224;\n                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */\n  DAT_00397444 = facet::_S_get_c_locale();\n                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)PTR_id_0038edac,(facet *)&::(anonymous_namespace)::collate_w);\n  _DAT_00396f64 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_wf = &PTR____moneypunct_cache_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  ::(anonymous_namespace)::moneypunct_wf = &PTR__moneypunct_0038e2d8;\n  DAT_00397404 = &::(anonymous_namespace)::moneypunct_cache_wf;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */\n  moneypunct<wchar_t,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_wf,(char *)0x0);\n                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<wchar_t,false>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_wf);\n  _DAT_00396fe4 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_wt = &PTR____moneypunct_cache_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  ::(anonymous_namespace)::moneypunct_wt = &PTR__moneypunct_0038e2a4;\n  DAT_00397410 = &::(anonymous_namespace)::moneypunct_cache_wt;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */\n  moneypunct<wchar_t,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_wt,(char *)0x0);\n                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<wchar_t,true>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_wt);\n  _DAT_003973f8 = 1;\n  ::(anonymous_namespace)::money_get_w = &PTR__money_get_0038e390;\n  _M_install_facet(this,(id *)PTR_id_0038edd8,(facet *)&::(anonymous_namespace)::money_get_w);\n  _DAT_003973f0 = 1;\n  ::(anonymous_namespace)::money_put_w = &PTR__money_put_0038e3a8;\n  _M_install_facet(this,(id *)PTR_id_0038ef8c,(facet *)&::(anonymous_namespace)::money_put_w);\n  _DAT_00396e84 = 1;\n  _DAT_00396e88 = 0;\n  _DAT_00396e8c = 0;\n  ::(anonymous_namespace)::timepunct_cache_w = &PTR____timepunct_cache_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  __timepunct<wchar_t>::__timepunct\n            ((__timepunct<wchar_t> *)::(anonymous_namespace)::timepunct_w,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_w,1);\n  _M_install_facet(this,(id *)&__timepunct<wchar_t>::id,\n                   (facet *)::(anonymous_namespace)::timepunct_w);\n  _DAT_003973d4 = 1;\n  ::(anonymous_namespace)::time_get_w = &PTR__time_get_0038e3c0;\n  _M_install_facet(this,(id *)PTR_id_0038ecf8,(facet *)&::(anonymous_namespace)::time_get_w);\n  _DAT_003973cc = 1;\n  ::(anonymous_namespace)::time_put_w = &PTR__time_put_0038df08;\n  _M_install_facet(this,(id *)PTR_id_0038ef48,(facet *)&::(anonymous_namespace)::time_put_w);\n  messages<wchar_t>::messages((messages<wchar_t> *)::(anonymous_namespace)::messages_w,1);\n  _M_install_facet(this,(id *)PTR_id_0038ef5c,(facet *)::(anonymous_namespace)::messages_w);\n  _DAT_003973b4 = 1;\n  ::(anonymous_namespace)::codecvt_c16 = &PTR__codecvt_0038e858;\n  _M_install_facet(this,(id *)PTR_id_0038eb70,(facet *)&::(anonymous_namespace)::codecvt_c16);\n  _DAT_003973ac = 1;\n  ::(anonymous_namespace)::codecvt_c32 = &PTR__codecvt_0038e884;\n  _M_install_facet(this,(id *)PTR_id_0038ee64,(facet *)&::(anonymous_namespace)::codecvt_c32);\n  local_34 = (facet *)&::(anonymous_namespace)::numpunct_cache_c;\n  local_30 = &::(anonymous_namespace)::moneypunct_cache_cf;\n  local_2c = &::(anonymous_namespace)::moneypunct_cache_ct;\n  local_28 = &::(anonymous_namespace)::numpunct_cache_w;\n  local_24 = &::(anonymous_namespace)::moneypunct_cache_wf;\n  local_20 = &::(anonymous_namespace)::moneypunct_cache_wt;\n  _M_init_extra(this,&local_34);\n  iVar5 = *(int *)(this + 0xc);\n  iVar3 = locale::id::_M_id((id *)&numpunct<char>::id);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::numpunct_cache_c;\n  iVar5 = *(int *)(this + 0xc);\n  iVar4 = locale::id::_M_id((id *)&moneypunct<char,false>::id);\n  iVar3 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_cf;\n  iVar5 = locale::id::_M_id((id *)&moneypunct<char,true>::id);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::moneypunct_cache_ct;\n  iVar5 = *(int *)(this + 0xc);\n  iVar3 = locale::id::_M_id((id *)&__timepunct<char>::id);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::timepunct_cache_c;\n  iVar5 = *(int *)(this + 0xc);\n  iVar4 = locale::id::_M_id((id *)&numpunct<wchar_t>::id);\n  iVar3 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::numpunct_cache_w;\n  iVar4 = locale::id::_M_id((id *)&moneypunct<wchar_t,false>::id);\n  iVar5 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar3 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wf;\n  iVar4 = locale::id::_M_id((id *)&moneypunct<wchar_t,true>::id);\n  iVar3 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wt;\n  iVar5 = locale::id::_M_id((id *)&__timepunct<wchar_t>::id);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::timepunct_cache_w;\n  return;\n}\n\n" comment comment comment (function_definition "void __thiscall std::locale::_Impl::_Impl(_Impl *this,uint param_1)\n\n{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  facet *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  *(undefined4 *)(this + 8) = 0x2e;\n  puVar1 = &::(anonymous_namespace)::facet_vec;\n  *(uint *)this = param_1;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&::(anonymous_namespace)::name_c);\n  *(undefined4 **)(this + 4) = &::(anonymous_namespace)::facet_vec;\n  puVar1 = &::(anonymous_namespace)::cache_vec;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  *(undefined4 **)(this + 0xc) = &::(anonymous_namespace)::cache_vec;\n  puVar1 = &::(anonymous_namespace)::name_vec;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != &::(anonymous_namespace)::c_locale);\n  *(undefined2 ***)(this + 0x10) = &::(anonymous_namespace)::name_vec;\n  ::(anonymous_namespace)::name_vec = &::(anonymous_namespace)::name_c;\n  puVar2 = (undefined2 *)facet::_S_get_c_name();\n  ::(anonymous_namespace)::name_c = *puVar2;\n                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */\n  ctype<char>::ctype((ctype<char> *)::(anonymous_namespace)::ctype_c,(ushort *)0x0,false,1);\n  _M_install_facet(this,(id *)PTR_id_0038efa8,(facet *)::(anonymous_namespace)::ctype_c);\n  codecvt<char,char,__mbstate_t>::codecvt\n            ((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1);\n  _M_install_facet(this,(id *)PTR_id_0038edec,(facet *)::(anonymous_namespace)::codecvt_c);\n  _DAT_00397344 = 1;\n  _DAT_00397348 = 0;\n  _DAT_0039734c = 0;\n  ::(anonymous_namespace)::numpunct_cache_c = &PTR____numpunct_cache_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  ::(anonymous_namespace)::numpunct_c = &PTR__numpunct_0038e564;\n  DAT_003979d0 = &::(anonymous_namespace)::numpunct_cache_c;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */\n  numpunct<char>::_M_initialize_numpunct\n            ((numpunct<char> *)&::(anonymous_namespace)::numpunct_c,(__locale_struct *)0x0);\n                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&numpunct<char>::id,(facet *)&::(anonymous_namespace)::numpunct_c);\n  _DAT_003979c4 = 1;\n  ::(anonymous_namespace)::num_get_c = &PTR__num_get_0038c40c;\n  _M_install_facet(this,(id *)PTR_id_0038ecc4,(facet *)&::(anonymous_namespace)::num_get_c);\n  _DAT_003979bc = 1;\n  ::(anonymous_namespace)::num_put_c = &PTR__num_put_0038c448;\n  _M_install_facet(this,(id *)PTR_id_0038ed08,(facet *)&::(anonymous_namespace)::num_put_c);\n  _DAT_003979d8 = 1;\n  ::(anonymous_namespace)::collate_c = &PTR__collate_0038e52c;\n                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */\n  DAT_003979dc = facet::_S_get_c_locale();\n                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)PTR_id_0038eb40,(facet *)&::(anonymous_namespace)::collate_c);\n  _DAT_00397284 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_cf = &PTR____moneypunct_cache_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  ::(anonymous_namespace)::moneypunct_cf = &PTR__moneypunct_0038e5e0;\n  DAT_0039799c = &::(anonymous_namespace)::moneypunct_cache_cf;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */\n  moneypunct<char,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_cf,(char *)0x0);\n                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<char,false>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_cf);\n  _DAT_003972e4 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_ct = &PTR____moneypunct_cache_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  ::(anonymous_namespace)::moneypunct_ct = &PTR__moneypunct_0038e5ac;\n  DAT_003979a8 = &::(anonymous_namespace)::moneypunct_cache_ct;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */\n  moneypunct<char,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_ct,(char *)0x0);\n                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<char,true>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_ct);\n  _DAT_00397990 = 1;\n  ::(anonymous_namespace)::money_get_c = &PTR__money_get_0038e698;\n  _M_install_facet(this,(id *)PTR_id_0038ed64,(facet *)&::(anonymous_namespace)::money_get_c);\n  _DAT_00397988 = 1;\n  ::(anonymous_namespace)::money_put_c = &PTR__money_put_0038e6b0;\n  _M_install_facet(this,(id *)PTR_id_0038ec70,(facet *)&::(anonymous_namespace)::money_put_c);\n  _DAT_003971a4 = 1;\n  _DAT_003971a8 = 0;\n  _DAT_003971ac = 0;\n  ::(anonymous_namespace)::timepunct_cache_c = &PTR____timepunct_cache_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  __timepunct<char>::__timepunct\n            ((__timepunct<char> *)::(anonymous_namespace)::timepunct_c,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_c,1);\n  _M_install_facet(this,(id *)&__timepunct<char>::id,(facet *)::(anonymous_namespace)::timepunct_c);\n  _DAT_0039796c = 1;\n  ::(anonymous_namespace)::time_get_c = &PTR__time_get_0038e6c8;\n  _M_install_facet(this,(id *)PTR_id_0038ee50,(facet *)&::(anonymous_namespace)::time_get_c);\n  _DAT_00397964 = 1;\n  ::(anonymous_namespace)::time_put_c = &PTR__time_put_0038c60c;\n  _M_install_facet(this,(id *)PTR_id_0038eec4,(facet *)&::(anonymous_namespace)::time_put_c);\n  messages<char>::messages((messages<char> *)::(anonymous_namespace)::messages_c,1);\n  _M_install_facet(this,(id *)PTR_id_0038ee48,(facet *)::(anonymous_namespace)::messages_c);\n  ctype<wchar_t>::ctype((ctype<wchar_t> *)::(anonymous_namespace)::ctype_w,1);\n  _M_install_facet(this,(id *)PTR_id_0038ee20,(facet *)::(anonymous_namespace)::ctype_w);\n  codecvt<wchar_t,char,__mbstate_t>::codecvt\n            ((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1);\n  _M_install_facet(this,(id *)PTR_id_0038ec24,(facet *)::(anonymous_namespace)::codecvt_w);\n  _DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  ::(anonymous_namespace)::numpunct_cache_w = &PTR____numpunct_cache_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  ::(anonymous_namespace)::numpunct_w = &PTR__numpunct_0038e25c;\n  DAT_00397438 = &::(anonymous_namespace)::numpunct_cache_w;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */\n  numpunct<wchar_t>::_M_initialize_numpunct\n            ((numpunct<wchar_t> *)&::(anonymous_namespace)::numpunct_w,(__locale_struct *)0x0);\n                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&numpunct<wchar_t>::id,(facet *)&::(anonymous_namespace)::numpunct_w);\n  _DAT_0039742c = 1;\n  ::(anonymous_namespace)::num_get_w = &PTR__num_get_0038dd08;\n  _M_install_facet(this,(id *)PTR_id_0038ecc0,(facet *)&::(anonymous_namespace)::num_get_w);\n  _DAT_00397424 = 1;\n  ::(anonymous_namespace)::num_put_w = &PTR__num_put_0038dd44;\n  _M_install_facet(this,(id *)PTR_id_0038ee70,(facet *)&::(anonymous_namespace)::num_put_w);\n  _DAT_00397440 = 1;\n  ::(anonymous_namespace)::collate_w = &PTR__collate_0038e224;\n                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */\n  DAT_00397444 = facet::_S_get_c_locale();\n                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)PTR_id_0038edac,(facet *)&::(anonymous_namespace)::collate_w);\n  _DAT_00396f64 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_wf = &PTR____moneypunct_cache_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  ::(anonymous_namespace)::moneypunct_wf = &PTR__moneypunct_0038e2d8;\n  DAT_00397404 = &::(anonymous_namespace)::moneypunct_cache_wf;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */\n  moneypunct<wchar_t,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_wf,(char *)0x0);\n                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<wchar_t,false>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_wf);\n  _DAT_00396fe4 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_wt = &PTR____moneypunct_cache_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  ::(anonymous_namespace)::moneypunct_wt = &PTR__moneypunct_0038e2a4;\n  DAT_00397410 = &::(anonymous_namespace)::moneypunct_cache_wt;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */\n  moneypunct<wchar_t,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_wt,(char *)0x0);\n                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<wchar_t,true>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_wt);\n  _DAT_003973f8 = 1;\n  ::(anonymous_namespace)::money_get_w = &PTR__money_get_0038e390;\n  _M_install_facet(this,(id *)PTR_id_0038edd8,(facet *)&::(anonymous_namespace)::money_get_w);\n  _DAT_003973f0 = 1;\n  ::(anonymous_namespace)::money_put_w = &PTR__money_put_0038e3a8;\n  _M_install_facet(this,(id *)PTR_id_0038ef8c,(facet *)&::(anonymous_namespace)::money_put_w);\n  _DAT_00396e84 = 1;\n  _DAT_00396e88 = 0;\n  _DAT_00396e8c = 0;\n  ::(anonymous_namespace)::timepunct_cache_w = &PTR____timepunct_cache_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  __timepunct<wchar_t>::__timepunct\n            ((__timepunct<wchar_t> *)::(anonymous_namespace)::timepunct_w,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_w,1);\n  _M_install_facet(this,(id *)&__timepunct<wchar_t>::id,\n                   (facet *)::(anonymous_namespace)::timepunct_w);\n  _DAT_003973d4 = 1;\n  ::(anonymous_namespace)::time_get_w = &PTR__time_get_0038e3c0;\n  _M_install_facet(this,(id *)PTR_id_0038ecf8,(facet *)&::(anonymous_namespace)::time_get_w);\n  _DAT_003973cc = 1;\n  ::(anonymous_namespace)::time_put_w = &PTR__time_put_0038df08;\n  _M_install_facet(this,(id *)PTR_id_0038ef48,(facet *)&::(anonymous_namespace)::time_put_w);\n  messages<wchar_t>::messages((messages<wchar_t> *)::(anonymous_namespace)::messages_w,1);\n  _M_install_facet(this,(id *)PTR_id_0038ef5c,(facet *)::(anonymous_namespace)::messages_w);\n  _DAT_003973b4 = 1;\n  ::(anonymous_namespace)::codecvt_c16 = &PTR__codecvt_0038e858;\n  _M_install_facet(this,(id *)PTR_id_0038eb70,(facet *)&::(anonymous_namespace)::codecvt_c16);\n  _DAT_003973ac = 1;\n  ::(anonymous_namespace)::codecvt_c32 = &PTR__codecvt_0038e884;\n  _M_install_facet(this,(id *)PTR_id_0038ee64,(facet *)&::(anonymous_namespace)::codecvt_c32);\n  local_34 = (facet *)&::(anonymous_namespace)::numpunct_cache_c;\n  local_30 = &::(anonymous_namespace)::moneypunct_cache_cf;\n  local_2c = &::(anonymous_namespace)::moneypunct_cache_ct;\n  local_28 = &::(anonymous_namespace)::numpunct_cache_w;\n  local_24 = &::(anonymous_namespace)::moneypunct_cache_wf;\n  local_20 = &::(anonymous_namespace)::moneypunct_cache_wt;\n  _M_init_extra(this,&local_34);\n  iVar5 = *(int *)(this + 0xc);\n  iVar3 = locale::id::_M_id((id *)&numpunct<char>::id);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::numpunct_cache_c;\n  iVar5 = *(int *)(this + 0xc);\n  iVar4 = locale::id::_M_id((id *)&moneypunct<char,false>::id);\n  iVar3 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_cf;\n  iVar5 = locale::id::_M_id((id *)&moneypunct<char,true>::id);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::moneypunct_cache_ct;\n  iVar5 = *(int *)(this + 0xc);\n  iVar3 = locale::id::_M_id((id *)&__timepunct<char>::id);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::timepunct_cache_c;\n  iVar5 = *(int *)(this + 0xc);\n  iVar4 = locale::id::_M_id((id *)&numpunct<wchar_t>::id);\n  iVar3 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::numpunct_cache_w;\n  iVar4 = locale::id::_M_id((id *)&moneypunct<wchar_t,false>::id);\n  iVar5 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar3 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wf;\n  iVar4 = locale::id::_M_id((id *)&moneypunct<wchar_t,true>::id);\n  iVar3 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wt;\n  iVar5 = locale::id::_M_id((id *)&__timepunct<wchar_t>::id);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::timepunct_cache_w;\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "std::locale::_Impl::" identifier : : identifier : : identifier : :) (function_declarator "_Impl(_Impl *this,uint param_1)" identifier (parameter_list "(_Impl *this,uint param_1)" ( (parameter_declaration "_Impl *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  facet *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  *(undefined4 *)(this + 8) = 0x2e;\n  puVar1 = &::(anonymous_namespace)::facet_vec;\n  *(uint *)this = param_1;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&::(anonymous_namespace)::name_c);\n  *(undefined4 **)(this + 4) = &::(anonymous_namespace)::facet_vec;\n  puVar1 = &::(anonymous_namespace)::cache_vec;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  *(undefined4 **)(this + 0xc) = &::(anonymous_namespace)::cache_vec;\n  puVar1 = &::(anonymous_namespace)::name_vec;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != &::(anonymous_namespace)::c_locale);\n  *(undefined2 ***)(this + 0x10) = &::(anonymous_namespace)::name_vec;\n  ::(anonymous_namespace)::name_vec = &::(anonymous_namespace)::name_c;\n  puVar2 = (undefined2 *)facet::_S_get_c_name();\n  ::(anonymous_namespace)::name_c = *puVar2;\n                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */\n  ctype<char>::ctype((ctype<char> *)::(anonymous_namespace)::ctype_c,(ushort *)0x0,false,1);\n  _M_install_facet(this,(id *)PTR_id_0038efa8,(facet *)::(anonymous_namespace)::ctype_c);\n  codecvt<char,char,__mbstate_t>::codecvt\n            ((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1);\n  _M_install_facet(this,(id *)PTR_id_0038edec,(facet *)::(anonymous_namespace)::codecvt_c);\n  _DAT_00397344 = 1;\n  _DAT_00397348 = 0;\n  _DAT_0039734c = 0;\n  ::(anonymous_namespace)::numpunct_cache_c = &PTR____numpunct_cache_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  ::(anonymous_namespace)::numpunct_c = &PTR__numpunct_0038e564;\n  DAT_003979d0 = &::(anonymous_namespace)::numpunct_cache_c;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */\n  numpunct<char>::_M_initialize_numpunct\n            ((numpunct<char> *)&::(anonymous_namespace)::numpunct_c,(__locale_struct *)0x0);\n                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&numpunct<char>::id,(facet *)&::(anonymous_namespace)::numpunct_c);\n  _DAT_003979c4 = 1;\n  ::(anonymous_namespace)::num_get_c = &PTR__num_get_0038c40c;\n  _M_install_facet(this,(id *)PTR_id_0038ecc4,(facet *)&::(anonymous_namespace)::num_get_c);\n  _DAT_003979bc = 1;\n  ::(anonymous_namespace)::num_put_c = &PTR__num_put_0038c448;\n  _M_install_facet(this,(id *)PTR_id_0038ed08,(facet *)&::(anonymous_namespace)::num_put_c);\n  _DAT_003979d8 = 1;\n  ::(anonymous_namespace)::collate_c = &PTR__collate_0038e52c;\n                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */\n  DAT_003979dc = facet::_S_get_c_locale();\n                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)PTR_id_0038eb40,(facet *)&::(anonymous_namespace)::collate_c);\n  _DAT_00397284 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_cf = &PTR____moneypunct_cache_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  ::(anonymous_namespace)::moneypunct_cf = &PTR__moneypunct_0038e5e0;\n  DAT_0039799c = &::(anonymous_namespace)::moneypunct_cache_cf;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */\n  moneypunct<char,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_cf,(char *)0x0);\n                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<char,false>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_cf);\n  _DAT_003972e4 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_ct = &PTR____moneypunct_cache_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  ::(anonymous_namespace)::moneypunct_ct = &PTR__moneypunct_0038e5ac;\n  DAT_003979a8 = &::(anonymous_namespace)::moneypunct_cache_ct;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */\n  moneypunct<char,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_ct,(char *)0x0);\n                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<char,true>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_ct);\n  _DAT_00397990 = 1;\n  ::(anonymous_namespace)::money_get_c = &PTR__money_get_0038e698;\n  _M_install_facet(this,(id *)PTR_id_0038ed64,(facet *)&::(anonymous_namespace)::money_get_c);\n  _DAT_00397988 = 1;\n  ::(anonymous_namespace)::money_put_c = &PTR__money_put_0038e6b0;\n  _M_install_facet(this,(id *)PTR_id_0038ec70,(facet *)&::(anonymous_namespace)::money_put_c);\n  _DAT_003971a4 = 1;\n  _DAT_003971a8 = 0;\n  _DAT_003971ac = 0;\n  ::(anonymous_namespace)::timepunct_cache_c = &PTR____timepunct_cache_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  __timepunct<char>::__timepunct\n            ((__timepunct<char> *)::(anonymous_namespace)::timepunct_c,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_c,1);\n  _M_install_facet(this,(id *)&__timepunct<char>::id,(facet *)::(anonymous_namespace)::timepunct_c);\n  _DAT_0039796c = 1;\n  ::(anonymous_namespace)::time_get_c = &PTR__time_get_0038e6c8;\n  _M_install_facet(this,(id *)PTR_id_0038ee50,(facet *)&::(anonymous_namespace)::time_get_c);\n  _DAT_00397964 = 1;\n  ::(anonymous_namespace)::time_put_c = &PTR__time_put_0038c60c;\n  _M_install_facet(this,(id *)PTR_id_0038eec4,(facet *)&::(anonymous_namespace)::time_put_c);\n  messages<char>::messages((messages<char> *)::(anonymous_namespace)::messages_c,1);\n  _M_install_facet(this,(id *)PTR_id_0038ee48,(facet *)::(anonymous_namespace)::messages_c);\n  ctype<wchar_t>::ctype((ctype<wchar_t> *)::(anonymous_namespace)::ctype_w,1);\n  _M_install_facet(this,(id *)PTR_id_0038ee20,(facet *)::(anonymous_namespace)::ctype_w);\n  codecvt<wchar_t,char,__mbstate_t>::codecvt\n            ((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1);\n  _M_install_facet(this,(id *)PTR_id_0038ec24,(facet *)::(anonymous_namespace)::codecvt_w);\n  _DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  ::(anonymous_namespace)::numpunct_cache_w = &PTR____numpunct_cache_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  ::(anonymous_namespace)::numpunct_w = &PTR__numpunct_0038e25c;\n  DAT_00397438 = &::(anonymous_namespace)::numpunct_cache_w;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */\n  numpunct<wchar_t>::_M_initialize_numpunct\n            ((numpunct<wchar_t> *)&::(anonymous_namespace)::numpunct_w,(__locale_struct *)0x0);\n                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&numpunct<wchar_t>::id,(facet *)&::(anonymous_namespace)::numpunct_w);\n  _DAT_0039742c = 1;\n  ::(anonymous_namespace)::num_get_w = &PTR__num_get_0038dd08;\n  _M_install_facet(this,(id *)PTR_id_0038ecc0,(facet *)&::(anonymous_namespace)::num_get_w);\n  _DAT_00397424 = 1;\n  ::(anonymous_namespace)::num_put_w = &PTR__num_put_0038dd44;\n  _M_install_facet(this,(id *)PTR_id_0038ee70,(facet *)&::(anonymous_namespace)::num_put_w);\n  _DAT_00397440 = 1;\n  ::(anonymous_namespace)::collate_w = &PTR__collate_0038e224;\n                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */\n  DAT_00397444 = facet::_S_get_c_locale();\n                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)PTR_id_0038edac,(facet *)&::(anonymous_namespace)::collate_w);\n  _DAT_00396f64 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_wf = &PTR____moneypunct_cache_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  ::(anonymous_namespace)::moneypunct_wf = &PTR__moneypunct_0038e2d8;\n  DAT_00397404 = &::(anonymous_namespace)::moneypunct_cache_wf;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */\n  moneypunct<wchar_t,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_wf,(char *)0x0);\n                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<wchar_t,false>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_wf);\n  _DAT_00396fe4 = 1;\n  ::(anonymous_namespace)::moneypunct_cache_wt = &PTR____moneypunct_cache_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  ::(anonymous_namespace)::moneypunct_wt = &PTR__moneypunct_0038e2a4;\n  DAT_00397410 = &::(anonymous_namespace)::moneypunct_cache_wt;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */\n  moneypunct<wchar_t,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::moneypunct_wt,(char *)0x0);\n                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */\n  _M_install_facet(this,(id *)&moneypunct<wchar_t,true>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_wt);\n  _DAT_003973f8 = 1;\n  ::(anonymous_namespace)::money_get_w = &PTR__money_get_0038e390;\n  _M_install_facet(this,(id *)PTR_id_0038edd8,(facet *)&::(anonymous_namespace)::money_get_w);\n  _DAT_003973f0 = 1;\n  ::(anonymous_namespace)::money_put_w = &PTR__money_put_0038e3a8;\n  _M_install_facet(this,(id *)PTR_id_0038ef8c,(facet *)&::(anonymous_namespace)::money_put_w);\n  _DAT_00396e84 = 1;\n  _DAT_00396e88 = 0;\n  _DAT_00396e8c = 0;\n  ::(anonymous_namespace)::timepunct_cache_w = &PTR____timepunct_cache_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  __timepunct<wchar_t>::__timepunct\n            ((__timepunct<wchar_t> *)::(anonymous_namespace)::timepunct_w,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_w,1);\n  _M_install_facet(this,(id *)&__timepunct<wchar_t>::id,\n                   (facet *)::(anonymous_namespace)::timepunct_w);\n  _DAT_003973d4 = 1;\n  ::(anonymous_namespace)::time_get_w = &PTR__time_get_0038e3c0;\n  _M_install_facet(this,(id *)PTR_id_0038ecf8,(facet *)&::(anonymous_namespace)::time_get_w);\n  _DAT_003973cc = 1;\n  ::(anonymous_namespace)::time_put_w = &PTR__time_put_0038df08;\n  _M_install_facet(this,(id *)PTR_id_0038ef48,(facet *)&::(anonymous_namespace)::time_put_w);\n  messages<wchar_t>::messages((messages<wchar_t> *)::(anonymous_namespace)::messages_w,1);\n  _M_install_facet(this,(id *)PTR_id_0038ef5c,(facet *)::(anonymous_namespace)::messages_w);\n  _DAT_003973b4 = 1;\n  ::(anonymous_namespace)::codecvt_c16 = &PTR__codecvt_0038e858;\n  _M_install_facet(this,(id *)PTR_id_0038eb70,(facet *)&::(anonymous_namespace)::codecvt_c16);\n  _DAT_003973ac = 1;\n  ::(anonymous_namespace)::codecvt_c32 = &PTR__codecvt_0038e884;\n  _M_install_facet(this,(id *)PTR_id_0038ee64,(facet *)&::(anonymous_namespace)::codecvt_c32);\n  local_34 = (facet *)&::(anonymous_namespace)::numpunct_cache_c;\n  local_30 = &::(anonymous_namespace)::moneypunct_cache_cf;\n  local_2c = &::(anonymous_namespace)::moneypunct_cache_ct;\n  local_28 = &::(anonymous_namespace)::numpunct_cache_w;\n  local_24 = &::(anonymous_namespace)::moneypunct_cache_wf;\n  local_20 = &::(anonymous_namespace)::moneypunct_cache_wt;\n  _M_init_extra(this,&local_34);\n  iVar5 = *(int *)(this + 0xc);\n  iVar3 = locale::id::_M_id((id *)&numpunct<char>::id);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::numpunct_cache_c;\n  iVar5 = *(int *)(this + 0xc);\n  iVar4 = locale::id::_M_id((id *)&moneypunct<char,false>::id);\n  iVar3 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_cf;\n  iVar5 = locale::id::_M_id((id *)&moneypunct<char,true>::id);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::moneypunct_cache_ct;\n  iVar5 = *(int *)(this + 0xc);\n  iVar3 = locale::id::_M_id((id *)&__timepunct<char>::id);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::timepunct_cache_c;\n  iVar5 = *(int *)(this + 0xc);\n  iVar4 = locale::id::_M_id((id *)&numpunct<wchar_t>::id);\n  iVar3 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::numpunct_cache_w;\n  iVar4 = locale::id::_M_id((id *)&moneypunct<wchar_t,false>::id);\n  iVar5 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar3 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wf;\n  iVar4 = locale::id::_M_id((id *)&moneypunct<wchar_t,true>::id);\n  iVar3 = *(int *)(this + 0xc);\n  *(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wt;\n  iVar5 = locale::id::_M_id((id *)&__timepunct<wchar_t>::id);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::timepunct_cache_w;\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined2 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "facet *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "undefined4 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "undefined4 *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "*(undefined4 *)(this + 8) = 0x2e;" (assignment_expression "*(undefined4 *)(this + 8) = 0x2e" (pointer_expression "*(undefined4 *)(this + 8)" * (cast_expression "(undefined4 *)(this + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "puVar1 = &::(anonymous_namespace)::facet_vec;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "facet_vec;" identifier ;)) (expression_statement "*(uint *)this = param_1;" (assignment_expression "*(uint *)this = param_1" (pointer_expression "*(uint *)this" * (cast_expression "(uint *)this" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&::(anonymous_namespace)::name_c);" do (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" { (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" identifier = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != (undefined4 *)&::(anonymous_namespace)" ( (binary_expression "puVar1 != (undefined4 *)&::(anonymous_namespace" identifier != (cast_expression "(undefined4 *)&::(anonymous_namespace" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier))) )) (ERROR "::name_c)" : : identifier )) ;) (expression_statement "*(undefined4 **)(this + 4) = &::(anonymous_namespace)::facet_vec;" (assignment_expression "*(undefined4 **)(this + 4) = &::(anonymous_namespace" (pointer_expression "*(undefined4 **)(this + 4)" * (cast_expression "(undefined4 **)(this + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::facet_vec" ) : : identifier) ;) (labeled_statement "puVar1 = &::(anonymous_namespace)::cache_vec;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "cache_vec;" identifier ;)) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);" do (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" { (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" identifier = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397cb8)" ( (binary_expression "puVar1 != (undefined4 *)&DAT_00397cb8" identifier != (cast_expression "(undefined4 *)&DAT_00397cb8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00397cb8" & identifier))) )) ;) (expression_statement "*(undefined4 **)(this + 0xc) = &::(anonymous_namespace)::cache_vec;" (assignment_expression "*(undefined4 **)(this + 0xc) = &::(anonymous_namespace" (pointer_expression "*(undefined4 **)(this + 0xc)" * (cast_expression "(undefined4 **)(this + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::cache_vec" ) : : identifier) ;) (labeled_statement "puVar1 = &::(anonymous_namespace)::name_vec;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "name_vec;" identifier ;)) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != &::(anonymous_namespace)::c_locale);" do (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" { (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" identifier = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != &::(anonymous_namespace)" ( (binary_expression "puVar1 != &::(anonymous_namespace" identifier != (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) )) (ERROR "::c_locale)" : : identifier )) ;) (expression_statement "*(undefined2 ***)(this + 0x10) = &::(anonymous_namespace)::name_vec;" (assignment_expression "*(undefined2 ***)(this + 0x10) = &::(anonymous_namespace" (pointer_expression "*(undefined2 ***)(this + 0x10)" * (cast_expression "(undefined2 ***)(this + 0x10)" ( (type_descriptor "undefined2 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(this + 0x10)" ( (binary_expression "this + 0x10" identifier + number_literal) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::name_vec" ) : : identifier) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::name_vec = &::(anonymous_namespace)::name_c;" statement_identifier (ERROR "):" ) :) : (labeled_statement "name_vec = &::(anonymous_namespace)::name_c;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "name_c;" identifier ;))) (ERROR "puVar2 = (undefined2 *)facet::" (assignment_expression "puVar2 = (undefined2 *)facet" identifier = (cast_expression "(undefined2 *)facet" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (expression_statement "_S_get_c_name();" (call_expression "_S_get_c_name()" identifier (argument_list "()" ( ))) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::name_c = *puVar2;" statement_identifier (ERROR "):" ) :) : (expression_statement "name_c = *puVar2;" (assignment_expression "name_c = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;)) comment (expression_statement "ctype<char>::ctype((ctype<char> *)::(anonymous_namespace)::ctype_c,(ushort *)0x0,false,1);" (binary_expression "ctype<char>::ctype((ctype<char> *)::(anonymous_namespace)::ctype_c,(ushort *)0x0,false,1)" (binary_expression "ctype<char" identifier < identifier) > (ERROR "::" : :) (call_expression "ctype((ctype<char> *)::(anonymous_namespace)::ctype_c,(ushort *)0x0,false,1)" identifier (argument_list "((ctype<char> *)::(anonymous_namespace)::ctype_c,(ushort *)0x0,false,1)" ( (parenthesized_expression "(ctype<char> *)::(anonymous_namespace)" ( (binary_expression "ctype<char> *)::(anonymous_namespace" (binary_expression "ctype<char" identifier < identifier) > (pointer_expression "*)::(anonymous_namespace" * (ERROR ")::(" ) : : () identifier)) )) (ERROR "::ctype_c" : : identifier) , (cast_expression "(ushort *)0x0" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , false , number_literal )))) ;) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038efa8,(facet *)::(anonymous_namespace)::ctype_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038efa8,(facet *)::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038efa8,(facet *)::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038efa8" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (ERROR "::(" : : () identifier) ))) (ERROR "::ctype_c)" : : identifier )) ;) (expression_statement "codecvt<char,char,__mbstate_t>::codecvt\n            ((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1);" (comma_expression "codecvt<char,char,__mbstate_t>::codecvt\n            ((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1)" (binary_expression "codecvt<char" identifier < identifier) , (comma_expression "char,__mbstate_t>::codecvt\n            ((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1)" identifier , (binary_expression "__mbstate_t>::codecvt\n            ((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1)" identifier > (ERROR "::" : :) (call_expression "codecvt\n            ((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1)" identifier (argument_list "((codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_c,1)" ( (parenthesized_expression "(codecvt<char,char,__mbstate_t> *)::(anonymous_namespace)" ( (comma_expression "codecvt<char,char,__mbstate_t> *)::(anonymous_namespace" (binary_expression "codecvt<char" identifier < identifier) , (comma_expression "char,__mbstate_t> *)::(anonymous_namespace" identifier , (binary_expression "__mbstate_t> *)::(anonymous_namespace" identifier > (pointer_expression "*)::(anonymous_namespace" * (ERROR ")::(" ) : : () identifier)))) )) (ERROR "::codecvt_c" : : identifier) , number_literal )))))) ;) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038edec,(facet *)::(anonymous_namespace)::codecvt_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038edec,(facet *)::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038edec,(facet *)::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038edec" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (ERROR "::(" : : () identifier) ))) (ERROR "::codecvt_c)" : : identifier )) ;) (expression_statement "_DAT_00397344 = 1;" (assignment_expression "_DAT_00397344 = 1" identifier = number_literal) ;) (expression_statement "_DAT_00397348 = 0;" (assignment_expression "_DAT_00397348 = 0" identifier = number_literal) ;) (expression_statement "_DAT_0039734c = 0;" (assignment_expression "_DAT_0039734c = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::numpunct_cache_c = &PTR____numpunct_cache_0038c6c0;" statement_identifier (ERROR "):" ) :) : (expression_statement "numpunct_cache_c = &PTR____numpunct_cache_0038c6c0;" (assignment_expression "numpunct_cache_c = &PTR____numpunct_cache_0038c6c0" identifier = (pointer_expression "&PTR____numpunct_cache_0038c6c0" & identifier)) ;)) (expression_statement "DAT_00397350 = 0;" (assignment_expression "DAT_00397350 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397354 = 0;" (assignment_expression "DAT_00397354 = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::numpunct_c = &PTR__numpunct_0038e564;" statement_identifier (ERROR "):" ) :) : (expression_statement "numpunct_c = &PTR__numpunct_0038e564;" (assignment_expression "numpunct_c = &PTR__numpunct_0038e564" identifier = (pointer_expression "&PTR__numpunct_0038e564" & identifier)) ;)) (labeled_statement "DAT_003979d0 = &::(anonymous_namespace)::numpunct_cache_c;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "numpunct_cache_c;" identifier ;)) (expression_statement "DAT_00397358 = 0;" (assignment_expression "DAT_00397358 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039735c = 0;" (assignment_expression "DAT_0039735c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397360 = 0;" (assignment_expression "DAT_00397360 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397364 = 0;" (assignment_expression "DAT_00397364 = 0" identifier = number_literal) ;) (expression_statement "DAT_003973a4 = 0;" (assignment_expression "DAT_003973a4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003979cc = 1;" (assignment_expression "DAT_003979cc = 1" identifier = number_literal) ;) comment (expression_statement "numpunct<char>::_M_initialize_numpunct\n            ((numpunct<char> *)&::(anonymous_namespace)::numpunct_c,(__locale_struct *)0x0);" (binary_expression "numpunct<char>::_M_initialize_numpunct\n            ((numpunct<char> *)&::(anonymous_namespace)::numpunct_c,(__locale_struct *)0x0)" (binary_expression "numpunct<char" identifier < identifier) > (ERROR "::" : :) (call_expression "_M_initialize_numpunct\n            ((numpunct<char> *)&::(anonymous_namespace)::numpunct_c,(__locale_struct *)0x0)" identifier (argument_list "((numpunct<char> *)&::(anonymous_namespace)::numpunct_c,(__locale_struct *)0x0)" ( (parenthesized_expression "(numpunct<char> *)&::(anonymous_namespace)" ( (binary_expression "numpunct<char> *)&::(anonymous_namespace" (binary_expression "numpunct<char" identifier < identifier) > (pointer_expression "*)&::(anonymous_namespace" * (ERROR ")" )) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier))) )) (ERROR "::numpunct_c" : : identifier) , (cast_expression "(__locale_struct *)0x0" ( (type_descriptor "__locale_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) comment (expression_statement "_M_install_facet(this,(id *)&numpunct<char>::id,(facet *)&::(anonymous_namespace)::numpunct_c);" (call_expression "_M_install_facet(this,(id *)&numpunct<char>::id,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)&numpunct<char>::id,(facet *)&::(anonymous_namespace)" ( identifier , (binary_expression "(id *)&numpunct<char>::id" (binary_expression "(id *)&numpunct<char" (cast_expression "(id *)&numpunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&numpunct" & identifier)) < identifier) > (ERROR "::" : :) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::numpunct_c)" : : identifier )) ;) (expression_statement "_DAT_003979c4 = 1;" (assignment_expression "_DAT_003979c4 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::num_get_c = &PTR__num_get_0038c40c;" statement_identifier (ERROR "):" ) :) : (expression_statement "num_get_c = &PTR__num_get_0038c40c;" (assignment_expression "num_get_c = &PTR__num_get_0038c40c" identifier = (pointer_expression "&PTR__num_get_0038c40c" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ecc4,(facet *)&::(anonymous_namespace)::num_get_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ecc4,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ecc4,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ecc4" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::num_get_c)" : : identifier )) ;) (expression_statement "_DAT_003979bc = 1;" (assignment_expression "_DAT_003979bc = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::num_put_c = &PTR__num_put_0038c448;" statement_identifier (ERROR "):" ) :) : (expression_statement "num_put_c = &PTR__num_put_0038c448;" (assignment_expression "num_put_c = &PTR__num_put_0038c448" identifier = (pointer_expression "&PTR__num_put_0038c448" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ed08,(facet *)&::(anonymous_namespace)::num_put_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ed08,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ed08,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ed08" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::num_put_c)" : : identifier )) ;) (expression_statement "_DAT_003979d8 = 1;" (assignment_expression "_DAT_003979d8 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::collate_c = &PTR__collate_0038e52c;" statement_identifier (ERROR "):" ) :) : (expression_statement "collate_c = &PTR__collate_0038e52c;" (assignment_expression "collate_c = &PTR__collate_0038e52c" identifier = (pointer_expression "&PTR__collate_0038e52c" & identifier)) ;)) comment (ERROR "DAT_003979dc = facet::" (assignment_expression "DAT_003979dc = facet" identifier = identifier) : :) (expression_statement "_S_get_c_locale();" (call_expression "_S_get_c_locale()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_M_install_facet(this,(id *)PTR_id_0038eb40,(facet *)&::(anonymous_namespace)::collate_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038eb40,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038eb40,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038eb40" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::collate_c)" : : identifier )) ;) (expression_statement "_DAT_00397284 = 1;" (assignment_expression "_DAT_00397284 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::moneypunct_cache_cf = &PTR____moneypunct_cache_0038c6a0;" statement_identifier (ERROR "):" ) :) : (expression_statement "moneypunct_cache_cf = &PTR____moneypunct_cache_0038c6a0;" (assignment_expression "moneypunct_cache_cf = &PTR____moneypunct_cache_0038c6a0" identifier = (pointer_expression "&PTR____moneypunct_cache_0038c6a0" & identifier)) ;)) (expression_statement "DAT_00397290 = 0;" (assignment_expression "DAT_00397290 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397288 = 0;" (assignment_expression "DAT_00397288 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039728c = 0;" (assignment_expression "DAT_0039728c = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::moneypunct_cf = &PTR__moneypunct_0038e5e0;" statement_identifier (ERROR "):" ) :) : (expression_statement "moneypunct_cf = &PTR__moneypunct_0038e5e0;" (assignment_expression "moneypunct_cf = &PTR__moneypunct_0038e5e0" identifier = (pointer_expression "&PTR__moneypunct_0038e5e0" & identifier)) ;)) (labeled_statement "DAT_0039799c = &::(anonymous_namespace)::moneypunct_cache_cf;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "moneypunct_cache_cf;" identifier ;)) (expression_statement "DAT_00397292 = 0;" (assignment_expression "DAT_00397292 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397294 = 0;" (assignment_expression "DAT_00397294 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397298 = 0;" (assignment_expression "DAT_00397298 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039729c = 0;" (assignment_expression "DAT_0039729c = 0" identifier = number_literal) ;) (expression_statement "DAT_003972a0 = 0;" (assignment_expression "DAT_003972a0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972a4 = 0;" (assignment_expression "DAT_003972a4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972a8 = 0;" (assignment_expression "DAT_003972a8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972ac = 0;" (assignment_expression "DAT_003972ac = 0" identifier = number_literal) ;) (expression_statement "DAT_003972b0 = 0;" (assignment_expression "DAT_003972b0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972b4 = 0;" (assignment_expression "DAT_003972b4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972c3 = 0;" (assignment_expression "DAT_003972c3 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397998 = 1;" (assignment_expression "DAT_00397998 = 1" identifier = number_literal) ;) comment (ERROR "moneypunct<char,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::" (comma_expression "moneypunct<char,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" (binary_expression "moneypunct<char" identifier < identifier) , (binary_expression "false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" false > (ERROR "::" : :) (call_expression "_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" identifier (argument_list "((__locale_struct *)&::(anonymous_namespace)" ( (cast_expression "(__locale_struct *)&::(anonymous_namespace" ( (type_descriptor "__locale_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))))) : :) (expression_statement "moneypunct_cf,(char *)0x0);" (comma_expression "moneypunct_cf,(char *)0x0" identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) (ERROR ")" )) ;) comment (expression_statement "_M_install_facet(this,(id *)&moneypunct<char,false>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_cf);" (call_expression "_M_install_facet(this,(id *)&moneypunct<char,false>::id,\n                   (facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)&moneypunct<char,false>::id,\n                   (facet *)&::(anonymous_namespace)" ( identifier , (binary_expression "(id *)&moneypunct<char" (cast_expression "(id *)&moneypunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&moneypunct" & identifier)) < identifier) , (binary_expression "false>::id" false > (ERROR "::" : :) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::moneypunct_cf)" : : identifier )) ;) (expression_statement "_DAT_003972e4 = 1;" (assignment_expression "_DAT_003972e4 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::moneypunct_cache_ct = &PTR____moneypunct_cache_0038c6b0;" statement_identifier (ERROR "):" ) :) : (expression_statement "moneypunct_cache_ct = &PTR____moneypunct_cache_0038c6b0;" (assignment_expression "moneypunct_cache_ct = &PTR____moneypunct_cache_0038c6b0" identifier = (pointer_expression "&PTR____moneypunct_cache_0038c6b0" & identifier)) ;)) (expression_statement "DAT_003972f0 = 0;" (assignment_expression "DAT_003972f0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972e8 = 0;" (assignment_expression "DAT_003972e8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972ec = 0;" (assignment_expression "DAT_003972ec = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::moneypunct_ct = &PTR__moneypunct_0038e5ac;" statement_identifier (ERROR "):" ) :) : (expression_statement "moneypunct_ct = &PTR__moneypunct_0038e5ac;" (assignment_expression "moneypunct_ct = &PTR__moneypunct_0038e5ac" identifier = (pointer_expression "&PTR__moneypunct_0038e5ac" & identifier)) ;)) (labeled_statement "DAT_003979a8 = &::(anonymous_namespace)::moneypunct_cache_ct;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "moneypunct_cache_ct;" identifier ;)) (expression_statement "DAT_003972f2 = 0;" (assignment_expression "DAT_003972f2 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972f4 = 0;" (assignment_expression "DAT_003972f4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972f8 = 0;" (assignment_expression "DAT_003972f8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972fc = 0;" (assignment_expression "DAT_003972fc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397300 = 0;" (assignment_expression "DAT_00397300 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397304 = 0;" (assignment_expression "DAT_00397304 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397308 = 0;" (assignment_expression "DAT_00397308 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039730c = 0;" (assignment_expression "DAT_0039730c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397310 = 0;" (assignment_expression "DAT_00397310 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397314 = 0;" (assignment_expression "DAT_00397314 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397323 = 0;" (assignment_expression "DAT_00397323 = 0" identifier = number_literal) ;) (expression_statement "DAT_003979a4 = 1;" (assignment_expression "DAT_003979a4 = 1" identifier = number_literal) ;) comment (ERROR "moneypunct<char,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::" (comma_expression "moneypunct<char,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" (binary_expression "moneypunct<char" identifier < identifier) , (binary_expression "true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" true > (ERROR "::" : :) (call_expression "_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" identifier (argument_list "((__locale_struct *)&::(anonymous_namespace)" ( (cast_expression "(__locale_struct *)&::(anonymous_namespace" ( (type_descriptor "__locale_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))))) : :) (expression_statement "moneypunct_ct,(char *)0x0);" (comma_expression "moneypunct_ct,(char *)0x0" identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) (ERROR ")" )) ;) comment (expression_statement "_M_install_facet(this,(id *)&moneypunct<char,true>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_ct);" (call_expression "_M_install_facet(this,(id *)&moneypunct<char,true>::id,\n                   (facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)&moneypunct<char,true>::id,\n                   (facet *)&::(anonymous_namespace)" ( identifier , (binary_expression "(id *)&moneypunct<char" (cast_expression "(id *)&moneypunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&moneypunct" & identifier)) < identifier) , (binary_expression "true>::id" true > (ERROR "::" : :) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::moneypunct_ct)" : : identifier )) ;) (expression_statement "_DAT_00397990 = 1;" (assignment_expression "_DAT_00397990 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::money_get_c = &PTR__money_get_0038e698;" statement_identifier (ERROR "):" ) :) : (expression_statement "money_get_c = &PTR__money_get_0038e698;" (assignment_expression "money_get_c = &PTR__money_get_0038e698" identifier = (pointer_expression "&PTR__money_get_0038e698" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ed64,(facet *)&::(anonymous_namespace)::money_get_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ed64,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ed64,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ed64" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::money_get_c)" : : identifier )) ;) (expression_statement "_DAT_00397988 = 1;" (assignment_expression "_DAT_00397988 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::money_put_c = &PTR__money_put_0038e6b0;" statement_identifier (ERROR "):" ) :) : (expression_statement "money_put_c = &PTR__money_put_0038e6b0;" (assignment_expression "money_put_c = &PTR__money_put_0038e6b0" identifier = (pointer_expression "&PTR__money_put_0038e6b0" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ec70,(facet *)&::(anonymous_namespace)::money_put_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ec70,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ec70,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ec70" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::money_put_c)" : : identifier )) ;) (expression_statement "_DAT_003971a4 = 1;" (assignment_expression "_DAT_003971a4 = 1" identifier = number_literal) ;) (expression_statement "_DAT_003971a8 = 0;" (assignment_expression "_DAT_003971a8 = 0" identifier = number_literal) ;) (expression_statement "_DAT_003971ac = 0;" (assignment_expression "_DAT_003971ac = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::timepunct_cache_c = &PTR____timepunct_cache_0038c478;" statement_identifier (ERROR "):" ) :) : (expression_statement "timepunct_cache_c = &PTR____timepunct_cache_0038c478;" (assignment_expression "timepunct_cache_c = &PTR____timepunct_cache_0038c478" identifier = (pointer_expression "&PTR____timepunct_cache_0038c478" & identifier)) ;)) (expression_statement "DAT_003971b0 = 0;" (assignment_expression "DAT_003971b0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971b4 = 0;" (assignment_expression "DAT_003971b4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971b8 = 0;" (assignment_expression "DAT_003971b8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971bc = 0;" (assignment_expression "DAT_003971bc = 0" identifier = number_literal) ;) (expression_statement "DAT_003971c0 = 0;" (assignment_expression "DAT_003971c0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971c4 = 0;" (assignment_expression "DAT_003971c4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971c8 = 0;" (assignment_expression "DAT_003971c8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971cc = 0;" (assignment_expression "DAT_003971cc = 0" identifier = number_literal) ;) (expression_statement "DAT_003971d0 = 0;" (assignment_expression "DAT_003971d0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971d4 = 0;" (assignment_expression "DAT_003971d4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971d8 = 0;" (assignment_expression "DAT_003971d8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971dc = 0;" (assignment_expression "DAT_003971dc = 0" identifier = number_literal) ;) (expression_statement "DAT_003971e0 = 0;" (assignment_expression "DAT_003971e0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971e4 = 0;" (assignment_expression "DAT_003971e4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971e8 = 0;" (assignment_expression "DAT_003971e8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971ec = 0;" (assignment_expression "DAT_003971ec = 0" identifier = number_literal) ;) (expression_statement "DAT_003971f0 = 0;" (assignment_expression "DAT_003971f0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971f4 = 0;" (assignment_expression "DAT_003971f4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971f8 = 0;" (assignment_expression "DAT_003971f8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971fc = 0;" (assignment_expression "DAT_003971fc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397200 = 0;" (assignment_expression "DAT_00397200 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397204 = 0;" (assignment_expression "DAT_00397204 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397208 = 0;" (assignment_expression "DAT_00397208 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039720c = 0;" (assignment_expression "DAT_0039720c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397210 = 0;" (assignment_expression "DAT_00397210 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397214 = 0;" (assignment_expression "DAT_00397214 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397218 = 0;" (assignment_expression "DAT_00397218 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039721c = 0;" (assignment_expression "DAT_0039721c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397220 = 0;" (assignment_expression "DAT_00397220 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397224 = 0;" (assignment_expression "DAT_00397224 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397228 = 0;" (assignment_expression "DAT_00397228 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039722c = 0;" (assignment_expression "DAT_0039722c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397230 = 0;" (assignment_expression "DAT_00397230 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397234 = 0;" (assignment_expression "DAT_00397234 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397238 = 0;" (assignment_expression "DAT_00397238 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039723c = 0;" (assignment_expression "DAT_0039723c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397240 = 0;" (assignment_expression "DAT_00397240 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397244 = 0;" (assignment_expression "DAT_00397244 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397248 = 0;" (assignment_expression "DAT_00397248 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039724c = 0;" (assignment_expression "DAT_0039724c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397250 = 0;" (assignment_expression "DAT_00397250 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397254 = 0;" (assignment_expression "DAT_00397254 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397258 = 0;" (assignment_expression "DAT_00397258 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039725c = 0;" (assignment_expression "DAT_0039725c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397260 = 0;" (assignment_expression "DAT_00397260 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397264 = 0;" (assignment_expression "DAT_00397264 = 0" identifier = number_literal) ;) (expression_statement "__timepunct<char>::__timepunct\n            ((__timepunct<char> *)::(anonymous_namespace)::timepunct_c,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_c,1);" (comma_expression "__timepunct<char>::__timepunct\n            ((__timepunct<char> *)::(anonymous_namespace)::timepunct_c,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_c,1" (binary_expression "__timepunct<char>::__timepunct\n            ((__timepunct<char> *)::(anonymous_namespace)::timepunct_c,\n             (__timepunct_cache *)&::(anonymous_namespace)" (binary_expression "__timepunct<char" identifier < identifier) > (ERROR "::" : :) (call_expression "__timepunct\n            ((__timepunct<char> *)::(anonymous_namespace)::timepunct_c,\n             (__timepunct_cache *)&::(anonymous_namespace)" identifier (argument_list "((__timepunct<char> *)::(anonymous_namespace)::timepunct_c,\n             (__timepunct_cache *)&::(anonymous_namespace)" ( (parenthesized_expression "(__timepunct<char> *)::(anonymous_namespace)" ( (binary_expression "__timepunct<char> *)::(anonymous_namespace" (binary_expression "__timepunct<char" identifier < identifier) > (pointer_expression "*)::(anonymous_namespace" * (ERROR ")::(" ) : : () identifier)) )) (ERROR "::timepunct_c" : : identifier) , (cast_expression "(__timepunct_cache *)&::(anonymous_namespace" ( (type_descriptor "__timepunct_cache *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) )))) (ERROR "::timepunct_cache_c" : : identifier) , number_literal) (ERROR ")" )) ;) (expression_statement "_M_install_facet(this,(id *)&__timepunct<char>::id,(facet *)::(anonymous_namespace)::timepunct_c);" (call_expression "_M_install_facet(this,(id *)&__timepunct<char>::id,(facet *)::(anonymous_namespace)" identifier (argument_list "(this,(id *)&__timepunct<char>::id,(facet *)::(anonymous_namespace)" ( identifier , (binary_expression "(id *)&__timepunct<char>::id" (binary_expression "(id *)&__timepunct<char" (cast_expression "(id *)&__timepunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__timepunct" & identifier)) < identifier) > (ERROR "::" : :) identifier) , (cast_expression "(facet *)::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (ERROR "::(" : : () identifier) ))) (ERROR "::timepunct_c)" : : identifier )) ;) (expression_statement "_DAT_0039796c = 1;" (assignment_expression "_DAT_0039796c = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::time_get_c = &PTR__time_get_0038e6c8;" statement_identifier (ERROR "):" ) :) : (expression_statement "time_get_c = &PTR__time_get_0038e6c8;" (assignment_expression "time_get_c = &PTR__time_get_0038e6c8" identifier = (pointer_expression "&PTR__time_get_0038e6c8" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ee50,(facet *)&::(anonymous_namespace)::time_get_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ee50,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ee50,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ee50" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::time_get_c)" : : identifier )) ;) (expression_statement "_DAT_00397964 = 1;" (assignment_expression "_DAT_00397964 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::time_put_c = &PTR__time_put_0038c60c;" statement_identifier (ERROR "):" ) :) : (expression_statement "time_put_c = &PTR__time_put_0038c60c;" (assignment_expression "time_put_c = &PTR__time_put_0038c60c" identifier = (pointer_expression "&PTR__time_put_0038c60c" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038eec4,(facet *)&::(anonymous_namespace)::time_put_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038eec4,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038eec4,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038eec4" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::time_put_c)" : : identifier )) ;) (expression_statement "messages<char>::messages((messages<char> *)::(anonymous_namespace)::messages_c,1);" (binary_expression "messages<char>::messages((messages<char> *)::(anonymous_namespace)::messages_c,1)" (binary_expression "messages<char" identifier < identifier) > (ERROR "::" : :) (call_expression "messages((messages<char> *)::(anonymous_namespace)::messages_c,1)" identifier (argument_list "((messages<char> *)::(anonymous_namespace)::messages_c,1)" ( (parenthesized_expression "(messages<char> *)::(anonymous_namespace)" ( (binary_expression "messages<char> *)::(anonymous_namespace" (binary_expression "messages<char" identifier < identifier) > (pointer_expression "*)::(anonymous_namespace" * (ERROR ")::(" ) : : () identifier)) )) (ERROR "::messages_c" : : identifier) , number_literal )))) ;) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ee48,(facet *)::(anonymous_namespace)::messages_c);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ee48,(facet *)::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ee48,(facet *)::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ee48" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (ERROR "::(" : : () identifier) ))) (ERROR "::messages_c)" : : identifier )) ;) (expression_statement "ctype<wchar_t>::ctype((ctype<wchar_t> *)::(anonymous_namespace)::ctype_w,1);" (binary_expression "ctype<wchar_t>::ctype((ctype<wchar_t> *)::(anonymous_namespace)::ctype_w,1)" (binary_expression "ctype<wchar_t" identifier < identifier) > (ERROR "::" : :) (call_expression "ctype((ctype<wchar_t> *)::(anonymous_namespace)::ctype_w,1)" identifier (argument_list "((ctype<wchar_t> *)::(anonymous_namespace)::ctype_w,1)" ( (parenthesized_expression "(ctype<wchar_t> *)::(anonymous_namespace)" ( (binary_expression "ctype<wchar_t> *)::(anonymous_namespace" (binary_expression "ctype<wchar_t" identifier < identifier) > (pointer_expression "*)::(anonymous_namespace" * (ERROR ")::(" ) : : () identifier)) )) (ERROR "::ctype_w" : : identifier) , number_literal )))) ;) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ee20,(facet *)::(anonymous_namespace)::ctype_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ee20,(facet *)::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ee20,(facet *)::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ee20" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (ERROR "::(" : : () identifier) ))) (ERROR "::ctype_w)" : : identifier )) ;) (expression_statement "codecvt<wchar_t,char,__mbstate_t>::codecvt\n            ((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1);" (comma_expression "codecvt<wchar_t,char,__mbstate_t>::codecvt\n            ((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1)" (binary_expression "codecvt<wchar_t" identifier < identifier) , (comma_expression "char,__mbstate_t>::codecvt\n            ((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1)" identifier , (binary_expression "__mbstate_t>::codecvt\n            ((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1)" identifier > (ERROR "::" : :) (call_expression "codecvt\n            ((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1)" identifier (argument_list "((codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)::codecvt_w,1)" ( (parenthesized_expression "(codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace)" ( (comma_expression "codecvt<wchar_t,char,__mbstate_t> *)::(anonymous_namespace" (binary_expression "codecvt<wchar_t" identifier < identifier) , (comma_expression "char,__mbstate_t> *)::(anonymous_namespace" identifier , (binary_expression "__mbstate_t> *)::(anonymous_namespace" identifier > (pointer_expression "*)::(anonymous_namespace" * (ERROR ")::(" ) : : () identifier)))) )) (ERROR "::codecvt_w" : : identifier) , number_literal )))))) ;) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ec24,(facet *)::(anonymous_namespace)::codecvt_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ec24,(facet *)::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ec24,(facet *)::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ec24" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (ERROR "::(" : : () identifier) ))) (ERROR "::codecvt_w)" : : identifier )) ;) (expression_statement "_DAT_00397064 = 1;" (assignment_expression "_DAT_00397064 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397070 = 0;" (assignment_expression "DAT_00397070 = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::numpunct_cache_w = &PTR____numpunct_cache_0038d780;" statement_identifier (ERROR "):" ) :) : (expression_statement "numpunct_cache_w = &PTR____numpunct_cache_0038d780;" (assignment_expression "numpunct_cache_w = &PTR____numpunct_cache_0038d780" identifier = (pointer_expression "&PTR____numpunct_cache_0038d780" & identifier)) ;)) (expression_statement "DAT_00397068 = 0;" (assignment_expression "DAT_00397068 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039706c = 0;" (assignment_expression "DAT_0039706c = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::numpunct_w = &PTR__numpunct_0038e25c;" statement_identifier (ERROR "):" ) :) : (expression_statement "numpunct_w = &PTR__numpunct_0038e25c;" (assignment_expression "numpunct_w = &PTR__numpunct_0038e25c" identifier = (pointer_expression "&PTR__numpunct_0038e25c" & identifier)) ;)) (labeled_statement "DAT_00397438 = &::(anonymous_namespace)::numpunct_cache_w;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "numpunct_cache_w;" identifier ;)) (expression_statement "DAT_00397074 = 0;" (assignment_expression "DAT_00397074 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397078 = 0;" (assignment_expression "DAT_00397078 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039707c = 0;" (assignment_expression "DAT_0039707c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397080 = 0;" (assignment_expression "DAT_00397080 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397084 = 0;" (assignment_expression "DAT_00397084 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397088 = 0;" (assignment_expression "DAT_00397088 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397184 = 0;" (assignment_expression "DAT_00397184 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397434 = 1;" (assignment_expression "DAT_00397434 = 1" identifier = number_literal) ;) comment (expression_statement "numpunct<wchar_t>::_M_initialize_numpunct\n            ((numpunct<wchar_t> *)&::(anonymous_namespace)::numpunct_w,(__locale_struct *)0x0);" (binary_expression "numpunct<wchar_t>::_M_initialize_numpunct\n            ((numpunct<wchar_t> *)&::(anonymous_namespace)::numpunct_w,(__locale_struct *)0x0)" (binary_expression "numpunct<wchar_t" identifier < identifier) > (ERROR "::" : :) (call_expression "_M_initialize_numpunct\n            ((numpunct<wchar_t> *)&::(anonymous_namespace)::numpunct_w,(__locale_struct *)0x0)" identifier (argument_list "((numpunct<wchar_t> *)&::(anonymous_namespace)::numpunct_w,(__locale_struct *)0x0)" ( (parenthesized_expression "(numpunct<wchar_t> *)&::(anonymous_namespace)" ( (binary_expression "numpunct<wchar_t> *)&::(anonymous_namespace" (binary_expression "numpunct<wchar_t" identifier < identifier) > (pointer_expression "*)&::(anonymous_namespace" * (ERROR ")" )) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier))) )) (ERROR "::numpunct_w" : : identifier) , (cast_expression "(__locale_struct *)0x0" ( (type_descriptor "__locale_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) comment (expression_statement "_M_install_facet(this,(id *)&numpunct<wchar_t>::id,(facet *)&::(anonymous_namespace)::numpunct_w);" (call_expression "_M_install_facet(this,(id *)&numpunct<wchar_t>::id,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)&numpunct<wchar_t>::id,(facet *)&::(anonymous_namespace)" ( identifier , (binary_expression "(id *)&numpunct<wchar_t>::id" (binary_expression "(id *)&numpunct<wchar_t" (cast_expression "(id *)&numpunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&numpunct" & identifier)) < identifier) > (ERROR "::" : :) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::numpunct_w)" : : identifier )) ;) (expression_statement "_DAT_0039742c = 1;" (assignment_expression "_DAT_0039742c = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::num_get_w = &PTR__num_get_0038dd08;" statement_identifier (ERROR "):" ) :) : (expression_statement "num_get_w = &PTR__num_get_0038dd08;" (assignment_expression "num_get_w = &PTR__num_get_0038dd08" identifier = (pointer_expression "&PTR__num_get_0038dd08" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ecc0,(facet *)&::(anonymous_namespace)::num_get_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ecc0,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ecc0,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ecc0" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::num_get_w)" : : identifier )) ;) (expression_statement "_DAT_00397424 = 1;" (assignment_expression "_DAT_00397424 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::num_put_w = &PTR__num_put_0038dd44;" statement_identifier (ERROR "):" ) :) : (expression_statement "num_put_w = &PTR__num_put_0038dd44;" (assignment_expression "num_put_w = &PTR__num_put_0038dd44" identifier = (pointer_expression "&PTR__num_put_0038dd44" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ee70,(facet *)&::(anonymous_namespace)::num_put_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ee70,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ee70,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ee70" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::num_put_w)" : : identifier )) ;) (expression_statement "_DAT_00397440 = 1;" (assignment_expression "_DAT_00397440 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::collate_w = &PTR__collate_0038e224;" statement_identifier (ERROR "):" ) :) : (expression_statement "collate_w = &PTR__collate_0038e224;" (assignment_expression "collate_w = &PTR__collate_0038e224" identifier = (pointer_expression "&PTR__collate_0038e224" & identifier)) ;)) comment (ERROR "DAT_00397444 = facet::" (assignment_expression "DAT_00397444 = facet" identifier = identifier) : :) (expression_statement "_S_get_c_locale();" (call_expression "_S_get_c_locale()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_M_install_facet(this,(id *)PTR_id_0038edac,(facet *)&::(anonymous_namespace)::collate_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038edac,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038edac,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038edac" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::collate_w)" : : identifier )) ;) (expression_statement "_DAT_00396f64 = 1;" (assignment_expression "_DAT_00396f64 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::moneypunct_cache_wf = &PTR____moneypunct_cache_0038d7b8;" statement_identifier (ERROR "):" ) :) : (expression_statement "moneypunct_cache_wf = &PTR____moneypunct_cache_0038d7b8;" (assignment_expression "moneypunct_cache_wf = &PTR____moneypunct_cache_0038d7b8" identifier = (pointer_expression "&PTR____moneypunct_cache_0038d7b8" & identifier)) ;)) (expression_statement "DAT_00396f68 = 0;" (assignment_expression "DAT_00396f68 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f6c = 0;" (assignment_expression "DAT_00396f6c = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::moneypunct_wf = &PTR__moneypunct_0038e2d8;" statement_identifier (ERROR "):" ) :) : (expression_statement "moneypunct_wf = &PTR__moneypunct_0038e2d8;" (assignment_expression "moneypunct_wf = &PTR__moneypunct_0038e2d8" identifier = (pointer_expression "&PTR__moneypunct_0038e2d8" & identifier)) ;)) (labeled_statement "DAT_00397404 = &::(anonymous_namespace)::moneypunct_cache_wf;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "moneypunct_cache_wf;" identifier ;)) (expression_statement "DAT_00396f70 = 0;" (assignment_expression "DAT_00396f70 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f74 = 0;" (assignment_expression "DAT_00396f74 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f78 = 0;" (assignment_expression "DAT_00396f78 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f7c = 0;" (assignment_expression "DAT_00396f7c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f80 = 0;" (assignment_expression "DAT_00396f80 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f84 = 0;" (assignment_expression "DAT_00396f84 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f88 = 0;" (assignment_expression "DAT_00396f88 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f8c = 0;" (assignment_expression "DAT_00396f8c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f90 = 0;" (assignment_expression "DAT_00396f90 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f94 = 0;" (assignment_expression "DAT_00396f94 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f98 = 0;" (assignment_expression "DAT_00396f98 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f9c = 0;" (assignment_expression "DAT_00396f9c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396fcc = 0;" (assignment_expression "DAT_00396fcc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397400 = 1;" (assignment_expression "DAT_00397400 = 1" identifier = number_literal) ;) comment (ERROR "moneypunct<wchar_t,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::" (comma_expression "moneypunct<wchar_t,false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" (binary_expression "moneypunct<wchar_t" identifier < identifier) , (binary_expression "false>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" false > (ERROR "::" : :) (call_expression "_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" identifier (argument_list "((__locale_struct *)&::(anonymous_namespace)" ( (cast_expression "(__locale_struct *)&::(anonymous_namespace" ( (type_descriptor "__locale_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))))) : :) (expression_statement "moneypunct_wf,(char *)0x0);" (comma_expression "moneypunct_wf,(char *)0x0" identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) (ERROR ")" )) ;) comment (expression_statement "_M_install_facet(this,(id *)&moneypunct<wchar_t,false>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_wf);" (call_expression "_M_install_facet(this,(id *)&moneypunct<wchar_t,false>::id,\n                   (facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)&moneypunct<wchar_t,false>::id,\n                   (facet *)&::(anonymous_namespace)" ( identifier , (binary_expression "(id *)&moneypunct<wchar_t" (cast_expression "(id *)&moneypunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&moneypunct" & identifier)) < identifier) , (binary_expression "false>::id" false > (ERROR "::" : :) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::moneypunct_wf)" : : identifier )) ;) (expression_statement "_DAT_00396fe4 = 1;" (assignment_expression "_DAT_00396fe4 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::moneypunct_cache_wt = &PTR____moneypunct_cache_0038d7a8;" statement_identifier (ERROR "):" ) :) : (expression_statement "moneypunct_cache_wt = &PTR____moneypunct_cache_0038d7a8;" (assignment_expression "moneypunct_cache_wt = &PTR____moneypunct_cache_0038d7a8" identifier = (pointer_expression "&PTR____moneypunct_cache_0038d7a8" & identifier)) ;)) (expression_statement "DAT_00396fe8 = 0;" (assignment_expression "DAT_00396fe8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396fec = 0;" (assignment_expression "DAT_00396fec = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::moneypunct_wt = &PTR__moneypunct_0038e2a4;" statement_identifier (ERROR "):" ) :) : (expression_statement "moneypunct_wt = &PTR__moneypunct_0038e2a4;" (assignment_expression "moneypunct_wt = &PTR__moneypunct_0038e2a4" identifier = (pointer_expression "&PTR__moneypunct_0038e2a4" & identifier)) ;)) (labeled_statement "DAT_00397410 = &::(anonymous_namespace)::moneypunct_cache_wt;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "moneypunct_cache_wt;" identifier ;)) (expression_statement "DAT_00396ff0 = 0;" (assignment_expression "DAT_00396ff0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ff4 = 0;" (assignment_expression "DAT_00396ff4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ff8 = 0;" (assignment_expression "DAT_00396ff8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ffc = 0;" (assignment_expression "DAT_00396ffc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397000 = 0;" (assignment_expression "DAT_00397000 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397004 = 0;" (assignment_expression "DAT_00397004 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397008 = 0;" (assignment_expression "DAT_00397008 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039700c = 0;" (assignment_expression "DAT_0039700c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397010 = 0;" (assignment_expression "DAT_00397010 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397014 = 0;" (assignment_expression "DAT_00397014 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397018 = 0;" (assignment_expression "DAT_00397018 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039701c = 0;" (assignment_expression "DAT_0039701c = 0" identifier = number_literal) ;) (expression_statement "DAT_0039704c = 0;" (assignment_expression "DAT_0039704c = 0" identifier = number_literal) ;) (expression_statement "DAT_0039740c = 1;" (assignment_expression "DAT_0039740c = 1" identifier = number_literal) ;) comment (ERROR "moneypunct<wchar_t,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)::" (comma_expression "moneypunct<wchar_t,true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" (binary_expression "moneypunct<wchar_t" identifier < identifier) , (binary_expression "true>::_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" true > (ERROR "::" : :) (call_expression "_M_initialize_moneypunct\n            ((__locale_struct *)&::(anonymous_namespace)" identifier (argument_list "((__locale_struct *)&::(anonymous_namespace)" ( (cast_expression "(__locale_struct *)&::(anonymous_namespace" ( (type_descriptor "__locale_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))))) : :) (expression_statement "moneypunct_wt,(char *)0x0);" (comma_expression "moneypunct_wt,(char *)0x0" identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) (ERROR ")" )) ;) comment (expression_statement "_M_install_facet(this,(id *)&moneypunct<wchar_t,true>::id,\n                   (facet *)&::(anonymous_namespace)::moneypunct_wt);" (call_expression "_M_install_facet(this,(id *)&moneypunct<wchar_t,true>::id,\n                   (facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)&moneypunct<wchar_t,true>::id,\n                   (facet *)&::(anonymous_namespace)" ( identifier , (binary_expression "(id *)&moneypunct<wchar_t" (cast_expression "(id *)&moneypunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&moneypunct" & identifier)) < identifier) , (binary_expression "true>::id" true > (ERROR "::" : :) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::moneypunct_wt)" : : identifier )) ;) (expression_statement "_DAT_003973f8 = 1;" (assignment_expression "_DAT_003973f8 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::money_get_w = &PTR__money_get_0038e390;" statement_identifier (ERROR "):" ) :) : (expression_statement "money_get_w = &PTR__money_get_0038e390;" (assignment_expression "money_get_w = &PTR__money_get_0038e390" identifier = (pointer_expression "&PTR__money_get_0038e390" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038edd8,(facet *)&::(anonymous_namespace)::money_get_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038edd8,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038edd8,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038edd8" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::money_get_w)" : : identifier )) ;) (expression_statement "_DAT_003973f0 = 1;" (assignment_expression "_DAT_003973f0 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::money_put_w = &PTR__money_put_0038e3a8;" statement_identifier (ERROR "):" ) :) : (expression_statement "money_put_w = &PTR__money_put_0038e3a8;" (assignment_expression "money_put_w = &PTR__money_put_0038e3a8" identifier = (pointer_expression "&PTR__money_put_0038e3a8" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ef8c,(facet *)&::(anonymous_namespace)::money_put_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ef8c,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ef8c,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ef8c" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::money_put_w)" : : identifier )) ;) (expression_statement "_DAT_00396e84 = 1;" (assignment_expression "_DAT_00396e84 = 1" identifier = number_literal) ;) (expression_statement "_DAT_00396e88 = 0;" (assignment_expression "_DAT_00396e88 = 0" identifier = number_literal) ;) (expression_statement "_DAT_00396e8c = 0;" (assignment_expression "_DAT_00396e8c = 0" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::timepunct_cache_w = &PTR____timepunct_cache_0038dd74;" statement_identifier (ERROR "):" ) :) : (expression_statement "timepunct_cache_w = &PTR____timepunct_cache_0038dd74;" (assignment_expression "timepunct_cache_w = &PTR____timepunct_cache_0038dd74" identifier = (pointer_expression "&PTR____timepunct_cache_0038dd74" & identifier)) ;)) (expression_statement "DAT_00396e90 = 0;" (assignment_expression "DAT_00396e90 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e94 = 0;" (assignment_expression "DAT_00396e94 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e98 = 0;" (assignment_expression "DAT_00396e98 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e9c = 0;" (assignment_expression "DAT_00396e9c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ea0 = 0;" (assignment_expression "DAT_00396ea0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ea4 = 0;" (assignment_expression "DAT_00396ea4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ea8 = 0;" (assignment_expression "DAT_00396ea8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eac = 0;" (assignment_expression "DAT_00396eac = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eb0 = 0;" (assignment_expression "DAT_00396eb0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eb4 = 0;" (assignment_expression "DAT_00396eb4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eb8 = 0;" (assignment_expression "DAT_00396eb8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ebc = 0;" (assignment_expression "DAT_00396ebc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ec0 = 0;" (assignment_expression "DAT_00396ec0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ec4 = 0;" (assignment_expression "DAT_00396ec4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ec8 = 0;" (assignment_expression "DAT_00396ec8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ecc = 0;" (assignment_expression "DAT_00396ecc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ed0 = 0;" (assignment_expression "DAT_00396ed0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ed4 = 0;" (assignment_expression "DAT_00396ed4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ed8 = 0;" (assignment_expression "DAT_00396ed8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396edc = 0;" (assignment_expression "DAT_00396edc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ee0 = 0;" (assignment_expression "DAT_00396ee0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ee4 = 0;" (assignment_expression "DAT_00396ee4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ee8 = 0;" (assignment_expression "DAT_00396ee8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eec = 0;" (assignment_expression "DAT_00396eec = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ef0 = 0;" (assignment_expression "DAT_00396ef0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ef4 = 0;" (assignment_expression "DAT_00396ef4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ef8 = 0;" (assignment_expression "DAT_00396ef8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396efc = 0;" (assignment_expression "DAT_00396efc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f00 = 0;" (assignment_expression "DAT_00396f00 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f04 = 0;" (assignment_expression "DAT_00396f04 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f08 = 0;" (assignment_expression "DAT_00396f08 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f0c = 0;" (assignment_expression "DAT_00396f0c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f10 = 0;" (assignment_expression "DAT_00396f10 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f14 = 0;" (assignment_expression "DAT_00396f14 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f18 = 0;" (assignment_expression "DAT_00396f18 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f1c = 0;" (assignment_expression "DAT_00396f1c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f20 = 0;" (assignment_expression "DAT_00396f20 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f24 = 0;" (assignment_expression "DAT_00396f24 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f28 = 0;" (assignment_expression "DAT_00396f28 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f2c = 0;" (assignment_expression "DAT_00396f2c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f30 = 0;" (assignment_expression "DAT_00396f30 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f34 = 0;" (assignment_expression "DAT_00396f34 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f38 = 0;" (assignment_expression "DAT_00396f38 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f3c = 0;" (assignment_expression "DAT_00396f3c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f40 = 0;" (assignment_expression "DAT_00396f40 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f44 = 0;" (assignment_expression "DAT_00396f44 = 0" identifier = number_literal) ;) (expression_statement "__timepunct<wchar_t>::__timepunct\n            ((__timepunct<wchar_t> *)::(anonymous_namespace)::timepunct_w,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_w,1);" (comma_expression "__timepunct<wchar_t>::__timepunct\n            ((__timepunct<wchar_t> *)::(anonymous_namespace)::timepunct_w,\n             (__timepunct_cache *)&::(anonymous_namespace)::timepunct_cache_w,1" (binary_expression "__timepunct<wchar_t>::__timepunct\n            ((__timepunct<wchar_t> *)::(anonymous_namespace)::timepunct_w,\n             (__timepunct_cache *)&::(anonymous_namespace)" (binary_expression "__timepunct<wchar_t" identifier < identifier) > (ERROR "::" : :) (call_expression "__timepunct\n            ((__timepunct<wchar_t> *)::(anonymous_namespace)::timepunct_w,\n             (__timepunct_cache *)&::(anonymous_namespace)" identifier (argument_list "((__timepunct<wchar_t> *)::(anonymous_namespace)::timepunct_w,\n             (__timepunct_cache *)&::(anonymous_namespace)" ( (parenthesized_expression "(__timepunct<wchar_t> *)::(anonymous_namespace)" ( (binary_expression "__timepunct<wchar_t> *)::(anonymous_namespace" (binary_expression "__timepunct<wchar_t" identifier < identifier) > (pointer_expression "*)::(anonymous_namespace" * (ERROR ")::(" ) : : () identifier)) )) (ERROR "::timepunct_w" : : identifier) , (cast_expression "(__timepunct_cache *)&::(anonymous_namespace" ( (type_descriptor "__timepunct_cache *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) )))) (ERROR "::timepunct_cache_w" : : identifier) , number_literal) (ERROR ")" )) ;) (expression_statement "_M_install_facet(this,(id *)&__timepunct<wchar_t>::id,\n                   (facet *)::(anonymous_namespace)::timepunct_w);" (call_expression "_M_install_facet(this,(id *)&__timepunct<wchar_t>::id,\n                   (facet *)::(anonymous_namespace)" identifier (argument_list "(this,(id *)&__timepunct<wchar_t>::id,\n                   (facet *)::(anonymous_namespace)" ( identifier , (binary_expression "(id *)&__timepunct<wchar_t>::id" (binary_expression "(id *)&__timepunct<wchar_t" (cast_expression "(id *)&__timepunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__timepunct" & identifier)) < identifier) > (ERROR "::" : :) identifier) , (cast_expression "(facet *)::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (ERROR "::(" : : () identifier) ))) (ERROR "::timepunct_w)" : : identifier )) ;) (expression_statement "_DAT_003973d4 = 1;" (assignment_expression "_DAT_003973d4 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::time_get_w = &PTR__time_get_0038e3c0;" statement_identifier (ERROR "):" ) :) : (expression_statement "time_get_w = &PTR__time_get_0038e3c0;" (assignment_expression "time_get_w = &PTR__time_get_0038e3c0" identifier = (pointer_expression "&PTR__time_get_0038e3c0" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ecf8,(facet *)&::(anonymous_namespace)::time_get_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ecf8,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ecf8,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ecf8" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::time_get_w)" : : identifier )) ;) (expression_statement "_DAT_003973cc = 1;" (assignment_expression "_DAT_003973cc = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::time_put_w = &PTR__time_put_0038df08;" statement_identifier (ERROR "):" ) :) : (expression_statement "time_put_w = &PTR__time_put_0038df08;" (assignment_expression "time_put_w = &PTR__time_put_0038df08" identifier = (pointer_expression "&PTR__time_put_0038df08" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ef48,(facet *)&::(anonymous_namespace)::time_put_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ef48,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ef48,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ef48" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::time_put_w)" : : identifier )) ;) (expression_statement "messages<wchar_t>::messages((messages<wchar_t> *)::(anonymous_namespace)::messages_w,1);" (binary_expression "messages<wchar_t>::messages((messages<wchar_t> *)::(anonymous_namespace)::messages_w,1)" (binary_expression "messages<wchar_t" identifier < identifier) > (ERROR "::" : :) (call_expression "messages((messages<wchar_t> *)::(anonymous_namespace)::messages_w,1)" identifier (argument_list "((messages<wchar_t> *)::(anonymous_namespace)::messages_w,1)" ( (parenthesized_expression "(messages<wchar_t> *)::(anonymous_namespace)" ( (binary_expression "messages<wchar_t> *)::(anonymous_namespace" (binary_expression "messages<wchar_t" identifier < identifier) > (pointer_expression "*)::(anonymous_namespace" * (ERROR ")::(" ) : : () identifier)) )) (ERROR "::messages_w" : : identifier) , number_literal )))) ;) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ef5c,(facet *)::(anonymous_namespace)::messages_w);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ef5c,(facet *)::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ef5c,(facet *)::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ef5c" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (ERROR "::(" : : () identifier) ))) (ERROR "::messages_w)" : : identifier )) ;) (expression_statement "_DAT_003973b4 = 1;" (assignment_expression "_DAT_003973b4 = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::codecvt_c16 = &PTR__codecvt_0038e858;" statement_identifier (ERROR "):" ) :) : (expression_statement "codecvt_c16 = &PTR__codecvt_0038e858;" (assignment_expression "codecvt_c16 = &PTR__codecvt_0038e858" identifier = (pointer_expression "&PTR__codecvt_0038e858" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038eb70,(facet *)&::(anonymous_namespace)::codecvt_c16);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038eb70,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038eb70,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038eb70" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::codecvt_c16)" : : identifier )) ;) (expression_statement "_DAT_003973ac = 1;" (assignment_expression "_DAT_003973ac = 1" identifier = number_literal) ;) (ERROR "::(" : : () (labeled_statement "anonymous_namespace)::codecvt_c32 = &PTR__codecvt_0038e884;" statement_identifier (ERROR "):" ) :) : (expression_statement "codecvt_c32 = &PTR__codecvt_0038e884;" (assignment_expression "codecvt_c32 = &PTR__codecvt_0038e884" identifier = (pointer_expression "&PTR__codecvt_0038e884" & identifier)) ;)) (expression_statement "_M_install_facet(this,(id *)PTR_id_0038ee64,(facet *)&::(anonymous_namespace)::codecvt_c32);" (call_expression "_M_install_facet(this,(id *)PTR_id_0038ee64,(facet *)&::(anonymous_namespace)" identifier (argument_list "(this,(id *)PTR_id_0038ee64,(facet *)&::(anonymous_namespace)" ( identifier , (cast_expression "(id *)PTR_id_0038ee64" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) ))) (ERROR "::codecvt_c32)" : : identifier )) ;) (expression_statement "local_34 = (facet *)&::(anonymous_namespace)::numpunct_cache_c;" (assignment_expression "local_34 = (facet *)&::(anonymous_namespace" identifier = (cast_expression "(facet *)&::(anonymous_namespace" ( (type_descriptor "facet *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier))) (ERROR ")::numpunct_cache_c" ) : : identifier) ;) (labeled_statement "local_30 = &::(anonymous_namespace)::moneypunct_cache_cf;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "moneypunct_cache_cf;" identifier ;)) (labeled_statement "local_2c = &::(anonymous_namespace)::moneypunct_cache_ct;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "moneypunct_cache_ct;" identifier ;)) (labeled_statement "local_28 = &::(anonymous_namespace)::numpunct_cache_w;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "numpunct_cache_w;" identifier ;)) (labeled_statement "local_24 = &::(anonymous_namespace)::moneypunct_cache_wf;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "moneypunct_cache_wf;" identifier ;)) (labeled_statement "local_20 = &::(anonymous_namespace)::moneypunct_cache_wt;" statement_identifier (ERROR "= &::(anonymous_namespace):" = & : : (parenthesized_expression "(anonymous_namespace)" ( identifier )) :) : (expression_statement "moneypunct_cache_wt;" identifier ;)) (expression_statement "_M_init_extra(this,&local_34);" (call_expression "_M_init_extra(this,&local_34)" identifier (argument_list "(this,&local_34)" ( identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "iVar5 = *(int *)(this + 0xc);" (assignment_expression "iVar5 = *(int *)(this + 0xc)" identifier = (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (ERROR "iVar3 = locale::" (assignment_expression "iVar3 = locale" identifier = identifier) : :) (labeled_statement "id::_M_id((id *)&numpunct<char>::id);" statement_identifier (ERROR "::_M_id((id *)&numpunct<char>:" : : identifier ( (binary_expression "(id *)&numpunct<char" (cast_expression "(id *)&numpunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&numpunct" & identifier)) < identifier) > :) : (expression_statement "id);" identifier (ERROR ")" )) ;)) (expression_statement "*(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::numpunct_cache_c;" (assignment_expression "*(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace" (pointer_expression "*(undefined ****)(iVar5 + iVar3 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar3 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar3 * 4)" ( (binary_expression "iVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::numpunct_cache_c" ) : : identifier) ;) (expression_statement "iVar5 = *(int *)(this + 0xc);" (assignment_expression "iVar5 = *(int *)(this + 0xc)" identifier = (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (ERROR "iVar4 = locale::" (assignment_expression "iVar4 = locale" identifier = identifier) : :) (labeled_statement "id::_M_id((id *)&moneypunct<char,false>::id);" statement_identifier : (ERROR ":" :) (expression_statement "_M_id((id *)&moneypunct<char,false>::id);" (call_expression "_M_id((id *)&moneypunct<char,false>::id)" identifier (argument_list "((id *)&moneypunct<char,false>::id)" ( (binary_expression "(id *)&moneypunct<char" (cast_expression "(id *)&moneypunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&moneypunct" & identifier)) < identifier) , (binary_expression "false>::id" false > (ERROR "::" : :) identifier) ))) ;)) (expression_statement "iVar3 = *(int *)(this + 0xc);" (assignment_expression "iVar3 = *(int *)(this + 0xc)" identifier = (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_cf;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar4 * 4)" ( (binary_expression "iVar5 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::moneypunct_cache_cf" ) : : identifier) ;) (ERROR "iVar5 = locale::" (assignment_expression "iVar5 = locale" identifier = identifier) : :) (labeled_statement "id::_M_id((id *)&moneypunct<char,true>::id);" statement_identifier : (ERROR ":" :) (expression_statement "_M_id((id *)&moneypunct<char,true>::id);" (call_expression "_M_id((id *)&moneypunct<char,true>::id)" identifier (argument_list "((id *)&moneypunct<char,true>::id)" ( (binary_expression "(id *)&moneypunct<char" (cast_expression "(id *)&moneypunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&moneypunct" & identifier)) < identifier) , (binary_expression "true>::id" true > (ERROR "::" : :) identifier) ))) ;)) (expression_statement "*(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::moneypunct_cache_ct;" (assignment_expression "*(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace" (pointer_expression "*(undefined ****)(iVar3 + iVar5 * 4)" * (cast_expression "(undefined ****)(iVar3 + iVar5 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar3 + iVar5 * 4)" ( (binary_expression "iVar3 + iVar5 * 4" identifier + (binary_expression "iVar5 * 4" identifier * number_literal)) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::moneypunct_cache_ct" ) : : identifier) ;) (expression_statement "iVar5 = *(int *)(this + 0xc);" (assignment_expression "iVar5 = *(int *)(this + 0xc)" identifier = (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (ERROR "iVar3 = locale::" (assignment_expression "iVar3 = locale" identifier = identifier) : :) (labeled_statement "id::_M_id((id *)&__timepunct<char>::id);" statement_identifier (ERROR "::_M_id((id *)&__timepunct<char>:" : : identifier ( (binary_expression "(id *)&__timepunct<char" (cast_expression "(id *)&__timepunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__timepunct" & identifier)) < identifier) > :) : (expression_statement "id);" identifier (ERROR ")" )) ;)) (expression_statement "*(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace)::timepunct_cache_c;" (assignment_expression "*(undefined ****)(iVar5 + iVar3 * 4) = &::(anonymous_namespace" (pointer_expression "*(undefined ****)(iVar5 + iVar3 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar3 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar3 * 4)" ( (binary_expression "iVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::timepunct_cache_c" ) : : identifier) ;) (expression_statement "iVar5 = *(int *)(this + 0xc);" (assignment_expression "iVar5 = *(int *)(this + 0xc)" identifier = (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (ERROR "iVar4 = locale::" (assignment_expression "iVar4 = locale" identifier = identifier) : :) (labeled_statement "id::_M_id((id *)&numpunct<wchar_t>::id);" statement_identifier (ERROR "::_M_id((id *)&numpunct<wchar_t>:" : : identifier ( (binary_expression "(id *)&numpunct<wchar_t" (cast_expression "(id *)&numpunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&numpunct" & identifier)) < identifier) > :) : (expression_statement "id);" identifier (ERROR ")" )) ;)) (expression_statement "iVar3 = *(int *)(this + 0xc);" (assignment_expression "iVar3 = *(int *)(this + 0xc)" identifier = (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::numpunct_cache_w;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar4 * 4)" ( (binary_expression "iVar5 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::numpunct_cache_w" ) : : identifier) ;) (ERROR "iVar4 = locale::" (assignment_expression "iVar4 = locale" identifier = identifier) : :) (labeled_statement "id::_M_id((id *)&moneypunct<wchar_t,false>::id);" statement_identifier : (ERROR ":" :) (expression_statement "_M_id((id *)&moneypunct<wchar_t,false>::id);" (call_expression "_M_id((id *)&moneypunct<wchar_t,false>::id)" identifier (argument_list "((id *)&moneypunct<wchar_t,false>::id)" ( (binary_expression "(id *)&moneypunct<wchar_t" (cast_expression "(id *)&moneypunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&moneypunct" & identifier)) < identifier) , (binary_expression "false>::id" false > (ERROR "::" : :) identifier) ))) ;)) (expression_statement "iVar5 = *(int *)(this + 0xc);" (assignment_expression "iVar5 = *(int *)(this + 0xc)" identifier = (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ****)(iVar3 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wf;" (assignment_expression "*(undefined ****)(iVar3 + iVar4 * 4) = &::(anonymous_namespace" (pointer_expression "*(undefined ****)(iVar3 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar3 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar3 + iVar4 * 4)" ( (binary_expression "iVar3 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::moneypunct_cache_wf" ) : : identifier) ;) (ERROR "iVar4 = locale::" (assignment_expression "iVar4 = locale" identifier = identifier) : :) (labeled_statement "id::_M_id((id *)&moneypunct<wchar_t,true>::id);" statement_identifier : (ERROR ":" :) (expression_statement "_M_id((id *)&moneypunct<wchar_t,true>::id);" (call_expression "_M_id((id *)&moneypunct<wchar_t,true>::id)" identifier (argument_list "((id *)&moneypunct<wchar_t,true>::id)" ( (binary_expression "(id *)&moneypunct<wchar_t" (cast_expression "(id *)&moneypunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&moneypunct" & identifier)) < identifier) , (binary_expression "true>::id" true > (ERROR "::" : :) identifier) ))) ;)) (expression_statement "iVar3 = *(int *)(this + 0xc);" (assignment_expression "iVar3 = *(int *)(this + 0xc)" identifier = (pointer_expression "*(int *)(this + 0xc)" * (cast_expression "(int *)(this + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc)" ( (binary_expression "this + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace)::moneypunct_cache_wt;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &::(anonymous_namespace" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar4 * 4)" ( (binary_expression "iVar5 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::moneypunct_cache_wt" ) : : identifier) ;) (ERROR "iVar5 = locale::" (assignment_expression "iVar5 = locale" identifier = identifier) : :) (labeled_statement "id::_M_id((id *)&__timepunct<wchar_t>::id);" statement_identifier (ERROR "::_M_id((id *)&__timepunct<wchar_t>:" : : identifier ( (binary_expression "(id *)&__timepunct<wchar_t" (cast_expression "(id *)&__timepunct" ( (type_descriptor "id *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__timepunct" & identifier)) < identifier) > :) : (expression_statement "id);" identifier (ERROR ")" )) ;)) (expression_statement "*(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace)::timepunct_cache_w;" (assignment_expression "*(undefined ****)(iVar3 + iVar5 * 4) = &::(anonymous_namespace" (pointer_expression "*(undefined ****)(iVar3 + iVar5 * 4)" * (cast_expression "(undefined ****)(iVar3 + iVar5 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar3 + iVar5 * 4)" ( (binary_expression "iVar3 + iVar5 * 4" identifier + (binary_expression "iVar5 * 4" identifier * number_literal)) )))) = (pointer_expression "&::(anonymous_namespace" & (ERROR "::(" : : () identifier)) (ERROR ")::timepunct_cache_w" ) : : identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00237040(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  param_1[2] = 0x2e;\n  puVar1 = &DAT_00397cc0;\n  *param_1 = param_2;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);\n  param_1[1] = &DAT_00397cc0;\n  puVar1 = &DAT_00397c00;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  param_1[3] = &DAT_00397c00;\n  puVar1 = &DAT_00397da0;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);\n  param_1[4] = &DAT_00397da0;\n  DAT_00397da0 = &DAT_00397d78;\n  puVar2 = (undefined2 *)FUN_001e9300();\n  DAT_00397d78 = *puVar2;\n                    \n  FUN_00221ab0(&DAT_003979e0,0,0,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);\n  FUN_002387b0(&DAT_003979ac,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);\n  DAT_00397344 = 1;\n  DAT_00397348 = 0;\n  DAT_0039734c = 0;\n  DAT_00397340 = &PTR_FUN_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  DAT_003979c8 = &PTR_FUN_0038e564;\n  DAT_003979d0 = &DAT_00397340;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    \n  FUN_00230a30(&DAT_003979c8,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);\n  DAT_003979c4 = 1;\n  DAT_003979c0 = &PTR_FUN_0038c40c;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);\n  DAT_003979bc = 1;\n  DAT_003979b8 = &PTR_FUN_0038c448;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);\n  DAT_003979d8 = 1;\n  DAT_003979d4 = &PTR_FUN_0038e52c;\n                    \n  DAT_003979dc = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);\n  DAT_00397284 = 1;\n  DAT_00397280 = &PTR_FUN_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  DAT_00397994 = &PTR_FUN_0038e5e0;\n  DAT_0039799c = &DAT_00397280;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    \n  FUN_00231560(&DAT_00397994,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);\n  DAT_003972e4 = 1;\n  DAT_003972e0 = &PTR_FUN_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  DAT_003979a0 = &PTR_FUN_0038e5ac;\n  DAT_003979a8 = &DAT_003972e0;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    \n  FUN_00231020(&DAT_003979a0,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);\n  DAT_00397990 = 1;\n  DAT_0039798c = &PTR_FUN_0038e698;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);\n  DAT_00397988 = 1;\n  DAT_00397984 = &PTR_FUN_0038e6b0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);\n  DAT_003971a4 = 1;\n  DAT_003971a8 = 0;\n  DAT_003971ac = 0;\n  DAT_003971a0 = &PTR_FUN_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);\n  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);\n  DAT_0039796c = 1;\n  DAT_00397968 = &PTR_FUN_0038e6c8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);\n  DAT_00397964 = 1;\n  DAT_00397960 = &PTR_FUN_0038c60c;\n  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);\n  FUN_002638b0(&DAT_00397950,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);\n  FUN_0022cd90(&DAT_00397460,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);\n  FUN_00238840(&DAT_00397414,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);\n  DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  DAT_00397060 = &PTR_FUN_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  DAT_00397430 = &PTR_FUN_0038e25c;\n  DAT_00397438 = &DAT_00397060;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    \n  FUN_00230d40(&DAT_00397430,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);\n  DAT_0039742c = 1;\n  DAT_00397428 = &PTR_FUN_0038dd08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);\n  DAT_00397424 = 1;\n  DAT_00397420 = &PTR_FUN_0038dd44;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);\n  DAT_00397440 = 1;\n  DAT_0039743c = &PTR_FUN_0038e224;\n                    \n  DAT_00397444 = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);\n  DAT_00396f64 = 1;\n  DAT_00396f60 = &PTR_FUN_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  DAT_003973fc = &PTR_FUN_0038e2d8;\n  DAT_00397404 = &DAT_00396f60;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    \n  FUN_00232310(&DAT_003973fc,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);\n  DAT_00396fe4 = 1;\n  DAT_00396fe0 = &PTR_FUN_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  DAT_00397408 = &PTR_FUN_0038e2a4;\n  DAT_00397410 = &DAT_00396fe0;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    \n  FUN_00231d40(&DAT_00397408,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);\n  DAT_003973f8 = 1;\n  DAT_003973f4 = &PTR_FUN_0038e390;\n  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);\n  DAT_003973f0 = 1;\n  DAT_003973ec = &PTR_FUN_0038e3a8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);\n  DAT_00396e84 = 1;\n  DAT_00396e88 = 0;\n  DAT_00396e8c = 0;\n  DAT_00396e80 = &PTR_FUN_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);\n  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);\n  DAT_003973d4 = 1;\n  DAT_003973d0 = &PTR_FUN_0038e3c0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);\n  DAT_003973cc = 1;\n  DAT_003973c8 = &PTR_FUN_0038df08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);\n  FUN_00255090(&DAT_003973b8,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);\n  DAT_003973b4 = 1;\n  DAT_003973b0 = &PTR_FUN_0038e858;\n  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);\n  DAT_003973ac = 1;\n  DAT_003973a8 = &PTR_FUN_0038e884;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);\n  local_34 = &DAT_00397340;\n  local_30 = &DAT_00397280;\n  local_2c = &DAT_003972e0;\n  local_28 = &DAT_00397060;\n  local_24 = &DAT_00396f60;\n  local_20 = &DAT_00396fe0;\n  FUN_0026c420(param_1,&local_34);\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00397f4c);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397f5c);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;\n  iVar5 = FUN_001e9750(&DAT_00397f58);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00396de0);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397eec);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;\n  iVar4 = FUN_001e9750(&DAT_00397efc);\n  iVar5 = param_1[3];\n  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;\n  iVar4 = FUN_001e9750(&DAT_00397ef8);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;\n  iVar5 = FUN_001e9750(&DAT_00397e80);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;\n  return;\n}\n\n" (function_definition "void FUN_00237040(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  param_1[2] = 0x2e;\n  puVar1 = &DAT_00397cc0;\n  *param_1 = param_2;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);\n  param_1[1] = &DAT_00397cc0;\n  puVar1 = &DAT_00397c00;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  param_1[3] = &DAT_00397c00;\n  puVar1 = &DAT_00397da0;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);\n  param_1[4] = &DAT_00397da0;\n  DAT_00397da0 = &DAT_00397d78;\n  puVar2 = (undefined2 *)FUN_001e9300();\n  DAT_00397d78 = *puVar2;\n                    \n  FUN_00221ab0(&DAT_003979e0,0,0,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);\n  FUN_002387b0(&DAT_003979ac,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);\n  DAT_00397344 = 1;\n  DAT_00397348 = 0;\n  DAT_0039734c = 0;\n  DAT_00397340 = &PTR_FUN_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  DAT_003979c8 = &PTR_FUN_0038e564;\n  DAT_003979d0 = &DAT_00397340;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    \n  FUN_00230a30(&DAT_003979c8,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);\n  DAT_003979c4 = 1;\n  DAT_003979c0 = &PTR_FUN_0038c40c;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);\n  DAT_003979bc = 1;\n  DAT_003979b8 = &PTR_FUN_0038c448;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);\n  DAT_003979d8 = 1;\n  DAT_003979d4 = &PTR_FUN_0038e52c;\n                    \n  DAT_003979dc = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);\n  DAT_00397284 = 1;\n  DAT_00397280 = &PTR_FUN_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  DAT_00397994 = &PTR_FUN_0038e5e0;\n  DAT_0039799c = &DAT_00397280;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    \n  FUN_00231560(&DAT_00397994,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);\n  DAT_003972e4 = 1;\n  DAT_003972e0 = &PTR_FUN_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  DAT_003979a0 = &PTR_FUN_0038e5ac;\n  DAT_003979a8 = &DAT_003972e0;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    \n  FUN_00231020(&DAT_003979a0,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);\n  DAT_00397990 = 1;\n  DAT_0039798c = &PTR_FUN_0038e698;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);\n  DAT_00397988 = 1;\n  DAT_00397984 = &PTR_FUN_0038e6b0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);\n  DAT_003971a4 = 1;\n  DAT_003971a8 = 0;\n  DAT_003971ac = 0;\n  DAT_003971a0 = &PTR_FUN_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);\n  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);\n  DAT_0039796c = 1;\n  DAT_00397968 = &PTR_FUN_0038e6c8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);\n  DAT_00397964 = 1;\n  DAT_00397960 = &PTR_FUN_0038c60c;\n  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);\n  FUN_002638b0(&DAT_00397950,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);\n  FUN_0022cd90(&DAT_00397460,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);\n  FUN_00238840(&DAT_00397414,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);\n  DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  DAT_00397060 = &PTR_FUN_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  DAT_00397430 = &PTR_FUN_0038e25c;\n  DAT_00397438 = &DAT_00397060;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    \n  FUN_00230d40(&DAT_00397430,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);\n  DAT_0039742c = 1;\n  DAT_00397428 = &PTR_FUN_0038dd08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);\n  DAT_00397424 = 1;\n  DAT_00397420 = &PTR_FUN_0038dd44;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);\n  DAT_00397440 = 1;\n  DAT_0039743c = &PTR_FUN_0038e224;\n                    \n  DAT_00397444 = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);\n  DAT_00396f64 = 1;\n  DAT_00396f60 = &PTR_FUN_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  DAT_003973fc = &PTR_FUN_0038e2d8;\n  DAT_00397404 = &DAT_00396f60;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    \n  FUN_00232310(&DAT_003973fc,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);\n  DAT_00396fe4 = 1;\n  DAT_00396fe0 = &PTR_FUN_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  DAT_00397408 = &PTR_FUN_0038e2a4;\n  DAT_00397410 = &DAT_00396fe0;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    \n  FUN_00231d40(&DAT_00397408,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);\n  DAT_003973f8 = 1;\n  DAT_003973f4 = &PTR_FUN_0038e390;\n  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);\n  DAT_003973f0 = 1;\n  DAT_003973ec = &PTR_FUN_0038e3a8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);\n  DAT_00396e84 = 1;\n  DAT_00396e88 = 0;\n  DAT_00396e8c = 0;\n  DAT_00396e80 = &PTR_FUN_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);\n  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);\n  DAT_003973d4 = 1;\n  DAT_003973d0 = &PTR_FUN_0038e3c0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);\n  DAT_003973cc = 1;\n  DAT_003973c8 = &PTR_FUN_0038df08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);\n  FUN_00255090(&DAT_003973b8,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);\n  DAT_003973b4 = 1;\n  DAT_003973b0 = &PTR_FUN_0038e858;\n  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);\n  DAT_003973ac = 1;\n  DAT_003973a8 = &PTR_FUN_0038e884;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);\n  local_34 = &DAT_00397340;\n  local_30 = &DAT_00397280;\n  local_2c = &DAT_003972e0;\n  local_28 = &DAT_00397060;\n  local_24 = &DAT_00396f60;\n  local_20 = &DAT_00396fe0;\n  FUN_0026c420(param_1,&local_34);\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00397f4c);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397f5c);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;\n  iVar5 = FUN_001e9750(&DAT_00397f58);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00396de0);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397eec);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;\n  iVar4 = FUN_001e9750(&DAT_00397efc);\n  iVar5 = param_1[3];\n  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;\n  iVar4 = FUN_001e9750(&DAT_00397ef8);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;\n  iVar5 = FUN_001e9750(&DAT_00397e80);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;\n  return;\n}" primitive_type (function_declarator "FUN_00237040(undefined4 *param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  param_1[2] = 0x2e;\n  puVar1 = &DAT_00397cc0;\n  *param_1 = param_2;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);\n  param_1[1] = &DAT_00397cc0;\n  puVar1 = &DAT_00397c00;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  param_1[3] = &DAT_00397c00;\n  puVar1 = &DAT_00397da0;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);\n  param_1[4] = &DAT_00397da0;\n  DAT_00397da0 = &DAT_00397d78;\n  puVar2 = (undefined2 *)FUN_001e9300();\n  DAT_00397d78 = *puVar2;\n                    \n  FUN_00221ab0(&DAT_003979e0,0,0,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);\n  FUN_002387b0(&DAT_003979ac,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);\n  DAT_00397344 = 1;\n  DAT_00397348 = 0;\n  DAT_0039734c = 0;\n  DAT_00397340 = &PTR_FUN_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  DAT_003979c8 = &PTR_FUN_0038e564;\n  DAT_003979d0 = &DAT_00397340;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    \n  FUN_00230a30(&DAT_003979c8,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);\n  DAT_003979c4 = 1;\n  DAT_003979c0 = &PTR_FUN_0038c40c;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);\n  DAT_003979bc = 1;\n  DAT_003979b8 = &PTR_FUN_0038c448;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);\n  DAT_003979d8 = 1;\n  DAT_003979d4 = &PTR_FUN_0038e52c;\n                    \n  DAT_003979dc = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);\n  DAT_00397284 = 1;\n  DAT_00397280 = &PTR_FUN_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  DAT_00397994 = &PTR_FUN_0038e5e0;\n  DAT_0039799c = &DAT_00397280;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    \n  FUN_00231560(&DAT_00397994,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);\n  DAT_003972e4 = 1;\n  DAT_003972e0 = &PTR_FUN_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  DAT_003979a0 = &PTR_FUN_0038e5ac;\n  DAT_003979a8 = &DAT_003972e0;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    \n  FUN_00231020(&DAT_003979a0,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);\n  DAT_00397990 = 1;\n  DAT_0039798c = &PTR_FUN_0038e698;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);\n  DAT_00397988 = 1;\n  DAT_00397984 = &PTR_FUN_0038e6b0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);\n  DAT_003971a4 = 1;\n  DAT_003971a8 = 0;\n  DAT_003971ac = 0;\n  DAT_003971a0 = &PTR_FUN_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);\n  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);\n  DAT_0039796c = 1;\n  DAT_00397968 = &PTR_FUN_0038e6c8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);\n  DAT_00397964 = 1;\n  DAT_00397960 = &PTR_FUN_0038c60c;\n  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);\n  FUN_002638b0(&DAT_00397950,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);\n  FUN_0022cd90(&DAT_00397460,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);\n  FUN_00238840(&DAT_00397414,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);\n  DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  DAT_00397060 = &PTR_FUN_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  DAT_00397430 = &PTR_FUN_0038e25c;\n  DAT_00397438 = &DAT_00397060;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    \n  FUN_00230d40(&DAT_00397430,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);\n  DAT_0039742c = 1;\n  DAT_00397428 = &PTR_FUN_0038dd08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);\n  DAT_00397424 = 1;\n  DAT_00397420 = &PTR_FUN_0038dd44;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);\n  DAT_00397440 = 1;\n  DAT_0039743c = &PTR_FUN_0038e224;\n                    \n  DAT_00397444 = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);\n  DAT_00396f64 = 1;\n  DAT_00396f60 = &PTR_FUN_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  DAT_003973fc = &PTR_FUN_0038e2d8;\n  DAT_00397404 = &DAT_00396f60;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    \n  FUN_00232310(&DAT_003973fc,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);\n  DAT_00396fe4 = 1;\n  DAT_00396fe0 = &PTR_FUN_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  DAT_00397408 = &PTR_FUN_0038e2a4;\n  DAT_00397410 = &DAT_00396fe0;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    \n  FUN_00231d40(&DAT_00397408,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);\n  DAT_003973f8 = 1;\n  DAT_003973f4 = &PTR_FUN_0038e390;\n  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);\n  DAT_003973f0 = 1;\n  DAT_003973ec = &PTR_FUN_0038e3a8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);\n  DAT_00396e84 = 1;\n  DAT_00396e88 = 0;\n  DAT_00396e8c = 0;\n  DAT_00396e80 = &PTR_FUN_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);\n  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);\n  DAT_003973d4 = 1;\n  DAT_003973d0 = &PTR_FUN_0038e3c0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);\n  DAT_003973cc = 1;\n  DAT_003973c8 = &PTR_FUN_0038df08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);\n  FUN_00255090(&DAT_003973b8,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);\n  DAT_003973b4 = 1;\n  DAT_003973b0 = &PTR_FUN_0038e858;\n  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);\n  DAT_003973ac = 1;\n  DAT_003973a8 = &PTR_FUN_0038e884;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);\n  local_34 = &DAT_00397340;\n  local_30 = &DAT_00397280;\n  local_2c = &DAT_003972e0;\n  local_28 = &DAT_00397060;\n  local_24 = &DAT_00396f60;\n  local_20 = &DAT_00396fe0;\n  FUN_0026c420(param_1,&local_34);\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00397f4c);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397f5c);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;\n  iVar5 = FUN_001e9750(&DAT_00397f58);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00396de0);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397eec);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;\n  iVar4 = FUN_001e9750(&DAT_00397efc);\n  iVar5 = param_1[3];\n  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;\n  iVar4 = FUN_001e9750(&DAT_00397ef8);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;\n  iVar5 = FUN_001e9750(&DAT_00397e80);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;\n  return;\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined2 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "undefined4 *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "undefined4 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "undefined4 *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "param_1[2] = 0x2e;" (assignment_expression "param_1[2] = 0x2e" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar1 = &DAT_00397cc0;" (assignment_expression "puVar1 = &DAT_00397cc0" identifier = (pointer_expression "&DAT_00397cc0" & identifier)) ;) (expression_statement "*param_1 = param_2;" (assignment_expression "*param_1 = param_2" (pointer_expression "*param_1" * identifier) = identifier) ;) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);" do (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" { (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" identifier = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397d78)" ( (binary_expression "puVar1 != (undefined4 *)&DAT_00397d78" identifier != (cast_expression "(undefined4 *)&DAT_00397d78" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00397d78" & identifier))) )) ;) (expression_statement "param_1[1] = &DAT_00397cc0;" (assignment_expression "param_1[1] = &DAT_00397cc0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (pointer_expression "&DAT_00397cc0" & identifier)) ;) (expression_statement "puVar1 = &DAT_00397c00;" (assignment_expression "puVar1 = &DAT_00397c00" identifier = (pointer_expression "&DAT_00397c00" & identifier)) ;) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);" do (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" { (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" identifier = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397cb8)" ( (binary_expression "puVar1 != (undefined4 *)&DAT_00397cb8" identifier != (cast_expression "(undefined4 *)&DAT_00397cb8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00397cb8" & identifier))) )) ;) (expression_statement "param_1[3] = &DAT_00397c00;" (assignment_expression "param_1[3] = &DAT_00397c00" (subscript_expression "param_1[3]" identifier [ number_literal ]) = (pointer_expression "&DAT_00397c00" & identifier)) ;) (expression_statement "puVar1 = &DAT_00397da0;" (assignment_expression "puVar1 = &DAT_00397da0" identifier = (pointer_expression "&DAT_00397da0" & identifier)) ;) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);" do (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" { (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" * identifier) = number_literal) ;) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" identifier = (binary_expression "puVar1 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397dd0)" ( (binary_expression "puVar1 != (undefined4 *)&DAT_00397dd0" identifier != (cast_expression "(undefined4 *)&DAT_00397dd0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00397dd0" & identifier))) )) ;) (expression_statement "param_1[4] = &DAT_00397da0;" (assignment_expression "param_1[4] = &DAT_00397da0" (subscript_expression "param_1[4]" identifier [ number_literal ]) = (pointer_expression "&DAT_00397da0" & identifier)) ;) (expression_statement "DAT_00397da0 = &DAT_00397d78;" (assignment_expression "DAT_00397da0 = &DAT_00397d78" identifier = (pointer_expression "&DAT_00397d78" & identifier)) ;) (expression_statement "puVar2 = (undefined2 *)FUN_001e9300();" (assignment_expression "puVar2 = (undefined2 *)FUN_001e9300()" identifier = (cast_expression "(undefined2 *)FUN_001e9300()" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e9300()" identifier (argument_list "()" ( ))))) ;) (expression_statement "DAT_00397d78 = *puVar2;" (assignment_expression "DAT_00397d78 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "FUN_00221ab0(&DAT_003979e0,0,0,1);" (call_expression "FUN_00221ab0(&DAT_003979e0,0,0,1)" identifier (argument_list "(&DAT_003979e0,0,0,1)" ( (pointer_expression "&DAT_003979e0" & identifier) , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0)" identifier (argument_list "(param_1,PTR_DAT_0038efa8,&DAT_003979e0)" ( identifier , identifier , (pointer_expression "&DAT_003979e0" & identifier) ))) ;) (expression_statement "FUN_002387b0(&DAT_003979ac,1);" (call_expression "FUN_002387b0(&DAT_003979ac,1)" identifier (argument_list "(&DAT_003979ac,1)" ( (pointer_expression "&DAT_003979ac" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac)" identifier (argument_list "(param_1,PTR_DAT_0038edec,&DAT_003979ac)" ( identifier , identifier , (pointer_expression "&DAT_003979ac" & identifier) ))) ;) (expression_statement "DAT_00397344 = 1;" (assignment_expression "DAT_00397344 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397348 = 0;" (assignment_expression "DAT_00397348 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039734c = 0;" (assignment_expression "DAT_0039734c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397340 = &PTR_FUN_0038c6c0;" (assignment_expression "DAT_00397340 = &PTR_FUN_0038c6c0" identifier = (pointer_expression "&PTR_FUN_0038c6c0" & identifier)) ;) (expression_statement "DAT_00397350 = 0;" (assignment_expression "DAT_00397350 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397354 = 0;" (assignment_expression "DAT_00397354 = 0" identifier = number_literal) ;) (expression_statement "DAT_003979c8 = &PTR_FUN_0038e564;" (assignment_expression "DAT_003979c8 = &PTR_FUN_0038e564" identifier = (pointer_expression "&PTR_FUN_0038e564" & identifier)) ;) (expression_statement "DAT_003979d0 = &DAT_00397340;" (assignment_expression "DAT_003979d0 = &DAT_00397340" identifier = (pointer_expression "&DAT_00397340" & identifier)) ;) (expression_statement "DAT_00397358 = 0;" (assignment_expression "DAT_00397358 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039735c = 0;" (assignment_expression "DAT_0039735c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397360 = 0;" (assignment_expression "DAT_00397360 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397364 = 0;" (assignment_expression "DAT_00397364 = 0" identifier = number_literal) ;) (expression_statement "DAT_003973a4 = 0;" (assignment_expression "DAT_003973a4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003979cc = 1;" (assignment_expression "DAT_003979cc = 1" identifier = number_literal) ;) (expression_statement "FUN_00230a30(&DAT_003979c8,0);" (call_expression "FUN_00230a30(&DAT_003979c8,0)" identifier (argument_list "(&DAT_003979c8,0)" ( (pointer_expression "&DAT_003979c8" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);" (call_expression "FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8)" identifier (argument_list "(param_1,&DAT_00397f4c,&DAT_003979c8)" ( identifier , (pointer_expression "&DAT_00397f4c" & identifier) , (pointer_expression "&DAT_003979c8" & identifier) ))) ;) (expression_statement "DAT_003979c4 = 1;" (assignment_expression "DAT_003979c4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003979c0 = &PTR_FUN_0038c40c;" (assignment_expression "DAT_003979c0 = &PTR_FUN_0038c40c" identifier = (pointer_expression "&PTR_FUN_0038c40c" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0)" identifier (argument_list "(param_1,PTR_DAT_0038ecc4,&DAT_003979c0)" ( identifier , identifier , (pointer_expression "&DAT_003979c0" & identifier) ))) ;) (expression_statement "DAT_003979bc = 1;" (assignment_expression "DAT_003979bc = 1" identifier = number_literal) ;) (expression_statement "DAT_003979b8 = &PTR_FUN_0038c448;" (assignment_expression "DAT_003979b8 = &PTR_FUN_0038c448" identifier = (pointer_expression "&PTR_FUN_0038c448" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8)" identifier (argument_list "(param_1,PTR_DAT_0038ed08,&DAT_003979b8)" ( identifier , identifier , (pointer_expression "&DAT_003979b8" & identifier) ))) ;) (expression_statement "DAT_003979d8 = 1;" (assignment_expression "DAT_003979d8 = 1" identifier = number_literal) ;) (expression_statement "DAT_003979d4 = &PTR_FUN_0038e52c;" (assignment_expression "DAT_003979d4 = &PTR_FUN_0038e52c" identifier = (pointer_expression "&PTR_FUN_0038e52c" & identifier)) ;) (expression_statement "DAT_003979dc = FUN_001e92a0();" (assignment_expression "DAT_003979dc = FUN_001e92a0()" identifier = (call_expression "FUN_001e92a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4)" identifier (argument_list "(param_1,PTR_DAT_0038eb40,&DAT_003979d4)" ( identifier , identifier , (pointer_expression "&DAT_003979d4" & identifier) ))) ;) (expression_statement "DAT_00397284 = 1;" (assignment_expression "DAT_00397284 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397280 = &PTR_FUN_0038c6a0;" (assignment_expression "DAT_00397280 = &PTR_FUN_0038c6a0" identifier = (pointer_expression "&PTR_FUN_0038c6a0" & identifier)) ;) (expression_statement "DAT_00397290 = 0;" (assignment_expression "DAT_00397290 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397288 = 0;" (assignment_expression "DAT_00397288 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039728c = 0;" (assignment_expression "DAT_0039728c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397994 = &PTR_FUN_0038e5e0;" (assignment_expression "DAT_00397994 = &PTR_FUN_0038e5e0" identifier = (pointer_expression "&PTR_FUN_0038e5e0" & identifier)) ;) (expression_statement "DAT_0039799c = &DAT_00397280;" (assignment_expression "DAT_0039799c = &DAT_00397280" identifier = (pointer_expression "&DAT_00397280" & identifier)) ;) (expression_statement "DAT_00397292 = 0;" (assignment_expression "DAT_00397292 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397294 = 0;" (assignment_expression "DAT_00397294 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397298 = 0;" (assignment_expression "DAT_00397298 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039729c = 0;" (assignment_expression "DAT_0039729c = 0" identifier = number_literal) ;) (expression_statement "DAT_003972a0 = 0;" (assignment_expression "DAT_003972a0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972a4 = 0;" (assignment_expression "DAT_003972a4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972a8 = 0;" (assignment_expression "DAT_003972a8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972ac = 0;" (assignment_expression "DAT_003972ac = 0" identifier = number_literal) ;) (expression_statement "DAT_003972b0 = 0;" (assignment_expression "DAT_003972b0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972b4 = 0;" (assignment_expression "DAT_003972b4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972c3 = 0;" (assignment_expression "DAT_003972c3 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397998 = 1;" (assignment_expression "DAT_00397998 = 1" identifier = number_literal) ;) (expression_statement "FUN_00231560(&DAT_00397994,0,0);" (call_expression "FUN_00231560(&DAT_00397994,0,0)" identifier (argument_list "(&DAT_00397994,0,0)" ( (pointer_expression "&DAT_00397994" & identifier) , number_literal , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);" (call_expression "FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994)" identifier (argument_list "(param_1,&DAT_00397f5c,&DAT_00397994)" ( identifier , (pointer_expression "&DAT_00397f5c" & identifier) , (pointer_expression "&DAT_00397994" & identifier) ))) ;) (expression_statement "DAT_003972e4 = 1;" (assignment_expression "DAT_003972e4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003972e0 = &PTR_FUN_0038c6b0;" (assignment_expression "DAT_003972e0 = &PTR_FUN_0038c6b0" identifier = (pointer_expression "&PTR_FUN_0038c6b0" & identifier)) ;) (expression_statement "DAT_003972f0 = 0;" (assignment_expression "DAT_003972f0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972e8 = 0;" (assignment_expression "DAT_003972e8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972ec = 0;" (assignment_expression "DAT_003972ec = 0" identifier = number_literal) ;) (expression_statement "DAT_003979a0 = &PTR_FUN_0038e5ac;" (assignment_expression "DAT_003979a0 = &PTR_FUN_0038e5ac" identifier = (pointer_expression "&PTR_FUN_0038e5ac" & identifier)) ;) (expression_statement "DAT_003979a8 = &DAT_003972e0;" (assignment_expression "DAT_003979a8 = &DAT_003972e0" identifier = (pointer_expression "&DAT_003972e0" & identifier)) ;) (expression_statement "DAT_003972f2 = 0;" (assignment_expression "DAT_003972f2 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972f4 = 0;" (assignment_expression "DAT_003972f4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972f8 = 0;" (assignment_expression "DAT_003972f8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003972fc = 0;" (assignment_expression "DAT_003972fc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397300 = 0;" (assignment_expression "DAT_00397300 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397304 = 0;" (assignment_expression "DAT_00397304 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397308 = 0;" (assignment_expression "DAT_00397308 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039730c = 0;" (assignment_expression "DAT_0039730c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397310 = 0;" (assignment_expression "DAT_00397310 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397314 = 0;" (assignment_expression "DAT_00397314 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397323 = 0;" (assignment_expression "DAT_00397323 = 0" identifier = number_literal) ;) (expression_statement "DAT_003979a4 = 1;" (assignment_expression "DAT_003979a4 = 1" identifier = number_literal) ;) (expression_statement "FUN_00231020(&DAT_003979a0,0,0);" (call_expression "FUN_00231020(&DAT_003979a0,0,0)" identifier (argument_list "(&DAT_003979a0,0,0)" ( (pointer_expression "&DAT_003979a0" & identifier) , number_literal , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);" (call_expression "FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0)" identifier (argument_list "(param_1,&DAT_00397f58,&DAT_003979a0)" ( identifier , (pointer_expression "&DAT_00397f58" & identifier) , (pointer_expression "&DAT_003979a0" & identifier) ))) ;) (expression_statement "DAT_00397990 = 1;" (assignment_expression "DAT_00397990 = 1" identifier = number_literal) ;) (expression_statement "DAT_0039798c = &PTR_FUN_0038e698;" (assignment_expression "DAT_0039798c = &PTR_FUN_0038e698" identifier = (pointer_expression "&PTR_FUN_0038e698" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c)" identifier (argument_list "(param_1,PTR_DAT_0038ed64,&DAT_0039798c)" ( identifier , identifier , (pointer_expression "&DAT_0039798c" & identifier) ))) ;) (expression_statement "DAT_00397988 = 1;" (assignment_expression "DAT_00397988 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397984 = &PTR_FUN_0038e6b0;" (assignment_expression "DAT_00397984 = &PTR_FUN_0038e6b0" identifier = (pointer_expression "&PTR_FUN_0038e6b0" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984)" identifier (argument_list "(param_1,PTR_DAT_0038ec70,&DAT_00397984)" ( identifier , identifier , (pointer_expression "&DAT_00397984" & identifier) ))) ;) (expression_statement "DAT_003971a4 = 1;" (assignment_expression "DAT_003971a4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003971a8 = 0;" (assignment_expression "DAT_003971a8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971ac = 0;" (assignment_expression "DAT_003971ac = 0" identifier = number_literal) ;) (expression_statement "DAT_003971a0 = &PTR_FUN_0038c478;" (assignment_expression "DAT_003971a0 = &PTR_FUN_0038c478" identifier = (pointer_expression "&PTR_FUN_0038c478" & identifier)) ;) (expression_statement "DAT_003971b0 = 0;" (assignment_expression "DAT_003971b0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971b4 = 0;" (assignment_expression "DAT_003971b4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971b8 = 0;" (assignment_expression "DAT_003971b8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971bc = 0;" (assignment_expression "DAT_003971bc = 0" identifier = number_literal) ;) (expression_statement "DAT_003971c0 = 0;" (assignment_expression "DAT_003971c0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971c4 = 0;" (assignment_expression "DAT_003971c4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971c8 = 0;" (assignment_expression "DAT_003971c8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971cc = 0;" (assignment_expression "DAT_003971cc = 0" identifier = number_literal) ;) (expression_statement "DAT_003971d0 = 0;" (assignment_expression "DAT_003971d0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971d4 = 0;" (assignment_expression "DAT_003971d4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971d8 = 0;" (assignment_expression "DAT_003971d8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971dc = 0;" (assignment_expression "DAT_003971dc = 0" identifier = number_literal) ;) (expression_statement "DAT_003971e0 = 0;" (assignment_expression "DAT_003971e0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971e4 = 0;" (assignment_expression "DAT_003971e4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971e8 = 0;" (assignment_expression "DAT_003971e8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971ec = 0;" (assignment_expression "DAT_003971ec = 0" identifier = number_literal) ;) (expression_statement "DAT_003971f0 = 0;" (assignment_expression "DAT_003971f0 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971f4 = 0;" (assignment_expression "DAT_003971f4 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971f8 = 0;" (assignment_expression "DAT_003971f8 = 0" identifier = number_literal) ;) (expression_statement "DAT_003971fc = 0;" (assignment_expression "DAT_003971fc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397200 = 0;" (assignment_expression "DAT_00397200 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397204 = 0;" (assignment_expression "DAT_00397204 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397208 = 0;" (assignment_expression "DAT_00397208 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039720c = 0;" (assignment_expression "DAT_0039720c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397210 = 0;" (assignment_expression "DAT_00397210 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397214 = 0;" (assignment_expression "DAT_00397214 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397218 = 0;" (assignment_expression "DAT_00397218 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039721c = 0;" (assignment_expression "DAT_0039721c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397220 = 0;" (assignment_expression "DAT_00397220 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397224 = 0;" (assignment_expression "DAT_00397224 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397228 = 0;" (assignment_expression "DAT_00397228 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039722c = 0;" (assignment_expression "DAT_0039722c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397230 = 0;" (assignment_expression "DAT_00397230 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397234 = 0;" (assignment_expression "DAT_00397234 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397238 = 0;" (assignment_expression "DAT_00397238 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039723c = 0;" (assignment_expression "DAT_0039723c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397240 = 0;" (assignment_expression "DAT_00397240 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397244 = 0;" (assignment_expression "DAT_00397244 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397248 = 0;" (assignment_expression "DAT_00397248 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039724c = 0;" (assignment_expression "DAT_0039724c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397250 = 0;" (assignment_expression "DAT_00397250 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397254 = 0;" (assignment_expression "DAT_00397254 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397258 = 0;" (assignment_expression "DAT_00397258 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039725c = 0;" (assignment_expression "DAT_0039725c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397260 = 0;" (assignment_expression "DAT_00397260 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397264 = 0;" (assignment_expression "DAT_00397264 = 0" identifier = number_literal) ;) (expression_statement "FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);" (call_expression "FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1)" identifier (argument_list "(&DAT_00397970,&DAT_003971a0,1)" ( (pointer_expression "&DAT_00397970" & identifier) , (pointer_expression "&DAT_003971a0" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);" (call_expression "FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970)" identifier (argument_list "(param_1,&DAT_00396de0,&DAT_00397970)" ( identifier , (pointer_expression "&DAT_00396de0" & identifier) , (pointer_expression "&DAT_00397970" & identifier) ))) ;) (expression_statement "DAT_0039796c = 1;" (assignment_expression "DAT_0039796c = 1" identifier = number_literal) ;) (expression_statement "DAT_00397968 = &PTR_FUN_0038e6c8;" (assignment_expression "DAT_00397968 = &PTR_FUN_0038e6c8" identifier = (pointer_expression "&PTR_FUN_0038e6c8" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968)" identifier (argument_list "(param_1,PTR_DAT_0038ee50,&DAT_00397968)" ( identifier , identifier , (pointer_expression "&DAT_00397968" & identifier) ))) ;) (expression_statement "DAT_00397964 = 1;" (assignment_expression "DAT_00397964 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397960 = &PTR_FUN_0038c60c;" (assignment_expression "DAT_00397960 = &PTR_FUN_0038c60c" identifier = (pointer_expression "&PTR_FUN_0038c60c" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960)" identifier (argument_list "(param_1,PTR_DAT_0038eec4,&DAT_00397960)" ( identifier , identifier , (pointer_expression "&DAT_00397960" & identifier) ))) ;) (expression_statement "FUN_002638b0(&DAT_00397950,1);" (call_expression "FUN_002638b0(&DAT_00397950,1)" identifier (argument_list "(&DAT_00397950,1)" ( (pointer_expression "&DAT_00397950" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950)" identifier (argument_list "(param_1,PTR_DAT_0038ee48,&DAT_00397950)" ( identifier , identifier , (pointer_expression "&DAT_00397950" & identifier) ))) ;) (expression_statement "FUN_0022cd90(&DAT_00397460,1);" (call_expression "FUN_0022cd90(&DAT_00397460,1)" identifier (argument_list "(&DAT_00397460,1)" ( (pointer_expression "&DAT_00397460" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460)" identifier (argument_list "(param_1,PTR_DAT_0038ee20,&DAT_00397460)" ( identifier , identifier , (pointer_expression "&DAT_00397460" & identifier) ))) ;) (expression_statement "FUN_00238840(&DAT_00397414,1);" (call_expression "FUN_00238840(&DAT_00397414,1)" identifier (argument_list "(&DAT_00397414,1)" ( (pointer_expression "&DAT_00397414" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414)" identifier (argument_list "(param_1,PTR_DAT_0038ec24,&DAT_00397414)" ( identifier , identifier , (pointer_expression "&DAT_00397414" & identifier) ))) ;) (expression_statement "DAT_00397064 = 1;" (assignment_expression "DAT_00397064 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397070 = 0;" (assignment_expression "DAT_00397070 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397060 = &PTR_FUN_0038d780;" (assignment_expression "DAT_00397060 = &PTR_FUN_0038d780" identifier = (pointer_expression "&PTR_FUN_0038d780" & identifier)) ;) (expression_statement "DAT_00397068 = 0;" (assignment_expression "DAT_00397068 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039706c = 0;" (assignment_expression "DAT_0039706c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397430 = &PTR_FUN_0038e25c;" (assignment_expression "DAT_00397430 = &PTR_FUN_0038e25c" identifier = (pointer_expression "&PTR_FUN_0038e25c" & identifier)) ;) (expression_statement "DAT_00397438 = &DAT_00397060;" (assignment_expression "DAT_00397438 = &DAT_00397060" identifier = (pointer_expression "&DAT_00397060" & identifier)) ;) (expression_statement "DAT_00397074 = 0;" (assignment_expression "DAT_00397074 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397078 = 0;" (assignment_expression "DAT_00397078 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039707c = 0;" (assignment_expression "DAT_0039707c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397080 = 0;" (assignment_expression "DAT_00397080 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397084 = 0;" (assignment_expression "DAT_00397084 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397088 = 0;" (assignment_expression "DAT_00397088 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397184 = 0;" (assignment_expression "DAT_00397184 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397434 = 1;" (assignment_expression "DAT_00397434 = 1" identifier = number_literal) ;) (expression_statement "FUN_00230d40(&DAT_00397430,0);" (call_expression "FUN_00230d40(&DAT_00397430,0)" identifier (argument_list "(&DAT_00397430,0)" ( (pointer_expression "&DAT_00397430" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);" (call_expression "FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430)" identifier (argument_list "(param_1,&DAT_00397eec,&DAT_00397430)" ( identifier , (pointer_expression "&DAT_00397eec" & identifier) , (pointer_expression "&DAT_00397430" & identifier) ))) ;) (expression_statement "DAT_0039742c = 1;" (assignment_expression "DAT_0039742c = 1" identifier = number_literal) ;) (expression_statement "DAT_00397428 = &PTR_FUN_0038dd08;" (assignment_expression "DAT_00397428 = &PTR_FUN_0038dd08" identifier = (pointer_expression "&PTR_FUN_0038dd08" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428)" identifier (argument_list "(param_1,PTR_DAT_0038ecc0,&DAT_00397428)" ( identifier , identifier , (pointer_expression "&DAT_00397428" & identifier) ))) ;) (expression_statement "DAT_00397424 = 1;" (assignment_expression "DAT_00397424 = 1" identifier = number_literal) ;) (expression_statement "DAT_00397420 = &PTR_FUN_0038dd44;" (assignment_expression "DAT_00397420 = &PTR_FUN_0038dd44" identifier = (pointer_expression "&PTR_FUN_0038dd44" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420)" identifier (argument_list "(param_1,PTR_DAT_0038ee70,&DAT_00397420)" ( identifier , identifier , (pointer_expression "&DAT_00397420" & identifier) ))) ;) (expression_statement "DAT_00397440 = 1;" (assignment_expression "DAT_00397440 = 1" identifier = number_literal) ;) (expression_statement "DAT_0039743c = &PTR_FUN_0038e224;" (assignment_expression "DAT_0039743c = &PTR_FUN_0038e224" identifier = (pointer_expression "&PTR_FUN_0038e224" & identifier)) ;) (expression_statement "DAT_00397444 = FUN_001e92a0();" (assignment_expression "DAT_00397444 = FUN_001e92a0()" identifier = (call_expression "FUN_001e92a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c)" identifier (argument_list "(param_1,PTR_DAT_0038edac,&DAT_0039743c)" ( identifier , identifier , (pointer_expression "&DAT_0039743c" & identifier) ))) ;) (expression_statement "DAT_00396f64 = 1;" (assignment_expression "DAT_00396f64 = 1" identifier = number_literal) ;) (expression_statement "DAT_00396f60 = &PTR_FUN_0038d7b8;" (assignment_expression "DAT_00396f60 = &PTR_FUN_0038d7b8" identifier = (pointer_expression "&PTR_FUN_0038d7b8" & identifier)) ;) (expression_statement "DAT_00396f68 = 0;" (assignment_expression "DAT_00396f68 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f6c = 0;" (assignment_expression "DAT_00396f6c = 0" identifier = number_literal) ;) (expression_statement "DAT_003973fc = &PTR_FUN_0038e2d8;" (assignment_expression "DAT_003973fc = &PTR_FUN_0038e2d8" identifier = (pointer_expression "&PTR_FUN_0038e2d8" & identifier)) ;) (expression_statement "DAT_00397404 = &DAT_00396f60;" (assignment_expression "DAT_00397404 = &DAT_00396f60" identifier = (pointer_expression "&DAT_00396f60" & identifier)) ;) (expression_statement "DAT_00396f70 = 0;" (assignment_expression "DAT_00396f70 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f74 = 0;" (assignment_expression "DAT_00396f74 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f78 = 0;" (assignment_expression "DAT_00396f78 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f7c = 0;" (assignment_expression "DAT_00396f7c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f80 = 0;" (assignment_expression "DAT_00396f80 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f84 = 0;" (assignment_expression "DAT_00396f84 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f88 = 0;" (assignment_expression "DAT_00396f88 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f8c = 0;" (assignment_expression "DAT_00396f8c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f90 = 0;" (assignment_expression "DAT_00396f90 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f94 = 0;" (assignment_expression "DAT_00396f94 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f98 = 0;" (assignment_expression "DAT_00396f98 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f9c = 0;" (assignment_expression "DAT_00396f9c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396fcc = 0;" (assignment_expression "DAT_00396fcc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397400 = 1;" (assignment_expression "DAT_00397400 = 1" identifier = number_literal) ;) (expression_statement "FUN_00232310(&DAT_003973fc,0,0);" (call_expression "FUN_00232310(&DAT_003973fc,0,0)" identifier (argument_list "(&DAT_003973fc,0,0)" ( (pointer_expression "&DAT_003973fc" & identifier) , number_literal , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);" (call_expression "FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc)" identifier (argument_list "(param_1,&DAT_00397efc,&DAT_003973fc)" ( identifier , (pointer_expression "&DAT_00397efc" & identifier) , (pointer_expression "&DAT_003973fc" & identifier) ))) ;) (expression_statement "DAT_00396fe4 = 1;" (assignment_expression "DAT_00396fe4 = 1" identifier = number_literal) ;) (expression_statement "DAT_00396fe0 = &PTR_FUN_0038d7a8;" (assignment_expression "DAT_00396fe0 = &PTR_FUN_0038d7a8" identifier = (pointer_expression "&PTR_FUN_0038d7a8" & identifier)) ;) (expression_statement "DAT_00396fe8 = 0;" (assignment_expression "DAT_00396fe8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396fec = 0;" (assignment_expression "DAT_00396fec = 0" identifier = number_literal) ;) (expression_statement "DAT_00397408 = &PTR_FUN_0038e2a4;" (assignment_expression "DAT_00397408 = &PTR_FUN_0038e2a4" identifier = (pointer_expression "&PTR_FUN_0038e2a4" & identifier)) ;) (expression_statement "DAT_00397410 = &DAT_00396fe0;" (assignment_expression "DAT_00397410 = &DAT_00396fe0" identifier = (pointer_expression "&DAT_00396fe0" & identifier)) ;) (expression_statement "DAT_00396ff0 = 0;" (assignment_expression "DAT_00396ff0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ff4 = 0;" (assignment_expression "DAT_00396ff4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ff8 = 0;" (assignment_expression "DAT_00396ff8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ffc = 0;" (assignment_expression "DAT_00396ffc = 0" identifier = number_literal) ;) (expression_statement "DAT_00397000 = 0;" (assignment_expression "DAT_00397000 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397004 = 0;" (assignment_expression "DAT_00397004 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397008 = 0;" (assignment_expression "DAT_00397008 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039700c = 0;" (assignment_expression "DAT_0039700c = 0" identifier = number_literal) ;) (expression_statement "DAT_00397010 = 0;" (assignment_expression "DAT_00397010 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397014 = 0;" (assignment_expression "DAT_00397014 = 0" identifier = number_literal) ;) (expression_statement "DAT_00397018 = 0;" (assignment_expression "DAT_00397018 = 0" identifier = number_literal) ;) (expression_statement "DAT_0039701c = 0;" (assignment_expression "DAT_0039701c = 0" identifier = number_literal) ;) (expression_statement "DAT_0039704c = 0;" (assignment_expression "DAT_0039704c = 0" identifier = number_literal) ;) (expression_statement "DAT_0039740c = 1;" (assignment_expression "DAT_0039740c = 1" identifier = number_literal) ;) (expression_statement "FUN_00231d40(&DAT_00397408,0,0);" (call_expression "FUN_00231d40(&DAT_00397408,0,0)" identifier (argument_list "(&DAT_00397408,0,0)" ( (pointer_expression "&DAT_00397408" & identifier) , number_literal , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);" (call_expression "FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408)" identifier (argument_list "(param_1,&DAT_00397ef8,&DAT_00397408)" ( identifier , (pointer_expression "&DAT_00397ef8" & identifier) , (pointer_expression "&DAT_00397408" & identifier) ))) ;) (expression_statement "DAT_003973f8 = 1;" (assignment_expression "DAT_003973f8 = 1" identifier = number_literal) ;) (expression_statement "DAT_003973f4 = &PTR_FUN_0038e390;" (assignment_expression "DAT_003973f4 = &PTR_FUN_0038e390" identifier = (pointer_expression "&PTR_FUN_0038e390" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4)" identifier (argument_list "(param_1,PTR_DAT_0038edd8,&DAT_003973f4)" ( identifier , identifier , (pointer_expression "&DAT_003973f4" & identifier) ))) ;) (expression_statement "DAT_003973f0 = 1;" (assignment_expression "DAT_003973f0 = 1" identifier = number_literal) ;) (expression_statement "DAT_003973ec = &PTR_FUN_0038e3a8;" (assignment_expression "DAT_003973ec = &PTR_FUN_0038e3a8" identifier = (pointer_expression "&PTR_FUN_0038e3a8" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec)" identifier (argument_list "(param_1,PTR_DAT_0038ef8c,&DAT_003973ec)" ( identifier , identifier , (pointer_expression "&DAT_003973ec" & identifier) ))) ;) (expression_statement "DAT_00396e84 = 1;" (assignment_expression "DAT_00396e84 = 1" identifier = number_literal) ;) (expression_statement "DAT_00396e88 = 0;" (assignment_expression "DAT_00396e88 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e8c = 0;" (assignment_expression "DAT_00396e8c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e80 = &PTR_FUN_0038dd74;" (assignment_expression "DAT_00396e80 = &PTR_FUN_0038dd74" identifier = (pointer_expression "&PTR_FUN_0038dd74" & identifier)) ;) (expression_statement "DAT_00396e90 = 0;" (assignment_expression "DAT_00396e90 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e94 = 0;" (assignment_expression "DAT_00396e94 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e98 = 0;" (assignment_expression "DAT_00396e98 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396e9c = 0;" (assignment_expression "DAT_00396e9c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ea0 = 0;" (assignment_expression "DAT_00396ea0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ea4 = 0;" (assignment_expression "DAT_00396ea4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ea8 = 0;" (assignment_expression "DAT_00396ea8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eac = 0;" (assignment_expression "DAT_00396eac = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eb0 = 0;" (assignment_expression "DAT_00396eb0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eb4 = 0;" (assignment_expression "DAT_00396eb4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eb8 = 0;" (assignment_expression "DAT_00396eb8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ebc = 0;" (assignment_expression "DAT_00396ebc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ec0 = 0;" (assignment_expression "DAT_00396ec0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ec4 = 0;" (assignment_expression "DAT_00396ec4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ec8 = 0;" (assignment_expression "DAT_00396ec8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ecc = 0;" (assignment_expression "DAT_00396ecc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ed0 = 0;" (assignment_expression "DAT_00396ed0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ed4 = 0;" (assignment_expression "DAT_00396ed4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ed8 = 0;" (assignment_expression "DAT_00396ed8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396edc = 0;" (assignment_expression "DAT_00396edc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ee0 = 0;" (assignment_expression "DAT_00396ee0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ee4 = 0;" (assignment_expression "DAT_00396ee4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ee8 = 0;" (assignment_expression "DAT_00396ee8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396eec = 0;" (assignment_expression "DAT_00396eec = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ef0 = 0;" (assignment_expression "DAT_00396ef0 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ef4 = 0;" (assignment_expression "DAT_00396ef4 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396ef8 = 0;" (assignment_expression "DAT_00396ef8 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396efc = 0;" (assignment_expression "DAT_00396efc = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f00 = 0;" (assignment_expression "DAT_00396f00 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f04 = 0;" (assignment_expression "DAT_00396f04 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f08 = 0;" (assignment_expression "DAT_00396f08 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f0c = 0;" (assignment_expression "DAT_00396f0c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f10 = 0;" (assignment_expression "DAT_00396f10 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f14 = 0;" (assignment_expression "DAT_00396f14 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f18 = 0;" (assignment_expression "DAT_00396f18 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f1c = 0;" (assignment_expression "DAT_00396f1c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f20 = 0;" (assignment_expression "DAT_00396f20 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f24 = 0;" (assignment_expression "DAT_00396f24 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f28 = 0;" (assignment_expression "DAT_00396f28 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f2c = 0;" (assignment_expression "DAT_00396f2c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f30 = 0;" (assignment_expression "DAT_00396f30 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f34 = 0;" (assignment_expression "DAT_00396f34 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f38 = 0;" (assignment_expression "DAT_00396f38 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f3c = 0;" (assignment_expression "DAT_00396f3c = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f40 = 0;" (assignment_expression "DAT_00396f40 = 0" identifier = number_literal) ;) (expression_statement "DAT_00396f44 = 0;" (assignment_expression "DAT_00396f44 = 0" identifier = number_literal) ;) (expression_statement "FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);" (call_expression "FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1)" identifier (argument_list "(&DAT_003973d8,&DAT_00396e80,1)" ( (pointer_expression "&DAT_003973d8" & identifier) , (pointer_expression "&DAT_00396e80" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);" (call_expression "FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8)" identifier (argument_list "(param_1,&DAT_00397e80,&DAT_003973d8)" ( identifier , (pointer_expression "&DAT_00397e80" & identifier) , (pointer_expression "&DAT_003973d8" & identifier) ))) ;) (expression_statement "DAT_003973d4 = 1;" (assignment_expression "DAT_003973d4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003973d0 = &PTR_FUN_0038e3c0;" (assignment_expression "DAT_003973d0 = &PTR_FUN_0038e3c0" identifier = (pointer_expression "&PTR_FUN_0038e3c0" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0)" identifier (argument_list "(param_1,PTR_DAT_0038ecf8,&DAT_003973d0)" ( identifier , identifier , (pointer_expression "&DAT_003973d0" & identifier) ))) ;) (expression_statement "DAT_003973cc = 1;" (assignment_expression "DAT_003973cc = 1" identifier = number_literal) ;) (expression_statement "DAT_003973c8 = &PTR_FUN_0038df08;" (assignment_expression "DAT_003973c8 = &PTR_FUN_0038df08" identifier = (pointer_expression "&PTR_FUN_0038df08" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8)" identifier (argument_list "(param_1,PTR_DAT_0038ef48,&DAT_003973c8)" ( identifier , identifier , (pointer_expression "&DAT_003973c8" & identifier) ))) ;) (expression_statement "FUN_00255090(&DAT_003973b8,1);" (call_expression "FUN_00255090(&DAT_003973b8,1)" identifier (argument_list "(&DAT_003973b8,1)" ( (pointer_expression "&DAT_003973b8" & identifier) , number_literal ))) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8)" identifier (argument_list "(param_1,PTR_DAT_0038ef5c,&DAT_003973b8)" ( identifier , identifier , (pointer_expression "&DAT_003973b8" & identifier) ))) ;) (expression_statement "DAT_003973b4 = 1;" (assignment_expression "DAT_003973b4 = 1" identifier = number_literal) ;) (expression_statement "DAT_003973b0 = &PTR_FUN_0038e858;" (assignment_expression "DAT_003973b0 = &PTR_FUN_0038e858" identifier = (pointer_expression "&PTR_FUN_0038e858" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0)" identifier (argument_list "(param_1,PTR_DAT_0038eb70,&DAT_003973b0)" ( identifier , identifier , (pointer_expression "&DAT_003973b0" & identifier) ))) ;) (expression_statement "DAT_003973ac = 1;" (assignment_expression "DAT_003973ac = 1" identifier = number_literal) ;) (expression_statement "DAT_003973a8 = &PTR_FUN_0038e884;" (assignment_expression "DAT_003973a8 = &PTR_FUN_0038e884" identifier = (pointer_expression "&PTR_FUN_0038e884" & identifier)) ;) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8)" identifier (argument_list "(param_1,PTR_DAT_0038ee64,&DAT_003973a8)" ( identifier , identifier , (pointer_expression "&DAT_003973a8" & identifier) ))) ;) (expression_statement "local_34 = &DAT_00397340;" (assignment_expression "local_34 = &DAT_00397340" identifier = (pointer_expression "&DAT_00397340" & identifier)) ;) (expression_statement "local_30 = &DAT_00397280;" (assignment_expression "local_30 = &DAT_00397280" identifier = (pointer_expression "&DAT_00397280" & identifier)) ;) (expression_statement "local_2c = &DAT_003972e0;" (assignment_expression "local_2c = &DAT_003972e0" identifier = (pointer_expression "&DAT_003972e0" & identifier)) ;) (expression_statement "local_28 = &DAT_00397060;" (assignment_expression "local_28 = &DAT_00397060" identifier = (pointer_expression "&DAT_00397060" & identifier)) ;) (expression_statement "local_24 = &DAT_00396f60;" (assignment_expression "local_24 = &DAT_00396f60" identifier = (pointer_expression "&DAT_00396f60" & identifier)) ;) (expression_statement "local_20 = &DAT_00396fe0;" (assignment_expression "local_20 = &DAT_00396fe0" identifier = (pointer_expression "&DAT_00396fe0" & identifier)) ;) (expression_statement "FUN_0026c420(param_1,&local_34);" (call_expression "FUN_0026c420(param_1,&local_34)" identifier (argument_list "(param_1,&local_34)" ( identifier , (pointer_expression "&local_34" & identifier) ))) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = FUN_001e9750(&DAT_00397f4c);" (assignment_expression "iVar3 = FUN_001e9750(&DAT_00397f4c)" identifier = (call_expression "FUN_001e9750(&DAT_00397f4c)" identifier (argument_list "(&DAT_00397f4c)" ( (pointer_expression "&DAT_00397f4c" & identifier) )))) ;) (expression_statement "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;" (assignment_expression "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340" (pointer_expression "*(undefined ****)(iVar5 + iVar3 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar3 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar3 * 4)" ( (binary_expression "iVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00397340" & identifier)) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397f5c);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397f5c)" identifier = (call_expression "FUN_001e9750(&DAT_00397f5c)" identifier (argument_list "(&DAT_00397f5c)" ( (pointer_expression "&DAT_00397f5c" & identifier) )))) ;) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar4 * 4)" ( (binary_expression "iVar5 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00397280" & identifier)) ;) (expression_statement "iVar5 = FUN_001e9750(&DAT_00397f58);" (assignment_expression "iVar5 = FUN_001e9750(&DAT_00397f58)" identifier = (call_expression "FUN_001e9750(&DAT_00397f58)" identifier (argument_list "(&DAT_00397f58)" ( (pointer_expression "&DAT_00397f58" & identifier) )))) ;) (expression_statement "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;" (assignment_expression "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0" (pointer_expression "*(undefined ****)(iVar3 + iVar5 * 4)" * (cast_expression "(undefined ****)(iVar3 + iVar5 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar3 + iVar5 * 4)" ( (binary_expression "iVar3 + iVar5 * 4" identifier + (binary_expression "iVar5 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_003972e0" & identifier)) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = FUN_001e9750(&DAT_00396de0);" (assignment_expression "iVar3 = FUN_001e9750(&DAT_00396de0)" identifier = (call_expression "FUN_001e9750(&DAT_00396de0)" identifier (argument_list "(&DAT_00396de0)" ( (pointer_expression "&DAT_00396de0" & identifier) )))) ;) (expression_statement "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;" (assignment_expression "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0" (pointer_expression "*(undefined ****)(iVar5 + iVar3 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar3 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar3 * 4)" ( (binary_expression "iVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_003971a0" & identifier)) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397eec);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397eec)" identifier = (call_expression "FUN_001e9750(&DAT_00397eec)" identifier (argument_list "(&DAT_00397eec)" ( (pointer_expression "&DAT_00397eec" & identifier) )))) ;) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar4 * 4)" ( (binary_expression "iVar5 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00397060" & identifier)) ;) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397efc);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397efc)" identifier = (call_expression "FUN_001e9750(&DAT_00397efc)" identifier (argument_list "(&DAT_00397efc)" ( (pointer_expression "&DAT_00397efc" & identifier) )))) ;) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;" (assignment_expression "*(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60" (pointer_expression "*(undefined ****)(iVar3 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar3 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar3 + iVar4 * 4)" ( (binary_expression "iVar3 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00396f60" & identifier)) ;) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397ef8);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397ef8)" identifier = (call_expression "FUN_001e9750(&DAT_00397ef8)" identifier (argument_list "(&DAT_00397ef8)" ( (pointer_expression "&DAT_00397ef8" & identifier) )))) ;) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" * (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar5 + iVar4 * 4)" ( (binary_expression "iVar5 + iVar4 * 4" identifier + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00396fe0" & identifier)) ;) (expression_statement "iVar5 = FUN_001e9750(&DAT_00397e80);" (assignment_expression "iVar5 = FUN_001e9750(&DAT_00397e80)" identifier = (call_expression "FUN_001e9750(&DAT_00397e80)" identifier (argument_list "(&DAT_00397e80)" ( (pointer_expression "&DAT_00397e80" & identifier) )))) ;) (expression_statement "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;" (assignment_expression "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80" (pointer_expression "*(undefined ****)(iVar3 + iVar5 * 4)" * (cast_expression "(undefined ****)(iVar3 + iVar5 * 4)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iVar3 + iVar5 * 4)" ( (binary_expression "iVar3 + iVar5 * 4" identifier + (binary_expression "iVar5 * 4" identifier * number_literal)) )))) = (pointer_expression "&DAT_00396e80" & identifier)) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = (pointer_expression & IDENT)) ;) (return_statement return ;) })))
(function_definition "void FUN_00237040(undefined4 *param_1,undefined4 param_2)\n\n{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  param_1[2] = 0x2e;\n  puVar1 = &DAT_00397cc0;\n  *param_1 = param_2;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);\n  param_1[1] = &DAT_00397cc0;\n  puVar1 = &DAT_00397c00;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  param_1[3] = &DAT_00397c00;\n  puVar1 = &DAT_00397da0;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);\n  param_1[4] = &DAT_00397da0;\n  DAT_00397da0 = &DAT_00397d78;\n  puVar2 = (undefined2 *)FUN_001e9300();\n  DAT_00397d78 = *puVar2;\n                    \n  FUN_00221ab0(&DAT_003979e0,0,0,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);\n  FUN_002387b0(&DAT_003979ac,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);\n  DAT_00397344 = 1;\n  DAT_00397348 = 0;\n  DAT_0039734c = 0;\n  DAT_00397340 = &PTR_FUN_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  DAT_003979c8 = &PTR_FUN_0038e564;\n  DAT_003979d0 = &DAT_00397340;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    \n  FUN_00230a30(&DAT_003979c8,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);\n  DAT_003979c4 = 1;\n  DAT_003979c0 = &PTR_FUN_0038c40c;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);\n  DAT_003979bc = 1;\n  DAT_003979b8 = &PTR_FUN_0038c448;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);\n  DAT_003979d8 = 1;\n  DAT_003979d4 = &PTR_FUN_0038e52c;\n                    \n  DAT_003979dc = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);\n  DAT_00397284 = 1;\n  DAT_00397280 = &PTR_FUN_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  DAT_00397994 = &PTR_FUN_0038e5e0;\n  DAT_0039799c = &DAT_00397280;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    \n  FUN_00231560(&DAT_00397994,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);\n  DAT_003972e4 = 1;\n  DAT_003972e0 = &PTR_FUN_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  DAT_003979a0 = &PTR_FUN_0038e5ac;\n  DAT_003979a8 = &DAT_003972e0;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    \n  FUN_00231020(&DAT_003979a0,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);\n  DAT_00397990 = 1;\n  DAT_0039798c = &PTR_FUN_0038e698;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);\n  DAT_00397988 = 1;\n  DAT_00397984 = &PTR_FUN_0038e6b0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);\n  DAT_003971a4 = 1;\n  DAT_003971a8 = 0;\n  DAT_003971ac = 0;\n  DAT_003971a0 = &PTR_FUN_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);\n  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);\n  DAT_0039796c = 1;\n  DAT_00397968 = &PTR_FUN_0038e6c8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);\n  DAT_00397964 = 1;\n  DAT_00397960 = &PTR_FUN_0038c60c;\n  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);\n  FUN_002638b0(&DAT_00397950,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);\n  FUN_0022cd90(&DAT_00397460,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);\n  FUN_00238840(&DAT_00397414,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);\n  DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  DAT_00397060 = &PTR_FUN_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  DAT_00397430 = &PTR_FUN_0038e25c;\n  DAT_00397438 = &DAT_00397060;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    \n  FUN_00230d40(&DAT_00397430,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);\n  DAT_0039742c = 1;\n  DAT_00397428 = &PTR_FUN_0038dd08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);\n  DAT_00397424 = 1;\n  DAT_00397420 = &PTR_FUN_0038dd44;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);\n  DAT_00397440 = 1;\n  DAT_0039743c = &PTR_FUN_0038e224;\n                    \n  DAT_00397444 = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);\n  DAT_00396f64 = 1;\n  DAT_00396f60 = &PTR_FUN_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  DAT_003973fc = &PTR_FUN_0038e2d8;\n  DAT_00397404 = &DAT_00396f60;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    \n  FUN_00232310(&DAT_003973fc,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);\n  DAT_00396fe4 = 1;\n  DAT_00396fe0 = &PTR_FUN_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  DAT_00397408 = &PTR_FUN_0038e2a4;\n  DAT_00397410 = &DAT_00396fe0;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    \n  FUN_00231d40(&DAT_00397408,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);\n  DAT_003973f8 = 1;\n  DAT_003973f4 = &PTR_FUN_0038e390;\n  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);\n  DAT_003973f0 = 1;\n  DAT_003973ec = &PTR_FUN_0038e3a8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);\n  DAT_00396e84 = 1;\n  DAT_00396e88 = 0;\n  DAT_00396e8c = 0;\n  DAT_00396e80 = &PTR_FUN_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);\n  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);\n  DAT_003973d4 = 1;\n  DAT_003973d0 = &PTR_FUN_0038e3c0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);\n  DAT_003973cc = 1;\n  DAT_003973c8 = &PTR_FUN_0038df08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);\n  FUN_00255090(&DAT_003973b8,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);\n  DAT_003973b4 = 1;\n  DAT_003973b0 = &PTR_FUN_0038e858;\n  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);\n  DAT_003973ac = 1;\n  DAT_003973a8 = &PTR_FUN_0038e884;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);\n  local_34 = &DAT_00397340;\n  local_30 = &DAT_00397280;\n  local_2c = &DAT_003972e0;\n  local_28 = &DAT_00397060;\n  local_24 = &DAT_00396f60;\n  local_20 = &DAT_00396fe0;\n  FUN_0026c420(param_1,&local_34);\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00397f4c);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397f5c);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;\n  iVar5 = FUN_001e9750(&DAT_00397f58);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00396de0);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397eec);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;\n  iVar4 = FUN_001e9750(&DAT_00397efc);\n  iVar5 = param_1[3];\n  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;\n  iVar4 = FUN_001e9750(&DAT_00397ef8);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;\n  iVar5 = FUN_001e9750(&DAT_00397e80);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00237040(undefined4 *param_1,undefined4 param_2)" (identifier "FUN_00237040") (parameter_list "(undefined4 *param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  undefined2 *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  undefined4 *local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  undefined4 *local_28;\n  undefined4 *local_24;\n  undefined4 *local_20;\n  \n  param_1[2] = 0x2e;\n  puVar1 = &DAT_00397cc0;\n  *param_1 = param_2;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);\n  param_1[1] = &DAT_00397cc0;\n  puVar1 = &DAT_00397c00;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);\n  param_1[3] = &DAT_00397c00;\n  puVar1 = &DAT_00397da0;\n  do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);\n  param_1[4] = &DAT_00397da0;\n  DAT_00397da0 = &DAT_00397d78;\n  puVar2 = (undefined2 *)FUN_001e9300();\n  DAT_00397d78 = *puVar2;\n                    \n  FUN_00221ab0(&DAT_003979e0,0,0,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);\n  FUN_002387b0(&DAT_003979ac,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);\n  DAT_00397344 = 1;\n  DAT_00397348 = 0;\n  DAT_0039734c = 0;\n  DAT_00397340 = &PTR_FUN_0038c6c0;\n  DAT_00397350 = 0;\n  DAT_00397354 = 0;\n  DAT_003979c8 = &PTR_FUN_0038e564;\n  DAT_003979d0 = &DAT_00397340;\n  DAT_00397358 = 0;\n  DAT_0039735c = 0;\n  DAT_00397360 = 0;\n  DAT_00397364 = 0;\n  DAT_003973a4 = 0;\n  DAT_003979cc = 1;\n                    \n  FUN_00230a30(&DAT_003979c8,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);\n  DAT_003979c4 = 1;\n  DAT_003979c0 = &PTR_FUN_0038c40c;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);\n  DAT_003979bc = 1;\n  DAT_003979b8 = &PTR_FUN_0038c448;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);\n  DAT_003979d8 = 1;\n  DAT_003979d4 = &PTR_FUN_0038e52c;\n                    \n  DAT_003979dc = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);\n  DAT_00397284 = 1;\n  DAT_00397280 = &PTR_FUN_0038c6a0;\n  DAT_00397290 = 0;\n  DAT_00397288 = 0;\n  DAT_0039728c = 0;\n  DAT_00397994 = &PTR_FUN_0038e5e0;\n  DAT_0039799c = &DAT_00397280;\n  DAT_00397292 = 0;\n  DAT_00397294 = 0;\n  DAT_00397298 = 0;\n  DAT_0039729c = 0;\n  DAT_003972a0 = 0;\n  DAT_003972a4 = 0;\n  DAT_003972a8 = 0;\n  DAT_003972ac = 0;\n  DAT_003972b0 = 0;\n  DAT_003972b4 = 0;\n  DAT_003972c3 = 0;\n  DAT_00397998 = 1;\n                    \n  FUN_00231560(&DAT_00397994,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);\n  DAT_003972e4 = 1;\n  DAT_003972e0 = &PTR_FUN_0038c6b0;\n  DAT_003972f0 = 0;\n  DAT_003972e8 = 0;\n  DAT_003972ec = 0;\n  DAT_003979a0 = &PTR_FUN_0038e5ac;\n  DAT_003979a8 = &DAT_003972e0;\n  DAT_003972f2 = 0;\n  DAT_003972f4 = 0;\n  DAT_003972f8 = 0;\n  DAT_003972fc = 0;\n  DAT_00397300 = 0;\n  DAT_00397304 = 0;\n  DAT_00397308 = 0;\n  DAT_0039730c = 0;\n  DAT_00397310 = 0;\n  DAT_00397314 = 0;\n  DAT_00397323 = 0;\n  DAT_003979a4 = 1;\n                    \n  FUN_00231020(&DAT_003979a0,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);\n  DAT_00397990 = 1;\n  DAT_0039798c = &PTR_FUN_0038e698;\n  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);\n  DAT_00397988 = 1;\n  DAT_00397984 = &PTR_FUN_0038e6b0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);\n  DAT_003971a4 = 1;\n  DAT_003971a8 = 0;\n  DAT_003971ac = 0;\n  DAT_003971a0 = &PTR_FUN_0038c478;\n  DAT_003971b0 = 0;\n  DAT_003971b4 = 0;\n  DAT_003971b8 = 0;\n  DAT_003971bc = 0;\n  DAT_003971c0 = 0;\n  DAT_003971c4 = 0;\n  DAT_003971c8 = 0;\n  DAT_003971cc = 0;\n  DAT_003971d0 = 0;\n  DAT_003971d4 = 0;\n  DAT_003971d8 = 0;\n  DAT_003971dc = 0;\n  DAT_003971e0 = 0;\n  DAT_003971e4 = 0;\n  DAT_003971e8 = 0;\n  DAT_003971ec = 0;\n  DAT_003971f0 = 0;\n  DAT_003971f4 = 0;\n  DAT_003971f8 = 0;\n  DAT_003971fc = 0;\n  DAT_00397200 = 0;\n  DAT_00397204 = 0;\n  DAT_00397208 = 0;\n  DAT_0039720c = 0;\n  DAT_00397210 = 0;\n  DAT_00397214 = 0;\n  DAT_00397218 = 0;\n  DAT_0039721c = 0;\n  DAT_00397220 = 0;\n  DAT_00397224 = 0;\n  DAT_00397228 = 0;\n  DAT_0039722c = 0;\n  DAT_00397230 = 0;\n  DAT_00397234 = 0;\n  DAT_00397238 = 0;\n  DAT_0039723c = 0;\n  DAT_00397240 = 0;\n  DAT_00397244 = 0;\n  DAT_00397248 = 0;\n  DAT_0039724c = 0;\n  DAT_00397250 = 0;\n  DAT_00397254 = 0;\n  DAT_00397258 = 0;\n  DAT_0039725c = 0;\n  DAT_00397260 = 0;\n  DAT_00397264 = 0;\n  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);\n  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);\n  DAT_0039796c = 1;\n  DAT_00397968 = &PTR_FUN_0038e6c8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);\n  DAT_00397964 = 1;\n  DAT_00397960 = &PTR_FUN_0038c60c;\n  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);\n  FUN_002638b0(&DAT_00397950,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);\n  FUN_0022cd90(&DAT_00397460,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);\n  FUN_00238840(&DAT_00397414,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);\n  DAT_00397064 = 1;\n  DAT_00397070 = 0;\n  DAT_00397060 = &PTR_FUN_0038d780;\n  DAT_00397068 = 0;\n  DAT_0039706c = 0;\n  DAT_00397430 = &PTR_FUN_0038e25c;\n  DAT_00397438 = &DAT_00397060;\n  DAT_00397074 = 0;\n  DAT_00397078 = 0;\n  DAT_0039707c = 0;\n  DAT_00397080 = 0;\n  DAT_00397084 = 0;\n  DAT_00397088 = 0;\n  DAT_00397184 = 0;\n  DAT_00397434 = 1;\n                    \n  FUN_00230d40(&DAT_00397430,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);\n  DAT_0039742c = 1;\n  DAT_00397428 = &PTR_FUN_0038dd08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);\n  DAT_00397424 = 1;\n  DAT_00397420 = &PTR_FUN_0038dd44;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);\n  DAT_00397440 = 1;\n  DAT_0039743c = &PTR_FUN_0038e224;\n                    \n  DAT_00397444 = FUN_001e92a0();\n                    \n  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);\n  DAT_00396f64 = 1;\n  DAT_00396f60 = &PTR_FUN_0038d7b8;\n  DAT_00396f68 = 0;\n  DAT_00396f6c = 0;\n  DAT_003973fc = &PTR_FUN_0038e2d8;\n  DAT_00397404 = &DAT_00396f60;\n  DAT_00396f70 = 0;\n  DAT_00396f74 = 0;\n  DAT_00396f78 = 0;\n  DAT_00396f7c = 0;\n  DAT_00396f80 = 0;\n  DAT_00396f84 = 0;\n  DAT_00396f88 = 0;\n  DAT_00396f8c = 0;\n  DAT_00396f90 = 0;\n  DAT_00396f94 = 0;\n  DAT_00396f98 = 0;\n  DAT_00396f9c = 0;\n  DAT_00396fcc = 0;\n  DAT_00397400 = 1;\n                    \n  FUN_00232310(&DAT_003973fc,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);\n  DAT_00396fe4 = 1;\n  DAT_00396fe0 = &PTR_FUN_0038d7a8;\n  DAT_00396fe8 = 0;\n  DAT_00396fec = 0;\n  DAT_00397408 = &PTR_FUN_0038e2a4;\n  DAT_00397410 = &DAT_00396fe0;\n  DAT_00396ff0 = 0;\n  DAT_00396ff4 = 0;\n  DAT_00396ff8 = 0;\n  DAT_00396ffc = 0;\n  DAT_00397000 = 0;\n  DAT_00397004 = 0;\n  DAT_00397008 = 0;\n  DAT_0039700c = 0;\n  DAT_00397010 = 0;\n  DAT_00397014 = 0;\n  DAT_00397018 = 0;\n  DAT_0039701c = 0;\n  DAT_0039704c = 0;\n  DAT_0039740c = 1;\n                    \n  FUN_00231d40(&DAT_00397408,0,0);\n                    \n  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);\n  DAT_003973f8 = 1;\n  DAT_003973f4 = &PTR_FUN_0038e390;\n  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);\n  DAT_003973f0 = 1;\n  DAT_003973ec = &PTR_FUN_0038e3a8;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);\n  DAT_00396e84 = 1;\n  DAT_00396e88 = 0;\n  DAT_00396e8c = 0;\n  DAT_00396e80 = &PTR_FUN_0038dd74;\n  DAT_00396e90 = 0;\n  DAT_00396e94 = 0;\n  DAT_00396e98 = 0;\n  DAT_00396e9c = 0;\n  DAT_00396ea0 = 0;\n  DAT_00396ea4 = 0;\n  DAT_00396ea8 = 0;\n  DAT_00396eac = 0;\n  DAT_00396eb0 = 0;\n  DAT_00396eb4 = 0;\n  DAT_00396eb8 = 0;\n  DAT_00396ebc = 0;\n  DAT_00396ec0 = 0;\n  DAT_00396ec4 = 0;\n  DAT_00396ec8 = 0;\n  DAT_00396ecc = 0;\n  DAT_00396ed0 = 0;\n  DAT_00396ed4 = 0;\n  DAT_00396ed8 = 0;\n  DAT_00396edc = 0;\n  DAT_00396ee0 = 0;\n  DAT_00396ee4 = 0;\n  DAT_00396ee8 = 0;\n  DAT_00396eec = 0;\n  DAT_00396ef0 = 0;\n  DAT_00396ef4 = 0;\n  DAT_00396ef8 = 0;\n  DAT_00396efc = 0;\n  DAT_00396f00 = 0;\n  DAT_00396f04 = 0;\n  DAT_00396f08 = 0;\n  DAT_00396f0c = 0;\n  DAT_00396f10 = 0;\n  DAT_00396f14 = 0;\n  DAT_00396f18 = 0;\n  DAT_00396f1c = 0;\n  DAT_00396f20 = 0;\n  DAT_00396f24 = 0;\n  DAT_00396f28 = 0;\n  DAT_00396f2c = 0;\n  DAT_00396f30 = 0;\n  DAT_00396f34 = 0;\n  DAT_00396f38 = 0;\n  DAT_00396f3c = 0;\n  DAT_00396f40 = 0;\n  DAT_00396f44 = 0;\n  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);\n  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);\n  DAT_003973d4 = 1;\n  DAT_003973d0 = &PTR_FUN_0038e3c0;\n  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);\n  DAT_003973cc = 1;\n  DAT_003973c8 = &PTR_FUN_0038df08;\n  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);\n  FUN_00255090(&DAT_003973b8,1);\n  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);\n  DAT_003973b4 = 1;\n  DAT_003973b0 = &PTR_FUN_0038e858;\n  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);\n  DAT_003973ac = 1;\n  DAT_003973a8 = &PTR_FUN_0038e884;\n  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);\n  local_34 = &DAT_00397340;\n  local_30 = &DAT_00397280;\n  local_2c = &DAT_003972e0;\n  local_28 = &DAT_00397060;\n  local_24 = &DAT_00396f60;\n  local_20 = &DAT_00396fe0;\n  FUN_0026c420(param_1,&local_34);\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00397f4c);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397f5c);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;\n  iVar5 = FUN_001e9750(&DAT_00397f58);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;\n  iVar5 = param_1[3];\n  iVar3 = FUN_001e9750(&DAT_00396de0);\n  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;\n  iVar5 = param_1[3];\n  iVar4 = FUN_001e9750(&DAT_00397eec);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;\n  iVar4 = FUN_001e9750(&DAT_00397efc);\n  iVar5 = param_1[3];\n  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;\n  iVar4 = FUN_001e9750(&DAT_00397ef8);\n  iVar3 = param_1[3];\n  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;\n  iVar5 = FUN_001e9750(&DAT_00397e80);\n  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;\n  return;\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined2 *puVar2;" (type_identifier "undefined2") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 *local_34;" (type_identifier "undefined4") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "undefined4 *local_30;" (type_identifier "undefined4") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "undefined4 *local_2c;" (type_identifier "undefined4") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "undefined4 *local_28;" (type_identifier "undefined4") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "undefined4 *local_24;" (type_identifier "undefined4") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "undefined4 *local_20;" (type_identifier "undefined4") (pointer_declarator "*local_20" (* "*") (identifier "local_20")) (; ";")) (expression_statement "param_1[2] = 0x2e;" (assignment_expression "param_1[2] = 0x2e" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x2e")) (; ";")) (expression_statement "puVar1 = &DAT_00397cc0;" (assignment_expression "puVar1 = &DAT_00397cc0" (identifier "puVar1") (= "=") (pointer_expression "&DAT_00397cc0" (& "&") (identifier "DAT_00397cc0"))) (; ";")) (expression_statement "*param_1 = param_2;" (assignment_expression "*param_1 = param_2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "param_2")) (; ";")) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397d78);" (do "do") (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" ({ "{") (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" (identifier "puVar1") (= "=") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397d78)" (( "(") (binary_expression "puVar1 != (undefined4 *)&DAT_00397d78" (identifier "puVar1") (!= "!=") (cast_expression "(undefined4 *)&DAT_00397d78" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00397d78" (& "&") (identifier "DAT_00397d78")))) () ")")) (; ";")) (expression_statement "param_1[1] = &DAT_00397cc0;" (assignment_expression "param_1[1] = &DAT_00397cc0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "&DAT_00397cc0" (& "&") (identifier "DAT_00397cc0"))) (; ";")) (expression_statement "puVar1 = &DAT_00397c00;" (assignment_expression "puVar1 = &DAT_00397c00" (identifier "puVar1") (= "=") (pointer_expression "&DAT_00397c00" (& "&") (identifier "DAT_00397c00"))) (; ";")) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397cb8);" (do "do") (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" ({ "{") (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" (identifier "puVar1") (= "=") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397cb8)" (( "(") (binary_expression "puVar1 != (undefined4 *)&DAT_00397cb8" (identifier "puVar1") (!= "!=") (cast_expression "(undefined4 *)&DAT_00397cb8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00397cb8" (& "&") (identifier "DAT_00397cb8")))) () ")")) (; ";")) (expression_statement "param_1[3] = &DAT_00397c00;" (assignment_expression "param_1[3] = &DAT_00397c00" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "&DAT_00397c00" (& "&") (identifier "DAT_00397c00"))) (; ";")) (expression_statement "puVar1 = &DAT_00397da0;" (assignment_expression "puVar1 = &DAT_00397da0" (identifier "puVar1") (= "=") (pointer_expression "&DAT_00397da0" (& "&") (identifier "DAT_00397da0"))) (; ";")) (do_statement "do {\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  } while (puVar1 != (undefined4 *)&DAT_00397dd0);" (do "do") (compound_statement "{\n    *puVar1 = 0;\n    puVar1 = puVar1 + 1;\n  }" ({ "{") (expression_statement "*puVar1 = 0;" (assignment_expression "*puVar1 = 0" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar1 = puVar1 + 1;" (assignment_expression "puVar1 = puVar1 + 1" (identifier "puVar1") (= "=") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar1 != (undefined4 *)&DAT_00397dd0)" (( "(") (binary_expression "puVar1 != (undefined4 *)&DAT_00397dd0" (identifier "puVar1") (!= "!=") (cast_expression "(undefined4 *)&DAT_00397dd0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00397dd0" (& "&") (identifier "DAT_00397dd0")))) () ")")) (; ";")) (expression_statement "param_1[4] = &DAT_00397da0;" (assignment_expression "param_1[4] = &DAT_00397da0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (= "=") (pointer_expression "&DAT_00397da0" (& "&") (identifier "DAT_00397da0"))) (; ";")) (expression_statement "DAT_00397da0 = &DAT_00397d78;" (assignment_expression "DAT_00397da0 = &DAT_00397d78" (identifier "DAT_00397da0") (= "=") (pointer_expression "&DAT_00397d78" (& "&") (identifier "DAT_00397d78"))) (; ";")) (expression_statement "puVar2 = (undefined2 *)FUN_001e9300();" (assignment_expression "puVar2 = (undefined2 *)FUN_001e9300()" (identifier "puVar2") (= "=") (cast_expression "(undefined2 *)FUN_001e9300()" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e9300()" (identifier "FUN_001e9300") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "DAT_00397d78 = *puVar2;" (assignment_expression "DAT_00397d78 = *puVar2" (identifier "DAT_00397d78") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "FUN_00221ab0(&DAT_003979e0,0,0,1);" (call_expression "FUN_00221ab0(&DAT_003979e0,0,0,1)" (identifier "FUN_00221ab0") (argument_list "(&DAT_003979e0,0,0,1)" (( "(") (pointer_expression "&DAT_003979e0" (& "&") (identifier "DAT_003979e0")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038efa8,&DAT_003979e0)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038efa8") (, ",") (pointer_expression "&DAT_003979e0" (& "&") (identifier "DAT_003979e0")) () ")"))) (; ";")) (expression_statement "FUN_002387b0(&DAT_003979ac,1);" (call_expression "FUN_002387b0(&DAT_003979ac,1)" (identifier "FUN_002387b0") (argument_list "(&DAT_003979ac,1)" (( "(") (pointer_expression "&DAT_003979ac" (& "&") (identifier "DAT_003979ac")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038edec,&DAT_003979ac)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038edec") (, ",") (pointer_expression "&DAT_003979ac" (& "&") (identifier "DAT_003979ac")) () ")"))) (; ";")) (expression_statement "DAT_00397344 = 1;" (assignment_expression "DAT_00397344 = 1" (identifier "DAT_00397344") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00397348 = 0;" (assignment_expression "DAT_00397348 = 0" (identifier "DAT_00397348") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039734c = 0;" (assignment_expression "DAT_0039734c = 0" (identifier "DAT_0039734c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397340 = &PTR_FUN_0038c6c0;" (assignment_expression "DAT_00397340 = &PTR_FUN_0038c6c0" (identifier "DAT_00397340") (= "=") (pointer_expression "&PTR_FUN_0038c6c0" (& "&") (identifier "PTR_FUN_0038c6c0"))) (; ";")) (expression_statement "DAT_00397350 = 0;" (assignment_expression "DAT_00397350 = 0" (identifier "DAT_00397350") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397354 = 0;" (assignment_expression "DAT_00397354 = 0" (identifier "DAT_00397354") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003979c8 = &PTR_FUN_0038e564;" (assignment_expression "DAT_003979c8 = &PTR_FUN_0038e564" (identifier "DAT_003979c8") (= "=") (pointer_expression "&PTR_FUN_0038e564" (& "&") (identifier "PTR_FUN_0038e564"))) (; ";")) (expression_statement "DAT_003979d0 = &DAT_00397340;" (assignment_expression "DAT_003979d0 = &DAT_00397340" (identifier "DAT_003979d0") (= "=") (pointer_expression "&DAT_00397340" (& "&") (identifier "DAT_00397340"))) (; ";")) (expression_statement "DAT_00397358 = 0;" (assignment_expression "DAT_00397358 = 0" (identifier "DAT_00397358") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039735c = 0;" (assignment_expression "DAT_0039735c = 0" (identifier "DAT_0039735c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397360 = 0;" (assignment_expression "DAT_00397360 = 0" (identifier "DAT_00397360") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397364 = 0;" (assignment_expression "DAT_00397364 = 0" (identifier "DAT_00397364") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003973a4 = 0;" (assignment_expression "DAT_003973a4 = 0" (identifier "DAT_003973a4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003979cc = 1;" (assignment_expression "DAT_003979cc = 1" (identifier "DAT_003979cc") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00230a30(&DAT_003979c8,0);" (call_expression "FUN_00230a30(&DAT_003979c8,0)" (identifier "FUN_00230a30") (argument_list "(&DAT_003979c8,0)" (( "(") (pointer_expression "&DAT_003979c8" (& "&") (identifier "DAT_003979c8")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);" (call_expression "FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8)" (identifier "FUN_001e97a0") (argument_list "(param_1,&DAT_00397f4c,&DAT_003979c8)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_00397f4c" (& "&") (identifier "DAT_00397f4c")) (, ",") (pointer_expression "&DAT_003979c8" (& "&") (identifier "DAT_003979c8")) () ")"))) (; ";")) (expression_statement "DAT_003979c4 = 1;" (assignment_expression "DAT_003979c4 = 1" (identifier "DAT_003979c4") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003979c0 = &PTR_FUN_0038c40c;" (assignment_expression "DAT_003979c0 = &PTR_FUN_0038c40c" (identifier "DAT_003979c0") (= "=") (pointer_expression "&PTR_FUN_0038c40c" (& "&") (identifier "PTR_FUN_0038c40c"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ecc4,&DAT_003979c0)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ecc4") (, ",") (pointer_expression "&DAT_003979c0" (& "&") (identifier "DAT_003979c0")) () ")"))) (; ";")) (expression_statement "DAT_003979bc = 1;" (assignment_expression "DAT_003979bc = 1" (identifier "DAT_003979bc") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003979b8 = &PTR_FUN_0038c448;" (assignment_expression "DAT_003979b8 = &PTR_FUN_0038c448" (identifier "DAT_003979b8") (= "=") (pointer_expression "&PTR_FUN_0038c448" (& "&") (identifier "PTR_FUN_0038c448"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ed08,&DAT_003979b8)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ed08") (, ",") (pointer_expression "&DAT_003979b8" (& "&") (identifier "DAT_003979b8")) () ")"))) (; ";")) (expression_statement "DAT_003979d8 = 1;" (assignment_expression "DAT_003979d8 = 1" (identifier "DAT_003979d8") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003979d4 = &PTR_FUN_0038e52c;" (assignment_expression "DAT_003979d4 = &PTR_FUN_0038e52c" (identifier "DAT_003979d4") (= "=") (pointer_expression "&PTR_FUN_0038e52c" (& "&") (identifier "PTR_FUN_0038e52c"))) (; ";")) (expression_statement "DAT_003979dc = FUN_001e92a0();" (assignment_expression "DAT_003979dc = FUN_001e92a0()" (identifier "DAT_003979dc") (= "=") (call_expression "FUN_001e92a0()" (identifier "FUN_001e92a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038eb40,&DAT_003979d4)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038eb40") (, ",") (pointer_expression "&DAT_003979d4" (& "&") (identifier "DAT_003979d4")) () ")"))) (; ";")) (expression_statement "DAT_00397284 = 1;" (assignment_expression "DAT_00397284 = 1" (identifier "DAT_00397284") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00397280 = &PTR_FUN_0038c6a0;" (assignment_expression "DAT_00397280 = &PTR_FUN_0038c6a0" (identifier "DAT_00397280") (= "=") (pointer_expression "&PTR_FUN_0038c6a0" (& "&") (identifier "PTR_FUN_0038c6a0"))) (; ";")) (expression_statement "DAT_00397290 = 0;" (assignment_expression "DAT_00397290 = 0" (identifier "DAT_00397290") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397288 = 0;" (assignment_expression "DAT_00397288 = 0" (identifier "DAT_00397288") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039728c = 0;" (assignment_expression "DAT_0039728c = 0" (identifier "DAT_0039728c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397994 = &PTR_FUN_0038e5e0;" (assignment_expression "DAT_00397994 = &PTR_FUN_0038e5e0" (identifier "DAT_00397994") (= "=") (pointer_expression "&PTR_FUN_0038e5e0" (& "&") (identifier "PTR_FUN_0038e5e0"))) (; ";")) (expression_statement "DAT_0039799c = &DAT_00397280;" (assignment_expression "DAT_0039799c = &DAT_00397280" (identifier "DAT_0039799c") (= "=") (pointer_expression "&DAT_00397280" (& "&") (identifier "DAT_00397280"))) (; ";")) (expression_statement "DAT_00397292 = 0;" (assignment_expression "DAT_00397292 = 0" (identifier "DAT_00397292") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397294 = 0;" (assignment_expression "DAT_00397294 = 0" (identifier "DAT_00397294") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397298 = 0;" (assignment_expression "DAT_00397298 = 0" (identifier "DAT_00397298") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039729c = 0;" (assignment_expression "DAT_0039729c = 0" (identifier "DAT_0039729c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972a0 = 0;" (assignment_expression "DAT_003972a0 = 0" (identifier "DAT_003972a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972a4 = 0;" (assignment_expression "DAT_003972a4 = 0" (identifier "DAT_003972a4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972a8 = 0;" (assignment_expression "DAT_003972a8 = 0" (identifier "DAT_003972a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972ac = 0;" (assignment_expression "DAT_003972ac = 0" (identifier "DAT_003972ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972b0 = 0;" (assignment_expression "DAT_003972b0 = 0" (identifier "DAT_003972b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972b4 = 0;" (assignment_expression "DAT_003972b4 = 0" (identifier "DAT_003972b4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972c3 = 0;" (assignment_expression "DAT_003972c3 = 0" (identifier "DAT_003972c3") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397998 = 1;" (assignment_expression "DAT_00397998 = 1" (identifier "DAT_00397998") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00231560(&DAT_00397994,0,0);" (call_expression "FUN_00231560(&DAT_00397994,0,0)" (identifier "FUN_00231560") (argument_list "(&DAT_00397994,0,0)" (( "(") (pointer_expression "&DAT_00397994" (& "&") (identifier "DAT_00397994")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);" (call_expression "FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994)" (identifier "FUN_001e97a0") (argument_list "(param_1,&DAT_00397f5c,&DAT_00397994)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_00397f5c" (& "&") (identifier "DAT_00397f5c")) (, ",") (pointer_expression "&DAT_00397994" (& "&") (identifier "DAT_00397994")) () ")"))) (; ";")) (expression_statement "DAT_003972e4 = 1;" (assignment_expression "DAT_003972e4 = 1" (identifier "DAT_003972e4") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003972e0 = &PTR_FUN_0038c6b0;" (assignment_expression "DAT_003972e0 = &PTR_FUN_0038c6b0" (identifier "DAT_003972e0") (= "=") (pointer_expression "&PTR_FUN_0038c6b0" (& "&") (identifier "PTR_FUN_0038c6b0"))) (; ";")) (expression_statement "DAT_003972f0 = 0;" (assignment_expression "DAT_003972f0 = 0" (identifier "DAT_003972f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972e8 = 0;" (assignment_expression "DAT_003972e8 = 0" (identifier "DAT_003972e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972ec = 0;" (assignment_expression "DAT_003972ec = 0" (identifier "DAT_003972ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003979a0 = &PTR_FUN_0038e5ac;" (assignment_expression "DAT_003979a0 = &PTR_FUN_0038e5ac" (identifier "DAT_003979a0") (= "=") (pointer_expression "&PTR_FUN_0038e5ac" (& "&") (identifier "PTR_FUN_0038e5ac"))) (; ";")) (expression_statement "DAT_003979a8 = &DAT_003972e0;" (assignment_expression "DAT_003979a8 = &DAT_003972e0" (identifier "DAT_003979a8") (= "=") (pointer_expression "&DAT_003972e0" (& "&") (identifier "DAT_003972e0"))) (; ";")) (expression_statement "DAT_003972f2 = 0;" (assignment_expression "DAT_003972f2 = 0" (identifier "DAT_003972f2") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972f4 = 0;" (assignment_expression "DAT_003972f4 = 0" (identifier "DAT_003972f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972f8 = 0;" (assignment_expression "DAT_003972f8 = 0" (identifier "DAT_003972f8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003972fc = 0;" (assignment_expression "DAT_003972fc = 0" (identifier "DAT_003972fc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397300 = 0;" (assignment_expression "DAT_00397300 = 0" (identifier "DAT_00397300") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397304 = 0;" (assignment_expression "DAT_00397304 = 0" (identifier "DAT_00397304") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397308 = 0;" (assignment_expression "DAT_00397308 = 0" (identifier "DAT_00397308") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039730c = 0;" (assignment_expression "DAT_0039730c = 0" (identifier "DAT_0039730c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397310 = 0;" (assignment_expression "DAT_00397310 = 0" (identifier "DAT_00397310") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397314 = 0;" (assignment_expression "DAT_00397314 = 0" (identifier "DAT_00397314") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397323 = 0;" (assignment_expression "DAT_00397323 = 0" (identifier "DAT_00397323") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003979a4 = 1;" (assignment_expression "DAT_003979a4 = 1" (identifier "DAT_003979a4") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00231020(&DAT_003979a0,0,0);" (call_expression "FUN_00231020(&DAT_003979a0,0,0)" (identifier "FUN_00231020") (argument_list "(&DAT_003979a0,0,0)" (( "(") (pointer_expression "&DAT_003979a0" (& "&") (identifier "DAT_003979a0")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);" (call_expression "FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0)" (identifier "FUN_001e97a0") (argument_list "(param_1,&DAT_00397f58,&DAT_003979a0)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_00397f58" (& "&") (identifier "DAT_00397f58")) (, ",") (pointer_expression "&DAT_003979a0" (& "&") (identifier "DAT_003979a0")) () ")"))) (; ";")) (expression_statement "DAT_00397990 = 1;" (assignment_expression "DAT_00397990 = 1" (identifier "DAT_00397990") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_0039798c = &PTR_FUN_0038e698;" (assignment_expression "DAT_0039798c = &PTR_FUN_0038e698" (identifier "DAT_0039798c") (= "=") (pointer_expression "&PTR_FUN_0038e698" (& "&") (identifier "PTR_FUN_0038e698"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ed64,&DAT_0039798c)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ed64") (, ",") (pointer_expression "&DAT_0039798c" (& "&") (identifier "DAT_0039798c")) () ")"))) (; ";")) (expression_statement "DAT_00397988 = 1;" (assignment_expression "DAT_00397988 = 1" (identifier "DAT_00397988") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00397984 = &PTR_FUN_0038e6b0;" (assignment_expression "DAT_00397984 = &PTR_FUN_0038e6b0" (identifier "DAT_00397984") (= "=") (pointer_expression "&PTR_FUN_0038e6b0" (& "&") (identifier "PTR_FUN_0038e6b0"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ec70,&DAT_00397984)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ec70") (, ",") (pointer_expression "&DAT_00397984" (& "&") (identifier "DAT_00397984")) () ")"))) (; ";")) (expression_statement "DAT_003971a4 = 1;" (assignment_expression "DAT_003971a4 = 1" (identifier "DAT_003971a4") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003971a8 = 0;" (assignment_expression "DAT_003971a8 = 0" (identifier "DAT_003971a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971ac = 0;" (assignment_expression "DAT_003971ac = 0" (identifier "DAT_003971ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971a0 = &PTR_FUN_0038c478;" (assignment_expression "DAT_003971a0 = &PTR_FUN_0038c478" (identifier "DAT_003971a0") (= "=") (pointer_expression "&PTR_FUN_0038c478" (& "&") (identifier "PTR_FUN_0038c478"))) (; ";")) (expression_statement "DAT_003971b0 = 0;" (assignment_expression "DAT_003971b0 = 0" (identifier "DAT_003971b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971b4 = 0;" (assignment_expression "DAT_003971b4 = 0" (identifier "DAT_003971b4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971b8 = 0;" (assignment_expression "DAT_003971b8 = 0" (identifier "DAT_003971b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971bc = 0;" (assignment_expression "DAT_003971bc = 0" (identifier "DAT_003971bc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971c0 = 0;" (assignment_expression "DAT_003971c0 = 0" (identifier "DAT_003971c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971c4 = 0;" (assignment_expression "DAT_003971c4 = 0" (identifier "DAT_003971c4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971c8 = 0;" (assignment_expression "DAT_003971c8 = 0" (identifier "DAT_003971c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971cc = 0;" (assignment_expression "DAT_003971cc = 0" (identifier "DAT_003971cc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971d0 = 0;" (assignment_expression "DAT_003971d0 = 0" (identifier "DAT_003971d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971d4 = 0;" (assignment_expression "DAT_003971d4 = 0" (identifier "DAT_003971d4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971d8 = 0;" (assignment_expression "DAT_003971d8 = 0" (identifier "DAT_003971d8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971dc = 0;" (assignment_expression "DAT_003971dc = 0" (identifier "DAT_003971dc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971e0 = 0;" (assignment_expression "DAT_003971e0 = 0" (identifier "DAT_003971e0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971e4 = 0;" (assignment_expression "DAT_003971e4 = 0" (identifier "DAT_003971e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971e8 = 0;" (assignment_expression "DAT_003971e8 = 0" (identifier "DAT_003971e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971ec = 0;" (assignment_expression "DAT_003971ec = 0" (identifier "DAT_003971ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971f0 = 0;" (assignment_expression "DAT_003971f0 = 0" (identifier "DAT_003971f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971f4 = 0;" (assignment_expression "DAT_003971f4 = 0" (identifier "DAT_003971f4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971f8 = 0;" (assignment_expression "DAT_003971f8 = 0" (identifier "DAT_003971f8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003971fc = 0;" (assignment_expression "DAT_003971fc = 0" (identifier "DAT_003971fc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397200 = 0;" (assignment_expression "DAT_00397200 = 0" (identifier "DAT_00397200") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397204 = 0;" (assignment_expression "DAT_00397204 = 0" (identifier "DAT_00397204") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397208 = 0;" (assignment_expression "DAT_00397208 = 0" (identifier "DAT_00397208") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039720c = 0;" (assignment_expression "DAT_0039720c = 0" (identifier "DAT_0039720c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397210 = 0;" (assignment_expression "DAT_00397210 = 0" (identifier "DAT_00397210") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397214 = 0;" (assignment_expression "DAT_00397214 = 0" (identifier "DAT_00397214") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397218 = 0;" (assignment_expression "DAT_00397218 = 0" (identifier "DAT_00397218") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039721c = 0;" (assignment_expression "DAT_0039721c = 0" (identifier "DAT_0039721c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397220 = 0;" (assignment_expression "DAT_00397220 = 0" (identifier "DAT_00397220") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397224 = 0;" (assignment_expression "DAT_00397224 = 0" (identifier "DAT_00397224") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397228 = 0;" (assignment_expression "DAT_00397228 = 0" (identifier "DAT_00397228") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039722c = 0;" (assignment_expression "DAT_0039722c = 0" (identifier "DAT_0039722c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397230 = 0;" (assignment_expression "DAT_00397230 = 0" (identifier "DAT_00397230") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397234 = 0;" (assignment_expression "DAT_00397234 = 0" (identifier "DAT_00397234") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397238 = 0;" (assignment_expression "DAT_00397238 = 0" (identifier "DAT_00397238") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039723c = 0;" (assignment_expression "DAT_0039723c = 0" (identifier "DAT_0039723c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397240 = 0;" (assignment_expression "DAT_00397240 = 0" (identifier "DAT_00397240") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397244 = 0;" (assignment_expression "DAT_00397244 = 0" (identifier "DAT_00397244") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397248 = 0;" (assignment_expression "DAT_00397248 = 0" (identifier "DAT_00397248") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039724c = 0;" (assignment_expression "DAT_0039724c = 0" (identifier "DAT_0039724c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397250 = 0;" (assignment_expression "DAT_00397250 = 0" (identifier "DAT_00397250") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397254 = 0;" (assignment_expression "DAT_00397254 = 0" (identifier "DAT_00397254") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397258 = 0;" (assignment_expression "DAT_00397258 = 0" (identifier "DAT_00397258") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039725c = 0;" (assignment_expression "DAT_0039725c = 0" (identifier "DAT_0039725c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397260 = 0;" (assignment_expression "DAT_00397260 = 0" (identifier "DAT_00397260") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397264 = 0;" (assignment_expression "DAT_00397264 = 0" (identifier "DAT_00397264") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);" (call_expression "FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1)" (identifier "FUN_001fadc0") (argument_list "(&DAT_00397970,&DAT_003971a0,1)" (( "(") (pointer_expression "&DAT_00397970" (& "&") (identifier "DAT_00397970")) (, ",") (pointer_expression "&DAT_003971a0" (& "&") (identifier "DAT_003971a0")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);" (call_expression "FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970)" (identifier "FUN_001e97a0") (argument_list "(param_1,&DAT_00396de0,&DAT_00397970)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_00396de0" (& "&") (identifier "DAT_00396de0")) (, ",") (pointer_expression "&DAT_00397970" (& "&") (identifier "DAT_00397970")) () ")"))) (; ";")) (expression_statement "DAT_0039796c = 1;" (assignment_expression "DAT_0039796c = 1" (identifier "DAT_0039796c") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00397968 = &PTR_FUN_0038e6c8;" (assignment_expression "DAT_00397968 = &PTR_FUN_0038e6c8" (identifier "DAT_00397968") (= "=") (pointer_expression "&PTR_FUN_0038e6c8" (& "&") (identifier "PTR_FUN_0038e6c8"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ee50,&DAT_00397968)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ee50") (, ",") (pointer_expression "&DAT_00397968" (& "&") (identifier "DAT_00397968")) () ")"))) (; ";")) (expression_statement "DAT_00397964 = 1;" (assignment_expression "DAT_00397964 = 1" (identifier "DAT_00397964") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00397960 = &PTR_FUN_0038c60c;" (assignment_expression "DAT_00397960 = &PTR_FUN_0038c60c" (identifier "DAT_00397960") (= "=") (pointer_expression "&PTR_FUN_0038c60c" (& "&") (identifier "PTR_FUN_0038c60c"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038eec4,&DAT_00397960)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038eec4") (, ",") (pointer_expression "&DAT_00397960" (& "&") (identifier "DAT_00397960")) () ")"))) (; ";")) (expression_statement "FUN_002638b0(&DAT_00397950,1);" (call_expression "FUN_002638b0(&DAT_00397950,1)" (identifier "FUN_002638b0") (argument_list "(&DAT_00397950,1)" (( "(") (pointer_expression "&DAT_00397950" (& "&") (identifier "DAT_00397950")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ee48,&DAT_00397950)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ee48") (, ",") (pointer_expression "&DAT_00397950" (& "&") (identifier "DAT_00397950")) () ")"))) (; ";")) (expression_statement "FUN_0022cd90(&DAT_00397460,1);" (call_expression "FUN_0022cd90(&DAT_00397460,1)" (identifier "FUN_0022cd90") (argument_list "(&DAT_00397460,1)" (( "(") (pointer_expression "&DAT_00397460" (& "&") (identifier "DAT_00397460")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ee20,&DAT_00397460)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ee20") (, ",") (pointer_expression "&DAT_00397460" (& "&") (identifier "DAT_00397460")) () ")"))) (; ";")) (expression_statement "FUN_00238840(&DAT_00397414,1);" (call_expression "FUN_00238840(&DAT_00397414,1)" (identifier "FUN_00238840") (argument_list "(&DAT_00397414,1)" (( "(") (pointer_expression "&DAT_00397414" (& "&") (identifier "DAT_00397414")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ec24,&DAT_00397414)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ec24") (, ",") (pointer_expression "&DAT_00397414" (& "&") (identifier "DAT_00397414")) () ")"))) (; ";")) (expression_statement "DAT_00397064 = 1;" (assignment_expression "DAT_00397064 = 1" (identifier "DAT_00397064") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00397070 = 0;" (assignment_expression "DAT_00397070 = 0" (identifier "DAT_00397070") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397060 = &PTR_FUN_0038d780;" (assignment_expression "DAT_00397060 = &PTR_FUN_0038d780" (identifier "DAT_00397060") (= "=") (pointer_expression "&PTR_FUN_0038d780" (& "&") (identifier "PTR_FUN_0038d780"))) (; ";")) (expression_statement "DAT_00397068 = 0;" (assignment_expression "DAT_00397068 = 0" (identifier "DAT_00397068") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039706c = 0;" (assignment_expression "DAT_0039706c = 0" (identifier "DAT_0039706c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397430 = &PTR_FUN_0038e25c;" (assignment_expression "DAT_00397430 = &PTR_FUN_0038e25c" (identifier "DAT_00397430") (= "=") (pointer_expression "&PTR_FUN_0038e25c" (& "&") (identifier "PTR_FUN_0038e25c"))) (; ";")) (expression_statement "DAT_00397438 = &DAT_00397060;" (assignment_expression "DAT_00397438 = &DAT_00397060" (identifier "DAT_00397438") (= "=") (pointer_expression "&DAT_00397060" (& "&") (identifier "DAT_00397060"))) (; ";")) (expression_statement "DAT_00397074 = 0;" (assignment_expression "DAT_00397074 = 0" (identifier "DAT_00397074") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397078 = 0;" (assignment_expression "DAT_00397078 = 0" (identifier "DAT_00397078") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039707c = 0;" (assignment_expression "DAT_0039707c = 0" (identifier "DAT_0039707c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397080 = 0;" (assignment_expression "DAT_00397080 = 0" (identifier "DAT_00397080") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397084 = 0;" (assignment_expression "DAT_00397084 = 0" (identifier "DAT_00397084") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397088 = 0;" (assignment_expression "DAT_00397088 = 0" (identifier "DAT_00397088") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397184 = 0;" (assignment_expression "DAT_00397184 = 0" (identifier "DAT_00397184") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397434 = 1;" (assignment_expression "DAT_00397434 = 1" (identifier "DAT_00397434") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00230d40(&DAT_00397430,0);" (call_expression "FUN_00230d40(&DAT_00397430,0)" (identifier "FUN_00230d40") (argument_list "(&DAT_00397430,0)" (( "(") (pointer_expression "&DAT_00397430" (& "&") (identifier "DAT_00397430")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);" (call_expression "FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430)" (identifier "FUN_001e97a0") (argument_list "(param_1,&DAT_00397eec,&DAT_00397430)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_00397eec" (& "&") (identifier "DAT_00397eec")) (, ",") (pointer_expression "&DAT_00397430" (& "&") (identifier "DAT_00397430")) () ")"))) (; ";")) (expression_statement "DAT_0039742c = 1;" (assignment_expression "DAT_0039742c = 1" (identifier "DAT_0039742c") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00397428 = &PTR_FUN_0038dd08;" (assignment_expression "DAT_00397428 = &PTR_FUN_0038dd08" (identifier "DAT_00397428") (= "=") (pointer_expression "&PTR_FUN_0038dd08" (& "&") (identifier "PTR_FUN_0038dd08"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ecc0,&DAT_00397428)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ecc0") (, ",") (pointer_expression "&DAT_00397428" (& "&") (identifier "DAT_00397428")) () ")"))) (; ";")) (expression_statement "DAT_00397424 = 1;" (assignment_expression "DAT_00397424 = 1" (identifier "DAT_00397424") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00397420 = &PTR_FUN_0038dd44;" (assignment_expression "DAT_00397420 = &PTR_FUN_0038dd44" (identifier "DAT_00397420") (= "=") (pointer_expression "&PTR_FUN_0038dd44" (& "&") (identifier "PTR_FUN_0038dd44"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ee70,&DAT_00397420)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ee70") (, ",") (pointer_expression "&DAT_00397420" (& "&") (identifier "DAT_00397420")) () ")"))) (; ";")) (expression_statement "DAT_00397440 = 1;" (assignment_expression "DAT_00397440 = 1" (identifier "DAT_00397440") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_0039743c = &PTR_FUN_0038e224;" (assignment_expression "DAT_0039743c = &PTR_FUN_0038e224" (identifier "DAT_0039743c") (= "=") (pointer_expression "&PTR_FUN_0038e224" (& "&") (identifier "PTR_FUN_0038e224"))) (; ";")) (expression_statement "DAT_00397444 = FUN_001e92a0();" (assignment_expression "DAT_00397444 = FUN_001e92a0()" (identifier "DAT_00397444") (= "=") (call_expression "FUN_001e92a0()" (identifier "FUN_001e92a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038edac,&DAT_0039743c)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038edac") (, ",") (pointer_expression "&DAT_0039743c" (& "&") (identifier "DAT_0039743c")) () ")"))) (; ";")) (expression_statement "DAT_00396f64 = 1;" (assignment_expression "DAT_00396f64 = 1" (identifier "DAT_00396f64") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00396f60 = &PTR_FUN_0038d7b8;" (assignment_expression "DAT_00396f60 = &PTR_FUN_0038d7b8" (identifier "DAT_00396f60") (= "=") (pointer_expression "&PTR_FUN_0038d7b8" (& "&") (identifier "PTR_FUN_0038d7b8"))) (; ";")) (expression_statement "DAT_00396f68 = 0;" (assignment_expression "DAT_00396f68 = 0" (identifier "DAT_00396f68") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f6c = 0;" (assignment_expression "DAT_00396f6c = 0" (identifier "DAT_00396f6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_003973fc = &PTR_FUN_0038e2d8;" (assignment_expression "DAT_003973fc = &PTR_FUN_0038e2d8" (identifier "DAT_003973fc") (= "=") (pointer_expression "&PTR_FUN_0038e2d8" (& "&") (identifier "PTR_FUN_0038e2d8"))) (; ";")) (expression_statement "DAT_00397404 = &DAT_00396f60;" (assignment_expression "DAT_00397404 = &DAT_00396f60" (identifier "DAT_00397404") (= "=") (pointer_expression "&DAT_00396f60" (& "&") (identifier "DAT_00396f60"))) (; ";")) (expression_statement "DAT_00396f70 = 0;" (assignment_expression "DAT_00396f70 = 0" (identifier "DAT_00396f70") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f74 = 0;" (assignment_expression "DAT_00396f74 = 0" (identifier "DAT_00396f74") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f78 = 0;" (assignment_expression "DAT_00396f78 = 0" (identifier "DAT_00396f78") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f7c = 0;" (assignment_expression "DAT_00396f7c = 0" (identifier "DAT_00396f7c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f80 = 0;" (assignment_expression "DAT_00396f80 = 0" (identifier "DAT_00396f80") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f84 = 0;" (assignment_expression "DAT_00396f84 = 0" (identifier "DAT_00396f84") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f88 = 0;" (assignment_expression "DAT_00396f88 = 0" (identifier "DAT_00396f88") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f8c = 0;" (assignment_expression "DAT_00396f8c = 0" (identifier "DAT_00396f8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f90 = 0;" (assignment_expression "DAT_00396f90 = 0" (identifier "DAT_00396f90") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f94 = 0;" (assignment_expression "DAT_00396f94 = 0" (identifier "DAT_00396f94") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f98 = 0;" (assignment_expression "DAT_00396f98 = 0" (identifier "DAT_00396f98") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f9c = 0;" (assignment_expression "DAT_00396f9c = 0" (identifier "DAT_00396f9c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396fcc = 0;" (assignment_expression "DAT_00396fcc = 0" (identifier "DAT_00396fcc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397400 = 1;" (assignment_expression "DAT_00397400 = 1" (identifier "DAT_00397400") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00232310(&DAT_003973fc,0,0);" (call_expression "FUN_00232310(&DAT_003973fc,0,0)" (identifier "FUN_00232310") (argument_list "(&DAT_003973fc,0,0)" (( "(") (pointer_expression "&DAT_003973fc" (& "&") (identifier "DAT_003973fc")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);" (call_expression "FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc)" (identifier "FUN_001e97a0") (argument_list "(param_1,&DAT_00397efc,&DAT_003973fc)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_00397efc" (& "&") (identifier "DAT_00397efc")) (, ",") (pointer_expression "&DAT_003973fc" (& "&") (identifier "DAT_003973fc")) () ")"))) (; ";")) (expression_statement "DAT_00396fe4 = 1;" (assignment_expression "DAT_00396fe4 = 1" (identifier "DAT_00396fe4") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00396fe0 = &PTR_FUN_0038d7a8;" (assignment_expression "DAT_00396fe0 = &PTR_FUN_0038d7a8" (identifier "DAT_00396fe0") (= "=") (pointer_expression "&PTR_FUN_0038d7a8" (& "&") (identifier "PTR_FUN_0038d7a8"))) (; ";")) (expression_statement "DAT_00396fe8 = 0;" (assignment_expression "DAT_00396fe8 = 0" (identifier "DAT_00396fe8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396fec = 0;" (assignment_expression "DAT_00396fec = 0" (identifier "DAT_00396fec") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397408 = &PTR_FUN_0038e2a4;" (assignment_expression "DAT_00397408 = &PTR_FUN_0038e2a4" (identifier "DAT_00397408") (= "=") (pointer_expression "&PTR_FUN_0038e2a4" (& "&") (identifier "PTR_FUN_0038e2a4"))) (; ";")) (expression_statement "DAT_00397410 = &DAT_00396fe0;" (assignment_expression "DAT_00397410 = &DAT_00396fe0" (identifier "DAT_00397410") (= "=") (pointer_expression "&DAT_00396fe0" (& "&") (identifier "DAT_00396fe0"))) (; ";")) (expression_statement "DAT_00396ff0 = 0;" (assignment_expression "DAT_00396ff0 = 0" (identifier "DAT_00396ff0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ff4 = 0;" (assignment_expression "DAT_00396ff4 = 0" (identifier "DAT_00396ff4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ff8 = 0;" (assignment_expression "DAT_00396ff8 = 0" (identifier "DAT_00396ff8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ffc = 0;" (assignment_expression "DAT_00396ffc = 0" (identifier "DAT_00396ffc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397000 = 0;" (assignment_expression "DAT_00397000 = 0" (identifier "DAT_00397000") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397004 = 0;" (assignment_expression "DAT_00397004 = 0" (identifier "DAT_00397004") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397008 = 0;" (assignment_expression "DAT_00397008 = 0" (identifier "DAT_00397008") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039700c = 0;" (assignment_expression "DAT_0039700c = 0" (identifier "DAT_0039700c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397010 = 0;" (assignment_expression "DAT_00397010 = 0" (identifier "DAT_00397010") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397014 = 0;" (assignment_expression "DAT_00397014 = 0" (identifier "DAT_00397014") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00397018 = 0;" (assignment_expression "DAT_00397018 = 0" (identifier "DAT_00397018") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039701c = 0;" (assignment_expression "DAT_0039701c = 0" (identifier "DAT_0039701c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039704c = 0;" (assignment_expression "DAT_0039704c = 0" (identifier "DAT_0039704c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_0039740c = 1;" (assignment_expression "DAT_0039740c = 1" (identifier "DAT_0039740c") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00231d40(&DAT_00397408,0,0);" (call_expression "FUN_00231d40(&DAT_00397408,0,0)" (identifier "FUN_00231d40") (argument_list "(&DAT_00397408,0,0)" (( "(") (pointer_expression "&DAT_00397408" (& "&") (identifier "DAT_00397408")) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);" (call_expression "FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408)" (identifier "FUN_001e97a0") (argument_list "(param_1,&DAT_00397ef8,&DAT_00397408)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_00397ef8" (& "&") (identifier "DAT_00397ef8")) (, ",") (pointer_expression "&DAT_00397408" (& "&") (identifier "DAT_00397408")) () ")"))) (; ";")) (expression_statement "DAT_003973f8 = 1;" (assignment_expression "DAT_003973f8 = 1" (identifier "DAT_003973f8") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003973f4 = &PTR_FUN_0038e390;" (assignment_expression "DAT_003973f4 = &PTR_FUN_0038e390" (identifier "DAT_003973f4") (= "=") (pointer_expression "&PTR_FUN_0038e390" (& "&") (identifier "PTR_FUN_0038e390"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038edd8,&DAT_003973f4)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038edd8") (, ",") (pointer_expression "&DAT_003973f4" (& "&") (identifier "DAT_003973f4")) () ")"))) (; ";")) (expression_statement "DAT_003973f0 = 1;" (assignment_expression "DAT_003973f0 = 1" (identifier "DAT_003973f0") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003973ec = &PTR_FUN_0038e3a8;" (assignment_expression "DAT_003973ec = &PTR_FUN_0038e3a8" (identifier "DAT_003973ec") (= "=") (pointer_expression "&PTR_FUN_0038e3a8" (& "&") (identifier "PTR_FUN_0038e3a8"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ef8c,&DAT_003973ec)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ef8c") (, ",") (pointer_expression "&DAT_003973ec" (& "&") (identifier "DAT_003973ec")) () ")"))) (; ";")) (expression_statement "DAT_00396e84 = 1;" (assignment_expression "DAT_00396e84 = 1" (identifier "DAT_00396e84") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_00396e88 = 0;" (assignment_expression "DAT_00396e88 = 0" (identifier "DAT_00396e88") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396e8c = 0;" (assignment_expression "DAT_00396e8c = 0" (identifier "DAT_00396e8c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396e80 = &PTR_FUN_0038dd74;" (assignment_expression "DAT_00396e80 = &PTR_FUN_0038dd74" (identifier "DAT_00396e80") (= "=") (pointer_expression "&PTR_FUN_0038dd74" (& "&") (identifier "PTR_FUN_0038dd74"))) (; ";")) (expression_statement "DAT_00396e90 = 0;" (assignment_expression "DAT_00396e90 = 0" (identifier "DAT_00396e90") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396e94 = 0;" (assignment_expression "DAT_00396e94 = 0" (identifier "DAT_00396e94") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396e98 = 0;" (assignment_expression "DAT_00396e98 = 0" (identifier "DAT_00396e98") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396e9c = 0;" (assignment_expression "DAT_00396e9c = 0" (identifier "DAT_00396e9c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ea0 = 0;" (assignment_expression "DAT_00396ea0 = 0" (identifier "DAT_00396ea0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ea4 = 0;" (assignment_expression "DAT_00396ea4 = 0" (identifier "DAT_00396ea4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ea8 = 0;" (assignment_expression "DAT_00396ea8 = 0" (identifier "DAT_00396ea8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396eac = 0;" (assignment_expression "DAT_00396eac = 0" (identifier "DAT_00396eac") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396eb0 = 0;" (assignment_expression "DAT_00396eb0 = 0" (identifier "DAT_00396eb0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396eb4 = 0;" (assignment_expression "DAT_00396eb4 = 0" (identifier "DAT_00396eb4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396eb8 = 0;" (assignment_expression "DAT_00396eb8 = 0" (identifier "DAT_00396eb8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ebc = 0;" (assignment_expression "DAT_00396ebc = 0" (identifier "DAT_00396ebc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ec0 = 0;" (assignment_expression "DAT_00396ec0 = 0" (identifier "DAT_00396ec0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ec4 = 0;" (assignment_expression "DAT_00396ec4 = 0" (identifier "DAT_00396ec4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ec8 = 0;" (assignment_expression "DAT_00396ec8 = 0" (identifier "DAT_00396ec8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ecc = 0;" (assignment_expression "DAT_00396ecc = 0" (identifier "DAT_00396ecc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ed0 = 0;" (assignment_expression "DAT_00396ed0 = 0" (identifier "DAT_00396ed0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ed4 = 0;" (assignment_expression "DAT_00396ed4 = 0" (identifier "DAT_00396ed4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ed8 = 0;" (assignment_expression "DAT_00396ed8 = 0" (identifier "DAT_00396ed8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396edc = 0;" (assignment_expression "DAT_00396edc = 0" (identifier "DAT_00396edc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ee0 = 0;" (assignment_expression "DAT_00396ee0 = 0" (identifier "DAT_00396ee0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ee4 = 0;" (assignment_expression "DAT_00396ee4 = 0" (identifier "DAT_00396ee4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ee8 = 0;" (assignment_expression "DAT_00396ee8 = 0" (identifier "DAT_00396ee8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396eec = 0;" (assignment_expression "DAT_00396eec = 0" (identifier "DAT_00396eec") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ef0 = 0;" (assignment_expression "DAT_00396ef0 = 0" (identifier "DAT_00396ef0") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ef4 = 0;" (assignment_expression "DAT_00396ef4 = 0" (identifier "DAT_00396ef4") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396ef8 = 0;" (assignment_expression "DAT_00396ef8 = 0" (identifier "DAT_00396ef8") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396efc = 0;" (assignment_expression "DAT_00396efc = 0" (identifier "DAT_00396efc") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f00 = 0;" (assignment_expression "DAT_00396f00 = 0" (identifier "DAT_00396f00") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f04 = 0;" (assignment_expression "DAT_00396f04 = 0" (identifier "DAT_00396f04") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f08 = 0;" (assignment_expression "DAT_00396f08 = 0" (identifier "DAT_00396f08") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f0c = 0;" (assignment_expression "DAT_00396f0c = 0" (identifier "DAT_00396f0c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f10 = 0;" (assignment_expression "DAT_00396f10 = 0" (identifier "DAT_00396f10") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f14 = 0;" (assignment_expression "DAT_00396f14 = 0" (identifier "DAT_00396f14") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f18 = 0;" (assignment_expression "DAT_00396f18 = 0" (identifier "DAT_00396f18") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f1c = 0;" (assignment_expression "DAT_00396f1c = 0" (identifier "DAT_00396f1c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f20 = 0;" (assignment_expression "DAT_00396f20 = 0" (identifier "DAT_00396f20") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f24 = 0;" (assignment_expression "DAT_00396f24 = 0" (identifier "DAT_00396f24") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f28 = 0;" (assignment_expression "DAT_00396f28 = 0" (identifier "DAT_00396f28") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f2c = 0;" (assignment_expression "DAT_00396f2c = 0" (identifier "DAT_00396f2c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f30 = 0;" (assignment_expression "DAT_00396f30 = 0" (identifier "DAT_00396f30") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f34 = 0;" (assignment_expression "DAT_00396f34 = 0" (identifier "DAT_00396f34") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f38 = 0;" (assignment_expression "DAT_00396f38 = 0" (identifier "DAT_00396f38") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f3c = 0;" (assignment_expression "DAT_00396f3c = 0" (identifier "DAT_00396f3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f40 = 0;" (assignment_expression "DAT_00396f40 = 0" (identifier "DAT_00396f40") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00396f44 = 0;" (assignment_expression "DAT_00396f44 = 0" (identifier "DAT_00396f44") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);" (call_expression "FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1)" (identifier "FUN_0023b1b0") (argument_list "(&DAT_003973d8,&DAT_00396e80,1)" (( "(") (pointer_expression "&DAT_003973d8" (& "&") (identifier "DAT_003973d8")) (, ",") (pointer_expression "&DAT_00396e80" (& "&") (identifier "DAT_00396e80")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);" (call_expression "FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8)" (identifier "FUN_001e97a0") (argument_list "(param_1,&DAT_00397e80,&DAT_003973d8)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&DAT_00397e80" (& "&") (identifier "DAT_00397e80")) (, ",") (pointer_expression "&DAT_003973d8" (& "&") (identifier "DAT_003973d8")) () ")"))) (; ";")) (expression_statement "DAT_003973d4 = 1;" (assignment_expression "DAT_003973d4 = 1" (identifier "DAT_003973d4") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003973d0 = &PTR_FUN_0038e3c0;" (assignment_expression "DAT_003973d0 = &PTR_FUN_0038e3c0" (identifier "DAT_003973d0") (= "=") (pointer_expression "&PTR_FUN_0038e3c0" (& "&") (identifier "PTR_FUN_0038e3c0"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ecf8,&DAT_003973d0)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ecf8") (, ",") (pointer_expression "&DAT_003973d0" (& "&") (identifier "DAT_003973d0")) () ")"))) (; ";")) (expression_statement "DAT_003973cc = 1;" (assignment_expression "DAT_003973cc = 1" (identifier "DAT_003973cc") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003973c8 = &PTR_FUN_0038df08;" (assignment_expression "DAT_003973c8 = &PTR_FUN_0038df08" (identifier "DAT_003973c8") (= "=") (pointer_expression "&PTR_FUN_0038df08" (& "&") (identifier "PTR_FUN_0038df08"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ef48,&DAT_003973c8)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ef48") (, ",") (pointer_expression "&DAT_003973c8" (& "&") (identifier "DAT_003973c8")) () ")"))) (; ";")) (expression_statement "FUN_00255090(&DAT_003973b8,1);" (call_expression "FUN_00255090(&DAT_003973b8,1)" (identifier "FUN_00255090") (argument_list "(&DAT_003973b8,1)" (( "(") (pointer_expression "&DAT_003973b8" (& "&") (identifier "DAT_003973b8")) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ef5c,&DAT_003973b8)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ef5c") (, ",") (pointer_expression "&DAT_003973b8" (& "&") (identifier "DAT_003973b8")) () ")"))) (; ";")) (expression_statement "DAT_003973b4 = 1;" (assignment_expression "DAT_003973b4 = 1" (identifier "DAT_003973b4") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003973b0 = &PTR_FUN_0038e858;" (assignment_expression "DAT_003973b0 = &PTR_FUN_0038e858" (identifier "DAT_003973b0") (= "=") (pointer_expression "&PTR_FUN_0038e858" (& "&") (identifier "PTR_FUN_0038e858"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038eb70,&DAT_003973b0)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038eb70") (, ",") (pointer_expression "&DAT_003973b0" (& "&") (identifier "DAT_003973b0")) () ")"))) (; ";")) (expression_statement "DAT_003973ac = 1;" (assignment_expression "DAT_003973ac = 1" (identifier "DAT_003973ac") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_003973a8 = &PTR_FUN_0038e884;" (assignment_expression "DAT_003973a8 = &PTR_FUN_0038e884" (identifier "DAT_003973a8") (= "=") (pointer_expression "&PTR_FUN_0038e884" (& "&") (identifier "PTR_FUN_0038e884"))) (; ";")) (expression_statement "FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);" (call_expression "FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8)" (identifier "FUN_001e97a0") (argument_list "(param_1,PTR_DAT_0038ee64,&DAT_003973a8)" (( "(") (identifier "param_1") (, ",") (identifier "PTR_DAT_0038ee64") (, ",") (pointer_expression "&DAT_003973a8" (& "&") (identifier "DAT_003973a8")) () ")"))) (; ";")) (expression_statement "local_34 = &DAT_00397340;" (assignment_expression "local_34 = &DAT_00397340" (identifier "local_34") (= "=") (pointer_expression "&DAT_00397340" (& "&") (identifier "DAT_00397340"))) (; ";")) (expression_statement "local_30 = &DAT_00397280;" (assignment_expression "local_30 = &DAT_00397280" (identifier "local_30") (= "=") (pointer_expression "&DAT_00397280" (& "&") (identifier "DAT_00397280"))) (; ";")) (expression_statement "local_2c = &DAT_003972e0;" (assignment_expression "local_2c = &DAT_003972e0" (identifier "local_2c") (= "=") (pointer_expression "&DAT_003972e0" (& "&") (identifier "DAT_003972e0"))) (; ";")) (expression_statement "local_28 = &DAT_00397060;" (assignment_expression "local_28 = &DAT_00397060" (identifier "local_28") (= "=") (pointer_expression "&DAT_00397060" (& "&") (identifier "DAT_00397060"))) (; ";")) (expression_statement "local_24 = &DAT_00396f60;" (assignment_expression "local_24 = &DAT_00396f60" (identifier "local_24") (= "=") (pointer_expression "&DAT_00396f60" (& "&") (identifier "DAT_00396f60"))) (; ";")) (expression_statement "local_20 = &DAT_00396fe0;" (assignment_expression "local_20 = &DAT_00396fe0" (identifier "local_20") (= "=") (pointer_expression "&DAT_00396fe0" (& "&") (identifier "DAT_00396fe0"))) (; ";")) (expression_statement "FUN_0026c420(param_1,&local_34);" (call_expression "FUN_0026c420(param_1,&local_34)" (identifier "FUN_0026c420") (argument_list "(param_1,&local_34)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")"))) (; ";")) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" (identifier "iVar5") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar3 = FUN_001e9750(&DAT_00397f4c);" (assignment_expression "iVar3 = FUN_001e9750(&DAT_00397f4c)" (identifier "iVar3") (= "=") (call_expression "FUN_001e9750(&DAT_00397f4c)" (identifier "FUN_001e9750") (argument_list "(&DAT_00397f4c)" (( "(") (pointer_expression "&DAT_00397f4c" (& "&") (identifier "DAT_00397f4c")) () ")")))) (; ";")) (expression_statement "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;" (assignment_expression "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340" (pointer_expression "*(undefined ****)(iVar5 + iVar3 * 4)" (* "*") (cast_expression "(undefined ****)(iVar5 + iVar3 * 4)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar5 + iVar3 * 4)" (( "(") (binary_expression "iVar5 + iVar3 * 4" (identifier "iVar5") (+ "+") (binary_expression "iVar3 * 4" (identifier "iVar3") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "&DAT_00397340" (& "&") (identifier "DAT_00397340"))) (; ";")) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" (identifier "iVar5") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397f5c);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397f5c)" (identifier "iVar4") (= "=") (call_expression "FUN_001e9750(&DAT_00397f5c)" (identifier "FUN_001e9750") (argument_list "(&DAT_00397f5c)" (( "(") (pointer_expression "&DAT_00397f5c" (& "&") (identifier "DAT_00397f5c")) () ")")))) (; ";")) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" (identifier "iVar3") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" (* "*") (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar5 + iVar4 * 4)" (( "(") (binary_expression "iVar5 + iVar4 * 4" (identifier "iVar5") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "&DAT_00397280" (& "&") (identifier "DAT_00397280"))) (; ";")) (expression_statement "iVar5 = FUN_001e9750(&DAT_00397f58);" (assignment_expression "iVar5 = FUN_001e9750(&DAT_00397f58)" (identifier "iVar5") (= "=") (call_expression "FUN_001e9750(&DAT_00397f58)" (identifier "FUN_001e9750") (argument_list "(&DAT_00397f58)" (( "(") (pointer_expression "&DAT_00397f58" (& "&") (identifier "DAT_00397f58")) () ")")))) (; ";")) (expression_statement "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;" (assignment_expression "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0" (pointer_expression "*(undefined ****)(iVar3 + iVar5 * 4)" (* "*") (cast_expression "(undefined ****)(iVar3 + iVar5 * 4)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar3 + iVar5 * 4)" (( "(") (binary_expression "iVar3 + iVar5 * 4" (identifier "iVar3") (+ "+") (binary_expression "iVar5 * 4" (identifier "iVar5") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "&DAT_003972e0" (& "&") (identifier "DAT_003972e0"))) (; ";")) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" (identifier "iVar5") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar3 = FUN_001e9750(&DAT_00396de0);" (assignment_expression "iVar3 = FUN_001e9750(&DAT_00396de0)" (identifier "iVar3") (= "=") (call_expression "FUN_001e9750(&DAT_00396de0)" (identifier "FUN_001e9750") (argument_list "(&DAT_00396de0)" (( "(") (pointer_expression "&DAT_00396de0" (& "&") (identifier "DAT_00396de0")) () ")")))) (; ";")) (expression_statement "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;" (assignment_expression "*(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0" (pointer_expression "*(undefined ****)(iVar5 + iVar3 * 4)" (* "*") (cast_expression "(undefined ****)(iVar5 + iVar3 * 4)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar5 + iVar3 * 4)" (( "(") (binary_expression "iVar5 + iVar3 * 4" (identifier "iVar5") (+ "+") (binary_expression "iVar3 * 4" (identifier "iVar3") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "&DAT_003971a0" (& "&") (identifier "DAT_003971a0"))) (; ";")) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" (identifier "iVar5") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397eec);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397eec)" (identifier "iVar4") (= "=") (call_expression "FUN_001e9750(&DAT_00397eec)" (identifier "FUN_001e9750") (argument_list "(&DAT_00397eec)" (( "(") (pointer_expression "&DAT_00397eec" (& "&") (identifier "DAT_00397eec")) () ")")))) (; ";")) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" (identifier "iVar3") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" (* "*") (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar5 + iVar4 * 4)" (( "(") (binary_expression "iVar5 + iVar4 * 4" (identifier "iVar5") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "&DAT_00397060" (& "&") (identifier "DAT_00397060"))) (; ";")) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397efc);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397efc)" (identifier "iVar4") (= "=") (call_expression "FUN_001e9750(&DAT_00397efc)" (identifier "FUN_001e9750") (argument_list "(&DAT_00397efc)" (( "(") (pointer_expression "&DAT_00397efc" (& "&") (identifier "DAT_00397efc")) () ")")))) (; ";")) (expression_statement "iVar5 = param_1[3];" (assignment_expression "iVar5 = param_1[3]" (identifier "iVar5") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;" (assignment_expression "*(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60" (pointer_expression "*(undefined ****)(iVar3 + iVar4 * 4)" (* "*") (cast_expression "(undefined ****)(iVar3 + iVar4 * 4)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar3 + iVar4 * 4)" (( "(") (binary_expression "iVar3 + iVar4 * 4" (identifier "iVar3") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "&DAT_00396f60" (& "&") (identifier "DAT_00396f60"))) (; ";")) (expression_statement "iVar4 = FUN_001e9750(&DAT_00397ef8);" (assignment_expression "iVar4 = FUN_001e9750(&DAT_00397ef8)" (identifier "iVar4") (= "=") (call_expression "FUN_001e9750(&DAT_00397ef8)" (identifier "FUN_001e9750") (argument_list "(&DAT_00397ef8)" (( "(") (pointer_expression "&DAT_00397ef8" (& "&") (identifier "DAT_00397ef8")) () ")")))) (; ";")) (expression_statement "iVar3 = param_1[3];" (assignment_expression "iVar3 = param_1[3]" (identifier "iVar3") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;" (assignment_expression "*(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0" (pointer_expression "*(undefined ****)(iVar5 + iVar4 * 4)" (* "*") (cast_expression "(undefined ****)(iVar5 + iVar4 * 4)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar5 + iVar4 * 4)" (( "(") (binary_expression "iVar5 + iVar4 * 4" (identifier "iVar5") (+ "+") (binary_expression "iVar4 * 4" (identifier "iVar4") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "&DAT_00396fe0" (& "&") (identifier "DAT_00396fe0"))) (; ";")) (expression_statement "iVar5 = FUN_001e9750(&DAT_00397e80);" (assignment_expression "iVar5 = FUN_001e9750(&DAT_00397e80)" (identifier "iVar5") (= "=") (call_expression "FUN_001e9750(&DAT_00397e80)" (identifier "FUN_001e9750") (argument_list "(&DAT_00397e80)" (( "(") (pointer_expression "&DAT_00397e80" (& "&") (identifier "DAT_00397e80")) () ")")))) (; ";")) (expression_statement "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;" (assignment_expression "*(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80" (pointer_expression "*(undefined ****)(iVar3 + iVar5 * 4)" (* "*") (cast_expression "(undefined ****)(iVar3 + iVar5 * 4)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iVar3 + iVar5 * 4)" (( "(") (binary_expression "iVar3 + iVar5 * 4" (identifier "iVar3") (+ "+") (binary_expression "iVar5 * 4" (identifier "iVar5") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "&DAT_00396e80" (& "&") (identifier "DAT_00396e80"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* std::locale::_Impl::_Impl(unsigned int) */

void __thiscall std::locale::function_1::function_1(function_1 *var_1,type_1 param_1)

{
  type_2 *var_2;
  type_3 *puVar2;
  int var_17;
  int var_19;
  int var_16;
  type_4 *local_34;
  type_2 *local_30;
  type_2 *local_2c;
  type_2 *local_28;
  type_2 *local_24;
  type_2 *local_20;
  
  *(type_2 *)(var_1 + 8) = 0x2e;
  puVar1 = &::(anonymous_namespace)::facet_vec;
  *(type_1 *)var_1 = param_1;
  do {
    *var_2 = 0;
    var_2 = var_2 + 1;
  } while (var_2 != (type_2 *)&::(anonymous_namespace)::name_c);
  *(type_2 **)(var_1 + 4) = &::(anonymous_namespace)::facet_vec;
  puVar1 = &::(anonymous_namespace)::cache_vec;
  do {
    *var_2 = 0;
    var_2 = var_2 + 1;
  } while (var_2 != (type_2 *)&DAT_00397cb8);
  *(type_2 **)(var_1 + 0xc) = &::(anonymous_namespace)::cache_vec;
  puVar1 = &::(anonymous_namespace)::name_vec;
  do {
    *var_2 = 0;
    var_2 = var_2 + 1;
  } while (var_2 != &::(anonymous_namespace)::c_locale);
  *(type_3 ***)(var_1 + 0x10) = &::(anonymous_namespace)::name_vec;
  ::(anonymous_namespace)::name_vec = &::(anonymous_namespace)::name_c;
  puVar2 = (type_3 *)type_4::var_3();
  ::(anonymous_namespace)::name_c = *puVar2;
                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */
  var_4<var_5>::var_4((var_4<var_5> *)::(anonymous_namespace)::ctype_c,(type_5 *)0x0,false,1);
  var_6(var_1,(type_6 *)PTR_id_0038efa8,(type_4 *)::(anonymous_namespace)::ctype_c);
  var_7<var_5,var_5,var_8>::var_7
            ((var_7<var_5,var_5,var_8> *)::(anonymous_namespace)::codecvt_c,1);
  var_6(var_1,(type_6 *)PTR_id_0038edec,(type_4 *)::(anonymous_namespace)::codecvt_c);
  _DAT_00397344 = 1;
  _DAT_00397348 = 0;
  _DAT_0039734c = 0;
  ::(anonymous_namespace)::numpunct_cache_c = &PTR____numpunct_cache_0038c6c0;
  DAT_00397350 = 0;
  DAT_00397354 = 0;
  ::(anonymous_namespace)::numpunct_c = &PTR__numpunct_0038e564;
  DAT_003979d0 = &::(anonymous_namespace)::numpunct_cache_c;
  DAT_00397358 = 0;
  DAT_0039735c = 0;
  DAT_00397360 = 0;
  DAT_00397364 = 0;
  DAT_003973a4 = 0;
  DAT_003979cc = 1;
                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */
  var_9<var_5>::var_10
            ((var_9<var_5> *)&::(anonymous_namespace)::numpunct_c,(type_7 *)0x0);
                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */
  var_6(var_1,(type_6 *)&var_9<var_5>::type_6,(type_4 *)&::(anonymous_namespace)::numpunct_c);
  _DAT_003979c4 = 1;
  ::(anonymous_namespace)::num_get_c = &PTR__num_get_0038c40c;
  var_6(var_1,(type_6 *)PTR_id_0038ecc4,(type_4 *)&::(anonymous_namespace)::num_get_c);
  _DAT_003979bc = 1;
  ::(anonymous_namespace)::num_put_c = &PTR__num_put_0038c448;
  var_6(var_1,(type_6 *)PTR_id_0038ed08,(type_4 *)&::(anonymous_namespace)::num_put_c);
  _DAT_003979d8 = 1;
  ::(anonymous_namespace)::collate_c = &PTR__collate_0038e52c;
                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */
  DAT_003979dc = type_4::var_11();
                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */
  var_6(var_1,(type_6 *)PTR_id_0038eb40,(type_4 *)&::(anonymous_namespace)::collate_c);
  _DAT_00397284 = 1;
  ::(anonymous_namespace)::moneypunct_cache_cf = &PTR____moneypunct_cache_0038c6a0;
  DAT_00397290 = 0;
  DAT_00397288 = 0;
  DAT_0039728c = 0;
  ::(anonymous_namespace)::moneypunct_cf = &PTR__moneypunct_0038e5e0;
  DAT_0039799c = &::(anonymous_namespace)::moneypunct_cache_cf;
  DAT_00397292 = 0;
  DAT_00397294 = 0;
  DAT_00397298 = 0;
  DAT_0039729c = 0;
  DAT_003972a0 = 0;
  DAT_003972a4 = 0;
  DAT_003972a8 = 0;
  DAT_003972ac = 0;
  DAT_003972b0 = 0;
  DAT_003972b4 = 0;
  DAT_003972c3 = 0;
  DAT_00397998 = 1;
                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */
  moneypunct<var_5,false>::_M_initialize_moneypunct
            ((type_7 *)&::(anonymous_namespace)::moneypunct_cf,(char *)0x0);
                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */
  var_6(var_1,(type_6 *)&moneypunct<var_5,false>::type_6,
                   (type_4 *)&::(anonymous_namespace)::moneypunct_cf);
  _DAT_003972e4 = 1;
  ::(anonymous_namespace)::moneypunct_cache_ct = &PTR____moneypunct_cache_0038c6b0;
  DAT_003972f0 = 0;
  DAT_003972e8 = 0;
  DAT_003972ec = 0;
  ::(anonymous_namespace)::moneypunct_ct = &PTR__moneypunct_0038e5ac;
  DAT_003979a8 = &::(anonymous_namespace)::moneypunct_cache_ct;
  DAT_003972f2 = 0;
  DAT_003972f4 = 0;
  DAT_003972f8 = 0;
  DAT_003972fc = 0;
  DAT_00397300 = 0;
  DAT_00397304 = 0;
  DAT_00397308 = 0;
  DAT_0039730c = 0;
  DAT_00397310 = 0;
  DAT_00397314 = 0;
  DAT_00397323 = 0;
  DAT_003979a4 = 1;
                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */
  moneypunct<var_5,true>::_M_initialize_moneypunct
            ((type_7 *)&::(anonymous_namespace)::moneypunct_ct,(char *)0x0);
                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */
  var_6(var_1,(type_6 *)&moneypunct<var_5,true>::type_6,
                   (type_4 *)&::(anonymous_namespace)::moneypunct_ct);
  _DAT_00397990 = 1;
  ::(anonymous_namespace)::money_get_c = &PTR__money_get_0038e698;
  var_6(var_1,(type_6 *)PTR_id_0038ed64,(type_4 *)&::(anonymous_namespace)::money_get_c);
  _DAT_00397988 = 1;
  ::(anonymous_namespace)::money_put_c = &PTR__money_put_0038e6b0;
  var_6(var_1,(type_6 *)PTR_id_0038ec70,(type_4 *)&::(anonymous_namespace)::money_put_c);
  _DAT_003971a4 = 1;
  _DAT_003971a8 = 0;
  _DAT_003971ac = 0;
  ::(anonymous_namespace)::timepunct_cache_c = &PTR____timepunct_cache_0038c478;
  DAT_003971b0 = 0;
  DAT_003971b4 = 0;
  DAT_003971b8 = 0;
  DAT_003971bc = 0;
  DAT_003971c0 = 0;
  DAT_003971c4 = 0;
  DAT_003971c8 = 0;
  DAT_003971cc = 0;
  DAT_003971d0 = 0;
  DAT_003971d4 = 0;
  DAT_003971d8 = 0;
  DAT_003971dc = 0;
  DAT_003971e0 = 0;
  DAT_003971e4 = 0;
  DAT_003971e8 = 0;
  DAT_003971ec = 0;
  DAT_003971f0 = 0;
  DAT_003971f4 = 0;
  DAT_003971f8 = 0;
  DAT_003971fc = 0;
  DAT_00397200 = 0;
  DAT_00397204 = 0;
  DAT_00397208 = 0;
  DAT_0039720c = 0;
  DAT_00397210 = 0;
  DAT_00397214 = 0;
  DAT_00397218 = 0;
  DAT_0039721c = 0;
  DAT_00397220 = 0;
  DAT_00397224 = 0;
  DAT_00397228 = 0;
  DAT_0039722c = 0;
  DAT_00397230 = 0;
  DAT_00397234 = 0;
  DAT_00397238 = 0;
  DAT_0039723c = 0;
  DAT_00397240 = 0;
  DAT_00397244 = 0;
  DAT_00397248 = 0;
  DAT_0039724c = 0;
  DAT_00397250 = 0;
  DAT_00397254 = 0;
  DAT_00397258 = 0;
  DAT_0039725c = 0;
  DAT_00397260 = 0;
  DAT_00397264 = 0;
  var_12<var_5>::var_12
            ((var_12<var_5> *)::(anonymous_namespace)::timepunct_c,
             (type_8 *)&::(anonymous_namespace)::timepunct_cache_c,1);
  var_6(var_1,(type_6 *)&var_12<var_5>::type_6,(type_4 *)::(anonymous_namespace)::timepunct_c);
  _DAT_0039796c = 1;
  ::(anonymous_namespace)::time_get_c = &PTR__time_get_0038e6c8;
  var_6(var_1,(type_6 *)PTR_id_0038ee50,(type_4 *)&::(anonymous_namespace)::time_get_c);
  _DAT_00397964 = 1;
  ::(anonymous_namespace)::time_put_c = &PTR__time_put_0038c60c;
  var_6(var_1,(type_6 *)PTR_id_0038eec4,(type_4 *)&::(anonymous_namespace)::time_put_c);
  var_13<var_5>::var_13((var_13<var_5> *)::(anonymous_namespace)::messages_c,1);
  var_6(var_1,(type_6 *)PTR_id_0038ee48,(type_4 *)::(anonymous_namespace)::messages_c);
  var_4<var_14>::var_4((var_4<var_14> *)::(anonymous_namespace)::ctype_w,1);
  var_6(var_1,(type_6 *)PTR_id_0038ee20,(type_4 *)::(anonymous_namespace)::ctype_w);
  var_7<var_14,var_5,var_8>::var_7
            ((var_7<var_14,var_5,var_8> *)::(anonymous_namespace)::codecvt_w,1);
  var_6(var_1,(type_6 *)PTR_id_0038ec24,(type_4 *)::(anonymous_namespace)::codecvt_w);
  _DAT_00397064 = 1;
  DAT_00397070 = 0;
  ::(anonymous_namespace)::numpunct_cache_w = &PTR____numpunct_cache_0038d780;
  DAT_00397068 = 0;
  DAT_0039706c = 0;
  ::(anonymous_namespace)::numpunct_w = &PTR__numpunct_0038e25c;
  DAT_00397438 = &::(anonymous_namespace)::numpunct_cache_w;
  DAT_00397074 = 0;
  DAT_00397078 = 0;
  DAT_0039707c = 0;
  DAT_00397080 = 0;
  DAT_00397084 = 0;
  DAT_00397088 = 0;
  DAT_00397184 = 0;
  DAT_00397434 = 1;
                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */
  var_9<var_14>::var_10
            ((var_9<var_14> *)&::(anonymous_namespace)::numpunct_w,(type_7 *)0x0);
                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */
  var_6(var_1,(type_6 *)&var_9<var_14>::type_6,(type_4 *)&::(anonymous_namespace)::numpunct_w);
  _DAT_0039742c = 1;
  ::(anonymous_namespace)::num_get_w = &PTR__num_get_0038dd08;
  var_6(var_1,(type_6 *)PTR_id_0038ecc0,(type_4 *)&::(anonymous_namespace)::num_get_w);
  _DAT_00397424 = 1;
  ::(anonymous_namespace)::num_put_w = &PTR__num_put_0038dd44;
  var_6(var_1,(type_6 *)PTR_id_0038ee70,(type_4 *)&::(anonymous_namespace)::num_put_w);
  _DAT_00397440 = 1;
  ::(anonymous_namespace)::collate_w = &PTR__collate_0038e224;
                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */
  DAT_00397444 = type_4::var_11();
                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */
  var_6(var_1,(type_6 *)PTR_id_0038edac,(type_4 *)&::(anonymous_namespace)::collate_w);
  _DAT_00396f64 = 1;
  ::(anonymous_namespace)::moneypunct_cache_wf = &PTR____moneypunct_cache_0038d7b8;
  DAT_00396f68 = 0;
  DAT_00396f6c = 0;
  ::(anonymous_namespace)::moneypunct_wf = &PTR__moneypunct_0038e2d8;
  DAT_00397404 = &::(anonymous_namespace)::moneypunct_cache_wf;
  DAT_00396f70 = 0;
  DAT_00396f74 = 0;
  DAT_00396f78 = 0;
  DAT_00396f7c = 0;
  DAT_00396f80 = 0;
  DAT_00396f84 = 0;
  DAT_00396f88 = 0;
  DAT_00396f8c = 0;
  DAT_00396f90 = 0;
  DAT_00396f94 = 0;
  DAT_00396f98 = 0;
  DAT_00396f9c = 0;
  DAT_00396fcc = 0;
  DAT_00397400 = 1;
                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */
  moneypunct<var_14,false>::_M_initialize_moneypunct
            ((type_7 *)&::(anonymous_namespace)::moneypunct_wf,(char *)0x0);
                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */
  var_6(var_1,(type_6 *)&moneypunct<var_14,false>::type_6,
                   (type_4 *)&::(anonymous_namespace)::moneypunct_wf);
  _DAT_00396fe4 = 1;
  ::(anonymous_namespace)::moneypunct_cache_wt = &PTR____moneypunct_cache_0038d7a8;
  DAT_00396fe8 = 0;
  DAT_00396fec = 0;
  ::(anonymous_namespace)::moneypunct_wt = &PTR__moneypunct_0038e2a4;
  DAT_00397410 = &::(anonymous_namespace)::moneypunct_cache_wt;
  DAT_00396ff0 = 0;
  DAT_00396ff4 = 0;
  DAT_00396ff8 = 0;
  DAT_00396ffc = 0;
  DAT_00397000 = 0;
  DAT_00397004 = 0;
  DAT_00397008 = 0;
  DAT_0039700c = 0;
  DAT_00397010 = 0;
  DAT_00397014 = 0;
  DAT_00397018 = 0;
  DAT_0039701c = 0;
  DAT_0039704c = 0;
  DAT_0039740c = 1;
                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */
  moneypunct<var_14,true>::_M_initialize_moneypunct
            ((type_7 *)&::(anonymous_namespace)::moneypunct_wt,(char *)0x0);
                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */
  var_6(var_1,(type_6 *)&moneypunct<var_14,true>::type_6,
                   (type_4 *)&::(anonymous_namespace)::moneypunct_wt);
  _DAT_003973f8 = 1;
  ::(anonymous_namespace)::money_get_w = &PTR__money_get_0038e390;
  var_6(var_1,(type_6 *)PTR_id_0038edd8,(type_4 *)&::(anonymous_namespace)::money_get_w);
  _DAT_003973f0 = 1;
  ::(anonymous_namespace)::money_put_w = &PTR__money_put_0038e3a8;
  var_6(var_1,(type_6 *)PTR_id_0038ef8c,(type_4 *)&::(anonymous_namespace)::money_put_w);
  _DAT_00396e84 = 1;
  _DAT_00396e88 = 0;
  _DAT_00396e8c = 0;
  ::(anonymous_namespace)::timepunct_cache_w = &PTR____timepunct_cache_0038dd74;
  DAT_00396e90 = 0;
  DAT_00396e94 = 0;
  DAT_00396e98 = 0;
  DAT_00396e9c = 0;
  DAT_00396ea0 = 0;
  DAT_00396ea4 = 0;
  DAT_00396ea8 = 0;
  DAT_00396eac = 0;
  DAT_00396eb0 = 0;
  DAT_00396eb4 = 0;
  DAT_00396eb8 = 0;
  DAT_00396ebc = 0;
  DAT_00396ec0 = 0;
  DAT_00396ec4 = 0;
  DAT_00396ec8 = 0;
  DAT_00396ecc = 0;
  DAT_00396ed0 = 0;
  DAT_00396ed4 = 0;
  DAT_00396ed8 = 0;
  DAT_00396edc = 0;
  DAT_00396ee0 = 0;
  DAT_00396ee4 = 0;
  DAT_00396ee8 = 0;
  DAT_00396eec = 0;
  DAT_00396ef0 = 0;
  DAT_00396ef4 = 0;
  DAT_00396ef8 = 0;
  DAT_00396efc = 0;
  DAT_00396f00 = 0;
  DAT_00396f04 = 0;
  DAT_00396f08 = 0;
  DAT_00396f0c = 0;
  DAT_00396f10 = 0;
  DAT_00396f14 = 0;
  DAT_00396f18 = 0;
  DAT_00396f1c = 0;
  DAT_00396f20 = 0;
  DAT_00396f24 = 0;
  DAT_00396f28 = 0;
  DAT_00396f2c = 0;
  DAT_00396f30 = 0;
  DAT_00396f34 = 0;
  DAT_00396f38 = 0;
  DAT_00396f3c = 0;
  DAT_00396f40 = 0;
  DAT_00396f44 = 0;
  var_12<var_14>::var_12
            ((var_12<var_14> *)::(anonymous_namespace)::timepunct_w,
             (type_8 *)&::(anonymous_namespace)::timepunct_cache_w,1);
  var_6(var_1,(type_6 *)&var_12<var_14>::type_6,
                   (type_4 *)::(anonymous_namespace)::timepunct_w);
  _DAT_003973d4 = 1;
  ::(anonymous_namespace)::time_get_w = &PTR__time_get_0038e3c0;
  var_6(var_1,(type_6 *)PTR_id_0038ecf8,(type_4 *)&::(anonymous_namespace)::time_get_w);
  _DAT_003973cc = 1;
  ::(anonymous_namespace)::time_put_w = &PTR__time_put_0038df08;
  var_6(var_1,(type_6 *)PTR_id_0038ef48,(type_4 *)&::(anonymous_namespace)::time_put_w);
  var_13<var_14>::var_13((var_13<var_14> *)::(anonymous_namespace)::messages_w,1);
  var_6(var_1,(type_6 *)PTR_id_0038ef5c,(type_4 *)::(anonymous_namespace)::messages_w);
  _DAT_003973b4 = 1;
  ::(anonymous_namespace)::codecvt_c16 = &PTR__codecvt_0038e858;
  var_6(var_1,(type_6 *)PTR_id_0038eb70,(type_4 *)&::(anonymous_namespace)::codecvt_c16);
  _DAT_003973ac = 1;
  ::(anonymous_namespace)::codecvt_c32 = &PTR__codecvt_0038e884;
  var_6(var_1,(type_6 *)PTR_id_0038ee64,(type_4 *)&::(anonymous_namespace)::codecvt_c32);
  local_34 = (type_4 *)&::(anonymous_namespace)::numpunct_cache_c;
  local_30 = &::(anonymous_namespace)::moneypunct_cache_cf;
  local_2c = &::(anonymous_namespace)::moneypunct_cache_ct;
  local_28 = &::(anonymous_namespace)::numpunct_cache_w;
  local_24 = &::(anonymous_namespace)::moneypunct_cache_wf;
  local_20 = &::(anonymous_namespace)::moneypunct_cache_wt;
  var_15(var_1,&local_34);
  var_16 = *(int *)(var_1 + 0xc);
  var_17 = locale::id::var_18((type_6 *)&var_9<var_5>::type_6);
  *(type_9 ****)(var_16 + var_17 * 4) = &::(anonymous_namespace)::numpunct_cache_c;
  var_16 = *(int *)(var_1 + 0xc);
  var_19 = locale::id::var_18((type_6 *)&moneypunct<var_5,false>::type_6);
  var_17 = *(int *)(var_1 + 0xc);
  *(type_9 ****)(var_16 + var_19 * 4) = &::(anonymous_namespace)::moneypunct_cache_cf;
  var_16 = locale::id::var_18((type_6 *)&moneypunct<var_5,true>::type_6);
  *(type_9 ****)(var_17 + var_16 * 4) = &::(anonymous_namespace)::moneypunct_cache_ct;
  var_16 = *(int *)(var_1 + 0xc);
  var_17 = locale::id::var_18((type_6 *)&var_12<var_5>::type_6);
  *(type_9 ****)(var_16 + var_17 * 4) = &::(anonymous_namespace)::timepunct_cache_c;
  var_16 = *(int *)(var_1 + 0xc);
  var_19 = locale::id::var_18((type_6 *)&var_9<var_14>::type_6);
  var_17 = *(int *)(var_1 + 0xc);
  *(type_9 ****)(var_16 + var_19 * 4) = &::(anonymous_namespace)::numpunct_cache_w;
  var_19 = locale::id::var_18((type_6 *)&moneypunct<var_14,false>::type_6);
  var_16 = *(int *)(var_1 + 0xc);
  *(type_9 ****)(var_17 + var_19 * 4) = &::(anonymous_namespace)::moneypunct_cache_wf;
  var_19 = locale::id::var_18((type_6 *)&moneypunct<var_14,true>::type_6);
  var_17 = *(int *)(var_1 + 0xc);
  *(type_9 ****)(var_16 + var_19 * 4) = &::(anonymous_namespace)::moneypunct_cache_wt;
  var_16 = locale::id::var_18((type_6 *)&var_12<var_14>::type_6);
  *(type_9 ****)(var_17 + var_16 * 4) = &::(anonymous_namespace)::timepunct_cache_w;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))) (return_statement))))

/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */

void MASKED(undefined4 *param_1,undefined4 param_2)

{
  undefined4 *puVar1;
  undefined2 *puVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  undefined4 *local_34;
  undefined4 *local_30;
  undefined4 *local_2c;
  undefined4 *local_28;
  undefined4 *local_24;
  undefined4 *local_20;
  
  param_1[2] = 0x2e;
  puVar1 = &DAT_00397cc0;
  *param_1 = param_2;
  do {
    *puVar1 = 0;
    puVar1 = puVar1 + 1;
  } while (puVar1 != (undefined4 *)&DAT_00397d78);
  param_1[1] = &DAT_00397cc0;
  puVar1 = &DAT_00397c00;
  do {
    *puVar1 = 0;
    puVar1 = puVar1 + 1;
  } while (puVar1 != (undefined4 *)&DAT_00397cb8);
  param_1[3] = &DAT_00397c00;
  puVar1 = &DAT_00397da0;
  do {
    *puVar1 = 0;
    puVar1 = puVar1 + 1;
  } while (puVar1 != (undefined4 *)&DAT_00397dd0);
  param_1[4] = &DAT_00397da0;
  DAT_00397da0 = &DAT_00397d78;
  puVar2 = (undefined2 *)FUN_001e9300();
  DAT_00397d78 = *puVar2;
                    /* try { // try from 002370fd to 00237138 has its CatchHandler @ 00237f97 */
  FUN_00221ab0(&DAT_003979e0,0,0,1);
  FUN_001e97a0(param_1,PTR_DAT_0038efa8,&DAT_003979e0);
  FUN_002387b0(&DAT_003979ac,1);
  FUN_001e97a0(param_1,PTR_DAT_0038edec,&DAT_003979ac);
  DAT_00397344 = 1;
  DAT_00397348 = 0;
  DAT_0039734c = 0;
  DAT_00397340 = &PTR_FUN_0038c6c0;
  DAT_00397350 = 0;
  DAT_00397354 = 0;
  DAT_003979c8 = &PTR_FUN_0038e564;
  DAT_003979d0 = &DAT_00397340;
  DAT_00397358 = 0;
  DAT_0039735c = 0;
  DAT_00397360 = 0;
  DAT_00397364 = 0;
  DAT_003973a4 = 0;
  DAT_003979cc = 1;
                    /* try { // try from 002371db to 002371df has its CatchHandler @ 00237fce */
  FUN_00230a30(&DAT_003979c8,0);
                    /* try { // try from 002371f1 to 00237253 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397f4c,&DAT_003979c8);
  DAT_003979c4 = 1;
  DAT_003979c0 = &PTR_FUN_0038c40c;
  FUN_001e97a0(param_1,PTR_DAT_0038ecc4,&DAT_003979c0);
  DAT_003979bc = 1;
  DAT_003979b8 = &PTR_FUN_0038c448;
  FUN_001e97a0(param_1,PTR_DAT_0038ed08,&DAT_003979b8);
  DAT_003979d8 = 1;
  DAT_003979d4 = &PTR_FUN_0038e52c;
                    /* try { // try from 00237270 to 00237274 has its CatchHandler @ 00237fc4 */
  DAT_003979dc = FUN_001e92a0();
                    /* try { // try from 0023728c to 00237290 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,PTR_DAT_0038eb40,&DAT_003979d4);
  DAT_00397284 = 1;
  DAT_00397280 = &PTR_FUN_0038c6a0;
  DAT_00397290 = 0;
  DAT_00397288 = 0;
  DAT_0039728c = 0;
  DAT_00397994 = &PTR_FUN_0038e5e0;
  DAT_0039799c = &DAT_00397280;
  DAT_00397292 = 0;
  DAT_00397294 = 0;
  DAT_00397298 = 0;
  DAT_0039729c = 0;
  DAT_003972a0 = 0;
  DAT_003972a4 = 0;
  DAT_003972a8 = 0;
  DAT_003972ac = 0;
  DAT_003972b0 = 0;
  DAT_003972b4 = 0;
  DAT_003972c3 = 0;
  DAT_00397998 = 1;
                    /* try { // try from 00237368 to 0023736c has its CatchHandler @ 00237fd5 */
  FUN_00231560(&DAT_00397994,0,0);
                    /* try { // try from 0023737e to 00237382 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397f5c,&DAT_00397994);
  DAT_003972e4 = 1;
  DAT_003972e0 = &PTR_FUN_0038c6b0;
  DAT_003972f0 = 0;
  DAT_003972e8 = 0;
  DAT_003972ec = 0;
  DAT_003979a0 = &PTR_FUN_0038e5ac;
  DAT_003979a8 = &DAT_003972e0;
  DAT_003972f2 = 0;
  DAT_003972f4 = 0;
  DAT_003972f8 = 0;
  DAT_003972fc = 0;
  DAT_00397300 = 0;
  DAT_00397304 = 0;
  DAT_00397308 = 0;
  DAT_0039730c = 0;
  DAT_00397310 = 0;
  DAT_00397314 = 0;
  DAT_00397323 = 0;
  DAT_003979a4 = 1;
                    /* try { // try from 0023745a to 0023745e has its CatchHandler @ 00237fa5 */
  FUN_00231020(&DAT_003979a0,0,0);
                    /* try { // try from 00237470 to 002377c9 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397f58,&DAT_003979a0);
  DAT_00397990 = 1;
  DAT_0039798c = &PTR_FUN_0038e698;
  FUN_001e97a0(param_1,PTR_DAT_0038ed64,&DAT_0039798c);
  DAT_00397988 = 1;
  DAT_00397984 = &PTR_FUN_0038e6b0;
  FUN_001e97a0(param_1,PTR_DAT_0038ec70,&DAT_00397984);
  DAT_003971a4 = 1;
  DAT_003971a8 = 0;
  DAT_003971ac = 0;
  DAT_003971a0 = &PTR_FUN_0038c478;
  DAT_003971b0 = 0;
  DAT_003971b4 = 0;
  DAT_003971b8 = 0;
  DAT_003971bc = 0;
  DAT_003971c0 = 0;
  DAT_003971c4 = 0;
  DAT_003971c8 = 0;
  DAT_003971cc = 0;
  DAT_003971d0 = 0;
  DAT_003971d4 = 0;
  DAT_003971d8 = 0;
  DAT_003971dc = 0;
  DAT_003971e0 = 0;
  DAT_003971e4 = 0;
  DAT_003971e8 = 0;
  DAT_003971ec = 0;
  DAT_003971f0 = 0;
  DAT_003971f4 = 0;
  DAT_003971f8 = 0;
  DAT_003971fc = 0;
  DAT_00397200 = 0;
  DAT_00397204 = 0;
  DAT_00397208 = 0;
  DAT_0039720c = 0;
  DAT_00397210 = 0;
  DAT_00397214 = 0;
  DAT_00397218 = 0;
  DAT_0039721c = 0;
  DAT_00397220 = 0;
  DAT_00397224 = 0;
  DAT_00397228 = 0;
  DAT_0039722c = 0;
  DAT_00397230 = 0;
  DAT_00397234 = 0;
  DAT_00397238 = 0;
  DAT_0039723c = 0;
  DAT_00397240 = 0;
  DAT_00397244 = 0;
  DAT_00397248 = 0;
  DAT_0039724c = 0;
  DAT_00397250 = 0;
  DAT_00397254 = 0;
  DAT_00397258 = 0;
  DAT_0039725c = 0;
  DAT_00397260 = 0;
  DAT_00397264 = 0;
  FUN_001fadc0(&DAT_00397970,&DAT_003971a0,1);
  FUN_001e97a0(param_1,&DAT_00396de0,&DAT_00397970);
  DAT_0039796c = 1;
  DAT_00397968 = &PTR_FUN_0038e6c8;
  FUN_001e97a0(param_1,PTR_DAT_0038ee50,&DAT_00397968);
  DAT_00397964 = 1;
  DAT_00397960 = &PTR_FUN_0038c60c;
  FUN_001e97a0(param_1,PTR_DAT_0038eec4,&DAT_00397960);
  FUN_002638b0(&DAT_00397950,1);
  FUN_001e97a0(param_1,PTR_DAT_0038ee48,&DAT_00397950);
  FUN_0022cd90(&DAT_00397460,1);
  FUN_001e97a0(param_1,PTR_DAT_0038ee20,&DAT_00397460);
  FUN_00238840(&DAT_00397414,1);
  FUN_001e97a0(param_1,PTR_DAT_0038ec24,&DAT_00397414);
  DAT_00397064 = 1;
  DAT_00397070 = 0;
  DAT_00397060 = &PTR_FUN_0038d780;
  DAT_00397068 = 0;
  DAT_0039706c = 0;
  DAT_00397430 = &PTR_FUN_0038e25c;
  DAT_00397438 = &DAT_00397060;
  DAT_00397074 = 0;
  DAT_00397078 = 0;
  DAT_0039707c = 0;
  DAT_00397080 = 0;
  DAT_00397084 = 0;
  DAT_00397088 = 0;
  DAT_00397184 = 0;
  DAT_00397434 = 1;
                    /* try { // try from 00237877 to 0023787b has its CatchHandler @ 00237fb6 */
  FUN_00230d40(&DAT_00397430,0);
                    /* try { // try from 0023788d to 002378ef has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397eec,&DAT_00397430);
  DAT_0039742c = 1;
  DAT_00397428 = &PTR_FUN_0038dd08;
  FUN_001e97a0(param_1,PTR_DAT_0038ecc0,&DAT_00397428);
  DAT_00397424 = 1;
  DAT_00397420 = &PTR_FUN_0038dd44;
  FUN_001e97a0(param_1,PTR_DAT_0038ee70,&DAT_00397420);
  DAT_00397440 = 1;
  DAT_0039743c = &PTR_FUN_0038e224;
                    /* try { // try from 0023790c to 00237910 has its CatchHandler @ 00237fac */
  DAT_00397444 = FUN_001e92a0();
                    /* try { // try from 00237928 to 0023792c has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,PTR_DAT_0038edac,&DAT_0039743c);
  DAT_00396f64 = 1;
  DAT_00396f60 = &PTR_FUN_0038d7b8;
  DAT_00396f68 = 0;
  DAT_00396f6c = 0;
  DAT_003973fc = &PTR_FUN_0038e2d8;
  DAT_00397404 = &DAT_00396f60;
  DAT_00396f70 = 0;
  DAT_00396f74 = 0;
  DAT_00396f78 = 0;
  DAT_00396f7c = 0;
  DAT_00396f80 = 0;
  DAT_00396f84 = 0;
  DAT_00396f88 = 0;
  DAT_00396f8c = 0;
  DAT_00396f90 = 0;
  DAT_00396f94 = 0;
  DAT_00396f98 = 0;
  DAT_00396f9c = 0;
  DAT_00396fcc = 0;
  DAT_00397400 = 1;
                    /* try { // try from 00237a0f to 00237a13 has its CatchHandler @ 00237fbd */
  FUN_00232310(&DAT_003973fc,0,0);
                    /* try { // try from 00237a25 to 00237a29 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397efc,&DAT_003973fc);
  DAT_00396fe4 = 1;
  DAT_00396fe0 = &PTR_FUN_0038d7a8;
  DAT_00396fe8 = 0;
  DAT_00396fec = 0;
  DAT_00397408 = &PTR_FUN_0038e2a4;
  DAT_00397410 = &DAT_00396fe0;
  DAT_00396ff0 = 0;
  DAT_00396ff4 = 0;
  DAT_00396ff8 = 0;
  DAT_00396ffc = 0;
  DAT_00397000 = 0;
  DAT_00397004 = 0;
  DAT_00397008 = 0;
  DAT_0039700c = 0;
  DAT_00397010 = 0;
  DAT_00397014 = 0;
  DAT_00397018 = 0;
  DAT_0039701c = 0;
  DAT_0039704c = 0;
  DAT_0039740c = 1;
                    /* try { // try from 00237b0c to 00237b10 has its CatchHandler @ 00237f9e */
  FUN_00231d40(&DAT_00397408,0,0);
                    /* try { // try from 00237b22 to 00237ec5 has its CatchHandler @ 00237f97 */
  FUN_001e97a0(param_1,&DAT_00397ef8,&DAT_00397408);
  DAT_003973f8 = 1;
  DAT_003973f4 = &PTR_FUN_0038e390;
  FUN_001e97a0(param_1,PTR_DAT_0038edd8,&DAT_003973f4);
  DAT_003973f0 = 1;
  DAT_003973ec = &PTR_FUN_0038e3a8;
  FUN_001e97a0(param_1,PTR_DAT_0038ef8c,&DAT_003973ec);
  DAT_00396e84 = 1;
  DAT_00396e88 = 0;
  DAT_00396e8c = 0;
  DAT_00396e80 = &PTR_FUN_0038dd74;
  DAT_00396e90 = 0;
  DAT_00396e94 = 0;
  DAT_00396e98 = 0;
  DAT_00396e9c = 0;
  DAT_00396ea0 = 0;
  DAT_00396ea4 = 0;
  DAT_00396ea8 = 0;
  DAT_00396eac = 0;
  DAT_00396eb0 = 0;
  DAT_00396eb4 = 0;
  DAT_00396eb8 = 0;
  DAT_00396ebc = 0;
  DAT_00396ec0 = 0;
  DAT_00396ec4 = 0;
  DAT_00396ec8 = 0;
  DAT_00396ecc = 0;
  DAT_00396ed0 = 0;
  DAT_00396ed4 = 0;
  DAT_00396ed8 = 0;
  DAT_00396edc = 0;
  DAT_00396ee0 = 0;
  DAT_00396ee4 = 0;
  DAT_00396ee8 = 0;
  DAT_00396eec = 0;
  DAT_00396ef0 = 0;
  DAT_00396ef4 = 0;
  DAT_00396ef8 = 0;
  DAT_00396efc = 0;
  DAT_00396f00 = 0;
  DAT_00396f04 = 0;
  DAT_00396f08 = 0;
  DAT_00396f0c = 0;
  DAT_00396f10 = 0;
  DAT_00396f14 = 0;
  DAT_00396f18 = 0;
  DAT_00396f1c = 0;
  DAT_00396f20 = 0;
  DAT_00396f24 = 0;
  DAT_00396f28 = 0;
  DAT_00396f2c = 0;
  DAT_00396f30 = 0;
  DAT_00396f34 = 0;
  DAT_00396f38 = 0;
  DAT_00396f3c = 0;
  DAT_00396f40 = 0;
  DAT_00396f44 = 0;
  FUN_0023b1b0(&DAT_003973d8,&DAT_00396e80,1);
  FUN_001e97a0(param_1,&DAT_00397e80,&DAT_003973d8);
  DAT_003973d4 = 1;
  DAT_003973d0 = &PTR_FUN_0038e3c0;
  FUN_001e97a0(param_1,PTR_DAT_0038ecf8,&DAT_003973d0);
  DAT_003973cc = 1;
  DAT_003973c8 = &PTR_FUN_0038df08;
  FUN_001e97a0(param_1,PTR_DAT_0038ef48,&DAT_003973c8);
  FUN_00255090(&DAT_003973b8,1);
  FUN_001e97a0(param_1,PTR_DAT_0038ef5c,&DAT_003973b8);
  DAT_003973b4 = 1;
  DAT_003973b0 = &PTR_FUN_0038e858;
  FUN_001e97a0(param_1,PTR_DAT_0038eb70,&DAT_003973b0);
  DAT_003973ac = 1;
  DAT_003973a8 = &PTR_FUN_0038e884;
  FUN_001e97a0(param_1,PTR_DAT_0038ee64,&DAT_003973a8);
  local_34 = &DAT_00397340;
  local_30 = &DAT_00397280;
  local_2c = &DAT_003972e0;
  local_28 = &DAT_00397060;
  local_24 = &DAT_00396f60;
  local_20 = &DAT_00396fe0;
  FUN_0026c420(param_1,&local_34);
  iVar5 = param_1[3];
  iVar3 = FUN_001e9750(&DAT_00397f4c);
  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_00397340;
  iVar5 = param_1[3];
  iVar4 = FUN_001e9750(&DAT_00397f5c);
  iVar3 = param_1[3];
  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397280;
  iVar5 = FUN_001e9750(&DAT_00397f58);
  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_003972e0;
  iVar5 = param_1[3];
  iVar3 = FUN_001e9750(&DAT_00396de0);
  *(undefined ****)(iVar5 + iVar3 * 4) = &DAT_003971a0;
  iVar5 = param_1[3];
  iVar4 = FUN_001e9750(&DAT_00397eec);
  iVar3 = param_1[3];
  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00397060;
  iVar4 = FUN_001e9750(&DAT_00397efc);
  iVar5 = param_1[3];
  *(undefined ****)(iVar3 + iVar4 * 4) = &DAT_00396f60;
  iVar4 = FUN_001e9750(&DAT_00397ef8);
  iVar3 = param_1[3];
  *(undefined ****)(iVar5 + iVar4 * 4) = &DAT_00396fe0;
  iVar5 = FUN_001e9750(&DAT_00397e80);
  *(undefined ****)(iVar3 + iVar5 * 4) = &DAT_00396e80;
  return;
}

