Function at 0x40c6f0
Capabilities:
Encode data using xor
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3b24
call fcn.00476a90
mov eax, dword [0x4ca510]
xor eax, esp
mov dword [esp + 0x3b20], eax
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 0xc]
xor eax, eax
push edi
push 0x215f
mov dword [esp + 0x2441], eax
mov dword [esp + 0x2445], eax
mov dword [esp + 0x2449], eax
mov word [esp + 0x244d], ax
mov byte [esp + 0x244f], al
mov byte [esp + 0x1e4], al
lea eax, [esp + 0x1e5]
push ebx
push eax
mov dword [esp + 0x20], ebx
mov byte [esp + 0x2448], bl
mov dword [esp + 0x38], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0xe0], 0x4ac9d0
mov dword [esp + 0xc8], 0x4ad0c0
mov dword [esp + 0xcc], 0x4ba5d8
mov dword [esp + 0xc4], 0x4ba840
mov dword [esp + 0x28], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
call fcn.00476ac0
add esp, 0xc
push 0x4bd978
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x28], ebx
call fcn.0046e24e
add esp, 4
push str.Actel_Altera_Xilinx_Synopsys_IEEE_1735_IP_Decryptor_v9__n_n
call fcn.0046e24e
add esp, 4
push str.dll_
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryA]
push 0x10
push ebx
push str.altera.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
cmp eax, ebx
jne 0x40c820
push str.dll_altera.dll_and_dll64_altera.dll_required__n
call fcn.0046e24e
add esp, 4
push ebx
call fcn.00470ab0
lea ecx, [eax + 0x1ed50]
lea edx, [eax + 0x1d150]
add eax, 0x171e0
cmp dword [ebp + 8], 2
mov dword [0x5f0bb0], ecx
mov dword [0x5f0ba0], edx
mov dword [0x5f0ba8], eax
jge 0x40d10e
push str.Usage:___ieee___synp___actel__filename__external_altera_license___actel_key1___actel_key2___actel_key3___n
call fcn.0046e24e
add esp, 4
push str.____1__Set__ieee__option_if_input_file_is_text_envelope__autodetect_comments_style__n
call fcn.0046e24e
add esp, 4
push str._______Set__ieee1_option_to_force_verilog_comments_style__n
call fcn.0046e24e
add esp, 4
push str._______Set__ieee2_option_to_force_vhdl_comments_style__n
call fcn.0046e24e
add esp, 4
push str.____2__Set__synp__option_if_input_file_is_Synplicity_encrypted_text__n
call fcn.0046e24e
add esp, 4
push str.____3__Set__actel_option_if_input_file_is_Actel_encrypted_IP__n
call fcn.0046e24e
add esp, 4
push str.________actel_key1___base64_Package_key__n
call fcn.0046e24e
add esp, 4
push str.________actel_key2___base64_RTL_Source_key__n
call fcn.0046e24e
add esp, 4
push str.________actel_key3___base64_RTL_Obfuscated_key__n
call fcn.0046e24e
add esp, 4
push 0x4bd978
call fcn.0046e24e
add esp, 4
push str.Supported_Altera_binary:__n
call fcn.0046e24e
add esp, 4
push str.____04_6B_13_...__n
call fcn.0046e24e
add esp, 4
push str.____8B_13_9C_2F_05_00_03_00_...__n
call fcn.0046e24e
add esp, 4
push str.____8B_13_9C_2F_06_00_03_00_...__n
call fcn.0046e24e
add esp, 4
push str.____8B_13_9C_2F_07_00_03_00_...__n
call fcn.0046e24e
add esp, 4
push str.____8B_13_9C_2F_05_00_04_00_...__n
call fcn.0046e24e
add esp, 4
push str.____8B_13_9C_2F_06_00_04_00_...__n
call fcn.0046e24e
add esp, 4
push str.____8B_13_9C_2F_06_00_06_00_...__n
call fcn.0046e24e
add esp, 4
push 0x4bd978
call fcn.0046e24e
add esp, 4
push str.Supported_Altera_encrypted_perl:__n
call fcn.0046e24e
add esp, 4
push str.____...__n
call fcn.0046e24e
add esp, 4
push str.____use_fuse_...__n
call fcn.0046e24e
add esp, 4
push 0x4bd978
call fcn.0046e24e
add esp, 4
push str.Supported_Xilinx_binary:__n
call fcn.0046e24e
add esp, 4
push str.____XlxV15EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV16EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV17EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV18EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV19EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV32DB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV33EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV34EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV35EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV35DB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV36EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV37DB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV37EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV38EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV50EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV51EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV60EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV61EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV62EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV64EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV65EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxV80EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxVc1EB__n
call fcn.0046e24e
add esp, 4
push str.____XlxVHLEB__n
call fcn.0046e24e
add esp, 4
push str.____XlxVHYEB__n
call fcn.0046e24e
add esp, 4
push str.____XILINIX_XDB__n
call fcn.0046e24e
add esp, 4
push 0x4bd978
call fcn.0046e24e
add esp, 4
push str.Supported_Synopsys_DesignWare_binary:__n
call fcn.0046e24e
add esp, 4
push str.____D2_49_69_32_E3_B3_2A_F2_...__Synopsys_encrypted__not_all_types_supported___n
call fcn.0046e24e
add esp, 4
push str.____03_1D_07_D0_00_01_00_04_...__.coreKit___n
call fcn.0046e24e
add esp, 4
push str.____04_2E_18_E1_00_01_00_04_...__.coreKit___n
call fcn.0046e24e
add esp, 4
push str.____01_01_01_09_08...____________Knowledge_base_.kb___n
call fcn.0046e24e
add esp, 4
push str.______usr_bin_perl...___________DesignWare_installer_.run___n
call fcn.0046e24e
add esp, 4
push str.______bin_sh..._________________DesignWare_installer_.run___n
call fcn.0046e24e
add esp, 4
push 0x4bd978
call fcn.0046e24e
add esp, 4
push str.Supported_Synplicity_encrypted_text:__n
call fcn.0046e24e
add esp, 4
push str._____E...__n
call fcn.0046e24e
add esp, 4
push 0x4bd978
call fcn.0046e24e
add esp, 4
push str.Supported_pre_IEEE_envelopes:__n
call fcn.0046e24e
add esp, 4
push str._____protected...____by_ModelSim__n
call fcn.0046e24e
add esp, 4
push str._____protected...____by_VCS__n
call fcn.0046e24e
add esp, 4
push str._____protected128..._by_VCS__n
call fcn.0046e24e
add esp, 4
push 0x4bd978
call fcn.0046e24e
add esp, 4
push str.Supported_IEEE_1735_keys:__n
call fcn.0046e24e
add esp, 4
push str._Altera_Intel:__n
call fcn.0046e24e
add esp, 4
push str.____Intel_FPGA_Quartus_RSA_1__n
call fcn.0046e24e
add esp, 4
push str._Xilinx:__n
call fcn.0046e24e
add esp, 4
push str.____xilinx_2013_09__n
call fcn.0046e24e
add esp, 4
push str.____Xilinx_RSA_Key__n
call fcn.0046e24e
add esp, 4
push str.____Xilinx_2048_13.1_RSA_Key__n
call fcn.0046e24e
add esp, 4
push str.____xilinx_2048_pvt__n
call fcn.0046e24e
add esp, 4
push str.____xilinx_3072_pvt__n
call fcn.0046e24e
add esp, 4
push str.____xilinx_2014_03__n
call fcn.0046e24e
add esp, 4
push str.____xilinx_2015_12__n
call fcn.0046e24e
add esp, 4
push str.____xilinx_2016_05__n
call fcn.0046e24e
add esp, 4
push str.____xilinx_2016_09__n
call fcn.0046e24e
add esp, 4
push str.____xilinx_3072_2016_09__n
call fcn.0046e24e
add esp, 4
push str.____xilinx_2017_01__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2017_05__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2017_08__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2018_02__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2018_05__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2019_02__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2019_03__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2019_11__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2020_08__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2021_01__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2021_07__n
call fcn.0046e24e
add esp, 4
push str.____xilinxt_2022_10__n
call fcn.0046e24e
add esp, 4
push str.____xilinxts_2019_02__n
call fcn.0046e24e
add esp, 4
push str.____xilinxts_2019_08__n
call fcn.0046e24e
add esp, 4
push str.____xilinxts_2019_11__n
call fcn.0046e24e
add esp, 4
push str.____314b785b__n
call fcn.0046e24e
add esp, 4
push str.____7ad3592b__n
call fcn.0046e24e
add esp, 4
push str._Lattice:__n
call fcn.0046e24e
add esp, 4
push str.____LSCC_RADIANT_1__n
call fcn.0046e24e
add esp, 4
push str.____LSCC_RADIANT_2__n
call fcn.0046e24e
add esp, 4
push str._MicroSemi:__n
call fcn.0046e24e
add esp, 4
push str.____MSC_IP_KEY_RSA__n
call fcn.0046e24e
add esp, 4
push str._NanoXplore:__n
call fcn.0046e24e
add esp, 4
push str.____NX_IP_RSA_2__n
call fcn.0046e24e
add esp, 4
push str._Gowin:__n
call fcn.0046e24e
add esp, 4
push str.____GoWin001__n
call fcn.0046e24e
add esp, 4
push str.____GoWin2016__n
call fcn.0046e24e
add esp, 4
push str.____GWK2021_01__n
call fcn.0046e24e
add esp, 4
push str.____GWK2021_10__n
call fcn.0046e24e
add esp, 4
push str.____GWK2022_10__n
call fcn.0046e24e
add esp, 4
push str.____GWK2023_09__n
call fcn.0046e24e
add esp, 4
push str._Mentor_Graphics_Siemens:__n
call fcn.0046e24e
add esp, 4
push str.____MGC_VERIF_SIM_RSA_1__n
call fcn.0046e24e
add esp, 4
push str.____MGC_VERIF_SIM_RSA_2__n
call fcn.0046e24e
add esp, 4
push str.____MGC_VERIF_SIM_RSA_3__n
call fcn.0046e24e
add esp, 4
push str.____MGC_DVT_MTI__n
call fcn.0046e24e
add esp, 4
push str.____MGC_PREC_RSA__n
call fcn.0046e24e
add esp, 4
push str.____SIEMENS_VERIF_SIM_RSA_1__n
call fcn.0046e24e
add esp, 4
push str.____SIEMENS_VERIF_SIM_RSA_2__n
call fcn.0046e24e
add esp, 4
push str._Aldec:__n
call fcn.0046e24e
add esp, 4
push str.____ALDEC06_001__n
call fcn.0046e24e
add esp, 4
push str.____ALDEC08_001__n
call fcn.0046e24e
add esp, 4
push str.____ALDEC10_001__n
call fcn.0046e24e
add esp, 4
push str.____ALDEC12_001__n
call fcn.0046e24e
add esp, 4
push str.____ALDEC15_001__n
call fcn.0046e24e
add esp, 4
push str._Synopsys:__n
call fcn.0046e24e
add esp, 4
push str.____Synplicity__n
call fcn.0046e24e
add esp, 4
push str.____SYNP05_001__n
call fcn.0046e24e
add esp, 4
push str.____SYNP15_1__n
call fcn.0046e24e
add esp, 4
push str.____SNPS_VCS_RSA_1__n
call fcn.0046e24e
add esp, 4
push str.____SNPS_VCS_RSA_2__n
call fcn.0046e24e
add esp, 4
push str.____SNPS_DGPLT_RSA_1__n
call fcn.0046e24e
add esp, 4
push str.____SNPS_EC_RSA_1__n
call fcn.0046e24e
add esp, 4
push str.____SNPS_SYN_EC_RSA_1__n
call fcn.0046e24e
add esp, 4
push str.____SNPS_SYN_RSA_1__n
call fcn.0046e24e
add esp, 4
push str.____VCS001_VCS003__n
call fcn.0046e24e
add esp, 4
push str._Cadence:__n
call fcn.0046e24e
add esp, 4
push str.____cds_rsa_key__n
call fcn.0046e24e
add esp, 4
push str.____CDS_DATA_KEY__n
call fcn.0046e24e
add esp, 4
push str.____CDS_NC_KEY__n
call fcn.0046e24e
add esp, 4
push str.____CDS_XM_KEY__n
call fcn.0046e24e
add esp, 4
push str.____CDS_KEY__n
call fcn.0046e24e
add esp, 4
push str.____CDS_RSA_KEY_VER_1__n
call fcn.0046e24e
add esp, 4
push str.____CDS_RSA_KEY_VER_2__n
call fcn.0046e24e
add esp, 4
push str.____prv_CDS_RSA_KEY_VER_1___n
call fcn.0046e24e
add esp, 4
push str.____prv_CDS_RSA_KEY_VER_2___n
call fcn.0046e24e
add esp, 4
push str.____CDS_XMO_RSA_KEY__n
call fcn.0046e24e
add esp, 4
push str.____CDS_XMO_RSA_KEY_VER1__n
call fcn.0046e24e
add esp, 4
push str._Atrenta:__n
call fcn.0046e24e
add esp, 4
push str.____ATR_SG_RSA_1__n
call fcn.0046e24e
add esp, 4
push str.____ATR_SG_RSA_2__n
call fcn.0046e24e
add esp, 4
push str.____ATR_SG_2015_RSA_3__n
call fcn.0046e24e
add esp, 4
push str._Pango:__n
call fcn.0046e24e
add esp, 4
push str.____PANGO_18__n
call fcn.0046e24e
add esp, 4
push str.____PANGO_21__n
call fcn.0046e24e
add esp, 4
push str._Efinix:__n
call fcn.0046e24e
add esp, 4
push str.____EFX_K01__n
call fcn.0046e24e
add esp, 4
push 0x4bd978
call fcn.0046e24e
add esp, 4
push str._Altera_binary_example_with_external_license:__n
call fcn.0046e24e
add esp, 4
push str.___decrypt.exe_in.v_7fkcz2dzAE7VAszbjLTzXH__n
call fcn.0046e24e
add esp, 4
push str.___in.v_______encrypted_C4D5_512A_core_with_external_license_requirement__n
call fcn.0046e24e
add esp, 4
push str.___7fkcz...___VENDOR_STRING_from_license_for_C4D5_512A_core:__n
call fcn.0046e24e
add esp, 4
push str.________FEATURE_C4D5_512A_alterad_9999.12_permanent_uncounted_A882AAA7B8FE__n
call fcn.0046e24e
add esp, 4
push str.________VENDOR_STRING7fkcz2dzAE7VAszbjLTzXH_HOSTIDANY_...__n
call fcn.0046e24e
add esp, 4
push 0x4bd978
call fcn.0046e24e
add esp, 4
push str._Actel_binary_example:__n
call fcn.0046e24e
add esp, 4
push str.___decrypt_32.exe__actel_ip_content_LiOdg1DMWNjzCffRxVY2kwP7u4f1kY8_wtla7UZTHV8dI4b7goxJxo7mIaINQSZAT8WGk5XeEmDoLN35v9IBYbc4ONnmgDCNylamuvWjnNjTgbZzwAfFD5d2nu2QxW0u8HeFxDJBnrU4fAGaemkUsRTiSkG1sJyEpyHMMeWxM__zHftNwr8crSthUwVJ0fTdfTPuYVNlFJmFXwb8_7ssqd1TUlKMR0rpUx86bArIzjVgUBrKisOSwxEmGvi5_aVYfJ4I9c0zN0dJwHf47a7qrkMcousKr9LSnHpBlxh7BwEeTTP9atUURd4R4FnnyF0YGcbIM3FOuTiuDeLMING4_l1dlP3vxbK3l87eN_bgGASMrtUM1hE9zCoA9Fo2A4rjkr4cU4nCa2JuM4V8QfN1DnRoKT9xnyq5D0blSgfu7Vjhjk_fx1rqNDgcuqwSoZArZ1MhlK2fZup0agHJ2_31rsmiViUQsAH0CWj2vx3n43qZ65YJILIogXhg6qg__n
call fcn.0046e24e
add esp, 4
push str.___ip_content____encrypted_MegaVault_file__n
call fcn.0046e24e
add esp, 4
push str.___LiOdg1...___Package_key__Package_KEY_..._IP_Package_encrypted_key_from_index_entry.xml_or_global_index.xml__n
call fcn.0046e24e
add esp, 4
push str.___zHftN8...___RTL_Source_key__RTL_KEY_..._IP_Fileset_encrypted_key_from_xml__n
call fcn.0046e24e
add esp, 4
push str.___l1dlPx...___RTL_Obfuscated_key__Obfuscated_KEY_..._IP_Fileset_encrypted_key_from_xml__if_ip_content_has_only_single_RTL_Source_Obfuscated_key__leave__actel_key3__empty___n
call fcn.0046e24e
add esp, 4
push ebx
call fcn.00470ab0
mov eax, dword [esi + 4]
push str._ieee
push eax
call fcn.0046efbc
add esp, 8
test eax, eax
jne 0x40d133
mov edi, dword [esi + 8]
lea ebx, [eax + 1]
mov dword [0xd91dc0], eax
jmp 0x40d1e8
mov ecx, dword [esi + 4]
push str._ieee1
push ecx
call fcn.0046efbc
add esp, 8
test eax, eax
jne 0x40d15b
mov edi, dword [esi + 8]
mov ebx, 1
mov dword [0xd91dc0], ebx
jmp 0x40d1e8
mov edx, dword [esi + 4]
push str._ieee2
push edx
call fcn.0046efbc
add esp, 8
test eax, eax
jne 0x40d182
mov edi, dword [esi + 8]
lea ebx, [eax + 1]
mov dword [0xd91dc0], 2
jmp 0x40d1e8
mov eax, dword [esi + 4]
push str._actel
push eax
call fcn.0046efbc
add esp, 8
test eax, eax
jne 0x40d1bc
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov edi, dword [esi + 8]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x50], eax
jmp 0x40d1e8
mov ecx, dword [esi + 4]
push str._synp
push ecx
call fcn.0046efbc
add esp, 8
test eax, eax
jne 0x40d1de
mov edi, dword [esi + 8]
mov dword [esp + 0x3c], 1
jmp 0x40d1e8
mov edx, dword [esi + 8]
mov edi, dword [esi + 4]
mov dword [esp + 0x20], edx
push 0x4bef18
push edi
mov dword [esp + 0x18], edi
call fcn.0046fe45
mov esi, eax
add esp, 8
mov dword [esp + 0x18], esi
test esi, esi
jne 0x40d218
push edi
push str.File__s_can_not_be_opened__n
call fcn.0046e24e
add esp, 8
push esi
call fcn.00470ab0
push 2
push 0
push esi
call fcn.004706d0
add esp, 0xc
push esi
call fcn.00470534
add esp, 4
push 0
push 0
push esi
mov dword [esp + 0x40], eax
call fcn.004706d0
add esp, 0xc
test ebx, ebx
jne 0x40fff3
cmp dword [esp + 0x28], ebx
jne 0x4107d6
cmp dword [esp + 0x3c], ebx
jne 0x41100a
push 0xb8
lea eax, [esp + 0x2524]
push ebx
push eax
call fcn.00476ac0
add esp, 0xc
push esi
push 0x10
lea ecx, [esp + 0x2528]
push 1
push ecx
call fcn.004700a6
add esp, 0x10
cmp eax, 0x10
je 0x40d2a0
push edi
push str.File__s_can_not_be_readed__n
call fcn.0046e24e
add esp, 8
push 0
call fcn.00470ab0
mov eax, dword [esp + 0x2520]
mov edx, dword [esp + 0x2524]
mov ebx, eax
mov esi, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edx
cmp eax, 0x2f9c138b
jne 0x40d31a
push str.Altera_binary_detected__n
mov dword [esp + 0x28], 1
call fcn.0046e24e
mov eax, dword [esp + 0x2528]
mov ecx, eax
and ecx, 0xff
add esp, 4
cmp ecx, 7
ja 0x40ffdb
cmp ecx, 4
jbe 0x40ffdb
shr eax, 0x10
mov dword [esp + 0xc], eax
and eax, 0xff
cmp eax, 3
jne 0x40f975
mov esi, 0x4972c0
jmp 0x40f99b
mov ecx, eax
and ecx, 0xffffff
cmp ecx, 0x136b04
jne 0x40d3be
push str.Altera_old_binary_detected__n
mov dword [esp + 0x28], 0
call fcn.0046e24e
mov ebx, dword [esp + 0x1c]
add esp, 4
push 0
push 8
push ebx
call fcn.004706d0
add esp, 0xc
push ebx
push 6
lea ecx, [esp + 0x2528]
push 1
push ecx
call fcn.004700a6
add esp, 0x10
cmp eax, 6
jne 0x40d28b
cmp byte [esp + 0x2521], 4
jne 0x40f95d
cmp byte [esp + 0x2522], 0x6b
jne 0x40f95d
cmp byte [esp + 0x2523], 0x13
jne 0x40f95d
mov eax, dword [esp + 0x2524]
cmp al, 0x22
jne 0x40f684
cmp ah, 0x39
jl 0x40f95d
mov esi, 0x4971f8
jmp 0x40f69a
cmp eax, 0x326949d2
je 0x40dd38
cmp eax, 0xd0071d03
je 0x40e4e5
cmp eax, 0xe1182e04
je 0x40e4e5
push 0xf
lea edx, [esp + 0x2524]
push str.__usr_bin_perl
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40e4d8
push 9
lea eax, [esp + 0x2524]
push str.__bin_sh
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40e4d8
cmp ebx, 0x9010101
je 0x40e091
push 8
lea ecx, [esp + 0x2524]
push str.XlxV60EB
push ecx
call fcn.0046dfd4
add esp, 0xc
mov esi, 5
lea ebx, [esi - 1]
test eax, eax
jne 0x40d519
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x497690
mov ebx, 0x4978f8
mov dword [esp + 0x20], 0x100
push str.Xilinx_XlxV_binary_detected__n
call fcn.0046e24e
add esp, 4
push 0x100
xor esi, esi
lea edx, [esp + 0x25dc]
push esi
push edx
call fcn.00476ac0
lea ecx, [esp + 0x25e4]
add esp, 0xc
sub ecx, edi
mov al, byte [edi]
mov byte [edi + ecx], al
inc edi
test al, al
jne 0x40d497
lea eax, [esp + 0x25d8]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40d4b0
mov ecx, dword [str..decrypted]
mov edx, dword [0x4bf26c]
mov dword [eax], ecx
mov cx, word [0x4bf270]
mov dword [eax + 4], edx
mov dl, byte [0x4bf272]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
lea eax, [esp + 0x25d8]
push 0x4bf274
push eax
call fcn.0046fe45
add esp, 8
mov dword [esp + 0x30], eax
cmp eax, esi
jne 0x40eaa2
lea ecx, [esp + 0x25d8]
push ecx
push str.File__s_can_not_be_opened__n
call fcn.0046e24e
add esp, 8
push esi
jmp 0x40d29b
push 8
lea edx, [esp + 0x2524]
push str.XlxV61EB
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d54a
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x4976b0
mov ebx, 0x497908
jmp 0x40d461
push 8
lea eax, [esp + 0x2524]
push str.XlxV62EB
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d57b
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x4976d0
mov ebx, 0x497918
jmp 0x40d461
push 8
lea ecx, [esp + 0x2524]
push str.XlxV64EB
push ecx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d5ac
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x4976f0
mov ebx, 0x497928
jmp 0x40d461
push 8
lea edx, [esp + 0x2524]
push str.XlxV65EB
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d5dd
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x497710
mov ebx, 0x497938
jmp 0x40d461
push 8
lea eax, [esp + 0x2524]
push str.XlxV50EB
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d616
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x497730
mov ebx, 0x497960
mov dword [esp + 0x20], 0x80
jmp 0x40d469
push 8
lea ecx, [esp + 0x2524]
push str.XlxV51EB
push ecx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d64f
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x497740
mov ebx, 0x497970
mov dword [esp + 0x20], 0x80
jmp 0x40d469
push 8
lea edx, [esp + 0x2524]
push str.XlxV15EB
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d680
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x497860
mov ebx, 0x497980
jmp 0x40d461
push 8
lea eax, [esp + 0x2524]
push str.XlxV16EB
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d6b1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x497880
mov ebx, 0x497990
jmp 0x40d461
push 8
lea ecx, [esp + 0x2524]
push str.XlxV17EB
push ecx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d6e2
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x4978a0
mov ebx, 0x4979a0
jmp 0x40d461
push 8
lea edx, [esp + 0x2524]
push str.XlxV18EB
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d717
mov dword [esp + 0x24], 0xb
mov dword [esp + 0x3c], 0x497750
mov ebx, 0x4979b0
jmp 0x40d469
push 8
lea eax, [esp + 0x2524]
push str.XlxV19EB
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d748
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], 0x4978c0
mov ebx, 0x4979c0
jmp 0x40d461
push 8
lea ecx, [esp + 0x2524]
push str.XlxV35EB
push ecx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40da75
push 8
lea edx, [esp + 0x2524]
push str.XlxV35DB
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40da75
push 8
lea eax, [esp + 0x2524]
push str.XlxV34EB
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40da75
push 8
lea ecx, [esp + 0x2524]
push str.XlxV36EB
push ecx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40da75
push 8
lea edx, [esp + 0x2524]
push str.XlxV32DB
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40da75
push 8
lea eax, [esp + 0x2524]
push str.XlxV32DM
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40da75
push 8
lea ecx, [esp + 0x2524]
push str.XlxV37DB
push ecx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40da75
push 8
lea edx, [esp + 0x2524]
push str.XlxV37EB
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40da75
push 8
lea eax, [esp + 0x2524]
push str.XlxV33EB
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d871
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], 0x4978e0
mov ebx, 0x497948
jmp 0x40d469
push 8
lea ecx, [esp + 0x2524]
push str.XlxV38EB
push ecx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d8a2
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], 0x4978e8
mov ebx, 0x497950
jmp 0x40d469
push 8
lea edx, [esp + 0x2524]
push str.XlxV80EB
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d8d3
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], 0x4978f0
mov ebx, 0x497958
jmp 0x40d469
push 8
lea eax, [esp + 0x2524]
push str.XlxVHYEB
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d8ff
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x24], 7
jmp 0x40d469
push 8
lea ecx, [esp + 0x2524]
push str.XlxVc1EB
push ecx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d92b
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x24], 8
jmp 0x40d469
push 8
lea edx, [esp + 0x2524]
push str.XlxVHLEB
push edx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
jne 0x40d957
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x24], 9
jmp 0x40d469
push 8
lea eax, [esp + 0x2524]
push str.XILINX_X
push eax
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40da86
mov eax, dword [esp + 0x50]
mov ecx, 0xa
mov esi, str.R_hsegoY_oohtaG_SMrupgaN
lea edi, [esp + 0x2700]
rep movsd dword es:[edi], dword [esi]
cmp eax, 0x20657375
jne 0x40da2e
cmp dword [esp + 0x54], 0x65737566
jne 0x40da2e
mov ebx, dword [esp + 0x18]
push 0
push 0xa
push ebx
call fcn.004706d0
add esp, 0xc
push ebx
push 8
lea ecx, [esp + 0x2528]
push 1
push ecx
call fcn.004700a6
add esp, 0x10
cmp eax, 8
je 0x40d9ea
mov edx, dword [esp + 0x10]
push edx
push str.File__s_can_not_be_readed__n
call fcn.0046e24e
add esp, 8
push 0
call fcn.00470ab0
mov ecx, dword [esp + 0x2524]
mov edx, dword [esp + 0x2520]
lea eax, [esp + 0x2700]
push eax
push 1
push ecx
push edx
call dword [0x5f0bb0]
mov eax, edx
add esp, 0x10
sar eax, 0x1f
cmp edx, 0x5947f1a9
jne 0x411212
test eax, eax
jne 0x411212
push eax
push 0x12
jmp 0x40f544
mov edx, dword [esp + 0x54]
lea ecx, [esp + 0x2700]
push ecx
push 1
push edx
push eax
call dword [0x5f0bb0]
mov eax, edx
add esp, 0x10
sar eax, 0x1f
cmp edx, 0x5947f1a9
jne 0x40da5c
test eax, eax
je 0x40f53c
mov eax, dword [esp + 0x28]
push eax
push str.Unknow_signature_0x_08X__n
call fcn.0046e24e
add esp, 8
push 0
call fcn.00470ab0
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x24], 6
jmp 0x40d469
push str.Xilinx_XDB_detected__n
call fcn.0046e24e
add esp, 4
push 0x100
lea ecx, [esp + 0x25dc]
push 0
push ecx
call fcn.00476ac0
lea edx, [esp + 0x25e4]
add esp, 0xc
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40dab5
lea eax, [esp + 0x25d8]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40dac7
mov edx, dword [str..decrypted]
mov ecx, dword [0x4bf26c]
mov dword [eax], edx
mov dx, word [0x4bf270]
mov dword [eax + 4], ecx
mov cl, byte [0x4bf272]
mov word [eax + 8], dx
lea edx, [esp + 0x25d8]
push 0x4bf274
push edx
mov byte [eax + 0xa], cl
call fcn.0046fe45
mov ebx, eax
add esp, 8
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x40db2e
lea eax, [esp + 0x25d8]
push eax
push str.File__s_can_not_be_opened__n
call fcn.0046e24e
add esp, 8
push ebx
call fcn.00470ab0
mov esi, dword [esp + 0x18]
push 0
push 0
push esi
call fcn.004706d0
add esp, 0xc
push esi
lea ecx, [esp + 0x2d2c]
push 0x100
push ecx
call fcn.0046fc51
add esp, 0xc
lea edx, [esp + 0x2d28]
push ebx
push edx
call fcn.0046f66b
push esi
lea eax, [esp + 0x2a34]
push 0x100
push eax
call fcn.0046fc51
mov esi, eax
add esp, 0x14
test esi, esi
je 0x40d28b
push 0xc
lea ecx, [esp + 0x2a2c]
push str.XILINX_XDM_V
push ecx
call fcn.0046dfd4
add esp, 0xc
test eax, eax
je 0x40dbb0
push str.No_XILINX_XDM_V_in_second_line__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
mov cl, byte [esp + 0x2a34]
mov edi, dword [esp + 0x4c]
lea eax, [esp + 0x2a34]
cmp cl, 0x39
jg 0x40dbd9
imul edi, edi, 0xb
inc eax
movsx edx, cl
mov cl, byte [eax]
lea edi, [edi + edx - 0x30]
cmp cl, 0x30
jge 0x40dbc2
cmp cl, 0x2e
je 0x40dbe9
push esi
push str.Unknow_XILINX_XDM_version__s__n
jmp 0x40d291
mov cl, byte [eax + 1]
mov esi, dword [esp + 0x44]
inc eax
cmp cl, 0x39
jg 0x40dc08
imul esi, esi, 0xb
movsx ecx, cl
inc eax
lea esi, [esi + ecx - 0x30]
mov cl, byte [eax]
cmp cl, 0x30
jge 0x40dbf1
cmp cl, 0x65
jne 0x40dcb6
push 0x100
lea edx, [esp + 0x292c]
push 0
push edx
mov dword [esp + 0x4c], 1
call fcn.00476ac0
mov ecx, dword [0x4bf3d4]
mov eax, dword [str.XILINX_XDM_V]
mov edx, dword [0x4bf3d8]
add esp, 0xc
push esi
push edi
mov dword [esp + 0x2934], ecx
mov dword [esp + 0x2930], eax
mov al, byte [0x4bf3dc]
lea ecx, [esp + 0x3330]
push str._d._du_n
push ecx
mov dword [esp + 0x2940], edx
mov byte [esp + 0x2944], al
call fcn.0046f0ff
lea eax, [esp + 0x3338]
add esp, 0x10
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40dc82
lea edi, [esp + 0x2928]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40dc95
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push ebx
lea edx, [esp + 0x292c]
rep movsb byte es:[edi], byte [esi]
push edx
jmp 0x40dcbf
push ebx
lea eax, [esp + 0x2d2c]
push eax
call fcn.0046f66b
mov edi, dword [esp + 0x20]
add esp, 8
push edi
call fcn.0046fb2d
add esp, 4
cmp eax, 0x24
jne 0x40dd25
mov ecx, dword [esp + 0x30]
push ecx
push eax
call fcn.0046f003
push edi
mov esi, 1
call fcn.0046fb2d
add esp, 0xc
cmp eax, 0xffffffff
je 0x40dd25
mov ebx, dword [esp + 0x40]
jmp 0x40dd00
test ebx, ebx
je 0x40dd0c
mov edx, esi
and edx, 0xf
xor eax, edx
inc esi
mov ecx, dword [esp + 0x30]
push ecx
push eax
call fcn.0046f003
push edi
call fcn.0046fb2d
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40dd00
mov edx, dword [esp + 0x30]
push edx
call fcn.004707b9
add esp, 4
push edi
jmp 0x4111fd
push str.Synopsys_binary_detected__n
call fcn.0046e24e
add esp, 4
push 0x100
lea eax, [esp + 0x25dc]
push 0
push eax
call fcn.00476ac0
lea ecx, [esp + 0x25e4]
add esp, 0xc
sub ecx, edi
mov al, byte [edi]
mov byte [ecx + edi], al
inc edi
test al, al
jne 0x40dd65
lea eax, [esp + 0x25d8]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40dd77
mov ecx, dword [str..decrypted]
mov edx, dword [0x4bf26c]
mov dword [eax], ecx
mov cx, word [0x4bf270]
mov dword [eax + 4], edx
mov dl, byte [0x4bf272]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
lea eax, [esp + 0x25d8]
push 0x4bf274
push eax
call fcn.0046fe45
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x40ddd3
lea ecx, [esp + 0x25d8]
push ecx
push str.File__s_can_not_be_opened__n
jmp 0x40d291
mov esi, dword [esp + 0x34]
push esi
call fcn.0046c902
mov ebx, dword [esp + 0x1c]
add esp, 4
push 0
push 0x10
push ebx
mov edi, eax
call fcn.004706d0
add esp, 0xc
push ebx
push esi
push 1
push edi
call fcn.004700a6
mov dword [esp + 0x38], eax
mov eax, dword [edi]
mov dword [esp + 0x244c], eax
mov esi, dword [edi + 4]
mov dword [esp + 0x2450], esi
mov ecx, dword [edi + 8]
mov dword [esp + 0x2454], ecx
mov edx, dword [edi + 0xc]
mov ebx, edx
mov dword [esp + 0x2458], edx
shr edx, 0x10
shr ebx, 0x18
xor bl, dl
mov edx, ecx
shr edx, 0x18
xor bl, dl
mov edx, dword [esp + 0x2458]
shr edx, 8
xor bl, dl
mov edx, ecx
shr edx, 0x10
xor bl, dl
shr ecx, 8
mov edx, esi
shr edx, 0x18
xor bl, dl
xor bl, cl
mov edx, eax
mov ecx, esi
shr ecx, 0x10
xor bl, cl
shr edx, 0x18
xor bl, dl
mov edx, eax
mov ecx, esi
shr ecx, 8
shr eax, 8
xor bl, cl
mov cl, byte [esp + 0x244c]
shr edx, 0x10
xor bl, dl
xor al, bl
xor al, byte [esp + 0x2450]
add esp, 0x10
xor al, byte [esp + 0x2444]
xor al, byte [esp + 0x2448]
xor al, cl
xor al, 0x39
xor byte [esp + 0x243d], al
xor byte [esp + 0x243e], al
xor byte [esp + 0x243f], al
xor cl, al
mov byte [esp + 0x243c], cl
cmp cl, 0xa0
jne 0x40ded0
cmp byte [esp + 0x243d], 0x36
jne 0x40ded0
push 0x4cb6b8
jmp 0x40ded5
push 0x4cb694
mov esi, dword [esp + 0x2c]
push esi
push edi
call fcn.00402980
xor eax, eax
mov dword [esp + 0x2448], eax
mov dword [esp + 0x244c], eax
mov dword [esp + 0x2450], eax
mov dword [esp + 0x2454], eax
movzx eax, byte [esi + edi - 1]
sub esi, eax
mov eax, 0x4b019c
mov ecx, edi
add esp, 0xc
mov dword [esp + 0x28], esi
mov byte [edi + esi], 0
mov ebx, esi
mov edx, 0x14
sub ecx, eax
mov esi, dword [eax + ecx]
cmp esi, dword [eax]
jne 0x40df94
sub edx, 4
add eax, 4
cmp edx, 4
jae 0x40df20
movzx ecx, byte [edi + 0x14]
mov eax, 0x15
test ecx, ecx
je 0x40df49
nop
movzx edx, byte [edi + eax]
add eax, edx
dec ecx
jne 0x40df40
mov cl, byte [edi + eax]
xor ebx, ebx
mov dword [esp + 0x2c], ebx
test cl, cl
je 0x40df94
jmp 0x40df60
movzx ecx, cl
lea esi, [eax + ecx + 1]
movzx ebx, byte [edi + esi]
mov eax, dword [esp + 0x2c]
push ebx
lea edx, [edi + esi + 1]
push edx
lea ecx, [edi + eax]
push ecx
call fcn.00478340
add dword [esp + 0x38], ebx
lea eax, [esi + ebx + 1]
mov cl, byte [edi + eax]
add esp, 0xc
test cl, cl
jne 0x40df60
mov ebx, dword [esp + 0x2c]
cmp byte [edi], 0x1f
jne 0x40e04a
cmp byte [edi + 1], 0x8b
jne 0x40e04a
cmp byte [edi + 2], 8
jne 0x40e04a
push 0x38
lea edx, [esp + 0xdc]
push 0
push edx
call fcn.00476ac0
add esp, 0xc
push 0x2f
lea esi, [esp + 0xdc]
call fcn.0044ec80
add esp, 4
push 0x8000000
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], ebx
call fcn.0046c902
add esp, 4
mov ebx, eax
mov eax, esi
push 4
push eax
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], 0x8000000
call fcn.0044ee00
add esp, 8
cmp eax, 1
je 0x40e022
push eax
push str.inflate_decompression_error__d__n
jmp 0x40d291
mov ecx, dword [esp + 0xec]
mov byte [ecx + ebx], 0
mov edx, dword [esp + 0xec]
lea esi, [esp + 0xd8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edx
call fcn.00450320
jmp 0x40e052
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], edi
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
push esi
push eax
push 1
push ecx
call fcn.00470326
push edi
call fcn.0046c8c8
add esp, 0x14
test ebx, ebx
je 0x40e07e
push ebx
call fcn.0046c8c8
add esp, 4
push esi
call fcn.004707b9
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
jmp 0x4111fd
push str.knowledge_base_detected__n
call fcn.0046e24e
add esp, 4
push 0x100
lea eax, [esp + 0x282c]
push 0
push eax
call fcn.00476ac0
lea edx, [esp + 0x2834]
add esp, 0xc
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x40e0c0
lea eax, [esp + 0x2828]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40e0d2
mov ecx, dword [str._decrypted.tar]
mov edx, dword [0x4bf490]
mov dword [eax], ecx
mov ecx, dword [0x4bf494]
mov dword [eax + 4], edx
mov dx, word [0x4bf498]
mov dword [eax + 8], ecx
mov cl, byte [0x4bf49a]
mov word [eax + 0xc], dx
lea edx, [esp + 0x2828]
mov byte [eax + 0xe], cl
push edx
lea eax, [esp + 0x24]
push eax
call fcn.00404cd0
add esp, 8
cmp eax, 0xffffffff
je 0x40e136
lea edx, [esp + 0x2828]
lea esi, [esp + 0x20]
call fcn.00404d80
test eax, eax
je 0x40e14b
lea ecx, [esp + 0x2828]
push ecx
push str.error_in_tar_open__s_for_writing__n
call fcn.0046e24e
add esp, 8
mov esi, dword [esp + 0x34]
push esi
call fcn.0046c902
mov edx, dword [esp + 0x1c]
add esp, 4
push 0
mov ebx, eax
push 6
push edx
mov dword [esp + 0x50], ebx
call fcn.004706d0
mov eax, dword [esp + 0x24]
add esp, 0xc
push eax
add esi, 0xfffffffa
push esi
push 1
push ebx
call fcn.004700a6
add esp, 0x10
cmp eax, esi
jne 0x40d28b
push esi
mov ecx, ebx
call fcn.0040bf10
add esp, 4
mov byte [esp + 0x6b], al
cmp al, 0x36
je 0x40e1b0
cmp al, 0x35
je 0x40e1b0
movsx ecx, al
push ecx
push str.unexpected_version__d__n
jmp 0x40d291
push esi
mov ecx, ebx
call fcn.0040bf10
add esp, 4
cmp al, 0x20
je 0x40e1cd
movsx edx, al
push edx
push str.DB_1_error__d__n
jmp 0x40d291
push 0xe4638
push 0
push 0x4dc560
call fcn.00476ac0
add esp, 0xc
push 0x7a1200
push 0
push 0x5f0bc0
call fcn.00476ac0
add esp, 0xc
cmp byte [esp + 0x6b], 0x36
jne 0x40e2b8
push esi
push ebx
call fcn.0040bff0
push esi
mov ecx, ebx
call fcn.0040bf10
add esp, 0xc
cmp al, 8
je 0x40e224
movsx eax, al
push eax
push str.bad_version__d__n
jmp 0x40d291
push esi
push ebx
call fcn.0040bff0
push esi
push ebx
call fcn.0040bff0
push esi
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x60]
push edx
mov edi, ebx
mov dword [esp + 0x44], eax
call fcn.0040c170
add esp, 0x1c
cmp dword [esp + 0x28], 3
mov dword [esp + 0x3c], eax
je 0x40e265
mov eax, dword [esp + 0x28]
push eax
push str.class_id___3___d__n
jmp 0x40d291
push esi
lea ecx, [esp + 0x54]
push ebx
push ecx
call fcn.0040c0b0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
add esp, 0xc
push esi
push edx
push eax
push 3
mov edi, ebx
call fcn.0040c560
add esp, 0x10
cmp dword [esp + 0x3c], 0
jbe 0x40e2a3
mov edi, dword [esp + 0x3c]
push esi
push ebx
call fcn.0040c5f0
add esp, 8
dec edi
jne 0x40e296
push esi
push ebx
push 0
push 3
call fcn.0040c3f0
push esi
push ebx
call fcn.0040bff0
add esp, 0x18
call fcn.0046f771
add eax, 0x20
push eax
call fcn.0046fab0
add esp, 4
cmp dword [0x4db2a4], 0
mov dword [esp + 0xc], 0
jbe 0x40e408
mov ebx, 0x5c0ba0
movzx edx, word [ebx + 0x14]
mov ecx, dword [ebx + 4]
push 0x100
lea eax, [esp + 0x272c]
push 0
push eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x68], edx
call fcn.00476ac0
mov eax, dword [ebx + 0xc]
add esp, 0xc
test eax, eax
je 0x40e32a
lea edx, [esp + 0x2728]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x40e320
mov eax, dword [ebx + 0x10]
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40e330
lea edi, [esp + 0x2728]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x40e341
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
cmp dword [ebx], 0
rep movsb byte es:[edi], byte [esi]
je 0x40e39a
cmp dword [esp + 0x40], 0
je 0x40e39a
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0046c902
mov ecx, dword [ebx]
mov esi, eax
mov eax, dword [ebx + 8]
add esp, 4
push esi
lea edi, [esp + 0x44]
call fcn.0044ccf0
add esp, 4
test eax, eax
je 0x40e3a6
push eax
push str.zlib_decompression_error__d__n
call fcn.0046e24e
add esp, 8
jmp 0x40e3a6
push 1
call fcn.0046c902
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x40]
movzx edx, word [esp + 0x5c]
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x272c]
push ecx
push eax
mov ecx, esi
mov dword [0x4db2a8], 0
call fcn.00404090
add esp, 0xc
test eax, eax
je 0x40e3e3
push eax
push str.tar_append_function_error__d__n
call fcn.0046e24e
add esp, 8
push esi
call fcn.0046c8c8
mov eax, dword [esp + 0x10]
inc eax
add esp, 4
add ebx, 0x18
mov dword [esp + 0xc], eax
cmp eax, dword [0x4db2a4]
jb 0x40e2e3
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x20]
mov edi, esi
call fcn.00403ec0
test eax, eax
je 0x40e425
push eax
push str.tar_append_eof_error__d__n
call fcn.0046e24e
add esp, 8
call fcn.00404db0
test eax, eax
je 0x40e43c
push eax
push str.tar_close__d__n
call fcn.0046e24e
add esp, 8
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x40e44d
push eax
call fcn.0046c8c8
add esp, 4
mov edi, dword [0x4db2a0]
mov esi, 1
cmp edi, esi
jb 0x40e479
lea esp, [esp]
mov eax, dword [esi*4 + 0x5f0bc0]
test eax, eax
je 0x40e474
push eax
call fcn.0046c8c8
add esp, 4
inc esi
cmp esi, edi
jbe 0x40e460
mov edi, dword [0x4db2a4]
test edi, edi
je 0x40e49d
mov esi, 0x5c0ba8
mov eax, dword [esi]
test eax, eax
je 0x40e497
push eax
call fcn.0046c8c8
add esp, 4
add esi, 0x18
dec edi
jne 0x40e488
xor esi, esi
mov eax, dword [esi + 0x4dc56c]
test eax, eax
je 0x40e4b2
push eax
call fcn.0046c8c8
add esp, 4
add esi, 0x1414
cmp esi, 0xe4638
jb 0x40e49f
mov ecx, dword [esp + 0x18]
push ecx
call fcn.004707b9
add esp, 4
push ebx
call fcn.0046c8c8
jmp 0x411202
push str.DesignWare_Installer_detected__n
call fcn.0046e24e
add esp, 4
push 0x100
lea edx, [esp + 0x282c]
push 0
push edx
mov dword [esp + 0x38], 1
call fcn.00476ac0
lea ecx, [esp + 0x2834]
add esp, 0xc
sub ecx, edi
lea ecx, [ecx]
mov al, byte [edi]
mov byte [edi + ecx], al
inc edi
test al, al
jne 0x40e510
lea eax, [esp + 0x2828]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40e522
mov ecx, dword [str._decrypted.tar]
mov edx, dword [0x4bf490]
mov dword [eax], ecx
mov ecx, dword [0x4bf494]
mov dword [eax + 4], edx
mov dx, word [0x4bf498]
mov dword [eax + 8], ecx
mov cl, byte [0x4bf49a]
mov word [eax + 0xc], dx
lea edx, [esp + 0x2828]
mov byte [eax + 0xe], cl
push edx
lea eax, [esp + 0x24]
push eax
call fcn.00404cd0
add esp, 8
cmp eax, 0xffffffff
je 0x40e586
lea edx, [esp + 0x2828]
lea esi, [esp + 0x20]
call fcn.00404d80
test eax, eax
je 0x40e59b
lea ecx, [esp + 0x2828]
push ecx
push str.error_in_tar_open__s_for_writing__n
call fcn.0046e24e
add esp, 8
mov eax, dword [esp + 0x34]
add eax, eax
add eax, eax
mov dword [esp + 0xc], eax
cmp eax, 0x8000000
ja 0x40e5b6
mov dword [esp + 0xc], 0x8000000
mov esi, dword [esp + 0x34]
push esi
call fcn.0046c902
mov edx, dword [esp + 0x10]
add esp, 4
mov edi, eax
push edx
mov dword [esp + 0x48], edi
call fcn.0046c902
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x40e5eb
mov eax, dword [esp + 0xc]
push eax
push str.memory_allocation_error__requested_d__try_x64_version__n
jmp 0x40d291
mov ecx, dword [esp + 0x18]
push 0
push 0
push ecx
call fcn.004706d0
mov edx, dword [esp + 0x24]
add esp, 0xc
push edx
push esi
push 1
push edi
call fcn.004700a6
add esp, 0x10
cmp eax, esi
je 0x40e61b
mov eax, dword [esp + 0x10]
push eax
jmp 0x40d28c
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 1
test esi, esi
je 0x40ea15
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x48]
lea edi, [esp + 0x18]
mov dword [esp + 0x18], 0
call fcn.0040bf30
mov edx, dword [esp + 0x18]
mov esi, eax
mov eax, dword [esp + 0x38]
add esp, 4
push eax
lea eax, [esi + 1]
lea edi, [esp + 0x4c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x4c], edx
call fcn.0040bf30
add esp, 4
test eax, eax
jne 0x40e67e
mov eax, dword [esp + 0x34]
sub eax, esi
cmp dword [esp + 0x28], 0
mov dword [esp + 0x40], eax
je 0x40e6a5
cmp dword [esp + 0x14], 0
mov dword [esp + 0x28], 0
jne 0x40e6ac
add esi, eax
mov dword [esp + 0x1c], esi
jmp 0x40ea07
cmp dword [esp + 0x14], 0
je 0x40e6f7
movzx edx, byte [ecx + esi + 4]
movzx eax, byte [ecx + esi + 5]
movzx edi, byte [ecx + esi + 7]
shl dx, 8
or dx, ax
movzx eax, dx
movzx edx, byte [ecx + esi + 6]
shl dx, 8
or dx, di
movzx edx, dx
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], edx
cmp eax, 1
jne 0x40ea7d
cmp edx, 4
jne 0x40ea7d
add esi, 8
mov dword [esp + 0x1c], esi
jmp 0x40e6ff
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
cmp byte [ecx + esi], 0x1f
lea edi, [ecx + esi]
jne 0x40ea7d
cmp byte [ecx + esi + 1], 0x8b
jne 0x40ea7d
cmp byte [ecx + esi + 2], 8
jne 0x40ea7d
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x2c]
movzx eax, si
push eax
je 0x40e738
push str._ncoreKit__d_found
jmp 0x40e73d
push str._ntar.gz__d_found
call fcn.0046e24e
add esp, 8
push 0x38
lea eax, [esp + 0xdc]
push 0
inc esi
push eax
mov dword [esp + 0x38], esi
call fcn.00476ac0
add esp, 0xc
push 0x1f
lea esi, [esp + 0xdc]
call fcn.0044ec80
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
add esp, 4
mov eax, esi
push 3
push eax
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], edx
call fcn.0044ee00
add esp, 8
cmp eax, 1
jne 0x40ea97
mov edi, dword [esp + 0xec]
mov dword [esp + 0x3c], edi
call fcn.00450320
cmp dword [esp + 0x14], 0
je 0x40e9bc
movzx edi, byte [ebx]
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
shl edi, 8
or edi, ecx
shl edi, 8
or edi, edx
shl edi, 8
or edi, eax
add edi, 4
cmp edi, dword [esp + 0x3c]
jae 0x40e9aa
nop
movzx esi, byte [ebx + edi]
movzx ecx, byte [edi + ebx + 1]
movzx edx, byte [edi + ebx + 2]
movzx eax, byte [edi + ebx + 3]
shl esi, 8
or esi, ecx
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
push esi
lea ecx, [ebx + edi + 4]
push ecx
lea edx, [esp + 0x2730]
push edx
mov dword [esp + 0x54], esi
call fcn.00478340
lea edi, [edi + esi + 4]
mov byte [esp + esi + 0x2734], 0
movzx esi, byte [ebx + edi]
movzx eax, byte [edi + ebx + 1]
movzx ecx, byte [edi + ebx + 2]
movzx edx, byte [edi + ebx + 3]
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
shl esi, 8
or esi, edx
add esp, 0xc
cmp esi, 0xffffffff
je 0x40e8e0
movzx eax, byte [ebx + edi + 4]
movzx ecx, byte [edi + ebx + 5]
shl ax, 8
or ax, cx
mov edx, 0x1ff
and ax, dx
add edi, 6
movzx eax, ax
lea ecx, [ebx + edi]
add edi, esi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x48], ecx
cmp esi, 0xa00000
jbe 0x40e8a4
push 0x481d78
call fcn.0046e24e
add esp, 4
mov ecx, dword [esp + 0x20]
movzx edx, word [esp + 0x5c]
push esi
lea eax, [esp + 0x272c]
push eax
push ecx
mov ecx, dword [esp + 0x54]
mov dword [0x4db2a8], 0
call fcn.00404090
add esp, 0xc
test eax, eax
je 0x40e9a0
push eax
push str.tar_append_function_error__d__n
jmp 0x40e998
movzx esi, byte [ebx + edi + 4]
movzx edx, byte [edi + ebx + 5]
movzx eax, byte [edi + ebx + 6]
movzx ecx, byte [edi + ebx + 7]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
shl esi, 8
or esi, ecx
push esi
lea edx, [ebx + edi + 8]
push edx
lea eax, [esp + 0x2c30]
push eax
call fcn.00478340
add esp, 0xc
lea ecx, [esp + 0x2c28]
push 0x481d78
push ecx
mov byte [esp + esi + 0x2c30], 0
lea edi, [edi + esi + 8]
call fcn.0046efbc
add esp, 8
test eax, eax
jne 0x40e973
mov ecx, dword [esp + 0x48]
cmp byte [esp + ecx + 0x2726], 0x2f
lea eax, [esp + ecx + 0x2726]
jne 0x40e960
cmp byte [esp + ecx + 0x2727], 0x2e
jne 0x40e960
mov byte [eax], 0
mov esi, dword [esp + 0x20]
lea edx, [esp + 0x2728]
push edx
call fcn.00404370
jmp 0x40e98b
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2728]
push eax
lea ecx, [esp + 0x2c2c]
call fcn.00404210
add esp, 4
test eax, eax
je 0x40e9a0
push eax
push str.tar_append_dir_tar_append_symlink_error__d__n
call fcn.0046e24e
add esp, 8
cmp edi, dword [esp + 0x3c]
jb 0x40e7f0
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
lea ecx, [edx + eax - 8]
mov dword [esp + 0x1c], ecx
jmp 0x40ea07
movzx ecx, word [esp + 0x2c]
dec ecx
push ecx
lea edx, [esp + 0x272c]
push str._d.tar.gz
push edx
call fcn.0046f0ff
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push edi
lea eax, [esp + 0x272c]
push eax
push ecx
mov edx, 0x1ff
mov ecx, ebx
mov dword [0x4db2a8], 0
call fcn.00404090
mov edx, dword [esp + 0x4c]
add esp, 0xc
add dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
jb 0x40e633
push 0x4bd978
call fcn.0046e24e
mov edi, dword [esp + 0x24]
add esp, 4
call fcn.00403ec0
test eax, eax
je 0x40ea3d
push eax
push str.tar_append_eof_error__d__n
call fcn.0046e24e
add esp, 8
mov esi, dword [esp + 0x20]
call fcn.00404db0
test eax, eax
je 0x40ea58
push eax
push str.tar_close__d__n
call fcn.0046e24e
add esp, 8
mov eax, dword [esp + 0x18]
push eax
call fcn.004707b9
mov ecx, dword [esp + 0x48]
add esp, 4
push ecx
call fcn.0046c8c8
add esp, 4
push ebx
call fcn.0046c8c8
jmp 0x411202
movzx ecx, dx
movzx edx, ax
push ecx
push edx
push str.Unknow_coreKit_version__d___d__n
call fcn.0046e24e
add esp, 0xc
jmp 0x40d299
push eax
push str.coreKit_decompression_error___d__n
jmp 0x40d291
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], esi
cmp dword [esp + 0x34], esi
jbe 0x40f3d2
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
push 0
add edx, 8
push edx
push esi
call fcn.004706d0
add esp, 0xc
push esi
push 8
lea eax, [esp + 0x2464]
push 1
push eax
call fcn.004700a6
add esp, 0x10
cmp eax, 8
jne 0x40f3e9
push 8
lea ecx, [esp + 0x2460]
xor eax, eax
push ecx
lea edx, [esp + 0x246c]
push edx
mov dword [esp + 0x2470], eax
mov dword [esp + 0x2474], eax
mov byte [esp + 0x2478], al
call fcn.0046deb0
add esp, 0xc
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x2468]
push 0x4bf2fc
push ecx
call fcn.0046e102
add esp, 0xc
push esi
push 8
lea edx, [esp + 0x2464]
push 1
push edx
call fcn.004700a6
add esp, 0x10
cmp eax, 8
jne 0x40f3f3
xor eax, eax
mov dword [esp + 0x2464], eax
mov dword [esp + 0x2468], eax
mov byte [esp + 0x246c], al
push 8
lea eax, [esp + 0x2460]
push eax
lea ecx, [esp + 0x246c]
push ecx
call fcn.0046deb0
add esp, 0xc
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x2468]
push 0x4bf2fc
push eax
call fcn.0046e102
mov ecx, dword [esp + 0x20]
add esp, 0xc
push 0
add ecx, 0x18
push ecx
push esi
call fcn.004706d0
mov edi, dword [esp + 0x6c]
add esp, 0xc
push edi
call fcn.0046c902
add esp, 4
cmp dword [esp + 0x24], 7
mov dword [esp + 0x44], eax
jne 0x40eeb0
push esi
push 2
lea edx, [esp + 0x78]
push 1
push edx
call fcn.004700a6
add esp, 0x10
cmp eax, 2
jne 0x40f3fd
movzx ebx, word [esp + 0x70]
lea eax, [ebx + 1]
push eax
call fcn.0046c902
add esp, 4
push esi
push ebx
mov edi, eax
push 1
push edi
mov dword [esp + 0x58], edi
call fcn.004700a6
movzx ecx, word [esp + 0x80]
add esp, 0x10
cmp eax, ecx
jne 0x40f407
mov byte [ecx + edi], 0
cmp dword [edi], 0x2b24e6df
jne 0x40f411
push esi
push 2
lea ecx, [esp + 0x88]
push 1
push ecx
call fcn.004700a6
add esp, 0x10
cmp eax, 2
jne 0x40f440
mov ax, word [esp + 0x80]
cmp ax, 1
jne 0x40f44a
push esi
push 2
lea edx, [esp + 0x40]
push 1
push edx
call fcn.004700a6
add esp, 0x10
cmp eax, 2
jne 0x40f458
movzx ebx, word [esp + 0x38]
lea eax, [ebx + 1]
push eax
call fcn.0046c902
add esp, 4
push esi
push ebx
mov edi, eax
push 1
push edi
mov dword [esp + 0x74], edi
call fcn.004700a6
movzx ecx, word [esp + 0x48]
add esp, 0x10
cmp eax, ecx
jne 0x40f462
mov byte [ecx + edi], 0
cmp dword [edi], 0xd1d4e2e0
jne 0x40f46c
push esi
push 2
lea ecx, [esp + 0x40]
push 1
push ecx
call fcn.004700a6
add esp, 0x10
cmp eax, 2
jne 0x40f49b
movzx edi, word [esp + 0x38]
lea ebx, [edi + 1]
push ebx
call fcn.0046c902
add esp, 4
push ebx
mov dword [esp + 0x30], eax
call fcn.0046c902
add esp, 4
push esi
push edi
mov edi, dword [esp + 0x34]
push 1
push edi
mov dword [esp + 0x88], eax
call fcn.004700a6
movzx ecx, word [esp + 0x48]
add esp, 0x10
cmp eax, ecx
jne 0x40f4a5
push esi
mov byte [ecx + edi], 0
movzx edx, word [esp + 0x3c]
push 2
lea eax, [esp + 0x40]
push 1
push eax
mov dword [esp + 0x2c], edx
call fcn.004700a6
add esp, 0x10
cmp eax, 2
jne 0x40f4af
movzx edi, word [esp + 0x38]
lea ebx, [edi + 1]
push ebx
call fcn.0046c902
add esp, 4
push ebx
mov dword [esp + 0x70], eax
call fcn.0046c902
add esp, 4
push esi
mov esi, dword [esp + 0x70]
push edi
push 1
push esi
mov dword [esp + 0x6c], eax
call fcn.004700a6
movzx ecx, word [esp + 0x48]
add esp, 0x10
cmp eax, ecx
jne 0x40f4b9
mov byte [ecx + esi], 0
movzx ecx, word [esp + 0x38]
lea edx, [esp + 0xd4]
push edx
mov edx, 0x6f0
mov dword [esp + 0x44], ecx
call fcn.00412440
mov edi, eax
add esp, 4
test edi, edi
je 0x4108c7
push edi
call fcn.00412010
add esp, 4
cmp eax, 1
jne 0x4108e7
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x2c]
movzx edx, word [esp + 0x1c]
push eax
push ecx
push edx
mov edx, 1
mov eax, edi
call fcn.00412580
movzx ecx, word [esp + 0x4c]
mov ebx, dword [esp + 0x78]
mov esi, eax
mov eax, dword [esp + 0x68]
add esp, 0xc
push eax
push ebx
push ecx
mov edx, 1
mov eax, edi
call fcn.00412580
add esp, 0xc
mov dword [esp + 0x1c], eax
call fcn.00411530
test esi, esi
js 0x410930
cmp dword [esp + 0x1c], 0
jl 0x410930
lea edx, [esp + 0xbc]
push edx
mov edx, 0x4b0
call fcn.00412440
mov edi, eax
add esp, 4
test edi, edi
je 0x4108c7
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push esi
mov edx, 1
mov eax, edi
call fcn.00412580
mov edx, dword [esp + 0x68]
add esp, 0xc
mov esi, eax
mov eax, dword [esp + 0x1c]
push ebx
push edx
push eax
mov edx, 1
mov eax, edi
call fcn.00412580
add esp, 0xc
mov dword [esp + 0x1c], eax
call fcn.00411530
test esi, esi
js 0x410930
cmp dword [esp + 0x1c], 0
jl 0x410930
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x60]
lea edx, [esi*8]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], edx
lea edx, [ecx + eax + 0x18]
mov dword [esp + 0x14], edx
jmp 0x40f356
mov eax, dword [esp + 0x24]
cmp eax, 8
je 0x40f1bf
cmp eax, 9
je 0x40f1bf
mov eax, dword [esp + 0x7c]
push eax
call fcn.0046c902
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
je 0x40f4c3
mov ecx, dword [esp + 0x44]
push esi
push edi
push 1
push ecx
call fcn.004700a6
mov ecx, dword [esp + 0x70]
add esp, 0x10
cmp eax, ecx
jne 0x40f4d2
mov eax, dword [esp + 0x24]
cmp eax, 4
jne 0x40ef7d
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x2344]
call fcn.004073b0
mov eax, dword [ebx]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x2474], eax
mov ecx, dword [ebx + 4]
mov dword [esp + 0x2478], ecx
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x247c], edx
mov eax, dword [ebx + 0xc]
add esp, 4
mov dword [esp + 0x247c], eax
push ecx
lea eax, [esp + 0x2474]
lea ecx, [esp + 0x2344]
mov edi, esi
call fcn.00407400
mov ecx, dword [esp + 0x64]
mov edx, esi
movzx eax, byte [edx + ecx - 1]
add esp, 4
mov dword [esp + 0xc], eax
jmp 0x40f140
cmp eax, 5
jne 0x40f019
mov edx, dword [esp + 0x3c]
lea ecx, [esp + 0x160]
call fcn.00412a10
mov ecx, dword [ebx + 4]
mov edi, dword [ebx]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xc], 0
test ecx, 0xfffffff8
jbe 0x40f138
mov esi, dword [esp + 0x44]
mov edi, edi
mov edx, dword [esi]
mov eax, dword [esi + 4]
push 0
lea ecx, [esp + 0x164]
push ecx
push esi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], eax
call fcn.0045ca00
mov edx, dword [esp + 0x98]
xor dword [esi + 4], edx
xor dword [esi], edi
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x18]
mov edx, ecx
inc eax
shr edx, 3
add esp, 0xc
add esi, 8
mov dword [esp + 0xc], eax
cmp eax, edx
jb 0x40efc0
jmp 0x40f138
cmp eax, 0xb
jne 0x40f133
cmp dword [esp + 0x28], 0
jne 0x40f050
mov eax, dword [ebx]
mov dword [esp + 0x2470], eax
mov edx, dword [ebx + 4]
mov dword [esp + 0x2474], edx
mov eax, dword [ebx + 8]
mov dword [esp + 0x2478], eax
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x247c], edx
mov dword [esp + 0xc], 0
test ecx, 0xfffffff0
jbe 0x40f124
mov esi, dword [esp + 0x44]
add esi, 8
jmp 0x40f070
mov eax, dword [esi - 8]
mov ecx, dword [esi - 4]
mov edx, dword [esi]
lea edi, [esi - 8]
mov dword [esp + 0xc4], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x3c]
push edi
mov ecx, edi
mov dword [esp + 0xd0], edx
call fcn.0040aad0
mov ecx, dword [esp + 0x2474]
xor dword [edi], ecx
mov edx, dword [esp + 0x2478]
xor dword [esi - 4], edx
mov eax, dword [esp + 0x247c]
xor dword [esi], eax
mov ecx, dword [esp + 0x2480]
xor dword [esi + 4], ecx
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x2474], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x247c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x2478], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2480], edx
mov edx, ecx
inc eax
shr edx, 4
add esp, 4
add esi, 0x10
mov dword [esp + 0xc], eax
cmp eax, edx
jb 0x40f070
mov eax, dword [esp + 0x44]
movzx edx, byte [eax + ecx - 1]
mov dword [esp + 0xc], edx
jmp 0x40f140
cmp eax, 6
jne 0x40f140
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x1c]
sub ecx, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x44]
push esi
lea edi, [esp + 0x44]
call fcn.0044ccf0
add esp, 4
test eax, eax
je 0x40f173
push eax
push str.zlib_decompression_error__d__n
call fcn.0046e24e
add esp, 8
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x40]
push ecx
push edi
push 1
push esi
call fcn.00470326
add esp, 0x10
cmp eax, edi
jne 0x40f4dc
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x14]
inc dword [esp + 0x28]
lea ecx, [eax + edx + 0x18]
mov edx, dword [esp + 0x44]
push edx
mov dword [esp + 0x18], ecx
call fcn.0046c8c8
add esp, 4
push esi
call fcn.0046c8c8
add esp, 4
jmp 0x40f35e
push esi
push 4
lea eax, [esp + 0x8c]
push 1
push eax
call fcn.004700a6
add esp, 0x10
cmp eax, 4
jne 0x40f4ee
mov ecx, dword [esp + 0x84]
push esi
push ecx
lea edx, [esp + 0x2e30]
push 1
push edx
call fcn.004700a6
mov ecx, dword [esp + 0x94]
add esp, 0x10
cmp eax, ecx
jne 0x40f4f8
lea eax, [esp + 0x3328]
mov byte [esp + ecx + 0x2e28], 0
push eax
lea ecx, [esp + 0x2e2c]
call fcn.00406410
add esp, 4
push esi
push 4
lea ecx, [esp + 0x7c]
push 1
push ecx
mov byte [esp + eax + 0x3338], 0
call fcn.004700a6
add esp, 0x10
cmp eax, 4
jne 0x40f502
mov edi, dword [esp + 0x74]
lea edx, [edi + 1]
push edx
call fcn.0046c902
add esp, 4
push esi
push edi
push 1
push eax
mov dword [esp + 0x1ff0], eax
call fcn.004700a6
mov ecx, dword [esp + 0x84]
add esp, 0x10
cmp eax, ecx
jne 0x40f50c
push esi
push 4
lea eax, [esp + 0x7c]
push 1
push eax
mov dword [esp + 0x20e0], ecx
call fcn.004700a6
add esp, 0x10
cmp eax, 4
jne 0x40f516
mov edi, dword [esp + 0x74]
lea ecx, [edi + 1]
push ecx
call fcn.0046c902
add esp, 4
push esi
push edi
push 1
push eax
mov dword [esp + 0x1ff4], eax
call fcn.004700a6
mov ecx, dword [esp + 0x84]
add esp, 0x10
cmp eax, ecx
jne 0x40f520
lea esi, [esp + 0x3328]
mov dword [esp + 0x20d4], ecx
call fcn.00406aa0
mov ebx, eax
test ebx, ebx
je 0x40f52a
push ebx
xor edx, edx
lea ecx, [esp + 0x1e4]
call fcn.00407450
add esp, 4
push ebx
mov edx, 1
lea ecx, [esp + 0x1e4]
mov esi, eax
call fcn.00407450
add esp, 4
cmp dword [esp + 0x24], 8
jne 0x40f329
mov eax, dword [esp + 0x1fe0]
dec byte [esi + eax - 1]
mov edx, dword [esp + 0x1fe0]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x1fe4]
lea eax, [esi*8]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
lea eax, [edx + ecx + 0x18]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], 4
mov ecx, dword [esp + 0x14]
cmp ecx, dword [esp + 0x34]
jb 0x40eab4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x40f37d
push eax
call fcn.0046c8c8
add esp, 4
mov eax, dword [esp + 0x78]
test eax, eax
je 0x40f38e
push eax
call fcn.0046c8c8
add esp, 4
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x40f39f
push eax
call fcn.0046c8c8
add esp, 4
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x40f3b0
push eax
call fcn.0046c8c8
add esp, 4
mov eax, dword [esp + 0x64]
test eax, eax
je 0x40f3c1
push eax
call fcn.0046c8c8
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x40f3d2
push eax
call fcn.0046c8c8
add esp, 4
mov eax, dword [esp + 0x30]
push eax
call fcn.004707b9
mov ecx, dword [esp + 0x1c]
add esp, 4
push ecx
jmp 0x4111fd
mov edx, dword [esp + 0x10]
push edx
jmp 0x40d28c
mov eax, dword [esp + 0x10]
push eax
jmp 0x40d28c
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x40d28c
mov edx, dword [esp + 0x10]
push edx
jmp 0x40d28c
mov eax, dword [edi]
mov ecx, eax
mov edx, eax
shl ecx, 0x10
and edx, 0xff00
or ecx, edx
shr eax, 8
and eax, 0xff00
shl ecx, 8
or ecx, eax
movzx eax, byte [edi + 3]
or ecx, eax
push ecx
push str.Unknow_Xilinx_PUBKey2__08X__n
jmp 0x40d291
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x40d28c
movzx edx, ax
push edx
push str.Two_or_more_RSA_public_keys__hu__n
jmp 0x40d291
mov eax, dword [esp + 0x10]
push eax
jmp 0x40d28c
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x40d28c
mov eax, dword [edi]
mov edx, eax
mov ecx, eax
shl edx, 0x10
and ecx, 0xff00
or edx, ecx
shr eax, 8
and eax, 0xff00
shl edx, 8
or edx, eax
movzx eax, byte [edi + 3]
or edx, eax
push edx
push str.Unknow_Xilinx_PUBKey1__08X__n
jmp 0x40d291
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x40d28c
mov edx, dword [esp + 0x10]
push edx
jmp 0x40d28c
mov eax, dword [esp + 0x10]
push eax
jmp 0x40d28c
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x40d28c
mov edx, dword [esp + 0x7c]
push edx
push str.alloc4__d_bytes_failed__try_x64_version__n
jmp 0x40d291
mov eax, dword [esp + 0x10]
push eax
jmp 0x40d28c
lea ecx, [esp + 0x25d8]
push ecx
push str.File__s_can_not_be_writed__n
jmp 0x40d291
mov edx, dword [esp + 0x10]
push edx
jmp 0x40d28c
mov eax, dword [esp + 0x10]
push eax
jmp 0x40d28c
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x40d28c
mov edx, dword [esp + 0x10]
push edx
jmp 0x40d28c
mov eax, dword [esp + 0x10]
push eax
jmp 0x40d28c
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x40d28c
lea edx, [esp + 0x3328]
push edx
push str.Unknow_XlxVc1EB_XlxVHLEB_RSA_Key___s__n
jmp 0x40d291
mov ebx, dword [esp + 0x18]
push 0
push 8
push ebx
call fcn.004706d0
add esp, 0xc
push str.Altera_encryptedPerl_detected__n
call fcn.0046e24e
add esp, 4
push 0x100
lea edx, [esp + 0x25dc]
push 0
push edx
call fcn.00476ac0
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x25e4]
add esp, 0xc
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x40f580
lea eax, [esp + 0x25d8]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40f592
mov ecx, dword [str..decrypted]
mov edx, dword [0x4bf26c]
mov dword [eax], ecx
mov cx, word [0x4bf270]
mov dword [eax + 4], edx
mov dl, byte [0x4bf272]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
lea eax, [esp + 0x25d8]
push 0x4bf274
push eax
call fcn.0046fe45
mov edi, eax
add esp, 8
test edi, edi
jne 0x40f5ec
lea ecx, [esp + 0x25d8]
push ecx
push str.File__s_can_not_be_opened__n
jmp 0x40d291
push ebx
push 8
lea edx, [esp + 0x2464]
push 1
push edx
call fcn.004700a6
add esp, 0x10
cmp eax, 8
jne 0x40f679
jmp 0x40f610
lea ecx, [esp + 0x245c]
call fcn.00405110
lea ecx, [esp + 0x2700]
push ecx
push 1
push edx
push eax
call dword [0x5f0bb0]
push edx
push eax
lea eax, [esp + 0x2474]
call fcn.00405190
add esp, 0x18
xor esi, esi
mov al, byte [esp + esi + 0x245c]
test al, al
je 0x40f659
movzx edx, al
push edi
push edx
call fcn.0046f003
add esp, 8
inc esi
cmp esi, 8
jb 0x40f641
push ebx
push 8
lea eax, [esp + 0x2464]
push 1
push eax
call fcn.004700a6
add esp, 0x10
cmp eax, 8
je 0x40f610
push edi
call fcn.004707b9
jmp 0x4111f9
cmp al, 0x23
jne 0x40f95d
cmp ah, 0x39
jl 0x40f95d
mov esi, 0x497220
mov ecx, 0xa
lea edi, [esp + 0x24b8]
rep movsd dword es:[edi], dword [esi]
cmp ah, 0x39
jle 0x40f6c1
movsx edx, ah
dec edx
test dl, 2
je 0x40f6c1
mov ebx, 1
mov dword [esp + 0x14], ebx
jmp 0x40f6c5
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push eax
push 8
lea ecx, [esp + 0x2528]
push 1
push ecx
call fcn.004700a6
add esp, 0x10
cmp eax, 8
je 0x40f6ed
mov edx, dword [esp + 0x10]
push edx
jmp 0x40d28c
lea ecx, [esp + 0x2520]
call fcn.00405110
lea ecx, [esp + 0x24b8]
push ecx
push 1
push edx
push eax
call dword [0x5f0bb0]
mov esi, eax
mov dword [esp + 0x64], edx
shrd eax, edx, 0x10
sar edx, 0x10
movzx edx, si
movzx edi, ax
lea eax, [edx - 0x6a5e]
add esp, 0x10
cmp eax, 0x9a
ja case.0x40f739.27232
movzx ecx, byte [eax + 0x41124c]
jmp dword [ecx*4 + 0x41122c]
mov edx, dword [0x4973b0]
mov dword [esp + 0x24b8], edx
mov dword [esp + 0x24bc], esi
jmp 0x40f8c3
mov eax, dword [0x497400]
mov dword [esp + 0x24b8], eax
mov dword [esp + 0x24bc], esi
jmp 0x40f8c3
mov ecx, dword [0x497450]
mov dword [esp + 0x24b8], ecx
mov dword [esp + 0x24bc], esi
jmp 0x40f8c3
mov edx, dword [0x4974a0]
mov dword [esp + 0x24b8], edx
mov dword [esp + 0x24bc], esi
jmp 0x40f8c3
mov eax, dword [0x4974f0]
mov dword [esp + 0x24b8], eax
mov dword [esp + 0x24bc], esi
jmp 0x40f8c3
mov ecx, dword [0x497540]
mov dword [esp + 0x24b8], ecx
mov dword [esp + 0x24bc], esi
jmp 0x40f8c3
mov edx, dword [0x497590]
mov dword [esp + 0x24b8], edx
mov dword [esp + 0x24bc], esi
jmp 0x40f8c3
mov ecx, esi
call fcn.0040bee0
push eax
push edi
push edx
push str.Checking_license_for__04X__04X___s___
call fcn.0046e24e
mov edi, dword [esp + 0x30]
add esp, 0x10
test edi, edi
jne 0x40f81e
push str.ERR:_license_string_missed_in_command_line__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f823
sub eax, edx
cmp eax, 0x16
je 0x40f843
push str.ERR:_license_string_lenght_must_be_22__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
lea ecx, [esp + 0x24b8]
push ecx
call fcn.0040be80
add esp, 4
lea ecx, [esp + 0x24b8]
call fcn.00405110
push 0x497248
push 1
push edx
push eax
call dword [0x5f0bb0]
add esp, 0x10
push 0x497248
push 1
lea ecx, [esp + 0x24c8]
mov edi, eax
mov ebx, edx
call fcn.00405110
push edx
push eax
call dword [0x5f0bb0]
add esp, 0x10
xor eax, eax
mov dword [esp + 0x24b8], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x24bc], edi
mov dword [esp + 0x24c0], eax
mov dword [esp + 0x24c4], eax
mov dword [esp + 0x24c8], eax
mov dword [esp + 0x24cc], eax
mov edx, dword [esp + 0x18]
push edx
push 8
lea eax, [esp + 0x2528]
push 1
push eax
call fcn.004700a6
add esp, 0x10
cmp eax, 8
je 0x40f8eb
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x40d28c
lea ecx, [esp + 0x2520]
call fcn.00405110
lea ecx, [esp + 0x24b8]
push ecx
push 1
push edx
push eax
call dword [0x5f0bb0]
add esp, 0x10
cmp esi, eax
jne 0x40f916
cmp dword [esp + 0x54], edx
je 0x40f92a
push edx
push eax
push str.Altera_old_header_keys_mismatch_0x_I64x__n
call fcn.0046e24e
add esp, 0xc
jmp 0x40d299
mov edx, ebx
shl edx, 8
add edx, 0x16
movzx eax, dx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
shl ebx, 8
sub eax, ebx
sub eax, 0x25
lea esi, [esp + 0x24b8]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0
jmp 0x40fd38
mov ecx, dword [esp + 0x54]
push ecx
push esi
push str.Unknow_Altera_old_crypt_version_0x_I64x__n
call fcn.0046e24e
add esp, 0xc
jmp 0x40d299
cmp eax, 4
jne 0x40f981
mov esi, 0x4972e8
jmp 0x40f99b
cmp eax, 5
jne 0x40f98d
mov esi, 0x497310
jmp 0x40f99b
cmp eax, 6
jne 0x40ffc3
mov esi, 0x497338
mov ecx, 0xa
lea edi, [esp + 0x24b8]
push 0
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
push 8
push esi
call fcn.004706d0
add esp, 0xc
push esi
push 0xb8
lea edx, [esp + 0x2528]
push 1
push edx
call fcn.004700a6
add esp, 0x10
cmp eax, 0xb8
je 0x40f9e3
mov eax, dword [esp + 0x10]
push eax
jmp 0x40d28c
xor esi, esi
jmp 0x40f9f0
lea edi, [esp + esi + 0x2520]
mov ecx, edi
call fcn.00405110
lea ecx, [esp + 0x24b8]
push ecx
push 1
push edx
push eax
call dword [0x5f0bb0]
push edx
push eax
mov eax, edi
call fcn.00405190
add esi, 8
add esp, 0x18
cmp esi, 0xb8
jb 0x40f9f0
mov al, byte [esp + 0x2572]
add al, al
add al, al
add al, al
movzx ecx, al
movsx dx, byte [esp + ecx + 0x257c]
movzx ecx, byte [esp + ecx + 0x257e]
add dx, 0xc
add dx, dx
add dx, dx
add dx, dx
add dx, cx
movzx eax, al
add dx, ax
movzx ecx, dx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x2568]
movzx ebx, cx
lea eax, [ebx - 0x6a5e]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], 0
cmp eax, 0x9a
ja case.0x40fa97.27232
movzx eax, byte [eax + 0x411308]
jmp dword [eax*4 + 0x4112e8]
cmp byte [esp + 0xc], 4
mov ecx, 0xa
lea edi, [esp + 0x2490]
jb 0x40fabb
mov esi, 0x4973b0
jmp 0x40fd44
mov esi, 0x497388
jmp 0x40fd44
cmp byte [esp + 0xc], 4
mov ecx, 0xa
lea edi, [esp + 0x2490]
jb 0x40fae2
mov esi, 0x497400
jmp 0x40fd44
mov esi, 0x4973d8
jmp 0x40fd44
cmp byte [esp + 0xc], 4
mov ecx, 0xa
lea edi, [esp + 0x2490]
jb 0x40fb09
mov esi, 0x497450
jmp 0x40fd44
mov esi, 0x497428
jmp 0x40fd44
cmp byte [esp + 0xc], 4
mov ecx, 0xa
lea edi, [esp + 0x2490]
jb 0x40fb30
mov esi, 0x4974a0
jmp 0x40fd44
mov esi, 0x497478
jmp 0x40fd44
cmp byte [esp + 0xc], 4
mov ecx, 0xa
lea edi, [esp + 0x2490]
jb 0x40fb57
mov esi, 0x4974f0
jmp 0x40fd44
mov esi, 0x4974c8
jmp 0x40fd44
cmp byte [esp + 0xc], 4
mov ecx, 0xa
lea edi, [esp + 0x2490]
jb 0x40fb7e
mov esi, 0x497540
jmp 0x40fd44
mov esi, 0x497518
jmp 0x40fd44
cmp byte [esp + 0xc], 4
mov ecx, 0xa
lea edi, [esp + 0x2490]
jb 0x40fba5
mov esi, 0x497590
jmp 0x40fd44
mov esi, 0x497568
jmp 0x40fd44
movzx esi, word [esp + 0x256a]
mov dword [esp + 0x64], esi
call fcn.0040bee0
push eax
push esi
push ebx
push str.Checking_license_for__04X__04X___s___
call fcn.0046e24e
mov edi, dword [esp + 0x30]
add esp, 0x10
test edi, edi
jne 0x40fbea
push str.ERR:_license_string_missed_in_command_line__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
lea edx, [esp + 0x24b8]
push edx
call fcn.0040be80
add esp, 4
cmp dword [esp + 0x24b8], 0xc96a7b24
je 0x40fc1b
push esi
push ebx
push str.Altera_license_for__04X__04X_is_corrupt__n
call fcn.0046e24e
add esp, 0xc
jmp 0x40d299
mov ecx, dword [esp + 0x24bc]
cmp cl, 3
ja 0x40ffb8
mov eax, ecx
shr eax, 0x10
and eax, 0xff
cmp eax, 3
ja 0x40ffb8
cmp eax, 2
jne 0x40fc58
mov ecx, 0xa
mov esi, 0x497270
lea edi, [esp + 0x26d8]
rep movsd dword es:[edi], dword [esi]
jmp 0x40fc84
cmp eax, 3
jne 0x40ffb8
mov eax, dword [esp + 0x64]
shl eax, 0x10
mov ecx, 0xa
mov esi, 0x497298
lea edi, [esp + 0x26d8]
or eax, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x26e4], eax
lea ecx, [esp + 0x24c0]
call fcn.00405110
lea ecx, [esp + 0x26d8]
push ecx
push 1
push edx
push eax
call dword [0x5f0bb0]
lea ecx, [esp + 0x24d8]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
call fcn.00405110
lea ecx, [esp + 0x26e8]
push ecx
push 1
push edx
push eax
call dword [0x5f0bb0]
lea ecx, [esp + 0x24f0]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
call fcn.00405110
lea ecx, [esp + 0x26f8]
push ecx
push 1
push edx
push eax
call dword [0x5f0bb0]
add esp, 0x30
mov dword [esp + 0xa0], eax
xor eax, eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], 0x51254cf1
mov dword [esp + 0xac], 0x82f63356
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
lea esi, [esp + 0x90]
mov ecx, 0xa
lea edi, [esp + 0x2490]
push 0x100
lea edx, [esp + 0x25dc]
push 0
push edx
rep movsd dword es:[edi], dword [esi]
call fcn.00476ac0
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x25e4]
add esp, 0xc
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x40fd70
lea eax, [esp + 0x25d8]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40fd82
mov ecx, dword [str..decrypted]
mov edx, dword [0x4bf26c]
mov dword [eax], ecx
mov cx, word [0x4bf270]
mov dword [eax + 4], edx
mov dl, byte [0x4bf272]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
lea eax, [esp + 0x25d8]
push 0x4bf274
push eax
call fcn.0046fe45
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x40fdde
lea ecx, [esp + 0x25d8]
push ecx
push str.File__s_can_not_be_opened__n
jmp 0x40d291
movsx edx, word [esp + 0x48]
mov ebx, dword [esp + 0x18]
push 0
add edx, 8
push edx
push ebx
call fcn.004706d0
mov edi, dword [esp + 0x40]
add esp, 0xc
push edi
call fcn.0046c902
add esp, 4
push ebx
mov dword [esp + 0x20], eax
call fcn.00470534
sub edi, eax
add esp, 4
push edi
call fcn.0046c902
add esp, 4
push ebx
push edi
push 1
push eax
mov dword [esp + 0x54], eax
call fcn.004700a6
add esp, 0x10
cmp eax, edi
je 0x40fe36
push esi
jmp 0x40d28c
mov dword [esp + 0xc], 0
test edi, edi
je 0x40fe96
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x44]
dec edi
shr edi, 3
sub ebx, esi
inc edi
lea eax, [edi*8]
mov dword [esp + 0xc], eax
lea esp, [esp]
add dword [esp + 0x50], 0xfffffff8
lea ecx, [ebx + esi]
adc dword [esp + 0x54], 0xffffffff
call fcn.00405110
lea ecx, [esp + 0x2490]
push ecx
push 1
push edx
push eax
call dword [0x5f0bb0]
push edx
push eax
mov eax, esi
call fcn.00405190
add esp, 0x18
add esi, 8
dec edi
jne 0x40fe60
cmp dword [esp + 0x24], 0
jne 0x40feb6
cmp dword [esp + 0x54], 0
jg 0x40feb6
jl 0x40fead
cmp dword [esp + 0x50], 0
ja 0x40feb6
mov esi, dword [esp + 0xc]
sub esi, 8
jmp 0x40feba
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
lea ecx, [esi - 8]
lea eax, [esi - 1]
cmp eax, ecx
jb 0x40fed4
cmp byte [ebx + eax], 0xff
jne 0x40fed4
dec eax
dec esi
cmp eax, ecx
jae 0x40fec8
cmp byte [ebx], 0x78
jne 0x40ff91
mov al, byte [ebx + 1]
cmp al, 0x9c
je 0x40fef4
cmp al, 0xda
je 0x40fef4
cmp al, 0x5e
je 0x40fef4
cmp al, 1
jne 0x40ff91
push 0x8000000
call fcn.0046c902
mov ebx, eax
mov eax, dword [esp + 0x20]
add esp, 4
push ebx
mov ecx, esi
lea edi, [esp + 0x44]
mov dword [esp + 0x44], 0x7fffffff
call fcn.0044ccf0
add esp, 4
test eax, eax
je 0x40ff30
push eax
push str.zlib_decompression_error__d__n
call fcn.0046e24e
add esp, 8
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x40]
push edi
push esi
push 1
push ebx
call fcn.00470326
add esp, 0x10
cmp eax, esi
je 0x40ff5b
lea edx, [esp + 0x25d8]
push edx
push str.File__s_can_not_be_writed__n
jmp 0x40d291
push ebx
call fcn.0046c8c8
mov ebx, dword [esp + 0x20]
add esp, 4
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0046c8c8
add esp, 4
push ebx
call fcn.0046c8c8
add esp, 4
push edi
call fcn.004707b9
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
jmp 0x4111fd
mov edi, dword [esp + 0x30]
push edi
push esi
push 1
push ebx
call fcn.00470326
add esp, 0x10
cmp eax, esi
je 0x40ff68
lea eax, [esp + 0x25d8]
push eax
push str.File__s_can_not_be_writed__n
jmp 0x40d291
push ecx
push str.Unknow_Altera_license_crypt_version_0x_08X__n
jmp 0x40d291
mov eax, dword [esp + 0x54]
push eax
push esi
push str.Unknow_Altera_crypt_version_0x_I64x__n
call fcn.0046e24e
add esp, 0xc
jmp 0x40d299
mov ecx, dword [esp + 0x54]
push ecx
push esi
push str.Unknow_Altera_crypt_version_0x_I64x__n
call fcn.0046e24e
add esp, 0xc
jmp 0x40d299
push 0x100
lea edx, [esp + 0x25dc]
push 0
push edx
call fcn.00476ac0
lea ecx, [esp + 0x25e4]
add esp, 0xc
sub ecx, edi
mov al, byte [edi]
mov byte [ecx + edi], al
inc edi
test al, al
jne 0x410013
lea eax, [esp + 0x25d8]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x410025
mov ecx, dword [str..decrypted]
mov edx, dword [0x4bf26c]
mov dword [eax], ecx
mov cx, word [0x4bf270]
mov dword [eax + 4], edx
mov dl, byte [0x4bf272]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
lea eax, [esp + 0x25d8]
push 0x4bf274
push eax
call fcn.0046fe45
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x410081
lea ecx, [esp + 0x25d8]
push ecx
push str.File__s_can_not_be_opened__n
jmp 0x40d291
push 0x10000
call fcn.0046c902
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4100a5
mov edx, dword [esp + 0x34]
push edx
push str.alloc5__lu_bytes_failed__try_x64_version__n
jmp 0x40d291
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push 0x10000
push ecx
call fcn.0046fc51
add esp, 0xc
mov esi, eax
mov edi, edi
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4100c5
sub eax, edx
mov ebx, eax
mov al, byte [ebx + esi - 1]
lea edi, [ebx + esi - 1]
cmp al, 0xa
je 0x4100e6
cmp al, 0xd
je 0x4100e6
mov word [ebx + esi], 0xa
push 0
lea edx, [esp + 0x1e4]
push edx
push esi
call fcn.00405d60
add esp, 0xc
test al, 1
je 0x410104
mov eax, 1
jmp 0x410123
test al, 2
je 0x41010f
mov eax, 2
jmp 0x410123
test al, 0x20
je 0x41011a
mov eax, 0x20
jmp 0x410123
test al, 0x40
je 0x410123
mov eax, 0x40
dec eax
cmp eax, 0x3f
ja case.0x410134.3
movzx eax, byte [eax + 0x4113c4]
jmp dword [eax*4 + 0x4113a4]
cmp ebx, 2
jbe 0x410154
mov cl, byte [ebx + esi - 2]
mov byte [0x5f0bac], cl
mov dl, byte [edi]
mov byte [0x5f0bad], dl
jmp 0x410162
mov byte [0x5f0bac], 0
mov al, byte [edi]
mov byte [0x5f0bad], al
mov ecx, dword [esp + 0x30]
push ecx
push esi
call fcn.0046f66b
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push 0x10000
push eax
call fcn.0046fc51
add esp, 0x14
mov esi, eax
jmp case.0x410134.3
mov edx, dword [esp + 0x2120]
shl edx, 7
lea ecx, [esp + 0x22bc]
lea edx, [esp + edx + 0x15e0]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x4101a3
push 0x80
lea ecx, [esp + 0x22c0]
push 0
push ecx
call fcn.00476ac0
mov edx, dword [esp + 0x212c]
add esp, 0xc
cmp dword [esp + edx*4 + 0x1fe0], 0
je 0x4101f9
push str.Too_much_ieee_keys_per_data_block__reducing...__n
call fcn.0046e24e
mov eax, dword [esp + 0x2124]
mov ecx, dword [esp + eax*4 + 0x1fe4]
add esp, 4
push ecx
call fcn.0046c8c8
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push 1
lea edx, [esp + 0x1e4]
push edx
push eax
mov eax, 0xffff
call fcn.00406240
mov ecx, dword [esp + 0x212c]
mov edx, ecx
shl edx, 7
mov esi, eax
lea eax, [esp + edx + 0x15ec]
add esp, 0xc
cmp byte [eax], 0
jne 0x410256
mov ecx, dword [str.base64]
mov dword [eax], ecx
mov dx, word [0x4bcb3c]
mov word [eax + 4], dx
mov cl, byte [0x4bcb3e]
mov byte [eax + 6], cl
mov ecx, dword [esp + 0x2120]
mov edx, ecx
shl edx, 7
cmp byte [esp + edx + 0x1e0], 0
je case.0x410134.3
mov eax, ecx
shl eax, 7
cmp byte [esp + eax + 0xbe0], 0
je case.0x410134.3
mov edx, ecx
shl edx, 7
cmp byte [esp + edx + 0x15e0], 0
je case.0x410134.3
cmp dword [esp + ecx*4 + 0x1fe0], 0
je case.0x410134.3
cmp ecx, 0x13
jae case.0x410134.3
inc ecx
mov dword [esp + 0x2120], ecx
jmp case.0x410134.3
lea eax, [esp + 0x22bc]
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax - 0x198], cl
inc eax
test cl, cl
jne 0x4102c0
push 0x80
lea eax, [esp + 0x22c0]
push 0
push eax
call fcn.00476ac0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
add esp, 0xc
push 2
lea ecx, [esp + 0x1e4]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
call fcn.00406240
add esp, 0xc
cmp byte [esp + 0x2124], 0
mov esi, eax
jne 0x410337
mov eax, dword [str.base64]
mov cx, word [0x4bcb3c]
mov dl, byte [0x4bcb3e]
mov dword [esp + 0x2124], eax
mov word [esp + 0x2128], cx
mov byte [esp + 0x212a], dl
mov ecx, str.cds_key
lea eax, [esp + 0x2238]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410363
test dl, dl
je 0x41035f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410363
add eax, 2
add ecx, 2
test dl, dl
jne 0x410343
xor eax, eax
jmp 0x410368
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4103b5
mov ecx, 0x4bd58c
lea eax, [esp + 0x21a4]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410398
test dl, dl
je 0x410394
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410398
add eax, 2
add ecx, 2
test dl, dl
jne 0x410378
xor eax, eax
jmp 0x41039d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4103b5
cmp dword [esp + 0x22b8], eax
jne 0x4103b5
mov dword [esp + 0x22b8], 1
mov edi, dword [esp + 0x2120]
test edi, edi
jne 0x410443
mov ecx, str.cds_data_key
lea eax, [esp + 0x2238]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4103f0
test dl, dl
je 0x4103ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4103f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4103d0
xor eax, eax
jmp 0x4103f5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410437
mov ecx, str.cds_key
lea eax, [esp + 0x2238]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410425
test dl, dl
je 0x410421
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410425
add eax, 2
add ecx, 2
test dl, dl
jne 0x410405
xor eax, eax
jmp 0x41042a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x410443
cmp dword [esp + 0x22b8], eax
je 0x410443
mov edi, 1
mov dword [esp + 0x2120], edi
cmp byte [esp + 0x21a4], 0
jne 0x4105db
shl edi, 7
lea edi, [esp + edi + 0x160]
mov ecx, str.prv_cds_rsa_key_ver_1_
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410482
test dl, dl
je 0x41047e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410482
add eax, 2
add ecx, 2
test dl, dl
jne 0x410462
xor eax, eax
jmp 0x410487
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4104bb
mov ecx, str.prv_cds_rsa_key_ver_2_
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4104b2
test dl, dl
je 0x4104ae
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4104b2
add eax, 2
add ecx, 2
test dl, dl
jne 0x410492
xor eax, eax
jmp 0x4104b7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4104fd
mov eax, dword [str.aes128_cbc]
mov ecx, dword [0x4bd4d0]
mov dx, word [0x4bd4d4]
mov dword [esp + 0x21a4], eax
cmp byte [esp + 0x21a4], 0
mov al, byte [0x4bd4d6]
mov dword [esp + 0x21a8], ecx
mov word [esp + 0x21ac], dx
mov byte [esp + 0x21ae], al
jne 0x4105db
mov ecx, str.cds_key
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410524
test dl, dl
je 0x410520
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410524
add eax, 2
add ecx, 2
test dl, dl
jne 0x410504
xor eax, eax
jmp 0x410529
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4105db
mov ecx, str.cds_nc_key
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410558
test dl, dl
je 0x410554
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410558
add eax, 2
add ecx, 2
test dl, dl
jne 0x410538
xor eax, eax
jmp 0x41055d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4105db
mov ecx, str.cds_xm_key
mov eax, edi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410590
test dl, dl
je 0x41058c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410590
add eax, 2
add ecx, 2
test dl, dl
jne 0x410570
xor eax, eax
jmp 0x410595
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4105db
push str.data_method_missed__set_to_default_AES128_CBC__n
call fcn.0046e24e
mov ecx, dword [str.aes128_cbc]
mov edx, dword [0x4bd4d0]
mov ax, word [0x4bd4d4]
mov dword [esp + 0x21a8], ecx
mov cl, byte [0x4bd4d6]
add esp, 4
mov dword [esp + 0x21a8], edx
mov word [esp + 0x21ac], ax
mov byte [esp + 0x21ae], cl
cmp byte [esp + 0x2124], 0
je 0x410604
cmp dword [esp + 0x2224], 0
je 0x410604
mov edx, dword [esp + 0x30]
push edx
lea eax, [esp + 0x1e4]
push eax
call fcn.00409d10
add esp, 8
lea ecx, [esp + 0x1e0]
push ecx
jmp 0x4107a2
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push edx
call fcn.004060f0
mov esi, eax
jmp 0x4107a7
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push 0x10000
push ecx
call fcn.0046fc51
add esp, 0xc
mov esi, eax
jmp case.0x410134.3
mov edx, dword [str.mtibase64]
mov eax, dword [0x4bf720]
mov cx, word [0x4bf724]
push 0x80
mov dword [esp + 0x2128], edx
lea edx, [esp + 0x22c0]
push 0
push edx
mov dword [esp + 0x2134], eax
mov word [esp + 0x2138], cx
call fcn.00476ac0
add esp, 0xc
cmp dword [esp + 0x2120], 0
mov dword [esp + 0x21a4], 0x69746d
jne 0x4106a3
mov dword [esp + 0x2120], 1
mov ecx, dword [esp + 0x18]
push 0x20
lea eax, [esp + 0x1e4]
push eax
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00406240
add esp, 0xc
mov esi, eax
jmp 0x4105db
mov edx, dword [str.vcs128base64]
mov eax, dword [0x4bf72c]
mov ecx, dword [0x4bf730]
push 0x80
mov dword [esp + 0x212c], eax
mov dword [esp + 0x2128], edx
mov dl, byte [0x4bf734]
lea eax, [esp + 0x22c0]
push 0
push eax
mov dword [esp + 0x2138], ecx
mov byte [esp + 0x213c], dl
call fcn.00476ac0
mov ecx, dword [str.vcs128]
mov dx, word [0x4bd7f8]
mov al, byte [0x4bd7fa]
add esp, 0xc
cmp dword [esp + 0x2120], 0
mov dword [esp + 0x21a4], ecx
mov word [esp + 0x21a8], dx
mov byte [esp + 0x21aa], al
jne 0x410750
mov dword [esp + 0x2120], 1
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
push 0x40
lea ecx, [esp + 0x1e4]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
call fcn.00406240
add esp, 0xc
cmp byte [esp + 0x2124], 0
mov esi, eax
je 0x41079a
cmp dword [esp + 0x2224], 0
je 0x41079a
mov eax, dword [esp + 0x30]
push eax
lea ecx, [esp + 0x1e4]
push ecx
call fcn.00409d10
add esp, 8
lea edx, [esp + 0x1e0]
push edx
call fcn.0040aa60
add esp, 4
test esi, esi
jne 0x4100c0
mov eax, dword [esp + 0x14]
push eax
call fcn.0046c8c8
mov ecx, dword [esp + 0x34]
add esp, 4
push ecx
call fcn.004707b9
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
jmp 0x4111fd
cmp dword [0x4db2ac], 0
jne 0x4107e4
call fcn.00405260
push 0x100
lea eax, [esp + 0x25dc]
push 0
push eax
call fcn.00476ac0
lea edx, [esp + 0x25e4]
add esp, 0xc
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x410806
lea eax, [esp + 0x25d8]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x410818
mov ecx, dword [str._tmp.zip]
mov edx, dword [0x4bf73c]
mov dword [eax], ecx
mov cl, byte [0x4bf740]
mov dword [eax + 4], edx
lea edx, [esp + 0x25d8]
push 0x4bf274
push edx
mov byte [eax + 8], cl
call fcn.0046fe45
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x410869
lea eax, [esp + 0x25d8]
push eax
push str.File__s_can_not_be_opened__n
jmp 0x40d291
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0046c902
add esp, 4
push esi
mov esi, dword [esp + 0x38]
push esi
mov ebx, eax
push 1
push ebx
call fcn.004700a6
add esp, 0x10
cmp eax, esi
jne 0x40d28b
mov eax, dword [0x4db2ac]
lea edx, [eax + 0x37860]
add eax, 0x37f6d
mov dword [0x5c0b98], eax
lea eax, [esp + 0xc0]
mov dword [0x5f0ba4], edx
push eax
mov edx, 0x261
call fcn.00412440
mov edi, eax
add esp, 4
test edi, edi
jne 0x4108d9
push str.d2i_RSAPrivateKey_error__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
push edi
call fcn.00412010
add esp, 4
cmp eax, 1
je 0x4108f9
push str.RSA_check_key_error__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
lea ecx, [esp + 0x3328]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00406410
mov edx, dword [edi + 8]
mov edx, dword [edx + 0x10]
add esp, 4
push 4
push edi
lea ecx, [esp + 0x2e30]
push ecx
lea ecx, [esp + 0x3334]
push ecx
push eax
call edx
add esp, 0x14
test eax, eax
jns 0x410942
push str.RSA_key_decrypt_error__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
lea eax, [esp + 0x2b28]
push eax
lea ecx, [esp + 0x2e2c]
push ecx
call dword [0x5f0ba4]
add esp, 8
test eax, eax
je 0x410971
push str.Cannot_set_Package_AES_key__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
xor eax, eax
lea edx, [esp + 0x2b28]
mov dword [esp + 0x244c], eax
mov dword [esp + 0x2450], eax
mov dword [esp + 0x2454], eax
mov dword [esp + 0x2458], eax
push edx
lea eax, [esp + 0x2450]
push eax
lea ecx, [esp + 0x2444]
push ecx
call dword [0x5c0b98]
add esp, 0xc
test eax, eax
je 0x4109c6
push str.Package_IPCrypt_failed__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
mov edx, dword [esp + 0x34]
mov ecx, edx
shr ecx, 4
test ecx, ecx
je 0x410a03
lea eax, [ebx + 8]
mov esi, dword [esp + 0x244c]
xor dword [eax - 8], esi
mov esi, dword [esp + 0x2450]
xor dword [eax - 4], esi
mov esi, dword [esp + 0x2454]
xor dword [eax], esi
mov esi, dword [esp + 0x2458]
xor dword [eax + 4], esi
add eax, 0x10
dec ecx
jne 0x4109d6
mov ecx, edx
and ecx, 0xf
mov eax, 0
jbe 0x410a2f
mov esi, dword [esp + 0x34]
mov edx, ebx
sub edx, ecx
add esi, edx
lea esp, [esp]
mov dl, byte [esp + eax + 0x244c]
xor byte [esi + eax], dl
inc eax
cmp eax, ecx
jb 0x410a20
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
push esi
push eax
push 1
push ebx
call fcn.00470326
push esi
call fcn.004707b9
add esp, 0x14
call fcn.00411530
lea ecx, [esp + 0xb8]
push ecx
mov edx, 0x260
call fcn.00412440
mov edi, eax
add esp, 4
mov dword [esp + 0x64], edi
test edi, edi
jne 0x410a80
push str.d2i_RSAPrivateKey_error__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
push edi
call fcn.00412010
add esp, 4
cmp eax, 1
je 0x410aa0
push str.RSA_check_key_error__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0x3328]
push edx
call fcn.00406410
mov ecx, dword [edi + 8]
add esp, 4
push 4
push edi
lea edx, [esp + 0x2e30]
push edx
lea edx, [esp + 0x3334]
push edx
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0x14
test eax, eax
jns 0x410aec
push str.RSA_key_decrypt_error__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
lea ecx, [esp + 0x2b28]
push ecx
lea edx, [esp + 0x2e2c]
push edx
call dword [0x5f0ba4]
add esp, 8
test eax, eax
je 0x410b1b
push str.Cannot_set_Fileset_AES1_key__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
xor eax, eax
mov dword [esp + 0x244c], eax
mov dword [esp + 0x2450], eax
mov dword [esp + 0x2454], eax
mov dword [esp + 0x2458], eax
lea eax, [esp + 0x2b28]
push eax
lea ecx, [esp + 0x2450]
push ecx
lea edx, [esp + 0x2444]
push edx
call dword [0x5c0b98]
add esp, 0xc
test eax, eax
je 0x410b70
push str.Fileset_IPCrypt_failed__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x410c45
lea eax, [esp + 0x3328]
push eax
call fcn.00406410
mov ecx, dword [edi + 8]
add esp, 4
push 4
push edi
lea edx, [esp + 0x2e30]
push edx
lea edx, [esp + 0x3334]
push edx
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0x14
test eax, eax
jns 0x410bc1
push str.RSA_key_decrypt_error__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
lea ecx, [esp + 0x3228]
push ecx
lea edx, [esp + 0x2e2c]
push edx
call dword [0x5f0ba4]
add esp, 8
test eax, eax
je 0x410bf0
push str.Cannot_set_Fileset_AES2_key__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
xor eax, eax
mov dword [esp + 0x2480], eax
mov dword [esp + 0x2484], eax
mov dword [esp + 0x2488], eax
mov dword [esp + 0x248c], eax
lea eax, [esp + 0x3228]
push eax
lea ecx, [esp + 0x2484]
push ecx
lea edx, [esp + 0x2444]
push edx
call dword [0x5c0b98]
add esp, 0xc
test eax, eax
je 0x410c45
push str.Fileset_IPCrypt_failed__n
call fcn.0046e24e
add esp, 4
jmp 0x40d299
push 0x100
lea eax, [esp + 0x282c]
push 0
push eax
call fcn.00476ac0
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x2834]
add esp, 0xc
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x410c70
lea eax, [esp + 0x2828]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x410c82
mov ecx, dword [str._decrypted.zip]
mov edx, dword [0x4bf7e0]
mov dword [eax], ecx
mov ecx, dword [0x4bf7e4]
mov dword [eax + 4], edx
mov dx, word [0x4bf7e8]
mov dword [eax + 8], ecx
mov cl, byte [0x4bf7ea]
mov word [eax + 0xc], dx
lea edx, [esp + 0x2828]
push edx
mov byte [eax + 0xe], cl
call fcn.0044ceb0
mov dword [esp + 0x40], eax
add esp, 4
lea eax, [esp + 0x25d8]
call fcn.0044bab0
mov esi, eax
mov dword [esp + 0xc], esi
test esi, esi
jne 0x410f9a
push str.error_in_unzOpen__unzfile__NULL__n
call fcn.0046e24e
add esp, 4
push 0xffffffffffffff9a
push str.error__d_in_unzGetGlobalInfo__n
call fcn.0046e24e
add esp, 8
cmp dword [esp + 0x50], 0
mov dword [esp + 0x48], 0
jbe 0x410fbc
jmp 0x410d20
mov ecx, dword [esp + 0xc]
push ecx
lea eax, [esp + 0x272c]
lea esi, [esp + 0x114]
call fcn.0044c3f0
add esp, 4
test eax, eax
je 0x410d4d
push eax
push str.error__d_in_unzGetCurrentFileInfo64__n
call fcn.0046e24e
add esp, 8
mov esi, dword [esp + 0x12c]
push esi
call fcn.0046c902
add esp, 4
push esi
mov ebx, eax
call fcn.0046c902
mov edx, dword [esp + 0x10]
add esp, 4
mov edi, eax
push edx
mov dword [esp + 0x2c], edi
call fcn.0044c810
add esp, 4
test eax, eax
je 0x410d8d
push eax
push str.error__d_in_unzOpenCurrentFile__n
call fcn.0046e24e
add esp, 8
mov eax, dword [esp + 0xc]
push esi
push ebx
call fcn.0044c9d0
add esp, 8
test eax, eax
jns 0x410dad
push eax
push str.error__d_in_unzReadCurrentFile__n
call fcn.0046e24e
add esp, 8
mov eax, dword [esp + 0xc]
push eax
call fcn.0044cc60
add esp, 4
push esi
push ebx
push edi
call fcn.00478340
shr esi, 4
add esp, 0xc
test esi, esi
je 0x410e2d
mov edx, edi
lea ecx, [edi + 0xc]
lea eax, [ebx + 8]
sub edx, ebx
mov edi, dword [esp + 0x244c]
xor dword [eax - 8], edi
mov edi, dword [esp + 0x2450]
xor dword [eax - 4], edi
mov edi, dword [esp + 0x2454]
xor dword [eax], edi
mov edi, dword [esp + 0x2458]
xor dword [eax + 4], edi
mov edi, dword [esp + 0x2480]
xor dword [ecx - 0xc], edi
mov edi, dword [esp + 0x2484]
xor dword [ecx - 8], edi
mov edi, dword [esp + 0x2488]
xor dword [edx + eax], edi
mov edi, dword [esp + 0x248c]
xor dword [ecx], edi
add eax, 0x10
add ecx, 0x10
dec esi
jne 0x410dd6
mov edi, dword [esp + 0x12c]
and edi, 0xf
mov ecx, 0
jbe 0x410e6c
mov edx, dword [esp + 0x28]
mov eax, edx
sub eax, edi
add eax, dword [esp + 0x12c]
mov esi, ebx
sub esi, edx
movzx edx, byte [esp + ecx + 0x244c]
xor byte [esi + eax], dl
movzx edx, byte [esp + ecx + 0x2480]
xor byte [eax], dl
inc ecx
inc eax
cmp ecx, edi
jb 0x410e51
cmp dword [ebx], 0x4034b50
mov esi, ebx
je 0x410e7a
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x2728]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x410e82
mov ecx, dword [str..zip]
mov dl, byte [0x4bf8a4]
mov edi, dword [esp + 0x3c]
mov dword [eax], ecx
mov byte [eax + 4], dl
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x2728]
push eax
lea edx, [esp + 0x94]
mov ecx, edi
call fcn.0044d3c0
add esp, 4
test eax, eax
je 0x410f12
lea ecx, [esp + 0x2728]
push ecx
push str.error_in_opening__s_in_zipfile__n
call fcn.0046e24e
add esp, 8
mov edx, dword [esp + 0x12c]
push edx
push esi
mov eax, edi
call fcn.0044d8f0
add esp, 8
test eax, eax
jns 0x410f3e
lea eax, [esp + 0x2728]
push eax
push str.error_in_writing__s_in_the_zipfile__n
call fcn.0046e24e
add esp, 8
call fcn.0044d9f0
test eax, eax
je 0x410f5c
lea ecx, [esp + 0x2728]
push ecx
push str.error_in_closing__s_in_the_zipfile__n
call fcn.0046e24e
add esp, 8
push ebx
call fcn.0046c8c8
mov edx, dword [esp + 0x2c]
add esp, 4
push edx
call fcn.0046c8c8
mov edi, dword [esp + 0x4c]
inc edi
add esp, 4
cmp edi, dword [esp + 0x50]
jae 0x410f8a
mov esi, dword [esp + 0xc]
call fcn.0044c4f0
test eax, eax
jne 0x410fa6
mov dword [esp + 0x48], edi
cmp edi, dword [esp + 0x50]
jb 0x410d20
jmp 0x410fb4
mov eax, dword [esi + 0x38]
mov dword [esp + 0x50], eax
jmp 0x410d02
push eax
push str.error__d_with_zipfile_in_unzGoToNextFile__n
call fcn.0046e24e
add esp, 8
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0xc]
call fcn.0044bf30
lea eax, [esp + 0x25d8]
push eax
call fcn.0046fc21
mov eax, dword [esp + 0x40]
add esp, 4
call fcn.0044e9a0
test eax, eax
je 0x410ff3
lea ecx, [esp + 0x25d8]
push ecx
push str.error_in_closing__s__n
call fcn.0046e24e
add esp, 8
mov edx, dword [esp + 0x18]
push edx
call fcn.004707b9
add esp, 4
call fcn.00411530
jmp 0x411205
push 0x100
lea eax, [esp + 0x25dc]
push 0
push eax
call fcn.00476ac0
lea ecx, [esp + 0x25e4]
add esp, 0xc
sub ecx, edi
lea ebx, [ebx]
mov al, byte [edi]
mov byte [edi + ecx], al
inc edi
test al, al
jne 0x411030
lea eax, [esp + 0x25d8]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x411042
mov ecx, dword [str..decrypted]
mov edx, dword [0x4bf26c]
mov dword [eax], ecx
mov cx, word [0x4bf270]
mov dword [eax + 4], edx
mov dl, byte [0x4bf272]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
lea eax, [esp + 0x25d8]
push 0x4bf274
push eax
call fcn.0046fe45
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
jne 0x41109e
lea ecx, [esp + 0x25d8]
push ecx
push str.File__s_can_not_be_opened__n
jmp 0x40d291
mov esi, dword [esp + 0x18]
push 2
push 0
push esi
call fcn.004706d0
add esp, 0xc
push esi
call fcn.00470534
add esp, 4
push 0
push 0
push esi
mov ebx, eax
call fcn.004706d0
add esp, 0xc
push ebx
call fcn.0046c902
add esp, 4
push esi
push ebx
mov edi, eax
push 1
push edi
call fcn.004700a6
add esp, 0x10
cmp eax, ebx
je 0x4110ed
mov edx, dword [esp + 0x10]
push edx
jmp 0x40d28c
xor esi, esi
xor edx, edx
push ebx
mov ecx, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x40], edx
call fcn.0040bf10
add esp, 4
cmp eax, 0xffffffff
je 0x4111cc
lea ecx, [ecx]
cmp eax, 0x40
je 0x411130
cmp dword [esp + 0x28], 0
jne 0x411155
mov ecx, dword [esp + 0x30]
push ecx
push eax
call fcn.0046f003
mov edx, dword [esp + 0x44]
add esp, 8
jmp 0x411192
cmp dword [esp + 0x28], 0
jne 0x41115a
push ebx
mov ecx, edi
mov dword [esp + 0x2c], 1
call fcn.0040bf10
add esp, 4
push ebx
mov ecx, edi
call fcn.0040bf10
add esp, 4
cmp eax, 0xd
je 0x411192
mov al, byte [eax + 0x4bc6a0]
mov byte [esp + edx + 0x2c], al
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 4
jne 0x411192
mov eax, dword [esp + 0x2c]
mov cl, byte [esp + 0x2e]
mov byte [edi + esi], ah
mov byte [edi + esi + 1], cl
mov byte [edi + esi + 2], al
mov al, byte [esp + 0x2f]
xor edx, edx
mov byte [edi + esi + 3], al
mov dword [esp + 0x3c], edx
add esi, 4
push ebx
mov ecx, edi
call fcn.0040bf10
add esp, 4
cmp eax, 0xffffffff
jne 0x411110
test edx, edx
je 0x4111b2
mov cl, byte [esp + 0x2c]
mov byte [edi + esi], cl
inc esi
cmp edx, 1
jbe 0x4111bf
mov al, byte [esp + 0x2d]
mov byte [edi + esi], al
inc esi
cmp edx, 2
jbe 0x4111cc
mov cl, byte [esp + 0x2e]
mov byte [edi + esi], cl
inc esi
mov ebx, dword [esp + 0x30]
push ebx
push esi
push 1
push edi
call fcn.00470326
add esp, 0x10
cmp eax, esi
je 0x4111f3
lea edx, [esp + 0x25d8]
push edx
push str.File__s_can_not_be_writed__n
jmp 0x40d291
push edi
call fcn.0046c8c8
add esp, 4
push ebx
call fcn.004707b9
add esp, 4
push str.Done__n
call fcn.0046e24e
add esp, 4
mov ecx, dword [esp + 0x3b2c]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0046c8b9
mov esp, ebp
pop ebp
ret