Function at 0x45900c
Capabilities:
Accept command line arguments

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x878
mov qword [rsp + 0x548], 0xfffffffffffffffe
call qword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
xor r13d, r13d
mov qword [rsp + 0xb8], r13
mov dword [rsp + 0xc0], r13d
mov dword [rsp + 0xc4], r13d
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.004036c8
nop
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x90]
call fcn.004011b8
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402344
mov ebp, 0xffffffff
mov ebx, dword [rsp + 0xc0]
cmp ebx, r13d
jbe 0x4590e8
mov rcx, qword [rsp + 0xb8]
mov rdi, qword [rcx]
cmp rdi, r13
je 0x4590c7
mov rcx, qword [rdi]
call fcn.00402344
mov rcx, rdi
call fcn.00402344
mov ebx, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
lea r8d, [rbx - 1]
shl r8, 3
lea rdx, [rcx + 8]
call sub.msvcrt.dll_memmove
mov ebx, dword [rsp + 0xc0]
add ebx, ebp
mov dword [rsp + 0xc0], ebx
cmp ebx, r13d
jne 0x45917d
mov rdi, qword [0x00481d78]
cmp rdi, r13
je 0x45912c
mov rdx, qword [rdi]
lea rcx, str._n7_Zip_24.08__x64__:_Copyright__c__1999_2024_Igor_Pavlov_:_2024_08_11_n
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rdi
call fcn.0040245c
mov rdx, qword [rdi]
lea rcx, str.Usage:_7z__command____switches_...___archive_name____file_names_...____listfile__n_n_Commands__n__a_:_Add_files_to_archive_n__b_:_Benchmark_n__d_:_Delete_files_from_archive_n__e_:_Extract_files_from_archive__without_using_directory_names__n__h_:_Calculate_hash_values_for_files_n__i_:_Show_information_about_supported_formats_n__l_:_List_contents_of_archive_n__rn_:_Rename_files_in_archive_n__t_:_Test_integrity_of_archive_n__u_:_Update_files_to_archive_n__x_:_eXtract_files_with_full_paths_n_n_Switches__n_____:_Stop_switches_and__listfile_parsing_n___ai_r__0___m__2___w_____listfile_wildcard_:_Include_archives_n___ax_r__0___m__2___w_____listfile_wildcard_:_eXclude_archives_n___aoastu_:_set_Overwrite_mode_n___an_:_disable_archive_name_field_n___bb_0_3__:_set_output_log_level_n___bd_:_disable_progress_indicator_n___bsoep012_:_set_output_stream_for_output_error_progress_line_n___bt_:_show_execution_time_statistics_n___i_r__0___m__2___w_____listfile_wildcard_:_Include_filenames_n___mParameters_:_set_compression_Method_n_____mmt_N__:_set_number_of_CPU_threads_n_____mx_N__:_set_compression_level:__mx1__fastest__...__mx9__ultra__n___oDirectory_:_set_Output_directory_n___pPassword_:_set_Password_n___r__0__:_Recurse_subdirectories_for_name_search_n___saaes_:_set_Archive_name_mode_n___sccUTF_8WINDOS_:_set_charset_for_console_input_output_n___scsUTF_8UTF_16LEUTF_16BEWINDOSid_:_set_charset_for_list_files_n___scrc_CRC32CRC64SHA256SHA1XXH64__:_set_hash_function_for_x__e__h_commands_n___sdel_:_delete_files_after_compression_n___seml_.__:_send_archive_by_email_n___sfx_name__:_Create_SFX_archive_n___si_name__:_read_data_from_stdin_n___slp_:_set_Large_Pages_mode_n___slt_:_show_technical_information_for_l__List__command_n___snh_:_store_hard_links_as_links_n___snl_:_store_symbolic_links_as_links_n___sni_:_store_NT_security_information_n___sns____:_store_NTFS_alternate_streams_n___so_:_write_data_to_stdout_n___spd_:_disable_wildcard_matching_for_file_names_n___spe_:_eliminate_duplication_of_root_folder_for_extract_command_n___spf_2__:_use_fully_qualified_file_paths_n___ssc____:_set_sensitive_case_mode_n___sse_:_stop_archive_creating__if_it_cant_open_some_input_file_n___ssp_:_do_not_change_Last_Access_Time_of_source_files_while_archiving_n___ssw_:_compress_shared_files_n___stl_:_set_archive_timestamp_from_the_most_recently_modified_file_n___stmHexMask_:_set_CPU_thread_affinity_mask__hexadecimal_number__n___stxType_:_exclude_archive_type_n___tType_:_Set_type_of_archive_n___u____p__q__r__x__y__z___newArchiveName__:_Update_options_n___vSize_bkmg__:_Create_volumes_n___w_path__:_assign_Work_directory._Empty_path_means_a_temporary_directory_n___x_r__0___m__2___w_____listfile_wildcard_:_eXclude_filenames_n___y_:_assume_Yes_on_all_queries_n
call qword [sym.imp.msvcrt.dll_fputs]
mov ebx, dword [rsp + 0xc0]
movsxd rdi, ebx
cmp ebx, r13d
je 0x459169
shl rdi, 3
mov r12d, 8
add ebx, ebp
sub rdi, r12
mov rax, qword [rsp + 0xb8]
mov rsi, qword [rdi + rax]
cmp rsi, r13
je 0x459164
mov rcx, qword [rsi]
call fcn.00402344
mov rcx, rsi
call fcn.00402344
cmp ebx, r13d
jne 0x45913e
mov rcx, qword [rsp + 0xb8]
call fcn.00402344
xor eax, eax
jmp 0x45b470
lea rcx, [rsp + 0x220]
call fcn.00458ccc
nop
lea rcx, [rsp + 0x4f0]
call fcn.004010d4
nop
lea rcx, [rsp + 0x530]
call fcn.0040365c
nop
lea r8, [rsp + 0x220]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x4f0]
call fcn.00413adc
mov r11b, byte [rsp + 0x224]
mov byte [0x00481058], r11b
mov al, byte [rsp + 0x225]
mov byte [0x00481068], al
lea rcx, [0x00481060]
mov edi, 2
cmp dword [rsp + 0x4d8], 1
je 0x45920d
mov rbx, r13
cmp dword [rsp + 0x4d8], edi
cmove rbx, rcx
mov qword [0x00481d78], rbx
jmp 0x459214
mov rbx, qword [0x00481d78]
lea rsi, [0x00481050]
cmp dword [rsp + 0x4dc], edi
je 0x45923a
mov rax, r13
cmp dword [rsp + 0x4dc], 1
cmove rax, rsi
mov qword [0x00481d80], rax
mov r14, r13
mov eax, dword [rsp + 0x4e0]
cmp eax, r13d
je 0x459252
mov r14, rsi
cmp eax, edi
cmove r14, rcx
cmp byte [rsp + 0x220], r13b
je 0x459310
cmp rbx, r13
je 0x45928e
mov rdx, qword [rbx]
lea rcx, str._n7_Zip_24.08__x64__:_Copyright__c__1999_2024_Igor_Pavlov_:_2024_08_11_n
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rbx
call fcn.0040245c
mov rdx, qword [rbx]
lea rcx, str.Usage:_7z__command____switches_...___archive_name____file_names_...____listfile__n_n_Commands__n__a_:_Add_files_to_archive_n__b_:_Benchmark_n__d_:_Delete_files_from_archive_n__e_:_Extract_files_from_archive__without_using_directory_names__n__h_:_Calculate_hash_values_for_files_n__i_:_Show_information_about_supported_formats_n__l_:_List_contents_of_archive_n__rn_:_Rename_files_in_archive_n__t_:_Test_integrity_of_archive_n__u_:_Update_files_to_archive_n__x_:_eXtract_files_with_full_paths_n_n_Switches__n_____:_Stop_switches_and__listfile_parsing_n___ai_r__0___m__2___w_____listfile_wildcard_:_Include_archives_n___ax_r__0___m__2___w_____listfile_wildcard_:_eXclude_archives_n___aoastu_:_set_Overwrite_mode_n___an_:_disable_archive_name_field_n___bb_0_3__:_set_output_log_level_n___bd_:_disable_progress_indicator_n___bsoep012_:_set_output_stream_for_output_error_progress_line_n___bt_:_show_execution_time_statistics_n___i_r__0___m__2___w_____listfile_wildcard_:_Include_filenames_n___mParameters_:_set_compression_Method_n_____mmt_N__:_set_number_of_CPU_threads_n_____mx_N__:_set_compression_level:__mx1__fastest__...__mx9__ultra__n___oDirectory_:_set_Output_directory_n___pPassword_:_set_Password_n___r__0__:_Recurse_subdirectories_for_name_search_n___saaes_:_set_Archive_name_mode_n___sccUTF_8WINDOS_:_set_charset_for_console_input_output_n___scsUTF_8UTF_16LEUTF_16BEWINDOSid_:_set_charset_for_list_files_n___scrc_CRC32CRC64SHA256SHA1XXH64__:_set_hash_function_for_x__e__h_commands_n___sdel_:_delete_files_after_compression_n___seml_.__:_send_archive_by_email_n___sfx_name__:_Create_SFX_archive_n___si_name__:_read_data_from_stdin_n___slp_:_set_Large_Pages_mode_n___slt_:_show_technical_information_for_l__List__command_n___snh_:_store_hard_links_as_links_n___snl_:_store_symbolic_links_as_links_n___sni_:_store_NT_security_information_n___sns____:_store_NTFS_alternate_streams_n___so_:_write_data_to_stdout_n___spd_:_disable_wildcard_matching_for_file_names_n___spe_:_eliminate_duplication_of_root_folder_for_extract_command_n___spf_2__:_use_fully_qualified_file_paths_n___ssc____:_set_sensitive_case_mode_n___sse_:_stop_archive_creating__if_it_cant_open_some_input_file_n___ssp_:_do_not_change_Last_Access_Time_of_source_files_while_archiving_n___ssw_:_compress_shared_files_n___stl_:_set_archive_timestamp_from_the_most_recently_modified_file_n___stmHexMask_:_set_CPU_thread_affinity_mask__hexadecimal_number__n___stxType_:_exclude_archive_type_n___tType_:_Set_type_of_archive_n___u____p__q__r__x__y__z___newArchiveName__:_Update_options_n___vSize_bkmg__:_Create_volumes_n___w_path__:_assign_Work_directory._Empty_path_means_a_temporary_directory_n___x_r__0___m__2___w_____listfile_wildcard_:_eXclude_filenames_n___y_:_assume_Yes_on_all_queries_n
call qword [sym.imp.msvcrt.dll_fputs]
nop
mov rcx, qword [rsp + 0x530]
call fcn.00402344
lea rcx, [rsp + 0x4f0]
call fcn.0040186c
nop
lea rcx, [rsp + 0x220]
call fcn.004589c0
nop
movsxd rbx, dword [rsp + 0xc0]
mov rdi, rbx
cmp ebx, r13d
je 0x4592fc
shl rdi, 3
mov r12d, 8
add ebx, ebp
sub rdi, r12
mov rax, qword [rsp + 0xb8]
mov rsi, qword [rdi + rax]
cmp rsi, r13
je 0x4592f7
mov rcx, qword [rsi]
call fcn.00402344
mov rcx, rsi
call fcn.00402344
cmp ebx, r13d
jne 0x4592d1
mov rcx, qword [rsp + 0xb8]
call fcn.00402344
xor eax, eax
jmp 0x45b470
cmp byte [rsp + 0x228], r13b
je 0x459358
cmp rbx, r13
je 0x45933e
mov rdx, qword [rbx]
lea rcx, str._n7_Zip_24.08__x64__:_Copyright__c__1999_2024_Igor_Pavlov_:_2024_08_11_n
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rbx
call fcn.0040245c
mov rbx, qword [0x00481d78]
cmp dword [rsp + 0x538], r13d
je 0x459358
mov rdx, qword [rsp + 0x530]
mov rcx, rbx
call fcn.00402884
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x4f0]
call fcn.00415500
mov r11d, dword [rsp + 0x250]
mov rax, 0xffffffffffffffff
cmp r11d, eax
je 0x459396
mov dword [0x0048105c], r11d
mov dword [0x0048106c], r11d
mov dword [0x00481048], r11d
movzx eax, word [rsp + 0x22e]
mov word [0x00481059], ax
mov word [0x00481069], ax
mov dword [rsp + 0x8c0], 1
cmp dword [rsp + 0x4e4], r13d
je 0x4593d1
mov eax, dword [rsp + 0x4d8]
cmp dword [rsp + 0x4e0], eax
je 0x4593d8
mov dword [rsp + 0x8c0], edi
mov r15d, 0x50
cmp r14, r13
je 0x45940d
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
lea rdx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
cmp eax, r13d
je 0x45940d
movzx r15d, word [rsp + 0x90]
mov ecx, 0x88
call fcn.0040230c
mov qword [rsp + 0x8c8], rax
cmp rax, r13
je 0x459431
mov rcx, rax
call fcn.00458670
mov rbp, rax
jmp 0x459434
mov rbp, r13
mov qword [rsp + 0x120], r13
mov rdx, r13
mov qword [rsp + 0x128], r13
mov qword [rsp + 0x130], r13
mov dword [rsp + 0x138], r13d
mov dword [rsp + 0x13c], r13d
mov qword [rsp + 0x140], r13
mov dword [rsp + 0x148], r13d
mov dword [rsp + 0x14c], r13d
cmp rbp, r13
je 0x4594ab
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + VariantCopy]
mov rcx, qword [rsp + 0x120]
cmp rcx, r13
je 0x4594a3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rdx, qword [rsp + 0x128]
jmp 0x4594ab
mov rdx, qword [rsp + 0x128]
mov qword [rsp + 0x120], rbp
mov rax, rbp
lea rcx, [rbp + 8]
neg rax
sbb rbx, rbx
and rbx, rcx
je 0x4594d6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rdx, qword [rsp + 0x128]
cmp rdx, r13
je 0x4594e4
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x10]
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x540], rbp
mov al, byte [rsp + 0x221]
mov byte [rbp + 0x80], al
mov al, byte [rsp + 0x222]
mov byte [rbp + 0x81], al
mov rcx, rbp
call fcn.0043a05c
xor ebx, ebx
cmp eax, ebx
je 0x459538
mov dword [rsp + 0x8c0], eax
lea rdx, [0x00480188]
lea rcx, [rsp + 0x8c0]
call sub.msvcrt.dll__CxxThrowException
int3
mov rcx, rbp
call fcn.00432918
lea r11, [rsp + 0x120]
mov qword [0x00481d68], r11
lea rcx, [rsp + 0x90]
call fcn.0040365c
nop
lea rdx, [rsp + 0x90]
mov rcx, rbp
call fcn.00438994
cmp dword [rsp + 0x98], ebx
je 0x4595ac
mov rax, qword [0x00481d78]
mov rdi, rsi
cmp rax, rbx
cmovne rdi, rax
mov rbx, qword [rsp + 0x90]
mov rcx, rdi
call fcn.0040245c
mov rdx, rbx
mov rcx, rdi
call fcn.00402884
mov rcx, rax
call fcn.0040245c
xor ebx, ebx
mov rcx, qword [rsp + 0x90]
call fcn.00402344
lea rcx, [rsp + 0x280]
call fcn.00413260
mov dil, al
cmp dword [rbp + 0x58], ebx
jne 0x45966a
cmp al, bl
jne 0x4595f1
cmp dword [rsp + 0x280], 6
je 0x4595f1
lea rcx, [rsp + 0x280]
call fcn.0041326c
cmp al, bl
je 0x45966a
cmp dword [rbp + 0x30], ebx
je 0x459646
lea rdx, str.Cant_load_module:
lea rcx, [rsp + 0x90]
call fcn.00403710
nop
lea rdx, [rbp + 0x28]
lea rcx, [rsp + 0x90]
call fcn.00403aa4
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xc8]
call fcn.004037b8
lea rdx, [0x004800d8]
lea rcx, [rsp + 0xc8]
call sub.msvcrt.dll__CxxThrowException
nop
lea rax, str.7_Zip_cannot_find_the_code_that_works_with_archives.
mov qword [rsp + 0x8c0], rax
lea rdx, [0x00480020]
lea rcx, [rsp + 0x8c0]
call sub.msvcrt.dll__CxxThrowException
int3
mov qword [rsp + 0xf0], rbx
mov dword [rsp + 0xf8], ebx
mov dword [rsp + 0xfc], ebx
lea r8, [rsp + 0xf0]
lea rdx, [rsp + 0x4b8]
mov rcx, rbp
call fcn.00443314
cmp al, bl
jne 0x4596c0
lea rax, str.Unsupported_archive_type
mov qword [rsp + 0x8c0], rax
lea rdx, [0x00480020]
lea rcx, [rsp + 0x8c0]
call sub.msvcrt.dll__CxxThrowException
int3
mov qword [rsp + 0x150], rbx
mov dword [rsp + 0x158], ebx
mov dword [rsp + 0x15c], ebx
mov r13d, ebx
mov r12d, 8
cmp dword [rsp + 0x4d0], ebx
jbe 0x45978b
xor eax, eax
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9c], eax
mov rax, qword [rsp + 0x4c8]
lea r8, [rsp + 0x90]
mov rdx, qword [rbx + rax]
mov rcx, rbp
call fcn.004392bc
test al, al
je 0x459767
cmp dword [rsp + 0x98], 1
jne 0x459767
mov rax, qword [rsp + 0x90]
mov edx, dword [rax]
lea rcx, [rsp + 0x150]
call fcn.004583d4
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402344
inc r13d
add rbx, r12
cmp r13d, dword [rsp + 0x4d0]
jb 0x4596ec
xor ebx, ebx
jmp 0x45978b
lea rax, str.Unsupported_archive_type
mov qword [rsp + 0x8c0], rax
lea rdx, [0x00480020]
lea rcx, [rsp + 0x8c0]
call sub.msvcrt.dll__CxxThrowException
nop
cmp dil, bl
jne 0x4597b3
lea rcx, [rsp + 0x280]
call fcn.0041326c
cmp al, bl
jne 0x4597b3
mov rax, qword [rsp + 0x280]
cmp eax, 9
je 0x4597b3
cmp eax, 7
jne 0x4597e8
lea rcx, [rsp + 0x120]
call fcn.0040e3c8
cmp eax, ebx
je 0x4597e0
mov dword [rsp + 0x8c0], eax
lea rdx, [0x00480188]
lea rcx, [rsp + 0x8c0]
call sub.msvcrt.dll__CxxThrowException
int3
mov rax, qword [rsp + 0x280]
mov dword [rsp + 0x8c8], ebx
mov r13d, ebx
mov dword [rsp + 0x8d8], ebx
cmp eax, r12d
jne 0x45a15d
mov rax, qword [0x00481d78]
cmp rax, rbx
cmovne rsi, rax
mov rcx, rsi
call fcn.0040245c
mov rdx, qword [rsi]
lea rcx, str.Libs:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.0040245c
mov edi, ebx
cmp dword [rbp + 0x20], ebx
jbe 0x459918
mov r14, rbx
mov edx, edi
mov rcx, rsi
call fcn.00456db0
mov r11, qword [rbp + 0x18]
mov r15, qword [r14 + r11]
mov rdx, qword [rsi]
lea rcx, [0x00460fe0]
call qword [sym.imp.msvcrt.dll_fputs]
movzx edx, word [r15 + 0x4a]
mov rcx, rsi
call fcn.004025ac
mov rdx, qword [rax]
lea rcx, [0x00466d24]
call qword [sym.imp.msvcrt.dll_fputs]
movzx ebx, word [r15 + 0x48]
lea rcx, [rsp + 0x90]
call fcn.00402ea4
nop
mov edx, ebx
lea rcx, [rsp + 0x90]
call fcn.00403124
cmp dword [rsp + 0x98], 2
jae 0x4598c2
mov dl, 0x30
lea rcx, [rsp + 0x90]
call fcn.004032a8
cmp dword [rsp + 0x98], 2
jb 0x4598a9
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.msvcrt.dll_fputs]
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402344
mov rbx, qword [r15 + 8]
mov rdx, qword [rsi]
lea rcx, [0x00460fb8]
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, rbx
mov rcx, rsi
call fcn.00402884
mov rcx, rax
call fcn.0040245c
inc edi
add r14, r12
cmp edi, dword [rbp + 0x20]
jb 0x45983e
xor ebx, ebx
mov rcx, rsi
call fcn.0040245c
mov rdx, qword [rsi]
lea rcx, str.Formats:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.0040245c
lea rcx, str.KSNFMGOPBELHXCcamr
call sub.msvcrt.dll_strlen
mov r14, rax
mov qword [rsp + 0x160], rax
lea rcx, str.wudn
call sub.msvcrt.dll_strlen
mov r15, rax
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x8c0], ebx
cmp dword [rbp + 0x58], ebx
jbe 0x459cb5
mov rcx, rbx
mov qword [rsp + 0x168], rbx
mov r13d, 0x20
mov rax, qword [rbp + 0x50]
mov rdi, qword [rcx + rax]
mov edx, dword [rdi + 0x58]
mov rcx, rsi
call fcn.00456db0
mov r11b, byte [rdi + 0x40]
neg r11b
sbb al, al
and al, 0x23
add al, r13b
movzx ecx, al
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
test r14d, r14d
je 0x4599f0
lea r14, str.KSNFMGOPBELHXCcamr
mov r13, qword [rsp + 0x160]
bt dword [rdi], ebx
jae 0x4599d2
mov al, byte [r14]
jmp 0x4599d4
mov al, 0x2e
movzx ecx, al
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
inc ebx
inc r14
cmp ebx, r13d
jb 0x4599c8
mov r13d, 0x20
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
cmp dword [rdi + 4], 0
je 0x459a4d
xor ebx, ebx
test r15d, r15d
je 0x459a33
lea r14, str.wudn
bt dword [rdi + 4], ebx
jae 0x459a1b
mov al, byte [r14]
jmp 0x459a1d
mov al, 0x2e
movzx ecx, al
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
inc ebx
inc r14
cmp ebx, r15d
jb 0x459a10
mov edx, dword [rdi + 4]
shr edx, 0x1b
mov rcx, rsi
call fcn.004025ac
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
mov ebx, dword [rdi + 0x20]
mov rdx, qword [rdi + 0x18]
mov rcx, rsi
call fcn.00402884
cmp ebx, r12d
jae 0x459a85
mov eax, r12d
sub eax, ebx
mov ebx, eax
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
dec rbx
jne 0x459a74
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
lea rcx, [rsp + 0x90]
call fcn.0040365c
nop
xor ebx, ebx
cmp dword [rdi + 0x30], ebx
jbe 0x459b17
xor r15d, r15d
test ebx, ebx
je 0x459aba
lea rcx, [rsp + 0x90]
call fcn.00404018
mov rax, qword [rdi + 0x28]
mov r14, qword [r15 + rax]
mov rdx, r14
lea rcx, [rsp + 0x90]
call fcn.00403aa4
cmp dword [r14 + 0x18], 0
je 0x459b0d
lea rdx, [0x00466d60]
lea rcx, [rsp + 0x90]
call fcn.00403ae8
lea rdx, [r14 + 0x10]
lea rcx, [rsp + 0x90]
call fcn.00403aa4
mov dl, 0x29
lea rcx, [rsp + 0x90]
call fcn.00403fa0
inc ebx
add r15, r12
cmp ebx, dword [rdi + 0x30]
jb 0x459aa9
mov ebx, dword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rcx, rsi
call fcn.00402884
cmp ebx, 0xd
jae 0x459b4d
mov eax, 0xd
sub eax, ebx
mov ebx, eax
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
dec rbx
jne 0x459b3c
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
xor ebx, ebx
cmp dword [rdi + 0x44], ebx
je 0x459b87
mov rdx, qword [rsi]
lea rcx, str.offset
call qword [sym.imp.msvcrt.dll_fputs]
mov edx, dword [rdi + 0x44]
mov rcx, rsi
call fcn.004025ac
mov rdx, qword [rax]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
mov r15d, ebx
cmp dword [rdi + 0x50], ebx
jbe 0x459c57
mov r13, rbx
cmp r15d, ebx
je 0x459bab
mov rdx, qword [rsi]
lea rcx, str.__
call qword [sym.imp.msvcrt.dll_fputs]
mov rax, qword [rdi + 0x48]
mov rbx, qword [r13 + rax]
mov qword [rsp + 0x100], rbx
xor r14d, r14d
cmp qword [rbx + 8], r14
jbe 0x459c3e
lea r12, str.0123456789ABCDEF0123456789abcdef
test r14, r14
je 0x459bdf
mov rdx, qword [rsi]
mov ecx, 0x20
call qword [sym.imp.msvcrt.dll_fputc]
mov rax, qword [rbx]
movzx ecx, byte [rax + r14]
lea eax, [rcx - 0x21]
cmp eax, 0x5e
ja 0x459bfa
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
jmp 0x459c2f
mov rbx, rcx
mov rax, rcx
shr rax, 4
movzx ecx, byte [rax + r12]
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
mov r11b, bl
and r11d, 0xf
movzx ecx, byte [r11 + r12]
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
mov rbx, qword [rsp + 0x100]
inc r14
cmp r14, qword [rbx + 8]
jb 0x459bcc
mov r12d, 8
inc r15d
add r13, r12
cmp r15d, dword [rdi + 0x50]
mov ebx, 0
jb 0x459b96
lea r13d, [rbx + 0x20]
mov rcx, rsi
call fcn.0040245c
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402344
mov r14d, dword [rsp + 0x8c0]
inc r14d
mov dword [rsp + 0x8c0], r14d
mov rcx, qword [rsp + 0x168]
add rcx, r12
mov qword [rsp + 0x168], rcx
cmp r14d, dword [rbp + 0x58]
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0x160]
jb 0x459987
mov r13d, dword [rsp + 0x8d8]
mov rcx, rsi
call fcn.0040245c
mov rdx, qword [rsi]
lea rcx, str.Codecs:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.0040245c
mov r14d, ebx
cmp dword [0x00481a90], ebx
jbe 0x459de4
lea rdi, [0x00481890]
mov r15d, 0x20
mov rbx, qword [rdi]
mov rdx, qword [rsi]
lea rcx, [0x00463940]
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
mov edx, dword [rbx + 0x20]
cmp edx, 1
jne 0x459d26
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
jmp 0x459d2e
mov rcx, rsi
call fcn.004025ac
mov rax, qword [rbx + 8]
neg rax
sbb cl, cl
and cl, 0x25
add cl, r15b
movzx ecx, cl
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
mov r11, qword [rbx]
neg r11
sbb al, al
and al, 0x24
add al, r15b
movzx ecx, al
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
mov r11b, byte [rbx + 0x24]
neg r11b
sbb al, al
and al, 0x26
add al, r15b
movzx ecx, al
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
lea rdx, [rsp + 0x90]
mov rcx, qword [rbx + 0x10]
call fcn.00401cd0
mov r8d, r12d
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.00456d5c
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
mov rdx, qword [rsi]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.0040245c
inc r14d
add rdi, r12
cmp r14d, dword [0x00481a90]
jb 0x459cf1
xor ebx, ebx
jmp 0x459dea
mov r15d, 0x20
mov rcx, qword [rsp + 0x120]
mov rax, qword [rcx]
lea rdx, [rsp + 0x8d0]
call qword [rax + 0x18]
cmp eax, ebx
jne 0x459f80
mov edi, ebx
cmp dword [rsp + 0x8d0], ebx
jbe 0x459f80
mov r14, 0xffffffffffffffff
mov edx, edi
mov rcx, rbp
call fcn.004383d4
mov edx, eax
mov rcx, rsi
call fcn.00456db0
mov edx, edi
mov rcx, rbp
call fcn.00437ef4
cmp eax, 1
jne 0x459e4f
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
jmp 0x459e59
mov edx, eax
mov rcx, rsi
call fcn.004025ac
mov edx, edi
mov rcx, rbp
call fcn.00438404
neg al
sbb cl, cl
and cl, 0x25
add cl, r15b
movzx ecx, cl
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
mov edx, edi
mov rcx, rbp
call fcn.004383f0
neg al
sbb cl, cl
and cl, 0x24
add cl, r15b
movzx ecx, cl
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
lea r8, [rsp + 0x8c0]
mov edx, edi
mov rcx, rbp
call fcn.00438418
mov cl, byte [rsp + 0x8c0]
neg cl
sbb dl, dl
and dl, 0xf6
add dl, 0x2a
movzx ecx, dl
mov edx, 0x46
cmp al, bl
cmovne ecx, edx
movzx ecx, cl
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
lea r8, [rsp + 0x8d8]
mov edx, edi
mov rcx, rbp
call fcn.00437f7c
mov rcx, qword [rsp + 0x8d8]
cmp eax, ebx
cmovne rcx, r14
mov qword [rsp + 0x8d8], rcx
lea rdx, [rsp + 0xc8]
call fcn.00401cd0
mov r8d, r12d
lea rdx, [rsp + 0xc8]
mov rcx, rsi
call fcn.00456d5c
mov r8d, edi
lea rdx, [rsp + 0x90]
mov rcx, rbp
call fcn.00438004
mov rbx, qword [rax]
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
mov rdx, qword [rsi]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.0040245c
mov rcx, qword [rsp + 0x90]
call fcn.00402344
inc edi
cmp edi, dword [rsp + 0x8d0]
mov ebx, 0
jb 0x459e1e
mov rcx, rsi
call fcn.0040245c
mov rdx, qword [rsi]
lea rcx, str.Hashers:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.0040245c
mov r14d, ebx
cmp dword [0x00481a94], ebx
jbe 0x45a061
lea rdi, [0x00481810]
mov rbx, qword [rdi]
mov rdx, qword [rsi]
lea rcx, [0x00463940]
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
lea rdx, [rsp + 0x90]
mov ecx, dword [rbx + 0x18]
call fcn.00401b1c
mov r8d, 4
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.00456d5c
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
lea rdx, [rsp + 0xc8]
mov rcx, qword [rbx + 8]
call fcn.00401cd0
mov r8d, r12d
lea rdx, [rsp + 0xc8]
mov rcx, rsi
call fcn.00456d5c
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
mov rdx, qword [rsi]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.0040245c
inc r14d
add rdi, r12
cmp r14d, dword [0x00481a94]
jb 0x459fb6
xor ebx, ebx
mov rcx, qword [rsp + 0x128]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov dword [rsp + 0x8d0], eax
mov edi, ebx
cmp eax, ebx
jbe 0x45b359
mov edx, edi
mov rcx, rbp
call fcn.004383e4
mov edx, eax
mov rcx, rsi
call fcn.00456db0
mov edx, edi
mov rcx, rbp
call fcn.0043823c
lea rdx, [rsp + 0x90]
mov ecx, eax
call fcn.00401b1c
mov r8d, 4
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.00456d5c
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
mov edx, edi
mov rcx, rbp
call fcn.004380dc
lea rdx, [rsp + 0x100]
mov rcx, rax
call fcn.00401cd0
mov r8d, r12d
lea rdx, [rsp + 0x100]
mov rcx, rsi
call fcn.00456d5c
mov r8d, edi
lea rdx, [rsp + 0xc8]
mov rcx, rbp
call fcn.00438154
mov rbx, qword [rax]
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
mov rdx, qword [rsi]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.0040245c
mov rcx, qword [rsp + 0xc8]
call fcn.00402344
inc edi
cmp edi, dword [rsp + 0x8d0]
jb 0x45a080
mov r14d, dword [rsp + 0x8c8]
xor ebx, ebx
jmp 0x45b361
cmp eax, 7
jne 0x45a1ce
mov rax, qword [0x00481d78]
cmp rax, rbx
cmovne rsi, rax
mov r9, qword [rsi]
mov r8d, dword [rsp + 0x4e8]
lea rdx, [rsp + 0x2f8]
lea rcx, [rsp + 0x120]
call fcn.0045049c
mov r13d, eax
cmp eax, 1
jne 0x45b354
mov rcx, rsi
call fcn.0040245c
mov rdx, qword [0x00481d80]
cmp rdx, rbx
je 0x45a1c0
mov rdx, qword [rdx]
lea rcx, str._nDecoding_ERROR_n
call qword [sym.imp.msvcrt.dll_fputs]
mov r14d, 2
mov r13d, ebx
jmp 0x45b361
cmp dil, bl
jne 0x45a77d
cmp eax, 6
je 0x45a77d
lea rcx, [rsp + 0x280]
call fcn.0041326c
cmp al, bl
je 0x45a543
cmp byte [rsp + 0x359], bl
je 0x45a21b
cmp dword [rsp + 0x440], ebx
jne 0x45a21b
lea rdx, str.7zCon.sfx
lea rcx, [rsp + 0x438]
call fcn.004039d8
lea rax, [0x00467d28]
mov qword [rsp + 0x550], rax
mov edx, 0xc8
lea rcx, [rsp + 0x558]
call fcn.004539e4
nop
mov qword [rsp + 0x640], rbx
mov byte [rsp + 0x648], bl
mov byte [rsp + 0x649], bl
mov byte [rsp + 0x64a], bl
lea rcx, [rsp + 0x650]
call fcn.0040365c
nop
mov rax, qword [0x00481d78]
mov qword [rsp + 0x630], rax
mov rax, qword [0x00481d80]
mov qword [rsp + 0x638], rax
mov qword [rsp + 0x620], r14
mov al, byte [rsp + 0x229]
mov byte [rsp + 0x628], al
cmp byte [rsp + 0x298], bl
je 0x45a2b0
cmp dword [rsp + 0x2a8], ebx
je 0x45a2b0
mov bl, 1
mov byte [rsp + 0x64a], bl
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x650]
call fcn.004038a8
lea rcx, [rsp + 0x670]
call fcn.00458194
nop
lea rax, [0x00469460]
mov qword [rsp + 0x660], rax
lea rax, [0x00469448]
mov qword [rsp + 0x668], rax
xor esi, esi
mov byte [rsp + 0x7d0], sil
mov byte [rsp + 0x7d1], sil
mov byte [rsp + 0x7d2], sil
lea rcx, [rsp + 0x7d8]
call fcn.0040365c
nop
mov eax, dword [rsp + 0x4e4]
mov dword [rsp + 0x760], eax
mov eax, dword [rsp + 0x8c0]
mov dword [rsp + 0x75c], eax
cmp r14, rsi
je 0x45a34c
lea eax, [r15 - 1]
mov dword [rsp + 0x744], eax
mov byte [rsp + 0x7d1], bl
cmp byte [rsp + 0x298], sil
je 0x45a370
cmp dword [rsp + 0x2a8], esi
jne 0x45a370
mov byte [rsp + 0x7d2], 1
jmp 0x45a378
mov byte [rsp + 0x7d2], sil
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x7d8]
call fcn.004038a8
mov r11b, byte [rsp + 0x35e]
mov byte [rsp + 0x758], r11b
mov al, byte [rsp + 0x229]
mov byte [rsp + 0x20], al
mov r9, r14
mov r8, qword [0x00481d80]
mov rdx, qword [0x00481d78]
lea rcx, [rsp + 0x670]
call fcn.004577d8
mov dword [rsp + 0x90], esi
lea rcx, [rsp + 0x98]
call fcn.00402ea4
mov qword [rsp + 0xa8], rsi
mov dword [rsp + 0xb0], esi
mov dword [rsp + 0xb4], esi
mov byte [rsp + 0x40], 1
lea rax, [rsp + 0x660]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x550]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x358]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x258]
lea r8, [rsp + 0x288]
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.00448db8
mov r13d, eax
cmp qword [rsp + 0x738], rsi
je 0x45a465
mov dl, 1
lea rcx, [rsp + 0x670]
call fcn.0045bffc
mov r9, qword [0x00481d78]
mov rax, r9
cmp r9, rsi
cmove rax, qword [0x00481d80]
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x670]
mov ecx, r13d
call fcn.00457a20
mov r14d, eax
movsxd rbx, dword [rsp + 0xb0]
mov rdi, rbx
cmp ebx, esi
je 0x45a4dd
shl rdi, 3
add ebx, 0xffffffff
sub rdi, r12
mov rcx, qword [rsp + 0xa8]
mov rsi, qword [rcx + rdi]
test rsi, rsi
je 0x45a4d9
mov rcx, qword [rsi]
call fcn.00402344
mov rcx, rsi
call fcn.00402344
test ebx, ebx
jne 0x45a4b2
mov rcx, qword [rsp + 0xa8]
call fcn.00402344
mov rcx, qword [rsp + 0x98]
call fcn.00402344
nop
mov rcx, qword [rsp + 0x7d8]
call fcn.00402344
lea rcx, [rsp + 0x670]
call fcn.00457878
nop
lea rax, [0x00467d28]
mov qword [rsp + 0x550], rax
mov rcx, qword [rsp + 0x650]
call fcn.00402344
lea rcx, [rsp + 0x558]
call fcn.0045c130
xor ebx, ebx
jmp 0x45b361
cmp dword [rsp + 0x280], 9
jne 0x45a721
lea rcx, [rsp + 0x660]
call fcn.00458294
nop
cmp r14, rbx
je 0x45a56f
lea eax, [r15 - 1]
mov dword [rsp + 0x73c], eax
mov al, byte [rsp + 0x229]
mov byte [rsp + 0x20], al
mov r9, r14
mov r8, qword [0x00481d80]
mov rdx, qword [0x00481d78]
lea rcx, [rsp + 0x668]
call fcn.004577d8
mov r11b, byte [rsp + 0x228]
mov byte [rsp + 0x7e9], r11b
lea rdx, [rsp + 0x240]
lea rcx, [rsp + 0x7f0]
call fcn.00402fb8
lea rcx, [rsp + 0x90]
call fcn.00402ea4
nop
lea rax, [rsp + 0x660]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
lea r8, [rsp + 0x498]
lea rdx, [rsp + 0x258]
lea rcx, [rsp + 0x120]
call fcn.0043371c
mov r13d, eax
mov dword [rsp + 0xc8], ebx
lea rcx, [rsp + 0xd0]
call fcn.00402ea4
mov qword [rsp + 0xe0], rbx
mov dword [rsp + 0xe8], ebx
mov dword [rsp + 0xec], ebx
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xd0]
call fcn.00402fb8
mov r9, qword [0x00481d78]
mov rcx, r9
cmp r9, rbx
cmove rcx, qword [0x00481d80]
mov al, byte [rsp + 0x228]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0xc8]
lea rdx, [rsp + 0x668]
mov ecx, r13d
call fcn.00457a20
mov r14d, eax
movsxd rbx, dword [rsp + 0xe8]
mov rdi, rbx
test ebx, ebx
je 0x45a6bd
shl rdi, 3
add ebx, 0xffffffff
sub rdi, r12
mov rax, qword [rsp + 0xe0]
mov rsi, qword [rax + rdi]
test rsi, rsi
je 0x45a6b9
mov rcx, qword [rsi]
call fcn.00402344
mov rcx, rsi
call fcn.00402344
test ebx, ebx
jne 0x45a692
mov rcx, qword [rsp + 0xe0]
call fcn.00402344
mov rcx, qword [rsp + 0xd0]
call fcn.00402344
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402344
nop
mov rcx, qword [rsp + 0x7f0]
call fcn.00402344
mov rcx, qword [rsp + 0x7d8]
call fcn.00402344
mov rcx, qword [rsp + 0x7c8]
call fcn.00402344
lea rcx, [rsp + 0x668]
call fcn.00457878
xor ebx, ebx
jmp 0x45b361
mov rbx, qword [0x00481d80]
test rbx, rbx
je 0x45a75d
mov rcx, rbx
call fcn.0040245c
mov rdx, qword [rbx]
lea rcx, [0x00466d30]
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rbx]
lea rcx, str.Incorrect_command_line
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rbx
call fcn.0040245c
mov dword [rsp + 0x8c0], 7
lea rdx, [0x00480130]
lea rcx, [rsp + 0x8c0]
call sub.msvcrt.dll__CxxThrowException
int3
mov qword [rsp + 0xc8], rbx
mov dword [rsp + 0xd0], ebx
mov dword [rsp + 0xd4], ebx
mov qword [rsp + 0x100], rbx
mov dword [rsp + 0x108], ebx
mov dword [rsp + 0x10c], ebx
cmp byte [rsp + 0x226], bl
je 0x45a873
lea rcx, [rsp + 0xc8]
call fcn.00446090
mov r13d, 0x10
mov rcx, r13
call fcn.0040230c
mov qword [rsp + 0x8d0], rax
cmp rax, rbx
je 0x45a7f3
lea rdx, [rsp + 0x2e8]
mov rcx, rax
call fcn.004037b8
mov r11, rax
jmp 0x45a7f6
mov r11, rbx
mov eax, dword [rsp + 0xd0]
mov rdx, rax
inc eax
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0xc8]
mov qword [rax + rdx*8], r11
lea rcx, [rsp + 0x100]
call fcn.00446090
mov rcx, r13
call fcn.0040230c
mov qword [rsp + 0x8d0], rax
cmp rax, rbx
je 0x45a84c
lea rdx, [rsp + 0x2e8]
mov rcx, rax
call fcn.004037b8
mov r11, rax
jmp 0x45a84f
mov r11, rbx
mov eax, dword [rsp + 0x108]
mov rcx, rax
inc eax
mov dword [rsp + 0x108], eax
mov rax, qword [rsp + 0x100]
mov qword [rax + rcx*8], r11
jmp 0x45aa00
lea rax, [0x004692f8]
mov qword [rsp + 0x550], rax
mov edx, 0xc8
lea rcx, [rsp + 0x568]
call fcn.004539e4
nop
mov dl, byte [rsp + 0x228]
mov al, dl
neg al
sbb rcx, rcx
mov rbx, qword [0x00481d78]
and rcx, rbx
mov qword [rsp + 0x558], rcx
mov rax, qword [0x00481d80]
mov qword [rsp + 0x560], rax
mov qword [rsp + 0x630], r14
mov al, byte [rsp + 0x229]
mov byte [rsp + 0x638], al
lea eax, [r15 - 1]
mov dword [rsp + 0x63c], eax
test rbx, rbx
je 0x45a906
test dl, dl
je 0x45a906
mov rdx, qword [rbx]
lea rcx, str.Scanning_the_drive_for_archives:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rbx
call fcn.0040245c
xor ebx, ebx
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0x188], rbx
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x198], rbx
lea rcx, [rsp + 0x550]
call fcn.00450550
lea rcx, [rsp + 0x90]
call fcn.0040365c
nop
lea rcx, [rsp + 0x550]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x100]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xc8]
mov r8, rax
xor edx, edx
lea rcx, [rsp + 0x2c0]
call fcn.0042c74c
mov r13d, eax
mov rcx, qword [rsp + 0x90]
call fcn.00402344
cmp qword [rsp + 0x630], rbx
je 0x45a9c6
cmp byte [rsp + 0x638], bl
jne 0x45a9c6
mov dl, 1
lea rcx, [rsp + 0x568]
call fcn.0045bffc
cmp r13d, ebx
jne 0x45a9ea
cmp byte [rsp + 0x228], bl
je 0x45a9ea
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x550]
call fcn.0045095c
nop
lea rcx, [rsp + 0x568]
call fcn.0045c130
cmp r13d, ebx
jne 0x45b29d
cmp dil, bl
je 0x45b0fa
mov ecx, 0x1d0
call fcn.0040230c
mov qword [rsp + 0x8d0], rax
cmp rax, rbx
je 0x45aa2d
mov rcx, rax
call fcn.004573a4
mov rdi, rax
jmp 0x45aa30
mov rdi, rbx
mov qword [rsp + 0x8d0], rdi
cmp rdi, rbx
je 0x45aa47
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
nop
mov al, byte [rsp + 0x298]
mov byte [rdi + 0x122], al
lea rcx, [rdi + 0x128]
lea rdx, [rsp + 0x2a0]
call fcn.004038a8
mov r11, qword [0x00481d80]
mov cl, byte [rsp + 0x229]
lea rbx, [rdi + 0x28]
mov rax, qword [0x00481d78]
mov qword [rbx + 0xe0], rax
mov qword [rbx + 0xe8], r11
mov qword [rbx + 0xd0], r14
mov byte [rbx + 0xd8], cl
xor ecx, ecx
mov qword [rdi + 0x180], rcx
mov byte [rdi + 0x13d], cl
mov byte [rdi + 0x13e], cl
mov qword [rdi + 0x188], rcx
mov qword [rdi + 0x190], rcx
mov qword [rdi + 0x198], rcx
mov qword [rdi + 0x1a0], rcx
mov qword [rdi + 0x1a8], rcx
mov qword [rdi + 0x1b0], rcx
mov qword [rdi + 0x1b8], rcx
mov qword [rdi + 0x1c0], rcx
cmp dword [rsp + 0xd0], 1
seta al
mov byte [rdi + 0x121], al
mov eax, dword [rsp + 0x4e4]
mov dword [rdi + 0x1cc], eax
mov eax, dword [rsp + 0x8c0]
mov dword [rdi + 0x1c8], eax
cmp r14, rcx
je 0x45ab23
lea eax, [r15 - 1]
mov dword [rdi + 0x104], eax
lea rcx, [rsp + 0x1b0]
call fcn.00456c90
xor r15d, r15d
mov byte [rsp + 0x200], r15b
mov byte [rsp + 0x201], r15b
mov byte [rsp + 0x202], r15b
mov byte [rsp + 0x203], r15b
mov qword [rsp + 0x208], r15
mov dword [rsp + 0x210], r15d
mov dword [rsp + 0x214], r15d
lea rdx, [rsp + 0x308]
lea rcx, [rsp + 0x1b0]
call fcn.00457328
mov r11b, byte [rsp + 0x226]
mov byte [rsp + 0x200], r11b
mov al, byte [rsp + 0x227]
mov byte [rsp + 0x201], al
mov al, byte [rsp + 0x22a]
mov byte [rsp + 0x202], al
cmp dword [rsp + 0x280], 3
sete byte [rsp + 0x203]
lea rdx, [rsp + 0x2f8]
lea rcx, [rsp + 0x208]
call fcn.004140f4
lea rcx, [rsp + 0x90]
call fcn.0040365c
nop
lea rcx, [rsp + 0x800]
call fcn.00431570
nop
mov r14, r15
cmp dword [rsp + 0x2b8], r15d
je 0x45ac40
lea r14, [rsp + 0x800]
lea r8, [rsp + 0x2b0]
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x800]
call fcn.00432ca4
cmp eax, r15d
je 0x45ac40
mov dword [rsp + 0x8c0], eax
lea rdx, [0x00480188]
lea rcx, [rsp + 0x8c0]
call sub.msvcrt.dll__CxxThrowException
int3
mov rax, qword [rsp + 0x258]
mov rcx, qword [rax]
lea rax, [rdi + 8]
add rcx, 0x10
lea rdx, [rsp + 0x170]
mov qword [rsp + 0x60], rdx
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc8]
lea r8, [rsp + 0x150]
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.0042e4bc
mov r13d, eax
cmp qword [rbx + 0xd0], r15
je 0x45ace0
cmp byte [rbx + 0xd8], r15b
jne 0x45ace0
lea rcx, [rbx + 8]
mov dl, 1
call fcn.0045bffc
cmp dword [rsp + 0x98], r15d
je 0x45ad3d
mov rsi, qword [0x00481d80]
cmp rsi, r15
je 0x45ad31
mov rbx, qword [rsp + 0x90]
mov rcx, rsi
call fcn.0040245c
mov rdx, qword [rsi]
lea rcx, str.ERROR:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.0040245c
mov rdx, rbx
mov rcx, rsi
call fcn.00402884
mov rcx, rax
call fcn.0040245c
mov eax, 0x80004005
cmp r13d, r15d
cmove r13d, eax
mov rsi, qword [0x00481d78]
mov bl, r15b
cmp rsi, r15
je 0x45adac
mov rcx, rsi
call fcn.0040245c
cmp qword [rdi + 0x180], 1
jbe 0x45adac
mov rdx, qword [rsi]
lea rcx, str.Archives:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x180]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
mov rdx, qword [rsi]
lea rcx, str.OK_archives:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x188]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
cmp qword [rdi + 0x190], r15
je 0x45ade3
mov bl, 1
cmp rsi, r15
je 0x45ade3
mov rdx, qword [rsi]
lea rcx, str.Cant_open_as_archive:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x190]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
cmp qword [rdi + 0x198], r15
je 0x45ae1e
mov bl, 1
cmp rsi, r15
je 0x45ae94
mov rdx, qword [rsi]
lea rcx, str.Archives_with_Errors:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x198]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
cmp rsi, r15
je 0x45ae94
cmp qword [rdi + 0x1a0], r15
je 0x45ae53
mov rdx, qword [rsi]
lea rcx, str.Archives_with_Warnings:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x1a0]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
cmp qword [rdi + 0x1b0], r15
je 0x45ae94
mov rcx, rsi
call fcn.0040245c
cmp qword [rdi + 0x1b0], r15
je 0x45ae94
mov rdx, qword [rsi]
lea rcx, str.Warnings:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x1b0]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
cmp qword [rdi + 0x1a8], r15
je 0x45aedc
mov bl, 1
cmp rsi, r15
je 0x45aee1
mov rcx, rsi
call fcn.0040245c
cmp qword [rdi + 0x1a8], r15
je 0x45aee1
mov rdx, qword [rsi]
lea rcx, str.Open_Errors:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x1a8]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
cmp bl, r15b
je 0x45aeec
mov dword [rsp + 0x8c8], 2
cmp rsi, r15
je 0x45b0a0
cmp qword [rdi + 0x198], r15
jne 0x45b067
cmp qword [rdi + 0x1b8], r15
jne 0x45b067
cmp r13d, r15d
jne 0x45b0a0
mov rax, qword [rsp + 0x190]
cmp rax, r15
je 0x45af55
mov rdx, qword [rsi]
lea rcx, str.Folders:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x190]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
mov rax, qword [rsp + 0x190]
cmp qword [rsp + 0x198], 1
jne 0x45af73
cmp rax, r15
jne 0x45af73
cmp qword [rsp + 0x1a0], r15
je 0x45aff5
mov rdx, qword [rsi]
lea rcx, str.Files:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x198]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
cmp qword [rsp + 0x1a0], r15
je 0x45aff5
mov rdx, qword [rsi]
lea rcx, str.Alternate_Streams:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x1a0]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
mov rdx, qword [rsi]
lea rcx, str.Alternate_Streams_Size:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x180]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
mov rdx, qword [rsi]
lea rcx, str.Size:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x178]
mov rcx, rsi
call fcn.004025dc
mov rbx, rax
mov rcx, rax
call fcn.0040245c
mov rdx, qword [rbx]
lea rcx, str.Compressed:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x188]
mov rcx, rbx
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
cmp r14, r15
je 0x45b0a0
mov rcx, rsi
call fcn.0040245c
lea rdx, [rsp + 0x800]
mov rcx, rsi
call fcn.00452dcc
jmp 0x45b0a0
mov rcx, rsi
call fcn.0040245c
cmp qword [rdi + 0x1b8], r15
je 0x45b0a0
mov rdx, qword [rsi]
lea rcx, str.Sub_items_Errors:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x1b8]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
nop
mov rcx, qword [rsp + 0x860]
call fcn.00402344
mov rcx, qword [rsp + 0x850]
call fcn.00402344
lea rcx, [rsp + 0x808]
call fcn.004312e0
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402344
nop
lea rcx, [rsp + 0x1b0]
call fcn.00458364
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov r14d, dword [rsp + 0x8c8]
jmp 0x45b2b5
mov qword [rsp + 0x8d8], rbx
mov qword [rsp + 0x8d0], rbx
mov al, byte [rsp + 0x268]
mov byte [rsp + 0x8c0], al
mov al, byte [rsp + 0x269]
mov byte [rsp + 0x8c1], al
mov al, byte [rsp + 0x229]
mov byte [rsp + 0x8c2], al
mov rax, qword [rsp + 0x258]
mov rcx, qword [rax]
add rcx, 0x10
lea rax, [rsp + 0x8d0]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x8d8]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x2f8]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x298]
mov qword [rsp + 0x60], rax
mov al, byte [rsp + 0x22c]
mov byte [rsp + 0x58], al
mov al, byte [rsp + 0x228]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x48], rcx
mov al, byte [rsp + 0x232]
mov byte [rsp + 0x40], al
mov al, byte [rsp + 0x328]
mov byte [rsp + 0x38], al
lea rax, [rsp + 0x100]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x28], rax
mov al, byte [rsp + 0x226]
mov byte [rsp + 0x20], al
lea r9, [rsp + 0x150]
lea r8, [rsp + 0xf0]
mov rdx, rbp
lea rcx, [rsp + 0x8c0]
call fcn.004550d0
mov r13d, eax
mov al, byte [rsp + 0x228]
cmp al, bl
je 0x45b250
cmp qword [rsp + 0x8d0], rbx
jbe 0x45b250
mov rcx, rsi
call fcn.0040245c
mov rdx, qword [0x00481050]
lea rcx, str.Warnings:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x8d0]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
mov al, byte [rsp + 0x228]
cmp qword [rsp + 0x8d8], rbx
jbe 0x45b2aa
cmp al, bl
je 0x45b292
mov rcx, rsi
call fcn.0040245c
mov rdx, qword [0x00481050]
lea rcx, str.Errors:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x8d8]
mov rcx, rsi
call fcn.004025dc
mov rcx, rax
call fcn.0040245c
mov r14d, 2
xor r15d, r15d
jmp 0x45b2b5
mov r14d, dword [rsp + 0x8c8]
xor r15d, r15d
jmp 0x45b2b5
mov r14d, dword [rsp + 0x8c8]
xor r15d, r15d
movsxd rbx, dword [rsp + 0x108]
mov rdi, rbx
cmp ebx, r15d
je 0x45b2f5
shl rdi, 3
add ebx, 0xffffffff
sub rdi, r12
mov rax, qword [rsp + 0x100]
mov rsi, qword [rdi + rax]
cmp rsi, r15
je 0x45b2f0
mov rcx, qword [rsi]
call fcn.00402344
mov rcx, rsi
call fcn.00402344
cmp ebx, r15d
jne 0x45b2c9
mov rcx, qword [rsp + 0x100]
call fcn.00402344
nop
movsxd rbx, dword [rsp + 0xd0]
mov rdi, rbx
cmp ebx, r15d
je 0x45b343
shl rdi, 3
add ebx, 0xffffffff
sub rdi, r12
mov rax, qword [rsp + 0xc8]
mov rsi, qword [rdi + rax]
cmp rsi, r15
je 0x45b33e
mov rcx, qword [rsi]
call fcn.00402344
mov rcx, rsi
call fcn.00402344
cmp ebx, r15d
jne 0x45b317
mov rcx, qword [rsp + 0xc8]
call fcn.00402344
xor ebx, ebx
jmp 0x45b361
mov r14d, ebx
jmp 0x45b361
mov r14d, dword [rsp + 0x8c8]
cmp byte [rsp + 0x22d], bl
je 0x45b378
cmp qword [0x00481d78], rbx
je 0x45b378
call fcn.0045704c
cmp r13d, ebx
je 0x45b39a
mov dword [rsp + 0x8c0], r13d
lea rdx, [0x00480188]
lea rcx, [rsp + 0x8c0]
call sub.msvcrt.dll__CxxThrowException
nop
mov rcx, qword [rsp + 0x150]
call fcn.00402344
nop
movsxd rbx, dword [rsp + 0xf8]
mov rdi, rbx
test ebx, ebx
je 0x45b3d4
shl rdi, 3
sub rdi, r12
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rdi + rax]
call fcn.00402344
add ebx, 0xffffffff
jne 0x45b3bb
mov rcx, qword [rsp + 0xf0]
call fcn.00402344
nop
mov rcx, rbp
call fcn.00439278
nop
lea rcx, [rsp + 0x120]
call fcn.00457e84
nop
mov rcx, qword [rsp + 0x530]
call fcn.00402344
lea rcx, [rsp + 0x4f0]
call fcn.0040186c
nop
lea rcx, [rsp + 0x220]
call fcn.004589c0
nop
movsxd rbx, dword [rsp + 0xc0]
mov rdi, rbx
test ebx, ebx
je 0x45b460
shl rdi, 3
add ebx, 0xffffffff
sub rdi, r12
mov rax, qword [rsp + 0xb8]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x45b45c
mov rcx, qword [rsi]
call fcn.00402344
mov rcx, rsi
call fcn.00402344
test ebx, ebx
jne 0x45b435
mov rcx, qword [rsp + 0xb8]
call fcn.00402344
mov eax, r14d
add rsp, 0x878
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret