Показано с 1 по 6 из 6.

Помогите расшифровать файлы [email protected] (заявка № 196891)

  1. #1
    Junior Member Репутация
    Регистрация
    09.02.2016
    Сообщений
    4
    Вес репутации
    30

    Помогите расшифровать файлы [email protected]

    На рабочем компьютере были зашифрованы все документы, при запуске открылась вот такая картинка
    {72N6FD42-3SKE-818D-9865-3YAH2897396Y}.jpg
    C требованием связаться по адресам [email protected] и [email protected]
    Мы отправили сообщения на данные адреса, но первый оказался нерабочим, а второй не отвечает.
    Помогите, пожалуйста, найти дешифратор.
    Образец зашифрованного документа здесь - https://yadi.sk/d/PfLdJ7daoZkyk
    Тот же самый файл с расширением [email protected] - https://yadi.sk/d/BwPqlpD9oZkxX
    Этот же файл в незашифрованном виде (случайно сохранился на флешке) - https://yadi.sk/i/bCqQ-0jqoZm33
    Злодей каким-то образом проник на компьютер через RDP
    Лог HiJackThis:
    Logfile of Trend Micro HijackThis v2.0.5
    Scan saved at 20:08:47, on 09.02.2016
    Platform: Unknown Windows (WinNT 6.02.100
    MSIE: Internet Explorer v11.0 (11.00.9600.17037)


    Boot mode: Normal

    Running processes:
    C:\Program Files (x86)\ASUS\Splendid\ACMON.exe
    C:\Program Files\Conexant\SAII\SmartAudio.exe
    C:\Windows\SysWOW64\RunDll32.exe
    C:\Program Files (x86)\Internet Explorer\IEXPLORE.EXE
    C:\Users\VBO-serv\Desktop\HijackThis.exe

    R1 - HKCU\Software\Microsoft\Internet Explorer\Main,Default_Page_URL = http://asus13.msn.com/?pc=ASJB
    R1 - HKCU\Software\Microsoft\Internet Explorer\Main,Search Page = http://go.microsoft.com/fwlink/?LinkId=54896
    R0 - HKCU\Software\Microsoft\Internet Explorer\Main,Start Page = http://asus13.msn.com/?pc=ASJB
    R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Default_Page_URL = http://go.microsoft.com/fwlink/p/?LinkId=255141
    R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Default_Search_URL = http://go.microsoft.com/fwlink/?LinkId=54896
    R1 - HKLM\Software\Microsoft\Internet Explorer\Main,Search Page = http://go.microsoft.com/fwlink/?LinkId=54896
    R0 - HKLM\Software\Microsoft\Internet Explorer\Main,Start Page = http://go.microsoft.com/fwlink/p/?LinkId=255141
    R0 - HKLM\Software\Microsoft\Internet Explorer\Search,SearchAssistant =
    R0 - HKLM\Software\Microsoft\Internet Explorer\Search,CustomizeSearch =
    R0 - HKLM\Software\Microsoft\Internet Explorer\Main,Local Page = C:\Windows\SysWOW64\blank.htm
    R0 - HKCU\Software\Microsoft\Internet Explorer\Toolbar,LinksFolderName =
    F2 - REG:system.ini: UserInit=userinit.exe
    O4 - HKLM\..\Run: [ASUSPRP] "C:\Program Files (x86)\ASUS\APRP\APRP.EXE"
    O4 - S-1-5-21-751089190-1815436575-506104080-501 Startup: {72N6FD42-3SKE-818D-9865-3YAH2897396Y}.bmp (User 'Гость')
    O4 - S-1-5-21-751089190-1815436575-506104080-501 User Startup: {72N6FD42-3SKE-818D-9865-3YAH2897396Y}.bmp (User 'Гость')
    O4 - Global Startup: Bluetooth.lnk = ?
    O11 - Options group: [ACCELERATED_GRAPHICS] Accelerated graphics
    O23 - Service: @%SystemRoot%\system32\Alg.exe,-112 (ALG) - Unknown owner - C:\Windows\System32\alg.exe (file missing)
    O23 - Service: Ammyy Admin (AmmyyAdmin) - Ammyy LLC - C:\Users\VBO-serv\AppData\Local\Microsoft\Windows\INetCache\IE\ 2NGYKMNJ\AA_v3.exe
    O23 - Service: ASLDR Service (ASLDRService) - ASUSTek Computer Inc. - C:\Program Files (x86)\ASUS\ATK Package\ATK Hotkey\AsLdrSrv.exe
    O23 - Service: ATKGFNEX Service (ATKGFNEXSrv) - ASUS - C:\Program Files (x86)\ASUS\ATK Package\ATKGFNEX\GFNEXSrv.exe
    O23 - Service: @oem21.inf,%BlueBcmBtRSupport.SVCNAME%;Bluetooth Driver Management Service (BcmBtRSupport) - Unknown owner - C:\Windows\system32\BtwRSupportService.exe (file missing)
    O23 - Service: Bluetooth Service (btwdins) - Broadcom Corporation. - C:\Program Files\WIDCOMM\Bluetooth Software\btwdins.exe
    O23 - Service: Intel(R) Content Protection HECI Service (cphs) - Intel Corporation - C:\Windows\SysWow64\IntelCpHeciSvc.exe
    O23 - Service: @C:\Windows\system32\CxAudMsg64.exe,-100 (CxAudMsg) - Unknown owner - C:\Windows\system32\CxAudMsg64.exe (file missing)
    O23 - Service: @%SystemRoot%\system32\efssvc.dll,-100 (EFS) - Unknown owner - C:\Windows\System32\lsass.exe (file missing)
    O23 - Service: @%systemroot%\system32\fxsresm.dll,-118 (Fax) - Unknown owner - C:\Windows\system32\fxssvc.exe (file missing)
    O23 - Service: @%SystemRoot%\system32\ieetwcollectorres.dll,-1000 (IEEtwCollectorService) - Unknown owner - C:\Windows\system32\IEEtwCollector.exe (file missing)
    O23 - Service: Intel(R) HD Graphics Control Panel Service (igfxCUIService1.0.0.0) - Unknown owner - C:\Windows\system32\igfxCUIService.exe (file missing)
    O23 - Service: Intel(R) Capability Licensing Service Interface - Intel(R) Corporation - C:\Program Files\Intel\iCLS Client\HeciServer.exe
    O23 - Service: Intel(R) Capability Licensing Service TCP IP Interface - Intel(R) Corporation - C:\Program Files\Intel\iCLS Client\SocketHeciServer.exe
    O23 - Service: Intel(R) ME Service - Intel Corporation - C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\FWService\IntelMeFWService.exe
    O23 - Service: Intel(R) Dynamic Application Loader Host Interface Service (jhi_service) - Intel Corporation - C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL\jhi_service.exe
    O23 - Service: @keyiso.dll,-100 (KeyIso) - Unknown owner - C:\Windows\system32\lsass.exe (file missing)
    O23 - Service: Intel(R) Management and Security Application Local Management Service (LMS) - Intel Corporation - C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\LMS\LMS.exe
    O23 - Service: @comres.dll,-2797 (MSDTC) - Unknown owner - C:\Windows\System32\msdtc.exe (file missing)
    O23 - Service: @%SystemRoot%\System32\netlogon.dll,-102 (Netlogon) - Unknown owner - C:\Windows\system32\lsass.exe (file missing)
    O23 - Service: NVIDIA Network Service (NvNetworkService) - NVIDIA Corporation - C:\Program Files (x86)\NVIDIA Corporation\NetService\NvNetworkService.exe
    O23 - Service: NVIDIA Streamer Service (NvStreamSvc) - NVIDIA Corporation - C:\Program Files\NVIDIA Corporation\NvStreamSrv\nvstreamsvc.exe
    O23 - Service: NVIDIA Display Driver Service (nvsvc) - Unknown owner - C:\Windows\system32\nvvsvc.exe (file missing)
    O23 - Service: @%systemroot%\system32\Locator.exe,-2 (RpcLocator) - Unknown owner - C:\Windows\system32\locator.exe (file missing)
    O23 - Service: @%SystemRoot%\system32\samsrv.dll,-1 (SamSs) - Unknown owner - C:\Windows\system32\lsass.exe (file missing)
    O23 - Service: Conexant SmartAudio service (SAService) - Conexant Systems, Inc. - C:\Windows\system32\SAsrv.exe
    O23 - Service: @%SystemRoot%\system32\snmptrap.exe,-3 (SNMPTRAP) - Unknown owner - C:\Windows\System32\snmptrap.exe (file missing)
    O23 - Service: @%systemroot%\system32\spoolsv.exe,-1 (Spooler) - Unknown owner - C:\Windows\System32\spoolsv.exe (file missing)
    O23 - Service: @%SystemRoot%\system32\sppsvc.exe,-101 (sppsvc) - Unknown owner - C:\Windows\system32\sppsvc.exe (file missing)
    O23 - Service: @%SystemRoot%\system32\ui0detect.exe,-101 (UI0Detect) - Unknown owner - C:\Windows\system32\UI0Detect.exe (file missing)
    O23 - Service: @%SystemRoot%\system32\vaultsvc.dll,-1003 (VaultSvc) - Unknown owner - C:\Windows\system32\lsass.exe (file missing)
    O23 - Service: @%SystemRoot%\system32\vds.exe,-100 (vds) - Unknown owner - C:\Windows\System32\vds.exe (file missing)
    O23 - Service: @%systemroot%\system32\vssvc.exe,-102 (VSS) - Unknown owner - C:\Windows\system32\vssvc.exe (file missing)
    O23 - Service: @%systemroot%\system32\wbengine.exe,-104 (wbengine) - Unknown owner - C:\Windows\system32\wbengine.exe (file missing)
    O23 - Service: @%ProgramFiles%\Windows Defender\MpAsDesc.dll,-320 (WdNisSvc) - Unknown owner - C:\Program Files (x86)\Windows Defender\NisSrv.exe (file missing)
    O23 - Service: @%ProgramFiles%\Windows Defender\MpAsDesc.dll,-310 (WinDefend) - Unknown owner - C:\Program Files (x86)\Windows Defender\MsMpEng.exe (file missing)
    O23 - Service: @%Systemroot%\system32\wbem\wmiapsrv.exe,-110 (wmiApSrv) - Unknown owner - C:\Windows\system32\wbem\WmiApSrv.exe (file missing)
    O23 - Service: @%PROGRAMFILES%\Windows Media Player\wmpnetwk.exe,-101 (WMPNetworkSvc) - Unknown owner - C:\Program Files (x86)\Windows Media Player\wmpnetwk.exe (file missing)

    --
    End of file - 7328 bytes
    Последний раз редактировалось alisa-semenen; 09.02.2016 в 20:11.

  2. Будь в курсе!
    Реклама на VirusInfo

    Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:

    Anti-Malware Telegram
     

  3. #2
    Cyber Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Аватар для Info_bot
    Регистрация
    11.05.2011
    Сообщений
    2,287
    Вес репутации
    378
    Уважаемый(ая) alisa-semenen, спасибо за обращение на наш форум!

    Помощь в лечении комьютера на VirusInfo.Info оказывается абсолютно бесплатно. Хелперы в самое ближайшее время ответят на Ваш запрос. Для оказания помощи необходимо предоставить логи сканирования утилитами АВЗ и HiJackThis, подробнее можно прочитать в правилах оформления запроса о помощи.

    information

    Информация

    Если вы хотите получить персональную гарантированную помощь в приоритетном режиме, то воспользуйтесь платным сервисом Помогите+.





    Если наш сайт окажется полезен Вам и у Вас будет такая возможность - пожалуйста поддержите проект.

  4. #3
    Junior Member Репутация
    Регистрация
    09.02.2016
    Сообщений
    4
    Вес репутации
    30
    Удалось найти сам файл шифровальщика - [удалено]
    Последний раз редактировалось thyrex; 11.02.2016 в 22:00.

  5. #4
    Junior Member Репутация
    Регистрация
    09.02.2016
    Сообщений
    4
    Вес репутации
    30

    Скрытый текст

    //
    // This file was generated by the Retargetable Decompiler
    // Website: https://retdec.com
    // Copyright (c) 2016 Retargetable Decompiler <[email protected]>
    //

    #include <ctype.h>
    #include <math.h>
    #include <stdbool.h>
    #include <stdint.h>
    #include <stdlib.h>

    // ----------------- Float Types Definitions ------------------

    typedef float float32_t;
    typedef double float64_t;
    typedef long double float80_t;

    // ------------------------ Structures ------------------------

    struct struct_0 {
    int16_t e0;
    int32_t e1;
    };

    struct struct_2 {
    int32_t e0;
    int16_t e1;
    char e2[30];
    int32_t e3;
    char e4[8];
    int32_t * e5;
    char e6[24];
    int32_t e7;
    int32_t e8;
    };

    struct struct_3 {
    int32_t e0;
    int32_t e1;
    char e2[8];
    int32_t e3;
    };

    struct struct_4 {
    char e0;
    char e1;
    };

    struct vtable_418c14_type {
    int32_t (*e0)();
    int32_t (*e1)(int32_t);
    };

    // ------------------------- Classes --------------------------

    // .?AVexception@std@@
    // type_info

    // ------------------- Function Prototypes --------------------

    int32_t function_401000(int32_t * a1, int32_t a2);
    int32_t function_401040(void);
    int32_t function_401050(int32_t a1);
    int32_t function_401070(int32_t a1, int32_t a2);
    int32_t function_401090(int32_t a1);
    void function_401110(void);
    int32_t function_401160(int32_t a1);
    void function_4011a0(void);
    void function_4011d0(void);
    int32_t function_4011e0(void);
    int32_t function_401250(int32_t a1, int32_t a2, int32_t a3);
    int32_t function_401360(int32_t a1, int32_t a2);
    void function_401380(float64_t a1);
    void function_4013a0(float32_t a1, float32_t a2);
    int32_t function_4013f0(int32_t * a1, int32_t * a2, int32_t * a3);
    int32_t function_401de0(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4);
    int32_t function_4027c0(int32_t * a1);
    int32_t function_402860(int32_t * a1, int32_t * a2, int32_t * a3);
    int32_t function_402d10(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4);
    int32_t function_4033a0(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10, int32_t a11, int32_t a12, int32_t a13, int32_t a14, int32_t a15, int32_t a16, int32_t a17, int32_t a18, int32_t a19, int32_t a20, int32_t a21, int32_t a22);
    int32_t function_4059b0(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7);
    int32_t function_4060d0(int32_t * a1, int32_t a2, int32_t a3);
    int32_t function_406270(int32_t * a1, int32_t a2, int32_t a3);
    int32_t function_406710(int32_t * a1, int32_t a2, int32_t a3);
    int32_t function_4067a0(int32_t * a1, int32_t a2, int32_t a3);
    int32_t function_406810(int32_t * a1, int32_t a2, int32_t a3);
    int32_t function_406ab0(int32_t * a1, int32_t a2, int32_t a3, int32_t a4);
    int32_t function_407210(int32_t * a1, int32_t a2, int32_t a3);
    int32_t function_4081e0(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5);
    int32_t function_408eb0(int32_t a1, int32_t a2, int32_t a3);
    int32_t function_409440(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5);
    int32_t function_4096c0(int32_t a1, int32_t a2, int32_t a3);
    void function_4097a0(int32_t * a1, int32_t a2);
    int32_t function_4099a0(int32_t * a1);
    int32_t function_40a660(void);
    int32_t function_40a6d5(void);
    int32_t function_40a750(void);
    void function_40a755(void);
    void function_40a75a(void);
    int32_t function_40ad01(void);
    int32_t function_40bc29(void);
    int32_t function_40cf0e(int32_t a1);
    void function_40cfae(int32_t a1);
    int32_t function_40d20f(int32_t result, int32_t a2);
    int32_t function_40d2d4(void);
    int32_t function_40d325(void);
    int32_t function_40d32e(void);
    int32_t function_40d385(int32_t a1, int32_t a2, int32_t a3);
    void function_40d591(void);
    void function_40d5a0(void);
    int32_t function_40dfdd(void);
    int32_t function_40dfe6(void);
    int32_t function_40e45c(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5);
    int32_t function_40f147(void);
    int32_t function_40f14a(int32_t result, int32_t a2);
    int32_t function_40f47d(int32_t a1, int32_t a2);
    int32_t function_40fa02(void);
    void function_40fc09(int32_t a1);
    int32_t function_40fd9f(void);
    int32_t function_40ff46(void);
    int32_t function_4107f5(int32_t a1, int32_t a2);
    int32_t function_410860(void);
    int32_t function_4108c6(void);
    int32_t function_410a76(int32_t result, int32_t a2);
    int32_t function_410a85(int32_t result, int32_t a2);
    int32_t function_410bed(int32_t a1, int32_t a2, int32_t a3, int32_t a4);
    void function_411123(int32_t a1);
    int32_t function_4140f5(void);
    int32_t function_414c02(void);
    int32_t unknown_1b0c4(void);
    int32_t unknown_1b14c(void);
    int32_t unknown_1b15c(void);
    int32_t unknown_1b178(void);
    int32_t unknown_1b1a6(void);
    int32_t unknown_1b1c4(void);
    int32_t unknown_1b2c2(void);
    int32_t unknown_1b47e(void);
    int32_t unknown_1b496(void);
    int32_t unknown_1b4a6(void);
    int32_t unknown_40d377(void);
    int32_t unknown_40d395(void);
    int32_t unknown_40f12d(void);
    int32_t unknown_4107f4(void);

    // --------------------- Global Variables ---------------------

    int32_t g1 = 0; // eax
    int32_t g2 = 0; // ebp
    int32_t g3 = 0; // ebx
    int32_t g4 = 0; // ecx
    int32_t g5 = 0; // edi
    int32_t g6 = 0; // edx
    int32_t g7 = 0; // esi
    int32_t g8 = 0; // esp
    int32_t g9 = 0x5c70441; // 0x408671
    int32_t g10 = 50; // 0x41c008
    int32_t g11 = -0x4c10801f; // 0x41c00c
    int32_t g12 = -0x5b028002; // 0x41c018
    int32_t g13 = -0x4c0c8911; // 0x41c024
    int32_t g14 = -0x5e069711; // 0x41c030
    int32_t g15 = -0x4f02801c; // 0x41c03c
    int32_t g16 = -0x5d0c8915; // 0x41c048
    int32_t g17 = -0x6f178015; // 0x41c054
    int32_t g18 = -0x79178015; // 0x41c064
    int32_t g19 = -0x72178015; // 0x41c070
    int32_t g20 = -0x4b0f901f; // 0x41c084
    int32_t g21 = -0x4d069627; // 0x41c098
    int32_t g22 = -0x51118039; // 0x41c0a4
    int32_t g23 = -0x5a068901; // 0x41c0b4
    int32_t g24 = -0x7e178015; // 0x41c0bc
    int32_t g25 = -0x5e069711; // 0x41c0c4
    int32_t g26 = -0x5b028a20; // 0x41c0d4
    int32_t g27 = -0x6f178015; // 0x41c0e4
    int32_t g28 = -0x5136911e; // 0x41c100
    int32_t g29 = -0x4b118c06; // 0x41c118
    int32_t g30 = -0x5e069711; // 0x41c124
    int32_t g31 = -0x4b118c06; // 0x41c134
    int32_t g32 = -0x6b178015; // 0x41c144
    int32_t g33 = -0x4b0a9705; // 0x41c168
    int32_t g34 = -0x5b028002; // 0x41c1b0
    int32_t g35 = -0x5307913e; // 0x41c1d8
    int32_t g36 = 0x40fd9f; // 0x41c254
    int32_t g37 = 0x40fd9f; // 0x41c258
    int32_t g38 = 0x40fd9f; // 0x41c25c
    int32_t g39 = 0x40fd9f; // 0x41c260
    int32_t g40 = 0x40fd9f; // 0x41c264
    int32_t g41 = 0x40fd9f; // 0x41c268
    int32_t g42 = 0x40fd9f; // 0x41c26c
    int32_t g43 = 0x40fd9f; // 0x41c270
    int32_t g44 = 0x40fd9f; // 0x41c274
    int32_t g45 = 0x40fd9f; // 0x41c278
    int32_t g46 = -0x44bf19b2; // 0x41cbc0
    int32_t g47 = 0; // 0x41d1c4
    int32_t g48 = 0; // 0x41d1c8
    int32_t g49 = 0; // 0x41d2d0
    int32_t g50 = 0; // 0x41d2d4
    int32_t g51 = 0; // 0x41d2e0
    int32_t g52 = 0; // 0x41d2e4
    int32_t g53 = 0; // 0x41d2e8
    int32_t g54 = 0; // 0x41d2ec
    int32_t g55 = 0; // 0x41d2f0
    int32_t g56 = 0; // 0x41d2f8
    int32_t g57 = 0; // 0x41d2fc
    int32_t g58 = 0; // 0x41d300
    int32_t g59 = 0; // 0x41d304
    int32_t g60 = 0; // 0x41d308
    int32_t g61 = 0; // 0x41d30c
    int32_t g62 = 0; // 0x41d310
    int32_t g63 = 0; // 0x41d314
    int32_t g64 = 0; // 0x41d320
    int32_t g65 = 0; // 0x41d324
    int32_t g66 = 0; // 0x41d32c
    int32_t g67 = 0; // 0x41d330
    int32_t g68 = 0; // 0x41d334
    int32_t g69 = 0; // 0x41d338
    int32_t g70 = 0; // 0x41d33c
    int32_t g71 = 0; // 0x41d340
    int32_t g72 = 0; // 0x41d344
    int32_t g73 = 0; // 0x41d348
    int32_t g74 = 0; // 0x41d350
    int32_t g75 = 0; // 0x41d354
    int32_t g76 = 0; // 0x41d358
    int32_t g77 = 0; // 0x41d35c
    int32_t g78 = 0; // 0x41d360
    int32_t g79 = 0; // 0x41d364
    int32_t g80 = 0; // 0x41d368
    int32_t g81 = 0; // 0x41d38c
    int32_t g82 = 0; // 0x41db08
    int32_t g83 = 0; // 0x41db28
    int32_t g84 = 0; // 0x41dc98
    int32_t g85 = 0; // 0x41dcb0
    int32_t g86 = 0; // 0x41dcb4
    int32_t g87 = 0; // 0x41dcb8
    int32_t g88 = 0; // 0x41dcbc
    int32_t g89 = 0; // 0x41dcc0
    int32_t g90 = 0; // 0x41dcc4
    int32_t g91 = 0; // 0x41dcc8
    int32_t g92 = 0; // 0x41dcd4
    int32_t g93 = 0; // 0x41e038
    int32_t g94 = 0; // 0x41e040
    int32_t g95 = 0; // 0x41e174
    struct vtable_418c14_type vtable_418c14 = {
    .e0 = function_40cfb9,
    .e1 = function_40cf0e
    }; // 0x418c14

    // ------------------------ Functions -------------------------

    // Address range: 0x401000 - 0x40103f
    int32_t function_401000(int32_t * a1, int32_t a2) {
    // 0x401000
    int32_t v1;
    if (g6 == 0) {
    // 0x401032
    g2 = v1;
    return g4;
    }
    int32_t v2 = g6; // 0x40102a16
    int32_t v3 = g4;
    *(char *)v3 = 0;
    while (v2 != 1) {
    // 0x401018
    v2--;
    v3++;
    *(char *)v3 = 0;
    // continue -> 0x401018
    }
    // 0x401012
    // branch -> 0x401032
    // 0x401032
    g2 = v1;
    return g4;
    }

    // Address range: 0x401040 - 0x40104f
    int32_t function_401040(void) {
    // 0x401040
    // branch -> 0x401043
    while (true) {
    // 0x401043
    // branch -> 0x401043
    }
    }

    // Address range: 0x401050 - 0x40106f
    int32_t function_401050(int32_t a1) {
    // 0x401050
    g47 = 1;
    return 0;
    }

    // Address range: 0x401070 - 0x40108f
    int32_t function_401070(int32_t a1, int32_t a2) {
    // 0x401070
    g1 = g6;
    return g4 + 2 * g6;
    }

    // Address range: 0x401090 - 0x40110f
    int32_t function_401090(int32_t a1) {
    int32_t v1 = g4; // 0x401093
    int32_t v2 = g7; // 0x401094
    int32_t v3;
    if (v1 == 0) {
    // 0x4010fd
    g7 = v2;
    g2 = v3;
    return 0;
    }
    // 0x4010a2
    int32_t result; // 0x401101_11
    if (v1 != 1) {
    // 0x4010af
    g4 = v1 - 2;
    g7 = function_401090(v2);
    g4 = 1;
    g7 += function_401090(v2) + 1;
    g4 = 0;
    g7 -= (function_401090(v2) + 1);
    g4 = 1;
    g7 += function_401090(v2) + 1;
    g4 = 0;
    int32_t v4 = function_401090(v2) + 1; // 0x4010eb
    g1 = v4;
    g7 -= v4;
    g4 = v1 - 1;
    result = g7 + function_401090(v2);
    // branch -> 0x4010fd
    } else {
    result = 1;
    }
    // 0x4010fd
    g7 = v2;
    g2 = v3;
    return result;
    }

    // Address range: 0x401110 - 0x40115f
    void function_401110(void) {
    int32_t v1 = g4; // 0x401113
    switch (v1) {
    default: {
    // 0x401132
    g4 = v1 - 1;
    function_401110();
    g7 = 0;
    g4 = v1 - 2;
    function_401110();
    // branch -> 0x40114d
    break;
    }
    case 0: {
    // 0x40111e
    // branch -> 0x40114d
    break;
    }
    case 1: {
    // 0x40112b
    // branch -> 0x40114d
    break;
    }
    }
    }

    // Address range: 0x401160 - 0x40119f
    int32_t function_401160(int32_t a1) {
    int32_t v1 = g4; // 0x401163
    int32_t v2 = v1; // bp-8
    int32_t v3 = 0; // 0x401177
    if (v1 != 0) {
    // 0x40116d
    function_4099a0(&v2);
    v3 = v2;
    // branch -> 0x401172
    }
    // 0x401172
    g4 = 40;
    function_401090(v3);
    int32_t v4 = v2; // 0x40117c
    int32_t result;
    if (v4 != 0) {
    // 0x401189
    g4 = v4 - 1;
    result = v2 * function_401160(v4);
    // branch -> 0x401198
    } else {
    result = 1;
    }
    // 0x401198
    int32_t v5;
    g2 = v5;
    return result;
    }

    // Address range: 0x4011a0 - 0x4011cf
    void function_4011a0(void) {
    // 0x4011a0
    int32_t v1;
    int32_t v2 = v1; // bp-4
    g4 = 1;
    function_401160(v1);
    g4 = function_409440;
    int32_t v3;
    function_4097a0(&v2, v3);
    g4 = function_409440;
    function_4097a0(&v2, v3);
    }

    // Address range: 0x4011d0 - 0x4011df
    void function_4011d0(void) {
    int32_t v1 = g2; // bp-4
    int32_t v2;
    int32_t v3;
    function_4081e0(&v1, v2, v3, 0, 0);
    }

    // Address range: 0x4011e0 - 0x40124f
    int32_t function_4011e0(void) {
    int32_t v1;
    int32_t v2 = &v1; // 0x40122b_9
    int32_t v3 = 1;
    v1 = 100;
    unknown_1b0c4();
    int64_t v4 = __allmul((int64_t)v3, -0x12bddf3a); // 0x40122b
    g8 = v2;
    g6 = v3 >> 31;
    // branch -> 0x40120e
    while (v3 <= 9) {
    // 0x40120e
    g1 = v3;
    v3++;
    int32_t v5;
    v5 = (int32_t)((int64_t)v5 + v4) ^ v3;
    v1 = 100;
    unknown_1b0c4();
    v4 = __allmul((int64_t)v3, -0x12bddf3a);
    g8 = v2;
    g6 = v3 >> 31;
    // continue -> 0x40120e
    }
    // 0x401241
    int32_t v6;
    g2 = v6;
    return 11;
    }

    // Address range: 0x401250 - 0x40135f
    int32_t function_401250(int32_t a1, int32_t a2, int32_t a3) {
    // 0x401250
    int32_t v1;
    int32_t v2 = v1; // bp-32
    int32_t v3 = g5; // 0x401255
    int32_t v4 = g4; // 0x40129c
    if ((char)(0x1000000 * v4 / 0x1000000 % 32) != 0) {
    // if_40129e_0_true
    // branch -> after_if_40129e_0
    }
    int32_t v5 = g7; // 0x4012ae
    if (v5 != 0) {
    // if_4012ae_0_false
    g5 = llvm_cttz_i32(v5, false);
    // branch -> after_if_4012ae_0
    }
    // after_if_4012ae_0
    if (g6 != 0) {
    // if_4012c8_0_false
    // branch -> after_if_4012c8_0
    }
    // after_if_4012c8_0
    if ((char)(0x1000000 * v4 / 0x1000000 % 32) != 0) {
    // if_4012cb_0_true
    // branch -> after_if_4012cb_0
    }
    // after_if_4012cb_0
    function_4011e0();
    if (g6 != 0) {
    // if_4012eb_0_false
    // branch -> after_if_4012eb_0
    }
    char v6 = 0x1000000 * g4 / 0x1000000 % 32; // 0x4012ff
    int32_t v7;
    if (v6 == 0) {
    // after_if_4012ff_0.thread
    v7 = 0x2a333031 * g7;
    // branch -> after_if_40131f_0
    } else {
    uint32_t v8 = g7; // 0x401319
    uint32_t v9 = (int32_t)v6; // 0x40131f
    v7 = 0x2a333031 * v8 << v9 | v8 >> 32 - v9;
    // branch -> after_if_40131f_0
    }
    // after_if_40131f_0
    g5 = v7;
    g4 = 41;
    function_401090(v1);
    function_4011a0();
    int32_t * v10;
    int32_t v11;
    int32_t * v12;
    function_4081e0(&v2, (int32_t)v12, v11, (int32_t)v10, (int32_t)(float32_t)v3);
    return 0;
    }

    // Address range: 0x401360 - 0x40137f
    int32_t function_401360(int32_t a1, int32_t a2) {
    // 0x401360
    return g4;
    }

    // Address range: 0x401380 - 0x40139f
    void function_401380(float64_t a1) {
    // 0x401380
    function_40a75a();
    }

    // Address range: 0x4013a0 - 0x4013ef
    void function_4013a0(float32_t a1, float32_t a2) {
    // 0x4013a0
    pow((float64_t)(float80_t)a1, (float64_t)(float80_t)a2);
    }

    // Address range: 0x4013f0 - 0x401ddf
    int32_t function_4013f0(int32_t * a1, int32_t * a2, int32_t * a3) {
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v1 = g4; // 0x4016ae
    char v2 = 0;
    // branch -> 0x4016a2
    while (true) {
    int32_t v3 = v2; // 0x4016a2
    int32_t v4;
    *(char *)((int32_t)&v4 - 264 + v3) = v2;
    v1 = (int32_t)v2 | v1 & -256;
    v2 = v3 + 1;
    // branch -> 0x4016a2
    }
    }

    // Address range: 0x401de0 - 0x4027bf
    int32_t function_401de0(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4) {
    int32_t v1;
    int32_t v2 = &v1; // 0x401de1_0
    int32_t v3 = g5; // 0x401deb
    g62 = 0x157aa00;
    g63 = 0;
    *(int32_t *)(v2 - 4) = 0;
    int32_t v4; // 0x4023fb
    int32_t v5; // 0x402136
    int32_t * v6; // 0x402114_0
    int32_t * v7; // 0x402117_0
    int32_t * v8; // 0x4023f8_0
    int32_t v9;
    int32_t v10;
    int32_t v11; // 0x402148
    int32_t v12; // 0x4023d1
    int32_t v13; // 0x40209a10
    int32_t v14; // 0x4023ec1
    int32_t v15; // 0x4023fe
    uint32_t v16; // 0x402129
    unsigned char v17; // 0x402132
    int32_t v18; // 0x4023f8
    int32_t v19; // 0x40211d
    if (*(int32_t *)(v2 - 4) > 255) {
    // 0x402088
    *(int32_t *)(v2 - 4) = 0;
    v13 = v2;
    if (*(int32_t *)(v13 - 4) <= 255) {
    v11 = v13;
    while (true) {
    // 0x4020a7
    g62 = 0x157aa00;
    g63 = 0;
    v6 = (int32_t *)(v11 - 4);
    v7 = (int32_t *)(v11 - 1036);
    v19 = *(int32_t *)(v11 - 1032 + 4 * *v6);
    v16 = *(int32_t *)(v11 + 12);
    v17 = *(char *)(*(int32_t *)(v11 - 104 + *v6 % v16);
    v5 = (int32_t)v17 + v19 + *v7;
    int32_t v20 = v5 & -0x7fffff01; // 0x402138
    if (v5 > 0) {
    v9 = v20;
    goto lab_0x402148;
    }
    goto lab_0x402140;
    }
    }
    // 0x4023c7
    *(int32_t *)(v13 - 1036) = 0;
    v12 = v2;
    *(int32_t *)(v12 - 4) = *(int32_t *)(v12 - 1036);
    *(int32_t *)(v2 - = 0;
    v14 = v2;
    if (*(int32_t *)(v14 - < *(int32_t *)(v14 + ) {
    while (true) {
    // 0x4023f8
    v8 = (int32_t *)(v14 - 4);
    v18 = *v8;
    v4 = v18 + 1;
    v15 = v4 & -0x7fffff01;
    if (v4 > 0) {
    v10 = v15;
    goto lab_0x40240c_2;
    }
    goto lab_0x402405_2;
    }
    }
    // 0x4026c9
    g62 = 0x157aa00;
    g63 = 0;
    g5 = v3;
    return *(int32_t *)(v14 - 1044);
    }
    int32_t v21 = v2; // 0x40207c
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v22 = (int32_t *)(v21 - 4); // 0x402076_0
    *(int32_t *)(v21 - 1032 + 4 * *v22) = *v22;
    int32_t * v23 = (int32_t *)(v2 - 4); // 0x401fec_0
    *v23 = *v23 + 1;
    while (*(int32_t *)(v2 - 4) <= 255) {
    // 0x402002
    v21 = v2;
    g62 = 0x157aa00;
    g63 = 0;
    v22 = (int32_t *)(v21 - 4);
    *(int32_t *)(v21 - 1032 + 4 * *v22) = *v22;
    v23 = (int32_t *)(v2 - 4);
    *v23 = *v23 + 1;
    // continue -> 0x402002
    }
    // 0x402088
    *(int32_t *)(v2 - 4) = 0;
    v13 = v2;
    if (*(int32_t *)(v13 - 4) > 255) {
    // 0x4023c7
    *(int32_t *)(v13 - 1036) = 0;
    v12 = v2;
    *(int32_t *)(v12 - 4) = *(int32_t *)(v12 - 1036);
    *(int32_t *)(v2 - = 0;
    v14 = v2;
    if (*(int32_t *)(v14 - < *(int32_t *)(v14 + ) {
    while (true) {
    // 0x4023f8
    v8 = (int32_t *)(v14 - 4);
    v18 = *v8;
    v4 = v18 + 1;
    v15 = v4 & -0x7fffff01;
    if (v4 > 0) {
    v10 = v15;
    goto lab_0x40240c_2;
    }
    goto lab_0x402405_2;
    }
    }
    // 0x4026c9
    g62 = 0x157aa00;
    g63 = 0;
    g5 = v3;
    return *(int32_t *)(v14 - 1044);
    }
    v11 = v13;
    while (true) {
    // 0x4020a7
    g62 = 0x157aa00;
    g63 = 0;
    v6 = (int32_t *)(v11 - 4);
    v7 = (int32_t *)(v11 - 1036);
    v19 = *(int32_t *)(v11 - 1032 + 4 * *v6);
    v16 = *(int32_t *)(v11 + 12);
    v17 = *(char *)(*(int32_t *)(v11 - 104 + *v6 % v16);
    v5 = (int32_t)v17 + v19 + *v7;
    v9 = v5 & -0x7fffff01;
    if (v5 <= 0) {
    lab_0x402140:
    // 0x402140
    v9 = (v5 + 255 | -256) + 1;
    // branch -> 0x402148
    }
    lab_0x402148:
    // 0x402148
    *v7 = v9;
    g62 = 0x157aa00;
    g63 = 0;
    char v24 = *(char *)(v2 - 1032 + 4 * *(int32_t *)(v2 - 4)); // 0x402212
    *(char *)(v2 - 1037) = v24;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v25 = v2 - 1032; // 0x4022f5
    int32_t v26 = *(int32_t *)(4 * *(int32_t *)(v2 - 1036) + v25); // 0x4022f5
    *(int32_t *)(4 * *(int32_t *)(v2 - 4) + v25) = v26;
    g62 = 0x157aa00;
    g63 = 0;
    unsigned char v27 = *(char *)(v2 - 1037); // 0x4023ae
    int32_t v28 = *(int32_t *)(v2 - 1036); // 0x4023b5
    *(int32_t *)(v2 - 1032 + 4 * v2 = (int32_t)v27;
    int32_t * v29 = (int32_t *)(v2 - 4); // 0x402091_0
    *v29 = *v29 + 1;
    if (*(int32_t *)(v2 - 4) > 255) {
    // break -> 0x4023c7
    break;
    }
    v11 = v2;
    // continue -> 0x4020a7
    }
    // 0x4023c7
    *(int32_t *)(v2 - 1036) = 0;
    v12 = v2;
    *(int32_t *)(v12 - 4) = *(int32_t *)(v12 - 1036);
    *(int32_t *)(v2 - = 0;
    v14 = v2;
    if (*(int32_t *)(v14 - >= *(int32_t *)(v14 + ) {
    // 0x4026c9
    g62 = 0x157aa00;
    g63 = 0;
    g5 = v3;
    return *(int32_t *)(v14 - 1044);
    }
    int32_t v30 = v14; // 0x40240c
    while (true) {
    // 0x4023f8
    v8 = (int32_t *)(v30 - 4);
    v18 = *v8;
    v4 = v18 + 1;
    v10 = v4 & -0x7fffff01;
    if (v4 <= 0) {
    lab_0x402405_2:
    // 0x402405
    v10 = (v18 | -256) + 1;
    // branch -> 0x40240c
    }
    lab_0x40240c_2:
    // 0x40240c
    *v8 = v10;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v31 = (int32_t *)(v2 - 1036); // 0x40243a_0
    int32_t v32 = *(int32_t *)(v2 - 1032 + 4 * *(int32_t *)(v2 - 4)); // 0x402440
    uint32_t v33 = v32 + *v31; // 0x402440
    int32_t v34 = v33 & -0x7fffff01;
    if (v33 <= 0) {
    // 0x40244f
    v34 = (v33 + 255 | -256) + 1;
    // branch -> 0x402457
    }
    // 0x402457
    *v31 = v34;
    g62 = 0x157aa00;
    g63 = 0;
    char v35 = *(char *)(v2 - 1032 + 4 * *(int32_t *)(v2 - 4)); // 0x4024c6
    *(char *)(v2 - 1037) = v35;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v36 = v2 - 1032; // 0x40253c
    int32_t v37 = *(int32_t *)(4 * *(int32_t *)(v2 - 1036) + v36); // 0x40253c
    *(int32_t *)(4 * *(int32_t *)(v2 - 4) + v36) = v37;
    g62 = 0x157aa00;
    g63 = 0;
    unsigned char v38 = *(char *)(v2 - 1037); // 0x40259f
    int32_t v39 = *(int32_t *)(v2 - 1036); // 0x4025a6
    *(int32_t *)(v2 - 1032 + 4 * v39) = (int32_t)v38;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v40 = *(int32_t *)(v2 - 4); // 0x402611
    int32_t v41 = v2 - 1032; // 0x402614
    int32_t v42 = *(int32_t *)(4 * *(int32_t *)(v2 - 1036) + v41); // 0x402621
    uint32_t v43 = v42 + *(int32_t *)(4 * v40 + v41); // 0x402621
    int32_t v44 = v43 & -0x7fffff01;
    if (v43 <= 0) {
    // 0x402630
    v44 = (v43 + 255 | -256) + 1;
    // branch -> 0x402638
    }
    char v45 = *(char *)(4 * v44 + v41); // 0x402638
    *(char *)(v2 - 1037) = v45;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v46 = (int32_t *)(v2 - 1044); // 0x4026a4_0
    int32_t v47 = *v46; // 0x4026a4
    int32_t * v48 = (int32_t *)(v2 - ; // 0x4026aa_0
    int32_t v49 = *v48; // 0x4026aa
    char v50 = *(char *)(v2 - 1037); // 0x4026b0
    int32_t v51 = *v46; // 0x4026b9
    int32_t v52 = *v48; // 0x4026bf
    *(char *)(v52 + v51) = v50 ^ *(char *)(v49 + v47);
    int32_t * v53 = (int32_t *)(v2 - ; // 0x4023e3_0
    *v53 = *v53 + 1;
    if (*(int32_t *)(v2 - >= *(int32_t *)(v2 + ) {
    // break -> 0x4026c9
    break;
    }
    v30 = v2;
    // continue -> 0x4023f8
    }
    // 0x4026c9
    g62 = 0x157aa00;
    g63 = 0;
    g5 = v3;
    return *(int32_t *)(v2 - 1044);
    }

    // Address range: 0x4027c0 - 0x40285f
    int32_t function_4027c0(int32_t * a1) {
    // 0x4027c0
    if (*(char *)g4 == 0) {
    // 0x4027ea
    return 0;
    }
    int32_t result = 1; // 0x4027d7
    while (*(char *)(result + g4) != 0) {
    // 0x4027ef
    result++;
    // continue -> 0x4027ef
    }
    // 0x4027ea
    return result;
    }

    // Address range: 0x402860 - 0x402d0f
    int32_t function_402860(int32_t * a1, int32_t * a2, int32_t * a3) {
    int32_t v1;
    g2 = &v1;
    int32_t v2 = 64; // bp-44
    g8 = &v2;
    int32_t result = g71; // 0x402873
    int32_t v3;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))result)(64, 5, g5, g7, g3, g6, g4, v3);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v4 = g2; // 0x4028f32
    int32_t v5 = v4;
    int32_t v6;
    if (*(int32_t *)(v4 - 12) >= *(int32_t *)(v4 - 20) - 2) {
    // 0x402cff
    g5 = v1;
    g7 = v6;
    g3 = (int32_t)a1;
    g2 = *(int32_t *)v5;
    g8 = v5 + 8;
    return result;
    }
    *(char *)(*(int32_t *)(v4 - 4) + 4) = 0;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v7 = g2; // 0x40296e
    int32_t v8 = *(int32_t *)(v7 - 12); // 0x402971
    unsigned char v9 = *(char *)(v8 + *(int32_t *)(v7 - 16) + 1); // 0x402977
    *(char *)(*(int32_t *)(v7 - 4) + 3) = v9;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v10 = g2; // 0x4029c7
    int32_t v11 = *(int32_t *)(v10 - 16); // 0x4029c7
    int32_t v12 = *(int32_t *)(v10 - 12); // 0x4029ca
    int32_t v13 = *(int32_t *)(v10 - 4); // 0x4029cd
    *(char *)(v13 + 2) = *(char *)(v12 + v11);
    g62 = 0x157aa00;
    g63 = 0;
    *(char *)*(int32_t *)(g2 - 4) = 48;
    g62 = 0x157aa00;
    g63 = 0;
    *(char *)(*(int32_t *)(g2 - 4) + 1) = 120;
    g62 = 0x157aa00;
    g63 = 0;
    g4 = *(int32_t *)(g2 - 4);
    int32_t v14;
    int32_t v15;
    int32_t v16;
    int32_t v17 = function_408eb0(v16, v15, v14); // 0x402ba3
    int32_t v18 = g2; // 0x402ba8
    int32_t v19 = *(int32_t *)(v18 - 16); // 0x402ba8
    int32_t v20 = *(int32_t *)(v18 - ; // 0x402bab
    *(char *)(v20 + v19) = (char)v17;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v21 = (int32_t *)(g2 - ; // 0x402c80_0
    *v21 = *v21 + 1;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v22 = (int32_t *)(g2 - 12); // 0x402ceb_0
    int32_t result2 = *v22; // 0x402ceb
    *v22 = result2 + 1;
    int32_t * v23 = (int32_t *)(g2 - 12); // 0x4028ea_0
    *v23 = *v23 + 1;
    int32_t v24 = g2; // 0x4028f3
    v5 = v24;
    while (*(int32_t *)(v24 - 12) < *(int32_t *)(v24 - 20) - 2) {
    // 0x402902
    *(char *)(*(int32_t *)(v24 - 4) + 4) = 0;
    g62 = 0x157aa00;
    g63 = 0;
    v7 = g2;
    v8 = *(int32_t *)(v7 - 12);
    v9 = *(char *)(v8 + *(int32_t *)(v7 - 16) + 1);
    *(char *)(*(int32_t *)(v7 - 4) + 3) = v9;
    g62 = 0x157aa00;
    g63 = 0;
    v10 = g2;
    v11 = *(int32_t *)(v10 - 16);
    v12 = *(int32_t *)(v10 - 12);
    v13 = *(int32_t *)(v10 - 4);
    *(char *)(v13 + 2) = *(char *)(v12 + v11);
    g62 = 0x157aa00;
    g63 = 0;
    *(char *)*(int32_t *)(g2 - 4) = 48;
    g62 = 0x157aa00;
    g63 = 0;
    *(char *)(*(int32_t *)(g2 - 4) + 1) = 120;
    g62 = 0x157aa00;
    g63 = 0;
    g4 = *(int32_t *)(g2 - 4);
    v17 = function_408eb0(v16, v15, v14);
    v18 = g2;
    v19 = *(int32_t *)(v18 - 16);
    v20 = *(int32_t *)(v18 - ;
    *(char *)(v20 + v19) = (char)v17;
    g62 = 0x157aa00;
    g63 = 0;
    v21 = (int32_t *)(g2 - ;
    *v21 = *v21 + 1;
    g62 = 0x157aa00;
    g63 = 0;
    v22 = (int32_t *)(g2 - 12);
    result2 = *v22;
    *v22 = result2 + 1;
    v23 = (int32_t *)(g2 - 12);
    *v23 = *v23 + 1;
    v24 = g2;
    v5 = v24;
    // continue -> 0x402902
    }
    // 0x402cff
    g5 = v1;
    g7 = v6;
    g3 = (int32_t)a1;
    g2 = *(int32_t *)v5;
    g8 = v5 + 8;
    return result2;
    }

    // Address range: 0x402d10 - 0x40339f
    int32_t function_402d10(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4) {
    int32_t v1;
    int32_t v2 = &v1; // 0x402d11_0
    g2 = v2;
    int32_t v3 = 0; // bp-8
    g62 = 0x157aa00;
    g63 = 0;
    *(int32_t *)(v2 - 2 = *(int32_t *)(v2 - 52);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v4 = g2; // 0x402ecc
    int32_t v5 = *(int32_t *)(*(int32_t *)(v4 - 2 + 60); // 0x402ecf
    *(int32_t *)(v4 - 4) = v5 + 4 + *(int32_t *)(v4 - 52);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v6 = g2; // 0x402f41
    *(int32_t *)(v6 - 24) = *(int32_t *)(v6 - 4) + 20;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v7 = g2; // 0x402faf
    *(int32_t *)(v7 - 12) = *(int32_t *)(*(int32_t *)(v7 - 24) + 96);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v8 = g2; // 0x403017
    *(int32_t *)(v8 - 20) = *(int32_t *)(v8 - 52);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v9 = g2; // 0x403082
    int32_t v10 = *(int32_t *)(v9 - 12); // 0x403085
    *(int32_t *)(v9 - 32) = v10 + *(int32_t *)(v9 - 20);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v11 = g2; // 0x4030f2
    int32_t v12 = *(int32_t *)(*(int32_t *)(v11 - 32) + 32); // 0x4030f8
    *(int32_t *)(v11 - = v12 + *(int32_t *)(v11 - 20);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v13 = g2; // 0x403174
    int32_t v14 = *(int32_t *)(*(int32_t *)(v13 - 32) + 2; // 0x40317a
    *(int32_t *)(v13 - 16) = v14 + *(int32_t *)(v13 - 20);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v15 = g2; // 0x4031e1
    int32_t v16 = *(int32_t *)(*(int32_t *)(v15 - 32) + 36); // 0x4031e7
    int32_t v17 = v16 + *(int32_t *)(v15 - 20); // 0x4031e7
    g1 = v17;
    *(int32_t *)(v15 - 40) = v17;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v18 = g2; // 0x403259
    int32_t v19 = *(int32_t *)(*(int32_t *)(v18 - 32) + 24); // 0x40325c
    g6 = v19;
    *(int32_t *)(v18 - 36) = v19;
    *(int32_t *)(g2 - 44) = 0;
    int32_t v20 = g2; // 0x4032742
    uint32_t v21 = *(int32_t *)(v20 - 44); // 0x4032745
    g4 = v21;
    int32_t v22 = v20; // 0x403399
    int32_t v23;
    if (v21 >= *(int32_t *)(v20 - 36)) {
    // 0x403396
    g5 = v1;
    g7 = v23;
    g3 = (int32_t)a1;
    g2 = *(int32_t *)v22;
    g8 = v22 + 8;
    return 0;
    }
    // branch -> 0x403280
    while (true) {
    int32_t v24 = *(int32_t *)(v20 - ; // 0x403283
    int32_t v25 = *(int32_t *)(4 * *(int32_t *)(v20 - 44) + v24); // 0x403289
    *(int32_t *)(v20 - 4 = v25 + *(int32_t *)(v20 - 20);
    v3 = 1000;
    int32_t v26 = g2; // 0x403294
    g6 = *(int32_t *)(v26 - 4;
    g4 = *(int32_t *)(v26 - 56);
    int32_t v27 = function_406810(&v3, v1, v23); // 0x40329a
    int32_t v28 = g2; // 0x4032a3
    int32_t * v29 = (int32_t *)(v28 - 44); // 0x4032a3_0
    int32_t v30 = *v29; // 0x4032a3
    if (v27 == 0) {
    int32_t v31 = (int32_t)*(int16_t *)(*(int32_t *)(v28 - 40) + 2 * v30); // 0x4032a9
    g4 = v31;
    int32_t v32 = *(int32_t *)(v28 - 16); // 0x4032ad
    g6 = v32;
    int32_t v33 = *(int32_t *)(v28 - 20); // 0x4032b0
    g1 = v33;
    v22 = v28;
    // branch -> 0x403396
    // 0x403396
    g5 = v1;
    g7 = v23;
    g3 = (int32_t)a1;
    g2 = *(int32_t *)v22;
    g8 = v22 + 8;
    return *(int32_t *)(4 * v31 + v32) + v33;
    }
    int32_t v34 = v30 + 1; // 0x40326e
    g1 = v34;
    *v29 = v34;
    int32_t v35 = g2; // 0x403274
    uint32_t v36 = *(int32_t *)(v35 - 44); // 0x403274
    g4 = v36;
    if (v36 >= *(int32_t *)(v35 - 36)) {
    v22 = v35;
    // break -> 0x403396
    break;
    }
    v20 = v35;
    // continue -> 0x403280
    }
    // 0x403396
    g5 = v1;
    g7 = v23;
    g3 = (int32_t)a1;
    g2 = *(int32_t *)v22;
    g8 = v22 + 8;
    return 0;
    }

    // Address range: 0x4033a0 - 0x4059af
    int32_t function_4033a0(int32_t * a1, int32_t * a2, int32_t * a3, int32_t * a4, int32_t a5, int32_t a6, int32_t a7, int32_t a8, int32_t a9, int32_t a10, int32_t a11, int32_t a12, int32_t a13, int32_t a14, int32_t a15, int32_t a16, int32_t a17, int32_t a18, int32_t a19, int32_t a20, int32_t a21, int32_t a22) {
    int32_t * v1 = (int32_t *)0x41c00c; // bp-56
    g4 = 0x41c0f4;
    function_4027c0(&g11);
    function_4013f0(&g11, (int32_t *)11, (int32_t *)g5);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g14);
    function_4013f0(&g14, (int32_t *)11, &g11);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g13);
    function_4013f0(&g13, (int32_t *)11, &g14);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g12);
    function_4013f0(&g12, (int32_t *)8, (int32_t *)0x41c024);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g16);
    function_4013f0(&g16, (int32_t *)11, &g12);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g15);
    function_4013f0(&g15, (int32_t *)8, &g16);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g17);
    function_4013f0(&g17, (int32_t *)14, &g15);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g1;
    function_4013f0(&g18, (int32_t *)11, &g17);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g19);
    function_4013f0(&g19, (int32_t *)18, (int32_t *)0x41c064);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g20);
    function_4013f0(&g20, (int32_t *)19, (int32_t *)0x41c070);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g27);
    function_4013f0(&g27, (int32_t *)14, (int32_t *)0x41c084);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g21);
    function_4013f0(&g21, (int32_t *)10, &g27);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g24);
    function_4013f0(&g24, (int32_t *)6, &g21);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v2 = 12;
    g4 = 0x41c0f4;
    function_4027c0(&g25);
    function_4013f0(&g25, &v2, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g23);
    function_4013f0(&g23, (int32_t *)5, &g25);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g35);
    function_4013f0(&g35, (int32_t *)9, &g23);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g2;
    function_4013f0(&g28, (int32_t *)20, &g35);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g29);
    function_4013f0(&g29, (int32_t *)11, &g2;
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g30);
    function_4013f0(&g30, (int32_t *)14, &g29);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g31);
    function_4013f0(&g31, (int32_t *)12, &g30);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g32);
    function_4013f0(&g32, (int32_t *)16, &g31);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g34);
    function_4013f0(&g34, (int32_t *)17, &g32);
    g62 = 0x157aa00;
    g63 = 0;
    g4 = 0x41c0f4;
    function_4027c0(&g33);
    function_4013f0(&g33, (int32_t *)18, &g34);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v3 = g8; // 0x40400d
    *(int32_t *)(v3 - 4) = 14;
    int32_t v4 = v3 - 8; // 0x40400f
    *(int32_t *)v4 = 0x41c158;
    g4 = 0x41c0f4;
    *(int32_t *)(v3 - 12) = 0x40401e;
    function_4027c0(a1);
    *(int32_t *)(v4 - 4) = 0x40402a;
    function_4013f0(a1, a2, a3);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v5 = g8; // 0x40409c
    *(int32_t *)(v5 - 4) = 12;
    int32_t v6 = v5 - 8; // 0x40409e
    *(int32_t *)v6 = 0x41c190;
    g4 = 0x41c0f4;
    *(int32_t *)(v5 - 12) = 0x4040ad;
    function_4027c0(a1);
    *(int32_t *)(v6 - 4) = 0x4040b9;
    function_4013f0(a1, a2, a3);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v7 = g8; // 0x40413c
    *(int32_t *)(v7 - 4) = 13;
    int32_t v8 = v7 - 8; // 0x40413e
    *(int32_t *)v8 = 0x41c1a0;
    g4 = 0x41c0f4;
    *(int32_t *)(v7 - 12) = 0x40414d;
    function_4027c0(a1);
    *(int32_t *)(v8 - 4) = 0x404159;
    function_4013f0(a1, a2, a3);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v9 = g8; // 0x4041bd
    *(int32_t *)(v9 - 4) = 16;
    int32_t v10 = v9 - 8; // 0x4041bf
    *(int32_t *)v10 = 0x41c17c;
    g4 = 0x41c0f4;
    *(int32_t *)(v9 - 12) = 0x4041ce;
    function_4027c0(a1);
    *(int32_t *)(v10 - 4) = 0x4041da;
    function_4013f0(a1, a2, a3);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v11 = g8; // 0x404245
    *(int32_t *)(v11 - 4) = 16;
    int32_t v12 = v11 - 8; // 0x404247
    *(int32_t *)v12 = 0x41c1c4;
    g4 = 0x41c0f4;
    *(int32_t *)(v11 - 12) = 0x404256;
    function_4027c0(a1);
    *(int32_t *)(v12 - 4) = 0x404262;
    function_4013f0(a1, a2, a3);
    *(int32_t *)(g2 - 16) = 0;
    *(int32_t *)(g2 - = 0;
    *(int32_t *)(g2 - 24) = 0;
    *(int32_t *)(g2 - 4) = 0;
    *(int32_t *)(g2 - 20) = 0;
    *(int32_t *)(g2 - 32) = 0;
    *(int32_t *)(g2 - 2 = 0;
    *(int32_t *)(g2 - 12) = 0;
    g62 = 0x157aa00;
    g63 = 0;
    *(int32_t *)(g2 - 16) = *(int32_t *)48;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v13 = g2; // 0x404549
    *(int32_t *)(v13 - = *(int32_t *)(*(int32_t *)(v13 - 16) + 12);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v14 = g2; // 0x4045bb
    *(int32_t *)(v14 - 24) = *(int32_t *)(*(int32_t *)(v14 - + 2;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v15 = g2; // 0x40463b
    *(int32_t *)(v15 - 4) = *(int32_t *)(v15 - 24);
    int32_t v16 = g2; // 0x404647
    // branch -> 0x404641
    int32_t v17; // 0x404ef3
    int32_t v18; // 0x40523d
    int32_t v19; // 0x405320
    int32_t v20; // 0x404de7
    int32_t v21; // 0x404e71
    int32_t result; // 0x4058d0
    int32_t * v22;
    int32_t * v23;
    int32_t * v24;
    while (true) {
    int32_t * v25 = (int32_t *)(v16 - 12); // 0x404641_0
    *v25 = *v25 + 1;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v26 = g2; // 0x4046ae
    *(int32_t *)(v26 - 20) = *(int32_t *)(*(int32_t *)(v26 - 4) + ;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v27 = g2; // 0x404721
    *(int32_t *)(v27 - 2 = *(int32_t *)(*(int32_t *)(v27 - 4) + 24);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v28 = g2; // 0x404818
    *(int32_t *)(v28 - 32) = *(int32_t *)(v28 - 20);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v29 = function_402d10(a1, a2, a3, a4); // 0x404895
    g62 = 0x157aa00;
    g63 = 0;
    if (v29 != 0) {
    int32_t v30 = function_402d10(a1, a2, a3, a4); // 0x404923
    g66 = v30;
    g62 = 0x157aa00;
    g63 = 0;
    // branch -> 0x404b54
    // 0x404b54
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))v30)(g21);
    g67 = function_402d10(&g21, v24, v22, a1);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g68 = function_402d10(&g22, &g21, v24, v22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g69 = function_402d10(&g22, &g22, &g21, v24);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    v20 = function_402d10(&g22, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4, (int32_t *)0x41c09;
    g70 = v20;
    g62 = 0x157aa00;
    g63 = 0;
    v23 = (int32_t *)0x41c0a4;
    ((int32_t (*)(int32_t))g66)(g22);
    v21 = function_402d10(&g22, &g22, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4);
    g71 = v21;
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    v17 = function_402d10(&g22, &g22, &g22, (int32_t *)0x41c0a4);
    g73 = v17;
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g72 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g72 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g74 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g75 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g78 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    v18 = function_402d10(&g22, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4);
    g77 = v18;
    g62 = 0x157aa00;
    g63 = 0;
    v1 = (int32_t *)0x41c1d8;
    g8 = (int32_t)&v1;
    ((int32_t (*)(int32_t))g66)(g35);
    v19 = function_402d10(&g35, &g22, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4);
    g58 = v19;
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g57 = function_402d10(&g22, v24, v22, a1);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g52 = function_402d10(&g22, &g22, v24, v22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g60 = function_402d10(&g22, &g22, &g22, v24);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g53 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    v23 = (int32_t *)0x41c0a4;
    g8 = (int32_t)&v23;
    ((int32_t (*)(int32_t))g66)(g22);
    g50 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g56 = function_402d10(&g22, NULL, NULL, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g54 = function_402d10(&g22, &g22, NULL, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g49 = function_402d10(&g22, &g22, &g22, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g55 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g51 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    result = function_402d10(&g22, &g22, &g22, &g22);
    g80 = result;
    g62 = 0x157aa00;
    g63 = 0;
    g5 = 0x41c0a4;
    g7 = 0x41c0a4;
    g3 = 0x41c0a4;
    g8 = g2 + 8;
    return result;
    }
    int32_t * v31 = (int32_t *)(g2 - 4); // 0x404ad2_0
    int32_t v32 = *v31; // 0x404ad2
    g6 = v32;
    *v31 = *(int32_t *)v32;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v33 = g2; // 0x404b48
    int32_t v34 = *(int32_t *)(v33 - 24); // 0x404b48
    g4 = v34;
    if (v34 == *(int32_t *)(v33 - 4)) {
    // break -> 0x404b54
    break;
    }
    v16 = v33;
    // continue -> 0x404641
    }
    // 0x404b54
    // branch -> 0x404b54
    // 0x404b54
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g21);
    g67 = function_402d10(&g21, v24, v22, a1);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g68 = function_402d10(&g22, &g21, v24, v22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g69 = function_402d10(&g22, &g22, &g21, v24);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    v20 = function_402d10(&g22, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4, (int32_t *)0x41c09;
    g70 = v20;
    g62 = 0x157aa00;
    g63 = 0;
    v23 = (int32_t *)0x41c0a4;
    ((int32_t (*)(int32_t))g66)(g22);
    v21 = function_402d10(&g22, &g22, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4);
    g71 = v21;
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    v17 = function_402d10(&g22, &g22, &g22, (int32_t *)0x41c0a4);
    g73 = v17;
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g72 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g72 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g74 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g75 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g78 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    v18 = function_402d10(&g22, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4);
    g77 = v18;
    g62 = 0x157aa00;
    g63 = 0;
    v1 = (int32_t *)0x41c1d8;
    g8 = (int32_t)&v1;
    ((int32_t (*)(int32_t))g66)(g35);
    v19 = function_402d10(&g35, &g22, (int32_t *)0x41c0a4, (int32_t *)0x41c0a4);
    g58 = v19;
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g57 = function_402d10(&g22, v24, v22, a1);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g52 = function_402d10(&g22, &g22, v24, v22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g60 = function_402d10(&g22, &g22, &g22, v24);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g53 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    v23 = (int32_t *)0x41c0a4;
    g8 = (int32_t)&v23;
    ((int32_t (*)(int32_t))g66)(g22);
    g50 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g56 = function_402d10(&g22, NULL, NULL, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g54 = function_402d10(&g22, &g22, NULL, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g49 = function_402d10(&g22, &g22, &g22, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g55 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    g51 = function_402d10(&g22, &g22, &g22, &g22);
    g62 = 0x157aa00;
    g63 = 0;
    ((int32_t (*)(int32_t))g66)(g22);
    result = function_402d10(&g22, &g22, &g22, &g22);
    g80 = result;
    g62 = 0x157aa00;
    g63 = 0;
    g5 = 0x41c0a4;
    g7 = 0x41c0a4;
    g3 = 0x41c0a4;
    g8 = g2 + 8;
    return result;
    }

    // Address range: 0x4059b0 - 0x4060cf
    int32_t function_4059b0(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int32_t a6, int32_t a7) {
    int32_t v1;
    g2 = &v1;
    int32_t v2 = g4; // 0x4059b8
    g62 = 0x157aa00;
    g63 = 0;
    g1 = v2;
    int32_t * v3 = (int32_t *)v2; // bp-1139851586
    g8 = (int32_t)&v3;
    int32_t v4 = g68; // 0x405b09
    g4 = v4;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v4)(v2, -0x80000000, 0, 0, 3, 0, 0);
    int32_t v5 = g1; // 0x405b11
    int32_t * v6 = (int32_t *)v5; // 0x405b11_0
    int32_t v7; // 0x4060c4
    if (v5 == -1) {
    // 0x4060c4
    v7 = g8;
    g5 = *(int32_t *)v7;
    g3 = *(int32_t *)(v7 + 4);
    return 0;
    }
    // 0x405b98
    g6 = v5;
    int32_t * v8 = v6;
    g8 = (int32_t)&v8;
    int32_t v9 = g74; // 0x405b9e
    g1 = v9;
    ((int32_t (*)(int32_t, int32_t))v9)(v5, 0);
    int32_t v10 = g1; // 0x405ba5
    g61 = v10;
    g62 = 0x157aa00;
    g63 = 0;
    if (v10 == -1) {
    // 0x4060c4
    v7 = g8;
    g5 = *(int32_t *)v7;
    g3 = *(int32_t *)(v7 + 4);
    return 0;
    }
    // 0x405c7b
    g4 = v10;
    int32_t v11 = 64;
    g8 = &v11;
    int32_t v12 = g71; // 0x405c84
    g6 = v12;
    ((int32_t (*)(int32_t, int32_t))v12)(64, v10);
    int32_t v13 = g1; // 0x405c8c
    g59 = v13;
    if (v13 == 0) {
    // 0x4060c4
    v7 = g8;
    g5 = *(int32_t *)v7;
    g3 = *(int32_t *)(v7 + 4);
    return 0;
    }
    // 0x405d01
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v14;
    g1 = &v14;
    g4 = v5;
    int32_t v15 = g74; // 0x405d64
    g6 = v15;
    int32_t v16;
    ((int32_t (*)(int32_t, int32_t, int32_t))v15)(v5, 0, v16);
    int32_t v17 = g59; // 0x405d6d
    g1 = v17;
    g4 = v5;
    int32_t v18 = g69; // 0x405d77
    g6 = v18;
    ((int32_t (*)(int32_t, int32_t))v1(v5, v17);
    g62 = 0x157aa00;
    g63 = 0;
    g1 = v5;
    int32_t * v19 = v6;
    g8 = (int32_t)&v19;
    int32_t v20 = g70; // 0x405de7
    g4 = v20;
    ((int32_t (*)(int32_t))v20)(v5);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v21 = g59; // 0x405e60
    g64 = v21;
    uint16_t v22 = *(int16_t *)v21; // 0x405e71
    g4 = v22;
    g6 = v21;
    if (v22 == 0x5a4d) {
    int32_t v23 = *(int32_t *)(v21 + 60) + v21; // 0x405f77
    g65 = v23;
    int32_t result; // 0x4060c9_11
    if (*(int32_t *)v23 != 0x4550) {
    // 0x405f91
    g62 = 0x157aa00;
    g63 = 0;
    result = 0;
    // branch -> 0x4060c4
    } else {
    result = 1;
    }
    // 0x4060c4
    v7 = g8;
    g5 = *(int32_t *)v7;
    g3 = *(int32_t *)(v7 + 4);
    return result;
    }
    int32_t v24 = g73; // 0x405e89
    g1 = v24;
    ((int32_t (*)(int32_t, int32_t))v24)(8, v21);
    int32_t v25 = g1; // 0x405e90
    int32_t * v26 = (int32_t *)v25;
    g8 = (int32_t)&v26;
    int32_t v27 = g72; // 0x405e91
    g4 = v27;
    ((int32_t (*)(int32_t))v27)(v25);
    g62 = 0x157aa00;
    g63 = 0;
    // branch -> 0x4060c4
    // 0x4060c4
    v7 = g8;
    g5 = *(int32_t *)v7;
    g3 = *(int32_t *)(v7 + 4);
    return 0;
    }

    // Address range: 0x4060d0 - 0x40626f
    int32_t function_4060d0(int32_t * a1, int32_t a2, int32_t a3) {
    int32_t v1;
    g2 = &v1;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v2 = g75; // 0x406138
    g1 = v2;
    ((int32_t (*)(int32_t, int32_t, int32_t))v2)(0, g48, 260);
    g62 = 0x157aa00;
    g63 = 0;
    g5 = 0;
    g3 = 0x41d1c8;
    g2 = 260;
    return 0x41d1c8;
    }

    // Address range: 0x406270 - 0x40670f
    int32_t function_406270(int32_t * a1, int32_t a2, int32_t a3) {
    int32_t v1 = g2; // bp-4
    g2 = &v1;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v2 = g75; // 0x406377
    g1 = v2;
    ((int32_t (*)(int32_t, int32_t, int32_t))v2)(0, g48, 260);
    int32_t v3 = g78; // 0x406390
    g4 = v3;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v3)(0xfde9, 0, g48, -1, 0, 0);
    g7 = g1;
    int32_t v4 = g80; // 0x4063a7
    g6 = v4;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t))v4)(0, g48, -1, 0, 0);
    int32_t v5 = g1; // 0x4063af
    int32_t v6 = g78; // 0x4063b0
    g1 = v6;
    ((int32_t (*)(int32_t))v6)(v5);
    int32_t * v7; // 0x40661b_01
    if (g7 != g1) {
    int32_t v8 = g80; // 0x4063bb
    g4 = v8;
    ((int32_t (*)())v();
    v7 = (int32_t *)g1;
    // branch -> 0x406498
    } else {
    v7 = (int32_t *)0xfde9;
    }
    // 0x406498
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v9 = (int32_t)v7; // 0x4064a5
    g6 = v9;
    int32_t v10 = g78; // 0x4064a9
    g1 = v10;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v10)(v9, 0, g48, -1, 0, 0);
    int32_t v11 = g1; // 0x4064b0
    g62 = 0x157aa00;
    g63 = 0;
    _qm__qm_2_YAPAXI_Z();
    int32_t result = g1; // 0x4065a4
    g62 = 0x157aa00;
    g63 = 0;
    g6 = result;
    g1 = v9;
    int32_t v12 = g78; // 0x40661f
    g4 = v12;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v12)(v9, 0, g48, -1, result, v11);
    g62 = 0x157aa00;
    g63 = 0;
    return result;
    }

    // Address range: 0x406710 - 0x40679f
    int32_t function_406710(int32_t * a1, int32_t a2, int32_t a3) {
    // 0x406710
    return g59;
    }

    // Address range: 0x4067a0 - 0x40680f
    int32_t function_4067a0(int32_t * a1, int32_t a2, int32_t a3) {
    // 0x4067a0
    return g61;
    }

    // Address range: 0x406810 - 0x406aaf
    int32_t function_406810(int32_t * a1, int32_t a2, int32_t a3) {
    int32_t v1 = g5; // 0x406817
    int32_t v2 = v1; // bp-24
    g8 = &v2;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v3;
    if (a1 > NULL) {
    int32_t v4 = 0; // 0x4068a76
    while (true) {
    char * v5 = (char *)(v4 + g4); // 0x4068b9_0
    int32_t v6 = v4 + g6; // 0x4068bf
    char * v7 = (char *)v6; // 0x4068c2_0
    unsigned char v8 = *v7; // 0x4068c2
    g6 = v8;
    if (*v5 == v {
    // 0x406942
    int32_t v9; // 0x4068a1
    if (*v5 == 0) {
    // 0x40694f
    g6 = v6;
    if (*v7 != 0) {
    // 0x40695e
    g62 = 0x157aa00;
    g63 = 0;
    v9 = v4 + 1;
    if ((int32_t *)v9 >= a1) {
    // break -> 0x4069d7
    break;
    }
    v4 = v9;
    // continue -> 0x4068b3
    continue;
    }
    } else {
    // 0x40695e
    g62 = 0x157aa00;
    g63 = 0;
    v9 = v4 + 1;
    if ((int32_t *)v9 >= a1) {
    // break -> 0x4069d7
    break;
    }
    v4 = v9;
    // continue -> 0x4068b3
    continue;
    }
    // 0x4069d7
    g62 = 0x157aa00;
    g63 = 0;
    // branch -> 0x406aa7
    // 0x406aa7
    g5 = v1;
    g2 = v3;
    return 0;
    }
    }
    // 0x4069d7
    g62 = 0x157aa00;
    g63 = 0;
    // branch -> 0x406aa7
    } else {
    // 0x4069d7
    g62 = 0x157aa00;
    g63 = 0;
    // branch -> 0x406aa7
    }
    // 0x406aa7
    g5 = v1;
    g2 = v3;
    return 0;
    }

    // Address range: 0x406ab0 - 0x40720f
    int32_t function_406ab0(int32_t * a1, int32_t a2, int32_t a3, int32_t a4) {
    int32_t v1;
    g2 = &v1;
    int32_t v2 = g5; // bp-96
    g8 = &v2;
    int32_t v3 = g4; // 0x406abc
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v4 = g71; // 0x406d87
    g1 = v4;
    ((int32_t (*)(int32_t, int32_t))v4)(*(int32_t *)64, *(int32_t *)36);
    int32_t * v5 = (int32_t *)g1; // bp-12
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v6 = (int32_t *)64; // bp-20
    g8 = (int32_t)&v6;
    int32_t v7 = g71; // 0x406de8
    g4 = v7;
    ((int32_t (*)(int32_t, int32_t))v7)(64, 36);
    int32_t * v8 = (int32_t *)g1; // bp-8
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v9; // 0x406ffe
    int32_t v10;
    int32_t ** v11;
    int32_t ** v12;
    int32_t ** v13;
    int32_t ** v14;
    int32_t v15;
    int32_t v16; // 0x406ffa
    int32_t v17; // 0x406ffd
    int32_t v18; // 0x407000
    uint32_t v19;
    int32_t v20; // 0x40716317
    int32_t * v21; // 0x40709b23
    if (g61 != 0) {
    int32_t v22 = 0; // 0x406e6013
    int32_t * v23 = NULL; // 0x0212
    int32_t v24 = 36; // 0x406fdd411
    int32_t v25; // 0x406fdd3
    while (true) {
    // 0x406e6f
    v6 = (int32_t *)(v22 + v3);
    int32_t v26 = g8; // 0x406e7b
    *(int32_t *)(v26 - 4) = 6;
    g6 = 0x41c1e4;
    g4 = (int32_t)v6;
    *(int32_t *)(v26 - = 0x406e89;
    v25 = v24;
    if (function_406810(a1, a2, a3) == 0) {
    // 0x406e91
    *v14 = v23;
    g62 = 0x157aa00;
    g63 = 0;
    v25 = v24 + 1;
    // branch -> 0x406f5e
    }
    int32_t v27 = v22 + 1; // 0x406f61
    g62 = 0x157aa00;
    g63 = 0;
    if (v27 >= g61) {
    // break -> 0x406fdd
    break;
    }
    v22 = v27;
    v23 = (int32_t *)v27;
    v24 = v25;
    // continue -> 0x406e6f
    }
    int32_t v28 = v25 - 1; // 0x406fe0
    if (v28 != 0) {
    v19 = v28;
    // 0x406fec
    v20 = 0;
    // branch -> 0x406fec
    while (true) {
    // 0x406fec
    g6 = v20;
    v16 = (int32_t)*v12 - (int32_t)*v14 - 6;
    g1 = v16;
    v17 = g8;
    *(int32_t *)(v17 - 4) = v16;
    v9 = v17 - 8;
    *(int32_t *)v9 = 64;
    g8 = v9;
    v18 = g71;
    g4 = v18;
    *(int32_t *)(v17 - 12) = 0x407008;
    ((int32_t (*)())v1();
    v5[v20] = g1;
    g62 = 0x157aa00;
    g63 = 0;
    v11 = v12;
    v13 = v14;
    v21 = *v13;
    if ((int32_t)*v11 - (int32_t)v21 == 6) {
    goto lab_0x4070cb;
    }
    v15 = 0;
    goto lab_generated_0;
    }
    }
    // 0x4071d9
    g6 = *v8;
    g5 = v1;
    g7 = v10;
    g3 = (int32_t)a1;
    return *v5;
    }
    // 0x406fdd
    v19 = 35;
    // branch -> 0x406fec
    // 0x406fec
    v20 = 0;
    // branch -> 0x406fec
    while (true) {
    // 0x406fec
    g6 = v20;
    v16 = (int32_t)*v12 - (int32_t)*v14 - 6;
    g1 = v16;
    v17 = g8;
    *(int32_t *)(v17 - 4) = v16;
    v9 = v17 - 8;
    *(int32_t *)v9 = 64;
    g8 = v9;
    v18 = g71;
    g4 = v18;
    *(int32_t *)(v17 - 12) = 0x407008;
    ((int32_t (*)())v1();
    v5[v20] = g1;
    g62 = 0x157aa00;
    g63 = 0;
    v11 = v12;
    v13 = v14;
    v21 = *v13;
    int32_t v29; // 0x407163
    int32_t * v30; // 0x4070d1
    int32_t * v31; // 0x4070d5
    if ((int32_t)*v11 - (int32_t)v21 != 6) {
    v15 = 0;
    lab_generated_1:;
    int32_t * v32 = *v13; // 0x4070ad
    g7 = v3;
    char v33 = *(char *)(v15 + 6 + (int32_t)v32 + v3); // 0x4070c3
    *(char *)(v5[v20] + v15) = v33;
    int32_t v34 = v15 + 1; // 0x40708b
    int32_t * v35 = *v14; // 0x40709b
    while (v34 < (int32_t)*v12 - (int32_t)v35 - 6) {
    // 0x4070a7
    v15 = v34;
    v32 = *v14;
    g7 = v3;
    v33 = *(char *)(v15 + 6 + (int32_t)v32 + v3);
    *(char *)(v5[v20] + v15) = v33;
    v34 = v15 + 1;
    v35 = *v14;
    // continue -> 0x4070a7
    }
    // 0x4070cb
    v30 = *v12;
    v31 = *v14;
    v8[v20] = (int32_t)v30 - (int32_t)v31 - 6;
    v29 = v20 + 1;
    g62 = 0x157aa00;
    g63 = 0;
    if (v29 >= v19) {
    // break -> 0x4071d9
    break;
    }
    v20 = v29;
    // continue -> 0x406fec
    continue;
    }
    lab_0x4070cb:
    // 0x4070cb
    v30 = *v11;
    v31 = *v13;
    v8[v20] = (int32_t)v30 - (int32_t)v31 - 6;
    v29 = v20 + 1;
    g62 = 0x157aa00;
    g63 = 0;
    if (v29 >= v19) {
    // break -> 0x4071d9
    break;
    }
    v20 = v29;
    // continue -> 0x406fec
    }
    // 0x4071d9
    g6 = *v8;
    g5 = v1;
    g7 = v10;
    g3 = (int32_t)a1;
    return *v5;
    }

    // Address range: 0x407210 - 0x4081df
    int32_t function_407210(int32_t * a1, int32_t a2, int32_t a3) {
    int32_t v1;
    g2 = &v1;
    int32_t v2 = g5; // bp-144
    g8 = &v2;
    int32_t v3 = g6; // 0x40721c
    struct struct_0 * v4 = (struct struct_0 *)v3; // 0x40721c_0
    struct struct_3 * v5 = (struct struct_3 *)g4; // bp-128
    g1 = v3;
    g62 = 0x157aa00;
    g63 = 0;
    g4 = v3;
    int32_t result; // 0x408191
    int32_t v6; // 0x40818d
    if (v4->e0 == 0x5a4d) {
    // 0x4076b8
    g1 = v3;
    int32_t v7 = *(int32_t *)(v3 + 60) + v3; // 0x4076be
    g4 = v7;
    struct struct_2 * v8 = (struct struct_2 *)v7; // 0x4076c1_0
    g62 = 0x157aa00;
    g63 = 0;
    if (v8->e0 == 0x4550) {
    // 0x40773b
    struct struct_3 * v9;
    int32_t v10 = (int32_t)&v9; // 0x4078f3_1
    int32_t v11;
    int32_t v12 = &v11; // 0x407a19_0
    int32_t v13;
    int32_t v14 = &v13; // 0x407a41_0
    int32_t v15;
    int32_t v16 = &v15; // 0x407ad5_0
    // branch -> 0x40773b
    while (true) {
    // 0x40773b
    g62 = 0x157aa00;
    g63 = 0;
    g6 = 68;
    int32_t v17;
    g4 = &v17;
    function_401000(a1, a2);
    g62 = 0x157aa00;
    g63 = 0;
    g6 = 16;
    int32_t v18;
    g4 = &v18;
    function_401000(a1, a2);
    g62 = 0x157aa00;
    g63 = 0;
    g6 = 4;
    int32_t v19 = (int32_t)v5; // 0x4078f0
    g1 = v19;
    v9 = v5;
    g8 = v10;
    int32_t v20 = g52; // 0x4078f4
    g4 = v20;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))v20)(v19, 0, 0, 0, 0, 4, 0, 0);
    if (g1 == 0) {
    // 0x408186
    v6 = (int32_t)v4;
    g6 = v6;
    result = g57;
    ((int32_t (*)(int32_t, int32_t, int32_t))result)(v6, 0, 0x8000);
    g62 = 0x157aa00;
    g63 = 0;
    g2 = v1;
    return result;
    }
    int32_t v21 = g60; // 0x40790f
    g6 = v21;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v21)(0, 4, 0x1000, 4);
    struct struct_3 * v22 = (struct struct_3 *)g1; // 0x407917_0
    struct struct_3 * v23 = v22; // bp-8
    v22->e0 = 0x10007;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v24 = (int32_t)v23; // 0x407a12
    g4 = v24;
    int32_t v25;
    g6 = v25;
    v11 = v25;
    g8 = v12;
    int32_t v26 = g53; // 0x407a1a
    g1 = v26;
    ((int32_t (*)(int32_t, int32_t))v26)(v25, v24);
    if (g1 != 0) {
    int32_t v27 = *(int32_t *)((int32_t)v23 + 164) + 8; // 0x407a3a
    g1 = v27;
    int32_t v28 = v18; // 0x407a3e
    g4 = v28;
    v13 = v28;
    g8 = v14;
    int32_t v29 = g50; // 0x407a42
    g6 = v29;
    int32_t v30;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v29)(v28, v27, v30, 4);
    int32_t * v31;
    int32_t v32 = (int32_t)v31; // 0x407a4d
    if (v31 == v8->e5) {
    // 0x407a59
    g62 = 0x157aa00;
    g63 = 0;
    g6 = v32;
    int32_t v33 = v18; // 0x407ad2
    g1 = v33;
    v15 = v33;
    g8 = v16;
    int32_t v34 = g58; // 0x407ad6
    g4 = v34;
    ((int32_t (*)(int32_t, int32_t))v34)(v33, v32);
    g62 = 0x157aa00;
    g63 = 0;
    // branch -> 0x407b50
    }
    int32_t v35 = g8; // 0x407b50
    *(int32_t *)(v35 - 4) = 64;
    *(int32_t *)(v35 - = 0x3000;
    *(int32_t *)(v35 - 12) = v8->e7;
    int32_t v36 = (int32_t)v8->e5; // 0x407b61_0
    g6 = v36;
    *(int32_t *)(v35 - 16) = v36;
    int32_t v37 = v18; // 0x407b65
    g1 = v37;
    int32_t v38 = v35 - 20; // 0x407b68
    *(int32_t *)v38 = v37;
    g8 = v38;
    int32_t v39 = g56; // 0x407b69
    g4 = v39;
    *(int32_t *)(v35 - 24) = 0x407b71;
    ((int32_t (*)())v39)();
    int32_t v40 = g1; // 0x407b71
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v41 = g8; // 0x407bf1
    *(int32_t *)(v41 - 4) = 0;
    if (v40 != 0) {
    // 0x407d4c
    *(int32_t *)(v41 - = v8->e8;
    *(int32_t *)(v41 - 12) = (int32_t)v4;
    g4 = v40;
    *(int32_t *)(v41 - 16) = v40;
    int32_t v42 = v18; // 0x407d67
    g6 = v42;
    int32_t v43 = v41 - 20; // 0x407d6a
    *(int32_t *)v43 = v42;
    g8 = v43;
    int32_t v44 = g54; // 0x407d6b
    g1 = v44;
    *(int32_t *)(v41 - 24) = 0x407d72;
    ((int32_t (*)())v44)();
    g62 = 0x157aa00;
    g63 = 0;
    for (int32_t i = 0; i < (int32_t)v8->e1; i++) {
    int32_t v45 = *(int32_t *)((int32_t)v4 + 60); // 0x407dff
    int32_t v46 = 40 * i + 248 + v45 + (int32_t)v4; // 0x407e08
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v47 = g8; // 0x407e74
    *(int32_t *)(v47 - 4) = 0;
    *(int32_t *)(v47 - = *(int32_t *)(v46 + 16);
    int32_t v48 = *(int32_t *)(v46 + 20); // 0x407e83
    *(int32_t *)(v47 - 12) = (int32_t)v4 + v48;
    int32_t v49 = *(int32_t *)(v46 + 12) + v40; // 0x407e8d
    g4 = v49;
    *(int32_t *)(v47 - 16) = v49;
    int32_t v50 = v18; // 0x407e91
    g6 = v50;
    int32_t v51 = v47 - 20; // 0x407e94
    *(int32_t *)v51 = v50;
    g8 = v51;
    int32_t v52 = g54; // 0x407e95
    g1 = v52;
    *(int32_t *)(v47 - 24) = 0x407e9c;
    ((int32_t (*)())v52)();
    g62 = 0x157aa00;
    g63 = 0;
    // continue -> 0x407df9
    }
    int32_t v53 = g8; // 0x407f14
    *(int32_t *)(v53 - 4) = 0;
    *(int32_t *)(v53 - = 4;
    *(int32_t *)(v53 - 12) = (int32_t)v8 + 52;
    int32_t v54 = *(int32_t *)((int32_t)v23 + 164) + 8; // 0x407f28
    g1 = v54;
    *(int32_t *)(v53 - 16) = v54;
    int32_t v55 = v18; // 0x407f2c
    g4 = v55;
    int32_t v56 = v53 - 20; // 0x407f2f
    *(int32_t *)v56 = v55;
    g8 = v56;
    int32_t v57 = g54; // 0x407f30
    g6 = v57;
    *(int32_t *)(v53 - 24) = 0x407f38;
    ((int32_t (*)())v57)();
    g62 = 0x157aa00;
    g63 = 0;
    *(int32_t *)((int32_t)v23 + 176) = v8->e3 + v40;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v58 = (int32_t)v23; // 0x408025
    g1 = v58;
    int32_t v59 = g8; // 0x408028
    *(int32_t *)(v59 - 4) = v58;
    g4 = v25;
    int32_t v60 = v59 - 8; // 0x40802c
    *(int32_t *)v60 = v25;
    g8 = v60;
    int32_t v61 = g49; // 0x40802d
    g6 = v61;
    *(int32_t *)(v59 - 12) = 0x408035;
    ((int32_t (*)())v61)();
    g62 = 0x157aa00;
    g63 = 0;
    g1 = v25;
    int32_t v62 = g8; // 0x4080a5
    int32_t v63 = v62 - 4; // 0x4080a5
    *(int32_t *)v63 = v25;
    g8 = v63;
    int32_t v64 = g55; // 0x4080a6
    g4 = v64;
    *(int32_t *)(v62 - = 0x4080ae;
    ((int32_t (*)())v64)();
    g62 = 0x157aa00;
    g63 = 0;
    // branch -> 0x408186
    // 0x408186
    v6 = (int32_t)v4;
    g6 = v6;
    result = g57;
    ((int32_t (*)(int32_t, int32_t, int32_t))result)(v6, 0, 0x8000);
    g62 = 0x157aa00;
    g63 = 0;
    g2 = v1;
    return result;
    }
    int32_t v65 = v18; // 0x407bf3
    g6 = v65;
    int32_t v66 = v41 - 8; // 0x407bf6
    *(int32_t *)v66 = v65;
    g8 = v66;
    int32_t v67 = g77; // 0x407bf7
    g1 = v67;
    *(int32_t *)(v41 - 12) = 0x407bfe;
    ((int32_t (*)())v67)();
    g62 = 0x157aa00;
    g63 = 0;
    // branch -> 0x40773b
    continue;
    }
    // 0x408186
    v6 = (int32_t)v4;
    g6 = v6;
    result = g57;
    ((int32_t (*)(int32_t, int32_t, int32_t))result)(v6, 0, 0x8000);
    g62 = 0x157aa00;
    g63 = 0;
    g2 = v1;
    return result;
    }
    }
    }
    // 0x408186
    v6 = (int32_t)v4;
    g6 = v6;
    result = g57;
    ((int32_t (*)(int32_t, int32_t, int32_t))result)(v6, 0, 0x8000);
    g62 = 0x157aa00;
    g63 = 0;
    g2 = v1;
    return result;
    }

    // Address range: 0x4081e0 - 0x408eaf
    int32_t function_4081e0(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) {
    int32_t v1 = g3; // bp-40
    int32_t v2 = g7; // bp-44
    int32_t v3 = g5; // bp-48
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v4;
    int32_t * v5;
    int32_t * v6;
    int32_t * v7;
    int32_t * v8;
    int32_t * v9;
    int32_t * v10;
    int32_t * v11;
    int32_t * v12;
    int32_t * v13;
    function_4033a0(&v3, &v2, &v1, v11, (int32_t)v10, (int32_t)v9, (int32_t)v8, (int32_t)v7, (int32_t)v6, (int32_t)v5, (int32_t)v13, (int32_t)v12, (int32_t)v4, (int32_t)a1, a2, a3, a4, a5, 0, 0, 0, 0);
    g62 = 0x157aa00;
    g63 = 0;
    function_4060d0(a1, a2, a3);
    g4 = 0x41d1c8;
    function_4059b0(a1, a2, a3, a4, a5, 0, 0);
    g62 = 0x157aa00;
    g63 = 0;
    g7 = function_4067a0(a1, a2, a3);
    g6 = g7;
    g4 = function_406710(a1, a2, a3);
    int32_t v14 = function_406ab0(a1, a2, a3, a4); // 0x408545
    int32_t v15 = g6; // 0x40854d
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v16 = (int32_t *)(v15 + 16); // 0x4085d5_0
    *(char *)(*v16 + *(int32_t *)(v14 + 16)) = 0;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v17 = (int32_t *)*v16; // 0x408654_0
    int32_t v18 = *(int32_t *)(v15 + 4); // 0x408658
    int32_t * v19 = (int32_t *)v18; // 0x40865b_0
    g9 = function_401de0(v19, v17, v12, v4);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v20 = (int32_t *)(v18 + 16); // 0x4086df_0
    int32_t v21 = *v20; // 0x4086df
    int32_t * v22 = (int32_t *)v21; // 0x4086e2_0
    int32_t * v23 = (int32_t *)(v18 + 2; // 0x4086e6_0
    int32_t * v24 = (int32_t *)*v23; // 0x4086e9_0
    int32_t * v25 = (int32_t *)(v21 + 2; // 0x4086f3_0
    *v25 = function_401de0(v24, v22, v19, v17);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t * v26 = (int32_t *)*v20; // 0x408775_0
    int32_t * v27 = (int32_t *)(v18 + 32); // 0x408779_0
    int32_t * v28 = (int32_t *)*v27; // 0x40877c_0
    int32_t * v29 = (int32_t *)(v21 + 32); // 0x408786_0
    *v29 = function_401de0(v28, v26, v24, v22);
    g62 = 0x157aa00;
    g63 = 0;
    g6 = *v23;
    g1 = v21;
    g4 = *v25;
    function_402860(v28, v26, v24);
    g62 = 0x157aa00;
    g63 = 0;
    g6 = *v27;
    g1 = v21;
    g4 = *v29;
    function_402860(v28, v26, v24);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v30 = g2; // 0x408b54
    int32_t v31 = *(int32_t *)(v30 - 12); // 0x408b54
    g4 = v31;
    int32_t v32 = *(int32_t *)(v31 + 32); // 0x408b57
    g6 = v32;
    *(int32_t *)(v30 - 16) = v32;
    *(int32_t *)(g2 - 4) = 0;
    g62 = 0x157aa00;
    g63 = 0;
    *(int32_t *)(g8 - 4) = 0x408d03;
    function_4060d0(a1, a2, a3);
    g6 = *(int32_t *)(*(int32_t *)(g2 - 12) + 4);
    g4 = 0x41d1c8;
    *(int32_t *)(g8 - 4) = 0x408d10;
    function_407210(a1, a2, a3);
    g62 = 0x157aa00;
    g63 = 0;
    return 0;
    }

    // Address range: 0x408eb0 - 0x40943f
    int32_t function_408eb0(int32_t a1, int32_t a2, int32_t a3) {
    // 0x408eb0
    g62 = 0x157aa00;
    g63 = 0;
    g1 = 48;
    int32_t v1;
    if (((struct struct_4 *)g4)->e0 == 4 {
    // 0x409055
    g1 = 120;
    if (*(char *)(g4 + 1) == 120) {
    int32_t v2 = g4 + 2; // 0x40906b
    g1 = v2;
    struct struct_4 * v3 = (struct struct_4 *)v2;
    if (v3->e0 == 0) {
    // 0x4093c1
    g2 = v1;
    return 0;
    }
    int32_t v4 = 0; // 0x4093c1515
    int32_t result2; // 0x4093c16
    while (true) {
    int32_t result = 16 * v4; // 0x409082
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v5 = (int32_t)v3->e0 - 48; // 0x40910b
    g1 = v5;
    int32_t v6; // 0x40923a
    if (v5 > 9) {
    int32_t v7 = v3->e0; // 0x4091a0
    int32_t v8 = v7 - 65; // 0x4091a7
    int32_t v9;
    if (v9 > 5) {
    int32_t v10 = v3->e0; // 0x409233
    g1 = 97;
    v6 = v10 - 97;
    g62 = 0x157aa00;
    g63 = 0;
    if (v6 <= 5) {
    result2 = v10 - 87 | result;
    // branch -> 0x409344
    lab_0x409344_2:
    // 0x409344
    g62 = 0x157aa00;
    g63 = 0;
    struct struct_4 * v11 = (struct struct_4 *)((int32_t)v3 + 1);
    if (v11->e0 == 0) {
    // break -> 0x4093c1
    break;
    }
    v3 = v11;
    v4 = result2;
    v9 = v6;
    // continue -> 0x40907f
    continue;
    }
    } else {
    // 0x4091b2
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v12 = v7 - 55 | result; // 0x409225
    g1 = v12;
    v6 = v8;
    result2 = v12;
    // branch -> 0x409344
    goto lab_0x409344_2;
    }
    // 0x4093c1
    g2 = v1;
    return result;
    }
    // 0x40912e
    g62 = 0x157aa00;
    g63 = 0;
    v6 = v5;
    result2 = v5 | result;
    // branch -> 0x409344
    goto lab_0x409344_2;
    }
    // 0x4093c1
    g2 = v1;
    return result2;
    }
    }
    // 0x4093c1
    g2 = v1;
    return 0;
    }

    // Address range: 0x409440 - 0x4096bf
    int32_t function_409440(int32_t * a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) {
    // 0x409440
    g10 = 50;
    g62 = 0x157aa00;
    g63 = 0;
    return 0;
    }

    // Address range: 0x4096c0 - 0x40979f
    int32_t function_4096c0(int32_t a1, int32_t a2, int32_t a3) {
    int32_t v1 = g2; // bp-4
    g2 = &v1;
    int32_t result = g4; // 0x4096c3
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v2 = g79; // 0x40972d
    g4 = v2;
    ((int32_t (*)(int32_t))v2)(result);
    g62 = 0x157aa00;
    g63 = 0;
    return result;
    }

    // Address range: 0x4097a0 - 0x40999f
    void function_4097a0(int32_t * a1, int32_t a2) {
    int32_t v1;
    g2 = &v1;
    int32_t v2 = g4; // 0x4097a9
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v3;
    g1 = &v3;
    int32_t v4 = g76; // 0x4098ce
    g6 = v4;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t))v4)(0, 0, v2, 0, 0);
    g62 = 0x157aa00;
    g63 = 0;
    g5 = 0;
    g7 = 0;
    g3 = v2;
    }

    // Address range: 0x4099a0 - 0x40a65f
    int32_t function_4099a0(int32_t * a1) {
    g62 = 0x157aa00;
    g63 = 0;
    _strlen("89$498$49$8");
    function_4013f0(&g26, (int32_t *)12, (int32_t *)g5);
    g62 = 0x157aa00;
    g63 = 0;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v1 = g2; // 0x409caf
    *(int32_t *)(v1 - = *(int32_t *)(*(int32_t *)(v1 - 16) + 12);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v2 = g2; // 0x409d1a
    *(int32_t *)(v2 - 24) = *(int32_t *)(*(int32_t *)(v2 - + 2;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v3 = g2; // 0x409d83
    *(int32_t *)(v3 - 4) = *(int32_t *)(v3 - 24);
    int32_t v4 = g2; // 0x409d8f
    // branch -> 0x409d89
    int32_t result; // 0x40a535
    int32_t v5; // 0x40a25b
    int32_t v6; // 0x40a340
    int32_t v7; // 0x40a3cb
    int32_t v8; // 0x40a4a6
    int32_t v9; // 0x40a523
    int32_t v10;
    int32_t v11; // 0x40a64d
    int32_t v12; // 0x40a4a6
    int32_t v13; // 0x40a523
    int32_t v14; // 0x40a259
    int32_t v15; // 0x40a33e
    int32_t v16; // 0x40a3c9
    while (true) {
    int32_t * v17 = (int32_t *)(v4 - 12); // 0x409d89_0
    *v17 = *v17 + 1;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v18 = g2; // 0x409dee
    *(int32_t *)(v18 - 20) = *(int32_t *)(*(int32_t *)(v18 - 4) + ;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v19 = g2; // 0x409e32
    *(int32_t *)(v19 - 2 = *(int32_t *)(*(int32_t *)(v19 - 4) + 24);
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v20 = g2; // 0x409f31
    *(int32_t *)(v20 - 32) = *(int32_t *)(v20 - 20);
    g62 = 0x157aa00;
    g63 = 0;
    *(int32_t *)(g8 - 4) = 0x409fa5;
    int32_t v21 = function_402d10(a1, &v10, NULL, NULL); // 0x409fa0
    g62 = 0x157aa00;
    g63 = 0;
    if (v21 != 0) {
    // 0x409fad
    *(int32_t *)(g8 - 4) = 0x40a01e;
    g66 = function_402d10(a1, &v10, NULL, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    // branch -> 0x40a259
    // 0x40a259
    v14 = g8;
    *(int32_t *)(v14 - 4) = 12;
    v5 = v14 - 8;
    *(int32_t *)v5 = 0x41c0a4;
    g4 = 0x41c0f4;
    *(int32_t *)(v14 - 12) = 0x40a26a;
    function_4027c0(a1);
    *(int32_t *)(v5 - 4) = 0x40a276;
    function_4013f0(a1, &v10, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    v15 = g8;
    *(int32_t *)(v15 - 4) = 12;
    v6 = v15 - 8;
    *(int32_t *)v6 = 0x41c0c4;
    g4 = 0x41c0f4;
    *(int32_t *)(v15 - 12) = 0x40a34f;
    function_4027c0(a1);
    *(int32_t *)(v6 - 4) = 0x40a35b;
    function_4013f0(a1, &v10, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    v16 = g8;
    *(int32_t *)(v16 - 4) = 5;
    v7 = v16 - 8;
    *(int32_t *)v7 = 0x41c0b4;
    g4 = 0x41c0f4;
    *(int32_t *)(v16 - 12) = 0x40a3da;
    function_4027c0(a1);
    *(int32_t *)(v7 - 4) = 0x40a3e6;
    function_4013f0(a1, &v10, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    v12 = g8;
    v8 = v12 - 4;
    *(int32_t *)v8 = 0x41c0a4;
    g8 = v8;
    *(int32_t *)(v12 - = 0x40a4b1;
    ((int32_t (*)())g66)();
    *(int32_t *)(g8 - 4) = 0x40a4bd;
    g79 = function_402d10(a1, &v10, NULL, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    v13 = g8;
    v9 = v13 - 4;
    *(int32_t *)v9 = 0x41c0a4;
    g8 = v9;
    *(int32_t *)(v13 - = 0x40a52e;
    ((int32_t (*)())g66)();
    *(int32_t *)(g8 - 4) = 0x40a53a;
    result = function_402d10(a1, &v10, NULL, NULL);
    g76 = result;
    g62 = 0x157aa00;
    g63 = 0;
    v11 = g8;
    g5 = *(int32_t *)v11;
    g7 = *(int32_t *)(v11 + 4);
    g3 = *(int32_t *)(v11 + ;
    g8 = g2 + 8;
    return result;
    }
    int32_t * v22 = (int32_t *)(g2 - 4); // 0x40a1e6_0
    *v22 = *(int32_t *)*v22;
    g62 = 0x157aa00;
    g63 = 0;
    int32_t v23 = g2; // 0x40a24d
    if (*(int32_t *)(v23 - 24) == *(int32_t *)(v23 - 4)) {
    // break -> 0x40a259
    break;
    }
    v4 = v23;
    // continue -> 0x409d89
    }
    // 0x40a259
    v14 = g8;
    *(int32_t *)(v14 - 4) = 12;
    v5 = v14 - 8;
    *(int32_t *)v5 = 0x41c0a4;
    g4 = 0x41c0f4;
    *(int32_t *)(v14 - 12) = 0x40a26a;
    function_4027c0(a1);
    *(int32_t *)(v5 - 4) = 0x40a276;
    function_4013f0(a1, &v10, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    v15 = g8;
    *(int32_t *)(v15 - 4) = 12;
    v6 = v15 - 8;
    *(int32_t *)v6 = 0x41c0c4;
    g4 = 0x41c0f4;
    *(int32_t *)(v15 - 12) = 0x40a34f;
    function_4027c0(a1);
    *(int32_t *)(v6 - 4) = 0x40a35b;
    function_4013f0(a1, &v10, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    v16 = g8;
    *(int32_t *)(v16 - 4) = 5;
    v7 = v16 - 8;
    *(int32_t *)v7 = 0x41c0b4;
    g4 = 0x41c0f4;
    *(int32_t *)(v16 - 12) = 0x40a3da;
    function_4027c0(a1);
    *(int32_t *)(v7 - 4) = 0x40a3e6;
    function_4013f0(a1, &v10, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    v12 = g8;
    v8 = v12 - 4;
    *(int32_t *)v8 = 0x41c0a4;
    g8 = v8;
    *(int32_t *)(v12 - = 0x40a4b1;
    ((int32_t (*)())g66)();
    *(int32_t *)(g8 - 4) = 0x40a4bd;
    g79 = function_402d10(a1, &v10, NULL, NULL);
    g62 = 0x157aa00;
    g63 = 0;
    v13 = g8;
    v9 = v13 - 4;
    *(int32_t *)v9 = 0x41c0a4;
    g8 = v9;
    *(int32_t *)(v13 - = 0x40a52e;
    ((int32_t (*)())g66)();
    *(int32_t *)(g8 - 4) = 0x40a53a;
    result = function_402d10(a1, &v10, NULL, NULL);
    g76 = result;
    g62 = 0x157aa00;
    g63 = 0;
    v11 = g8;
    g5 = *(int32_t *)v11;
    g7 = *(int32_t *)(v11 + 4);
    g3 = *(int32_t *)(v11 + ;
    g8 = g2 + 8;
    return result;
    }

    // Address range: 0x40a660 - 0x40a66f
    int32_t function_40a660(void) {
    // 0x40a660
    return g10;
    }

    // Address range: 0x40a6d5 - 0x40a74f
    int32_t function_40a6d5(void) {
    // 0x40a6d5
    g36 = 0x40b83c;
    g37 = 0x40af32;
    g38 = 0x40aee6;
    g39 = 0x40af1f;
    g40 = 0x40ae88;
    g41 = 0x40b83c;
    g42 = 0x40b7b4;
    g43 = 0x40aea4;
    g44 = 0x40ae06;
    g45 = 0x40ad92;
    return 0x40b83c;
    }

    // Address range: 0x40a750 - 0x40a754
    int32_t function_40a750(void) {
    // 0x40a750
    return 0x41515a;
    }

    // Address range: 0x40a755 - 0x40a759
    void function_40a755(void) {
    // 0x40a755
    __ctrandisp1();
    }

    // Address range: 0x40a75a - 0x40aadf
    void function_40a75a(void) {
    // 0x40a75a
    function_40a755();
    }

    // Address range: 0x40ad01 - 0x40b9af
    int32_t function_40ad01(void) {
    // 0x40ad01
    ___security_init_cookie();
    _qm__qm__qm_();
    return g1;
    }

    // Address range: 0x40bc29 - 0x40cbcf
    int32_t function_40bc29(void) {
    // 0x40bc29
    g95 = unknown_1b15c();
    return 0;
    }

    // Address range: 0x40cf0e - 0x40cf1a
    // From class: .?AVexception@std@@
    // Type: virtual member function
    int32_t function_40cf0e(int32_t a1) {
    int32_t v1 = *(int32_t *)(g4 + 4); // 0x40cf0e
    return v1 == 0 ? (int32_t)"Unknown exception" : v1;
    }

    // Address range: 0x40cfae - 0x40d014
    // From class: .?AVexception@std@@
    // Type: constructor
    void function_40cfae(int32_t a1) {
    // 0x40cfae
    *(int32_t *)g4 = (int32_t)&vtable_418c14;
    _qm__Tidy_exception_std__AAEXXZ();
    }

    // Address range: 0x40d20f - 0x40d21d
    int32_t function_40d20f(int32_t result, int32_t a2) {
    // 0x40d20f
    g81 = result;
    return result;
    }

    // Address range: 0x40d2d4 - 0x40d2e1
    int32_t function_40d2d4(void) {
    // 0x40d2d4
    unknown_1b1a6();
    return 0;
    }

    // Address range: 0x40d325 - 0x40d32d
    int32_t function_40d325(void) {
    // 0x40d325
    return unknown_4107f4();
    }

    // Address range: 0x40d32e - 0x40d336
    int32_t function_40d32e(void) {
    // 0x40d32e
    __unlock();
    return 8;
    }

    // Address range: 0x40d385 - 0x40d38d
    int32_t function_40d385(int32_t a1, int32_t a2, int32_t a3) {
    int32_t v1 = g1; // 0x40d385
    g1 = v1 + 59 & 255 | v1 & -256;
    unknown_40d395();
    return unknown_40d377();
    }

    // Address range: 0x40d591 - 0x40d59f
    void function_40d591(void) {
    // 0x40d591
    _qm__qm__qm_();
    }

    // Address range: 0x40d5a0 - 0x40d5ae
    void function_40d5a0(void) {
    // 0x40d5a0
    _qm__qm__qm_();
    }

    // Address range: 0x40dfdd - 0x40dfe5
    int32_t function_40dfdd(void) {
    // 0x40dfdd
    return unknown_1b14c();
    }

    // Address range: 0x40dfe6 - 0x40dfee
    int32_t function_40dfe6(void) {
    // 0x40dfe6
    return unknown_1b2c2();
    }

    // Address range: 0x40e45c - 0x40e6ff
    int32_t function_40e45c(int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5) {
    // 0x40e45c
    *(char *)(g1 + 65) = (char)g6;
    char * v1 = (char *)g3; // 0x40e45f_0
    *v1 = (char)(g6 / 256 + (int32_t)*v1);
    g2 = *(int32_t *)g2;
    g82 = g1;
    return ((int32_t)(g1 == 0) | g4 & -256) ^ 1;
    }

    // Address range: 0x40f147 - 0x40f149
    int32_t function_40f147(void) {
    // 0x40f147
    return unknown_40f12d();
    }

    // Address range: 0x40f14a - 0x40f47c
    int32_t function_40f14a(int32_t result, int32_t a2) {
    // 0x40f14a
    g83 = result;
    return result;
    }

    // Address range: 0x40f47d - 0x40f5ff
    int32_t function_40f47d(int32_t a1, int32_t a2) {
    // 0x40f47d
    if (g92 != 0) {
    // 0x40f496
    __tolower_l();
    // branch -> 0x40f4a2
    // 0x40f4a2
    int32_t result; // 0x40f4a3_11
    return result;
    }
    int32_t result2 = *(int32_t *)(g2 + ; // 0x40f486
    if (result2 <= 90) {
    // 0x40f491
    return result2 + 32;
    }
    // 0x40f4a2
    return result2;
    }

    // Address range: 0x40fa02 - 0x40fa14
    int32_t function_40fa02(void) {
    // 0x40fa02
    __getptd_noexit();
    if (g1 == 0) {
    // 0x40fa0b
    return 0x41cbb8;
    }
    // 0x40fa11
    return g1 + 8;
    }

    // Address range: 0x40fc09 - 0x40fd7f
    void function_40fc09(int32_t a1) {
    // 0x40fc09
    if (g4 == g46) {
    // 0x40fc11
    return;
    }
    // 0x40fc13
    ___report_gsfailure();
    }

    // Address range: 0x40fd9f - 0x40fda7
    int32_t function_40fd9f(void) {
    // 0x40fd9f
    __amsg_exit();
    return 2;
    }

    // Address range: 0x40ff46 - 0x4104df
    int32_t function_40ff46(void) {
    // 0x40ff46
    g94 = unknown_1b15c();
    return 0;
    }

    // Address range: 0x4107f5 - 0x410826
    int32_t function_4107f5(int32_t a1, int32_t a2) {
    ((int32_t (*)())*(int32_t *)(g2 - 117))();
    int32_t v1 = *(int32_t *)(g2 + ; // 0x4107f9
    g1 = v1;
    int32_t * v2 = (int32_t *)g7;
    int32_t v3 = (int32_t)&v2; // 0x4107fc_1
    g8 = v3;
    if (*(int32_t *)(8 * v1 + 0x41cc00) == 0) {
    // 0x410809
    __mtinitlocknum();
    g8 = v3;
    if (g1 == 0) {
    // 0x410814
    __amsg_exit();
    g8 = v3;
    // branch -> 0x41081c
    }
    }
    // 0x41081c
    return unknown_1b47e();
    }

    // Address range: 0x410860 - 0x410870
    int32_t function_410860(void) {
    int32_t result = unknown_1b14c(); // 0x410865
    g84 = result;
    return result;
    }

    // Address range: 0x4108c6 - 0x4108d2
    int32_t function_4108c6(void) {
    // 0x4108c6
    return unknown_1b178();
    }

    // Address range: 0x410a76 - 0x410a84
    int32_t function_410a76(int32_t result, int32_t a2) {
    // 0x410a76
    g85 = result;
    return result;
    }

    // Address range: 0x410a85 - 0x410b2f
    int32_t function_410a85(int32_t result, int32_t a2) {
    // 0x410a85
    g86 = result;
    return result;
    }

    // Address range: 0x410bed - 0x410fcf
    int32_t function_410bed(int32_t a1, int32_t a2, int32_t a3, int32_t a4) {
    ((int32_t (*)())*(int32_t *)(g2 - 117))();
    int32_t v1 = g2; // 0x410bf9
    *(int32_t *)(v1 - 4) = v1 ^ g46;
    int32_t v2 = g2; // 0x410bfe
    int32_t v3 = g3; // 0x410c01
    *(int32_t *)(v2 - 32) = *(int32_t *)(v2 + ;
    int32_t v4 = g2; // 0x410c05
    int32_t v5 = *(int32_t *)(v4 + 12); // 0x410c05
    g1 = v5;
    *(int32_t *)(v4 - 2 = v5;
    int32_t v6 = function_40dfdd(); // 0x410c0d
    *(int32_t *)(g2 - 20) = 0;
    *(int32_t *)(g2 - 24) = v6;
    int32_t * v7; // 0x410cc4_2
    int32_t * v8; // 0x410cf8_0
    int32_t * v9; // 0x410d12_0
    int32_t v10; // 0x410cba
    int32_t v11; // 0x410cc4
    int32_t * v12;
    int32_t * v13; // 0x410d57_23
    int32_t * v14; // 0x410d57_24
    int32_t * v15;
    int32_t * v16;
    int32_t * v17;
    int32_t v18;
    int32_t * v19;
    int32_t v20; // 0x410cc8
    int32_t v21; // 0x410d56
    int32_t v22; // 0x410c9f
    int32_t v23; // 0x410cf8
    int32_t v24; // 0x410d12
    int32_t v25; // 0x410ca4
    int32_t v26; // 0x410cd6
    int32_t v27; // 0x410ce9
    int32_t v28; // 0x410cfd
    int32_t v29; // 0x410d37
    int32_t v30; // 0x410d49
    int32_t v31; // 0x410cd6
    int32_t v32; // 0x410cdc
    int32_t v33; // 0x410ca4
    int32_t v34; // 0x410d23
    int32_t v35; // 0x410d37
    int32_t v36; // 0x410d3a
    int32_t v37; // 0x410d40
    if (g87 == 0) {
    int32_t v38 = unknown_1b496(); // 0x410c27
    g3 = v38;
    if (v38 == 0) {
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)NULL;
    }
    // 0x410c37
    g5 = 0x1b1c4;
    if (unknown_1b1c4() == 0) {
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)NULL;
    }
    // 0x410c4d
    g87 = unknown_1b14c();
    unknown_1b1c4();
    g88 = unknown_1b14c();
    unknown_1b1c4();
    g89 = unknown_1b14c();
    unknown_1b1c4();
    unknown_1b1c4();
    int32_t v39 = unknown_1b14c(); // 0x410c84
    g91 = v39;
    if (v39 != 0) {
    // 0x410c8f
    v15 = (int32_t *)"GetProcessWindowStation";
    v16 = (int32_t *)g3;
    v17 = (int32_t *)unknown_1b1c4();
    g90 = unknown_1b14c();
    // branch -> 0x410c9f
    }
    // 0x410c9f
    v22 = g90;
    g1 = v22;
    v25 = g2;
    v33 = *(int32_t *)(v25 - 24);
    g4 = v33;
    g7 = 0x1b178;
    if (v22 == v33 || g91 == v33) {
    // 0x410cf8
    v23 = g88;
    v8 = (int32_t *)v23;
    v14 = v8;
    if (v23 != *(int32_t *)(v25 - 24)) {
    // 0x410d02
    v15 = v8;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v23 != 0) {
    // 0x410d09
    ((int32_t (*)())v23)();
    *(int32_t *)(g2 - 20) = v23;
    v24 = g89;
    v9 = (int32_t *)v24;
    if (v24 != *(int32_t *)(g2 - 24)) {
    // 0x410d1c
    v16 = v9;
    g8 = (int32_t)&v16;
    ((int32_t (*)())g7)();
    if (v24 != 0) {
    // 0x410d23
    v34 = *(int32_t *)(g2 - 20);
    v17 = (int32_t *)v34;
    g8 = (int32_t)&v17;
    ((int32_t (*)(int32_t))v24)(v34);
    *(int32_t *)(g2 - 20) = v24;
    v14 = v9;
    // branch -> 0x410d2b
    } else {
    v14 = v9;
    }
    } else {
    v14 = v9;
    }
    } else {
    v14 = v8;
    }
    }
    // 0x410d2b
    v15 = (int32_t *)g87;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v14 != NULL) {
    // 0x410d37
    v29 = g2;
    v35 = *(int32_t *)(v29 + 16);
    v16 = (int32_t *)v35;
    v36 = *(int32_t *)(v29 - 2;
    v17 = (int32_t *)v36;
    v37 = *(int32_t *)(v29 - 20);
    v18 = v37;
    g8 = &v18;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v14)(v37, *(int32_t *)(v29 - 32), v36, v35);
    v13 = v14;
    // branch -> 0x410d49
    } else {
    v13 = NULL;
    }
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)v13;
    }
    // 0x410cb9
    v15 = (int32_t *)v22;
    v10 = unknown_1b178();
    v16 = (int32_t *)g91;
    g8 = (int32_t)&v16;
    g5 = v10;
    v11 = unknown_1b178();
    v7 = (int32_t *)v11;
    g3 = v11;
    v20 = g5;
    if (v11 == 0 || v20 == 0) {
    // 0x410cb9
    v28 = g2;
    // branch -> 0x410cf8
    } else {
    // 0x410cd6
    ((int32_t (*)())v20)();
    v26 = g2;
    v31 = v26 - 36;
    v17 = (int32_t *)v31;
    v32 = v26 - 16;
    g4 = v32;
    v18 = v32;
    v19 = v7;
    g8 = (int32_t)&v19;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t))g3)(v11, 1, v32, 12, v31);
    v27 = g2;
    if (*(char *)(v27 - == 1) {
    // 0x410cef
    v12 = (int32_t *)(v27 + 16);
    *v12 = *v12 | 0x200000;
    v14 = v7;
    // branch -> 0x410d2b
    // 0x410d2b
    v15 = (int32_t *)g87;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v14 != NULL) {
    // 0x410d37
    v29 = g2;
    v35 = *(int32_t *)(v29 + 16);
    v16 = (int32_t *)v35;
    v36 = *(int32_t *)(v29 - 2;
    v17 = (int32_t *)v36;
    v37 = *(int32_t *)(v29 - 20);
    v18 = v37;
    g8 = &v18;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v14)(v37, *(int32_t *)(v29 - 32), v36, v35);
    v13 = v14;
    // branch -> 0x410d49
    } else {
    v13 = NULL;
    }
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)v13;
    }
    v28 = v27;
    }
    // 0x410cf8
    v23 = g88;
    v8 = (int32_t *)v23;
    v14 = v8;
    if (v23 != *(int32_t *)(v28 - 24)) {
    // 0x410d02
    v15 = v8;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v23 != 0) {
    // 0x410d09
    ((int32_t (*)())v23)();
    *(int32_t *)(g2 - 20) = v23;
    v24 = g89;
    v9 = (int32_t *)v24;
    if (v24 != *(int32_t *)(g2 - 24)) {
    // 0x410d1c
    v16 = v9;
    g8 = (int32_t)&v16;
    ((int32_t (*)())g7)();
    if (v24 != 0) {
    // 0x410d23
    v34 = *(int32_t *)(g2 - 20);
    v17 = (int32_t *)v34;
    g8 = (int32_t)&v17;
    ((int32_t (*)(int32_t))v24)(v34);
    *(int32_t *)(g2 - 20) = v24;
    v14 = v9;
    // branch -> 0x410d2b
    } else {
    v14 = v9;
    }
    } else {
    v14 = v9;
    }
    } else {
    v14 = v8;
    }
    }
    // 0x410d2b
    v15 = (int32_t *)g87;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v14 != NULL) {
    // 0x410d37
    v29 = g2;
    v35 = *(int32_t *)(v29 + 16);
    v16 = (int32_t *)v35;
    v36 = *(int32_t *)(v29 - 2;
    v17 = (int32_t *)v36;
    v37 = *(int32_t *)(v29 - 20);
    v18 = v37;
    g8 = &v18;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v14)(v37, *(int32_t *)(v29 - 32), v36, v35);
    v13 = v14;
    // branch -> 0x410d49
    } else {
    v13 = NULL;
    }
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)v13;
    }
    // 0x410c9f
    v22 = g90;
    g1 = v22;
    v25 = g2;
    v33 = *(int32_t *)(v25 - 24);
    g4 = v33;
    g7 = 0x1b178;
    if (v22 != v33 && g91 != v33) {
    // 0x410cb9
    v15 = (int32_t *)v22;
    v10 = unknown_1b178();
    v16 = (int32_t *)g91;
    g8 = (int32_t)&v16;
    g5 = v10;
    v11 = unknown_1b178();
    v7 = (int32_t *)v11;
    g3 = v11;
    v20 = g5;
    if (v11 == 0 || v20 == 0) {
    // 0x410cb9
    v28 = g2;
    // branch -> 0x410cf8
    } else {
    // 0x410cd6
    ((int32_t (*)())v20)();
    v26 = g2;
    v31 = v26 - 36;
    v17 = (int32_t *)v31;
    v32 = v26 - 16;
    g4 = v32;
    v18 = v32;
    v19 = v7;
    g8 = (int32_t)&v19;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t, int32_t))g3)(v11, 1, v32, 12, v31);
    v27 = g2;
    if (*(char *)(v27 - == 1) {
    // 0x410cef
    v12 = (int32_t *)(v27 + 16);
    *v12 = *v12 | 0x200000;
    v14 = v7;
    // branch -> 0x410d2b
    // 0x410d2b
    v15 = (int32_t *)g87;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v14 != NULL) {
    // 0x410d37
    v29 = g2;
    v35 = *(int32_t *)(v29 + 16);
    v16 = (int32_t *)v35;
    v36 = *(int32_t *)(v29 - 2;
    v17 = (int32_t *)v36;
    v37 = *(int32_t *)(v29 - 20);
    v18 = v37;
    g8 = &v18;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v14)(v37, *(int32_t *)(v29 - 32), v36, v35);
    v13 = v14;
    // branch -> 0x410d49
    } else {
    v13 = NULL;
    }
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)v13;
    }
    v28 = v27;
    }
    // 0x410cf8
    v23 = g88;
    v8 = (int32_t *)v23;
    v14 = v8;
    if (v23 != *(int32_t *)(v28 - 24)) {
    // 0x410d02
    v15 = v8;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v23 != 0) {
    // 0x410d09
    ((int32_t (*)())v23)();
    *(int32_t *)(g2 - 20) = v23;
    v24 = g89;
    v9 = (int32_t *)v24;
    if (v24 != *(int32_t *)(g2 - 24)) {
    // 0x410d1c
    v16 = v9;
    g8 = (int32_t)&v16;
    ((int32_t (*)())g7)();
    if (v24 != 0) {
    // 0x410d23
    v34 = *(int32_t *)(g2 - 20);
    v17 = (int32_t *)v34;
    g8 = (int32_t)&v17;
    ((int32_t (*)(int32_t))v24)(v34);
    *(int32_t *)(g2 - 20) = v24;
    v14 = v9;
    // branch -> 0x410d2b
    } else {
    v14 = v9;
    }
    } else {
    v14 = v9;
    }
    } else {
    v14 = v8;
    }
    }
    // 0x410d2b
    v15 = (int32_t *)g87;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v14 != NULL) {
    // 0x410d37
    v29 = g2;
    v35 = *(int32_t *)(v29 + 16);
    v16 = (int32_t *)v35;
    v36 = *(int32_t *)(v29 - 2;
    v17 = (int32_t *)v36;
    v37 = *(int32_t *)(v29 - 20);
    v18 = v37;
    g8 = &v18;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v14)(v37, *(int32_t *)(v29 - 32), v36, v35);
    v13 = v14;
    // branch -> 0x410d49
    } else {
    v13 = NULL;
    }
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)v13;
    }
    // 0x410cf8
    v23 = g88;
    v8 = (int32_t *)v23;
    v14 = v8;
    if (v23 == *(int32_t *)(v25 - 24)) {
    // 0x410d2b
    v15 = (int32_t *)g87;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v14 != NULL) {
    // 0x410d37
    v29 = g2;
    v35 = *(int32_t *)(v29 + 16);
    v16 = (int32_t *)v35;
    v36 = *(int32_t *)(v29 - 2;
    v17 = (int32_t *)v36;
    v37 = *(int32_t *)(v29 - 20);
    v18 = v37;
    g8 = &v18;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v14)(v37, *(int32_t *)(v29 - 32), v36, v35);
    v13 = v14;
    // branch -> 0x410d49
    } else {
    v13 = NULL;
    }
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)v13;
    }
    // 0x410d02
    v15 = v8;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v23 == 0) {
    v14 = v8;
    // 0x410d2b
    v15 = (int32_t *)g87;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v14 != NULL) {
    // 0x410d37
    v29 = g2;
    v35 = *(int32_t *)(v29 + 16);
    v16 = (int32_t *)v35;
    v36 = *(int32_t *)(v29 - 2;
    v17 = (int32_t *)v36;
    v37 = *(int32_t *)(v29 - 20);
    v18 = v37;
    g8 = &v18;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v14)(v37, *(int32_t *)(v29 - 32), v36, v35);
    v13 = v14;
    // branch -> 0x410d49
    } else {
    v13 = NULL;
    }
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)v13;
    }
    // 0x410d09
    ((int32_t (*)())v23)();
    *(int32_t *)(g2 - 20) = v23;
    v24 = g89;
    v9 = (int32_t *)v24;
    if (v24 == *(int32_t *)(g2 - 24)) {
    v14 = v9;
    // 0x410d2b
    v15 = (int32_t *)g87;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v14 != NULL) {
    // 0x410d37
    v29 = g2;
    v35 = *(int32_t *)(v29 + 16);
    v16 = (int32_t *)v35;
    v36 = *(int32_t *)(v29 - 2;
    v17 = (int32_t *)v36;
    v37 = *(int32_t *)(v29 - 20);
    v18 = v37;
    g8 = &v18;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v14)(v37, *(int32_t *)(v29 - 32), v36, v35);
    v13 = v14;
    // branch -> 0x410d49
    } else {
    v13 = NULL;
    }
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)v13;
    }
    // 0x410d1c
    v16 = v9;
    g8 = (int32_t)&v16;
    ((int32_t (*)())g7)();
    if (v24 != 0) {
    // 0x410d23
    v34 = *(int32_t *)(g2 - 20);
    v17 = (int32_t *)v34;
    g8 = (int32_t)&v17;
    ((int32_t (*)(int32_t))v24)(v34);
    *(int32_t *)(g2 - 20) = v24;
    v14 = v9;
    // branch -> 0x410d2b
    } else {
    v14 = v9;
    }
    // 0x410d2b
    v15 = (int32_t *)g87;
    g8 = (int32_t)&v15;
    ((int32_t (*)())g7)();
    if (v14 != NULL) {
    // 0x410d37
    v29 = g2;
    v35 = *(int32_t *)(v29 + 16);
    v16 = (int32_t *)v35;
    v36 = *(int32_t *)(v29 - 2;
    v17 = (int32_t *)v36;
    v37 = *(int32_t *)(v29 - 20);
    v18 = v37;
    g8 = &v18;
    ((int32_t (*)(int32_t, int32_t, int32_t, int32_t))v14)(v37, *(int32_t *)(v29 - 32), v36, v35);
    v13 = v14;
    // branch -> 0x410d49
    } else {
    v13 = NULL;
    }
    // 0x410d49
    v30 = g2;
    g4 = *(int32_t *)(v30 - 4) ^ v30;
    function_40fc09(v3);
    v21 = g2;
    g2 = *(int32_t *)v21;
    g8 = v21 + 8;
    return (int32_t)v13;
    }

    // Address range: 0x411123 - 0x41197b
    void function_411123(int32_t a1) {
    // 0x411123
    ((int32_t (*)())*(int32_t *)(g2 - 117))();
    g93 = 0;
    }

    // Address range: 0x4140f5 - 0x414c01
    int32_t function_4140f5(void) {
    // 0x4140f5
    return 0;
    }

    // Address range: 0x414c02 - 0x414dff
    int32_t function_414c02(void) {
    // 0x414c02
    return unknown_1b4a6();
    }

    // --------------- Statically Linked Functions ----------------

    // void ___report_gsfailure(void);
    // void ___security_init_cookie(void);
    // __int64 __allmul(__int64 a, __int64 b);
    // void __amsg_exit(void);
    // void __ctrandisp1(void);
    // void __getptd_noexit(void);
    // void __mtinitlocknum(void);
    // void __tolower_l(void);
    // void __unlock(void);
    // void _qm__qm_2_YAPAXI_Z(void);
    // void _qm__qm__qm_(void);
    // void _qm__Tidy_exception_std__AAEXXZ(void);
    // unsigned int _strlen(char *__s);
    // double pow(double x, double y);

    // --------------- Instruction-Idiom Functions ----------------

    // int32_t llvm_cttz_i32(int32_t a1, bool a2);

    // --------------------- Meta-Information ---------------------

    // Detected compiler/packer: microsoft linker (10.0)
    // Detected language: C++
    // Detected functions: 69
    // Decompiler release: v2.1.2 (2016-01-27)
    // Decompilation date: 2016-02-10 12:30:07
    Скрыть


    - - - - -Добавлено - - - - -

    Отправила мошеннику тестовый файл на расшифровку, он даже сам не смог его расшифровать. присланный им документ не открывается, пишет что он поврежден.
    Последний раз редактировалось thyrex; 11.02.2016 в 21:58.

  6. #5
    Невымерший Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Аватар для thyrex
    Регистрация
    07.03.2009
    Адрес
    Soligorsk, Belarus
    Сообщений
    99,211
    Вес репутации
    3104
    Microsoft MVP 2012-2016 Consumer Security
    Microsoft MVP 2016 Reconnect

  7. #6
    Junior Member Репутация
    Регистрация
    09.02.2016
    Сообщений
    4
    Вес репутации
    30
    К сожалению, восстановить информацию не удалось. Мошенник вышел на связь, потребовал деньги, но данные не расшифровал, и в итоге перестал выходить на связь.
    Будьте осторожнее.

Похожие темы

  1. Помогите расшифровать файлы [email protected]
    От CitizenV в разделе Помогите!
    Ответов: 2
    Последнее сообщение: 20.08.2014, 13:40
  2. Ответов: 2
    Последнее сообщение: 19.08.2014, 18:58
  3. Ответов: 8
    Последнее сообщение: 07.07.2014, 22:13
  4. Помогите расшифровать файлы paycrypt@gmail_com
    От Алексей Полторыхин в разделе Помогите!
    Ответов: 2
    Последнее сообщение: 02.07.2014, 00:18
  5. возможно ли расшифровать файлы после paycrypt@gmail_com
    От Евгений Вахрушев в разделе Помогите!
    Ответов: 3
    Последнее сообщение: 01.07.2014, 11:09

Метки для этой темы

Свернуть/Развернуть Ваши права в разделе

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Page generated in 0.00744 seconds with 20 queries