Function at 0x458504
Capabilities:
Accept command line arguments

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x860
mov qword [rsp + 0x210], 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.004035b8
nop
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x90]
call fcn.004011c0
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402388
mov ebp, 0xffffffff
mov ebx, dword [rsp + 0xc0]
cmp ebx, r13d
jbe 0x4585de
mov rcx, qword [rsp + 0xb8]
mov rdi, qword [rcx]
cmp rdi, r13
je 0x4585bd
mov rcx, qword [rdi]
call fcn.00402388
mov rcx, rdi
call fcn.00402388
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 0x45866e
mov rdi, qword [0x00481d58]
cmp rdi, r13
je 0x458622
mov rdx, qword [rdi]
lea rcx, str._n7_Zip_23.01__x64__:_Copyright__c__1999_2023_Igor_Pavlov_:_2023_06_20_n
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rdi
call fcn.004024c4
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___listfile_wildcard_:_Include_archives_n___ax_r__0___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___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_CRC32CRC64SHA1SHA256__:_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___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 0x45865a
shl rdi, 3
add ebx, ebp
sub rdi, 8
mov rax, qword [rsp + 0xb8]
mov rsi, qword [rdi + rax]
cmp rsi, r13
je 0x458655
mov rcx, qword [rsi]
call fcn.00402388
mov rcx, rsi
call fcn.00402388
cmp ebx, r13d
jne 0x45862e
mov rcx, qword [rsp + 0xb8]
call fcn.00402388
xor eax, eax
jmp 0x45a95a
lea rcx, [rsp + 0x270]
call fcn.004581d4
nop
lea rcx, [rsp + 0x220]
call fcn.004010dc
nop
lea rcx, [rsp + 0x260]
call fcn.0040354c
nop
lea r8, [rsp + 0x270]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x220]
call fcn.00413760
mov r11b, byte [rsp + 0x274]
mov byte [0x00481058], r11b
mov al, byte [rsp + 0x275]
mov byte [0x00481068], al
lea rcx, [0x00481060]
mov edi, 2
cmp dword [rsp + 0x520], 1
je 0x4586fe
mov rbx, r13
cmp dword [rsp + 0x520], edi
cmove rbx, rcx
mov qword [0x00481d58], rbx
jmp 0x458705
mov rbx, qword [0x00481d58]
lea rsi, [0x00481050]
cmp dword [rsp + 0x524], edi
je 0x45872b
mov rax, r13
cmp dword [rsp + 0x524], 1
cmove rax, rsi
mov qword [0x00481d60], rax
mov r14, r13
mov eax, dword [rsp + 0x528]
cmp eax, r13d
je 0x458743
mov r14, rsi
cmp eax, edi
cmove r14, rcx
cmp byte [rsp + 0x270], r13b
je 0x4587fc
cmp rbx, r13
je 0x45877f
mov rdx, qword [rbx]
lea rcx, str._n7_Zip_23.01__x64__:_Copyright__c__1999_2023_Igor_Pavlov_:_2023_06_20_n
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rbx
call fcn.004024c4
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___listfile_wildcard_:_Include_archives_n___ax_r__0___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___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_CRC32CRC64SHA1SHA256__:_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___listfile_wildcard_:_eXclude_filenames_n___y_:_assume_Yes_on_all_queries_n
call qword [sym.imp.msvcrt.dll_fputs]
nop
mov rcx, qword [rsp + 0x260]
call fcn.00402388
lea rcx, [rsp + 0x220]
call fcn.00401874
nop
lea rcx, [rsp + 0x270]
call fcn.00457ec8
nop
movsxd rbx, dword [rsp + 0xc0]
mov rdi, rbx
cmp ebx, r13d
je 0x4587e8
shl rdi, 3
add ebx, ebp
sub rdi, 8
mov rax, qword [rsp + 0xb8]
mov rsi, qword [rdi + rax]
cmp rsi, r13
je 0x4587e3
mov rcx, qword [rsi]
call fcn.00402388
mov rcx, rsi
call fcn.00402388
cmp ebx, r13d
jne 0x4587bc
mov rcx, qword [rsp + 0xb8]
call fcn.00402388
xor eax, eax
jmp 0x45a95a
cmp byte [rsp + 0x278], r13b
je 0x458844
cmp rbx, r13
je 0x45882a
mov rdx, qword [rbx]
lea rcx, str._n7_Zip_23.01__x64__:_Copyright__c__1999_2023_Igor_Pavlov_:_2023_06_20_n
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rbx
call fcn.004024c4
mov rbx, qword [0x00481d58]
cmp dword [rsp + 0x268], r13d
je 0x458844
mov rdx, qword [rsp + 0x260]
mov rcx, rbx
call fcn.00402790
lea rdx, [rsp + 0x270]
lea rcx, [rsp + 0x220]
call fcn.00415134
mov r11d, dword [rsp + 0x2a0]
mov rax, 0xffffffffffffffff
cmp r11d, eax
je 0x458882
mov dword [0x0048105c], r11d
mov dword [0x0048106c], r11d
mov dword [0x00481048], r11d
mov dword [rsp + 0x8a0], 1
cmp dword [rsp + 0x52c], r13d
je 0x4588a7
mov eax, dword [rsp + 0x520]
cmp dword [rsp + 0x528], eax
je 0x4588ae
mov dword [rsp + 0x8a0], edi
mov r15d, 0x50
cmp r14, r13
je 0x4588e3
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 0x4588e3
movzx r15d, word [rsp + 0x90]
mov ecx, 0x88
call fcn.00402350
mov qword [rsp + 0x8a8], rax
cmp rax, r13
je 0x458907
mov rcx, rax
call fcn.00457b78
mov rbp, rax
jmp 0x45890a
mov rbp, r13
mov qword [rsp + 0x100], r13
mov rdx, r13
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x110], r13
mov dword [rsp + 0x118], r13d
mov dword [rsp + 0x11c], r13d
mov qword [rsp + 0x120], r13
mov dword [rsp + 0x128], r13d
mov dword [rsp + 0x12c], r13d
cmp rbp, r13
je 0x458981
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + VariantCopy]
mov rcx, qword [rsp + 0x100]
cmp rcx, r13
je 0x458979
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rdx, qword [rsp + 0x108]
jmp 0x458981
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x100], rbp
mov rax, rbp
lea rcx, [rbp + 8]
neg rax
sbb rbx, rbx
and rbx, rcx
je 0x4589ac
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rdx, qword [rsp + 0x108]
cmp rdx, r13
je 0x4589ba
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x10]
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x218], rbp
mov al, byte [rsp + 0x271]
mov byte [rbp + 0x80], al
mov al, byte [rsp + 0x272]
mov byte [rbp + 0x81], al
mov rcx, rbp
call fcn.00439944
xor ebx, ebx
cmp eax, ebx
je 0x458a0e
mov dword [rsp + 0x8a0], eax
lea rdx, [0x0047fb00]
lea rcx, [rsp + 0x8a0]
call sub.msvcrt.dll__CxxThrowException
int3
mov rcx, rbp
call fcn.00432250
lea r11, [rsp + 0x100]
mov qword [0x00481d48], r11
lea rcx, [rsp + 0x90]
call fcn.0040354c
nop
lea rdx, [rsp + 0x90]
mov rcx, rbp
call fcn.0043827c
cmp dword [rsp + 0x98], ebx
je 0x458a82
mov rax, qword [0x00481d58]
mov rdi, rsi
cmp rax, rbx
cmovne rdi, rax
mov rbx, qword [rsp + 0x90]
mov rcx, rdi
call fcn.004024c4
mov rdx, rbx
mov rcx, rdi
call fcn.00402790
mov rcx, rax
call fcn.004024c4
xor ebx, ebx
mov rcx, qword [rsp + 0x90]
call fcn.00402388
lea rcx, [rsp + 0x2d0]
call fcn.00412ebc
mov dil, al
cmp dword [rbp + 0x58], ebx
jne 0x458b40
cmp al, bl
jne 0x458ac7
cmp dword [rsp + 0x2d0], 6
je 0x458ac7
lea rcx, [rsp + 0x2d0]
call fcn.00412ec8
cmp al, bl
je 0x458b40
cmp dword [rbp + 0x30], ebx
je 0x458b1c
lea rdx, str.Cant_load_module:
lea rcx, [rsp + 0x90]
call fcn.00403600
nop
lea rdx, [rbp + 0x28]
lea rcx, [rsp + 0x90]
call fcn.004039ac
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0xc8]
call fcn.004036a8
lea rdx, [0x0047fa50]
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 + 0x8a0], rax
lea rdx, [0x0047f998]
lea rcx, [rsp + 0x8a0]
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 + 0x500]
mov rcx, rbp
call fcn.00442c2c
cmp al, bl
jne 0x458b96
lea rax, str.Unsupported_archive_type
mov qword [rsp + 0x8a0], rax
lea rdx, [0x0047f998]
lea rcx, [rsp + 0x8a0]
call sub.msvcrt.dll__CxxThrowException
int3
mov qword [rsp + 0x130], rbx
mov dword [rsp + 0x138], ebx
mov dword [rsp + 0x13c], ebx
mov r13d, ebx
cmp dword [rsp + 0x518], ebx
jbe 0x458c5c
xor eax, eax
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x9c], eax
mov rax, qword [rsp + 0x510]
lea r8, [rsp + 0x90]
mov rdx, qword [rbx + rax]
mov rcx, rbp
call fcn.00438ba4
test al, al
je 0x458c38
cmp dword [rsp + 0x98], 1
jne 0x458c38
mov rax, qword [rsp + 0x90]
mov edx, dword [rax]
lea rcx, [rsp + 0x130]
call fcn.004578dc
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402388
inc r13d
add rbx, 8
cmp r13d, dword [rsp + 0x518]
jb 0x458bbc
xor ebx, ebx
jmp 0x458c5c
lea rax, str.Unsupported_archive_type
mov qword [rsp + 0x8a0], rax
lea rdx, [0x0047f998]
lea rcx, [rsp + 0x8a0]
call sub.msvcrt.dll__CxxThrowException
nop
cmp dil, bl
jne 0x458c84
lea rcx, [rsp + 0x2d0]
call fcn.00412ec8
cmp al, bl
jne 0x458c84
mov rax, qword [rsp + 0x2d0]
cmp eax, 9
je 0x458c84
cmp eax, 7
jne 0x458cb9
lea rcx, [rsp + 0x100]
call fcn.0040e07c
cmp eax, ebx
je 0x458cb1
mov dword [rsp + 0x8a0], eax
lea rdx, [0x0047fb00]
lea rcx, [rsp + 0x8a0]
call sub.msvcrt.dll__CxxThrowException
int3
mov rax, qword [rsp + 0x2d0]
mov dword [rsp + 0x8a8], ebx
mov r13d, ebx
mov dword [rsp + 0x8b8], ebx
cmp eax, 8
jne 0x4596a0
mov rax, qword [0x00481d58]
cmp rax, rbx
cmovne rsi, rax
mov rcx, rsi
call fcn.004024c4
mov rdx, qword [rsi]
lea rcx, str.Libs:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.004024c4
mov edi, ebx
cmp dword [rbp + 0x20], ebx
jbe 0x458dea
mov r14, rbx
mov edx, edi
mov rcx, rsi
call fcn.004562b4
mov r11, qword [rbp + 0x18]
mov r15, qword [r14 + r11]
mov rdx, qword [rsi]
lea rcx, [0x00467ae0]
call qword [sym.imp.msvcrt.dll_fputs]
movzx edx, word [r15 + 0x4a]
mov rcx, rsi
call fcn.0040260c
mov rdx, qword [rax]
lea rcx, [0x00461000]
call qword [sym.imp.msvcrt.dll_fputs]
movzx ebx, word [r15 + 0x48]
lea rcx, [rsp + 0x90]
call fcn.00402db8
nop
mov edx, ebx
lea rcx, [rsp + 0x90]
call fcn.00403038
cmp dword [rsp + 0x98], 2
jae 0x458d93
mov dl, 0x30
lea rcx, [rsp + 0x90]
call fcn.00403198
cmp dword [rsp + 0x98], 2
jb 0x458d7a
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.msvcrt.dll_fputs]
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402388
mov rbx, qword [r15 + 8]
mov rdx, qword [rsi]
lea rcx, [0x00460fd4]
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, rbx
mov rcx, rsi
call fcn.00402790
mov rcx, rax
call fcn.004024c4
inc edi
add r14, 8
cmp edi, dword [rbp + 0x20]
jb 0x458d0f
xor ebx, ebx
mov rcx, rsi
call fcn.004024c4
mov rdx, qword [rsi]
lea rcx, str.Formats:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.004024c4
lea rcx, str.KSNFMGOPBELHXCcamr
call sub.msvcrt.dll_strlen
mov r14, rax
mov qword [rsp + 0x140], rax
lea rcx, str.wudn
call sub.msvcrt.dll_strlen
mov r15, rax
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0x8a0], ebx
cmp dword [rbp + 0x58], ebx
jbe 0x4591ea
mov rcx, rbx
mov qword [rsp + 0x148], rbx
mov r13d, 0x20
mov rax, qword [rbp + 0x50]
mov rdi, qword [rcx + rax]
mov edx, dword [rdi + 0x58]
mov rcx, rsi
call fcn.004562b4
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 0x458ec2
lea r14, str.KSNFMGOPBELHXCcamr
mov r13, qword [rsp + 0x140]
bt dword [rdi], ebx
jae 0x458ea4
mov al, byte [r14]
jmp 0x458ea6
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 0x458e9a
mov r13d, 0x20
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
cmp dword [rdi + 4], 0
je 0x458f1f
xor ebx, ebx
test r15d, r15d
je 0x458f05
lea r14, str.wudn
bt dword [rdi + 4], ebx
jae 0x458eed
mov al, byte [r14]
jmp 0x458eef
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 0x458ee2
mov edx, dword [rdi + 4]
shr edx, 0x1b
mov rcx, rsi
call fcn.0040260c
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.00402790
cmp ebx, 8
jae 0x458f59
mov eax, 8
sub eax, ebx
mov ebx, eax
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
dec rbx
jne 0x458f48
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
lea rcx, [rsp + 0x90]
call fcn.0040354c
nop
xor ebx, ebx
cmp dword [rdi + 0x30], ebx
jbe 0x45902f
xor r15d, r15d
test ebx, ebx
je 0x458f92
lea rcx, [rsp + 0x90]
call fcn.00403e74
mov rax, qword [rdi + 0x28]
mov r14, qword [r15 + rax]
mov rdx, r14
lea rcx, [rsp + 0x90]
call fcn.004039ac
cmp dword [r14 + 0x18], 0
je 0x459020
lea rdx, [0x00466be0]
lea rcx, [rsp + 0x90]
call fcn.004039f0
lea rdx, [r14 + 0x10]
lea rcx, [rsp + 0x90]
call fcn.004039ac
mov r11d, dword [rsp + 0x98]
cmp dword [rsp + 0x9c], r11d
jne 0x458ffd
lea rcx, [rsp + 0x90]
call fcn.004032b0
mov r11d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov eax, r11d
mov word [rcx + rax*2], 0x29
inc r11d
mov word [rcx + r11*2], 0
mov dword [rsp + 0x98], r11d
inc ebx
add r15, 8
cmp ebx, dword [rdi + 0x30]
jb 0x458f81
mov ebx, dword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rcx, rsi
call fcn.00402790
cmp ebx, 0xd
jae 0x459065
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 0x459054
mov rdx, qword [rsi]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
xor ebx, ebx
cmp dword [rdi + 0x44], ebx
je 0x45909f
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.0040260c
mov rdx, qword [rax]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll_fputc]
mov r15d, ebx
cmp dword [rdi + 0x50], ebx
jbe 0x45918b
mov r13, rbx
cmp r15d, ebx
je 0x4590c3
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 + 0x188], rbx
xor r14d, r14d
cmp qword [rbx + 8], r14
jbe 0x459171
test r14, r14
je 0x4590f4
mov rdx, qword [rsi]
mov ecx, 0x20
call qword [sym.imp.msvcrt.dll_fputc]
mov rax, qword [rbx]
mov cl, byte [rax + r14]
lea eax, [rcx - 0x21]
cmp al, 0x5e
ja 0x459110
movzx ecx, cl
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
jmp 0x459164
movzx ebx, cl
mov r8d, ebx
shr r8d, 4
lea edx, [r8 + 0x30]
lea eax, [r8 + 0x37]
movzx ecx, al
movzx eax, dl
cmp r8d, 0xa
cmovb ecx, eax
movzx ecx, cl
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
and ebx, 0xf
lea edx, [rbx + 0x30]
lea eax, [rbx + 0x37]
movzx ecx, al
movzx eax, dl
cmp ebx, 0xa
cmovb ecx, eax
movzx ecx, cl
mov rdx, qword [rsi]
call qword [sym.imp.msvcrt.dll_fputc]
mov rbx, qword [rsp + 0x188]
inc r14
cmp r14, qword [rbx + 8]
jb 0x4590e1
inc r15d
add r13, 8
cmp r15d, dword [rdi + 0x50]
mov ebx, 0
jb 0x4590ae
lea r13d, [rbx + 0x20]
mov rcx, rsi
call fcn.004024c4
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402388
mov r14d, dword [rsp + 0x8a0]
inc r14d
mov dword [rsp + 0x8a0], r14d
mov rcx, qword [rsp + 0x148]
add rcx, 8
mov qword [rsp + 0x148], rcx
cmp r14d, dword [rbp + 0x58]
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0x140]
jb 0x458e59
mov r13d, dword [rsp + 0x8b8]
mov rcx, rsi
call fcn.004024c4
mov rdx, qword [rsi]
lea rcx, str.Codecs:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.004024c4
mov r14d, ebx
cmp dword [0x00481a70], ebx
jbe 0x45931d
lea rdi, [0x00481870]
mov r15d, 0x20
mov rbx, qword [rdi]
mov rdx, qword [rsi]
lea rcx, [0x00463810]
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 0x45925b
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
jmp 0x459263
mov rcx, rsi
call fcn.0040260c
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.00401c80
mov r8d, 8
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.00456260
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.004024c4
inc r14d
add rdi, 8
cmp r14d, dword [0x00481a70]
jb 0x459226
xor ebx, ebx
jmp 0x459323
mov r15d, 0x20
mov rcx, qword [rsp + 0x100]
mov rax, qword [rcx]
lea rdx, [rsp + 0x8b0]
call qword [rax + 0x18]
cmp eax, ebx
jne 0x4594bc
mov edi, ebx
cmp dword [rsp + 0x8b0], ebx
jbe 0x4594bc
mov r14, 0xffffffffffffffff
mov edx, edi
mov rcx, rbp
call fcn.00437cbc
mov edx, eax
mov rcx, rsi
call fcn.004562b4
mov edx, edi
mov rcx, rbp
call fcn.004377dc
cmp eax, 1
jne 0x459388
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
jmp 0x459392
mov edx, eax
mov rcx, rsi
call fcn.0040260c
mov edx, edi
mov rcx, rbp
call fcn.00437cec
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.00437cd8
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 + 0x8a0]
mov edx, edi
mov rcx, rbp
call fcn.00437d00
mov cl, byte [rsp + 0x8a0]
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 + 0x8b8]
mov edx, edi
mov rcx, rbp
call fcn.00437864
mov rcx, qword [rsp + 0x8b8]
cmp eax, ebx
cmovne rcx, r14
mov qword [rsp + 0x8b8], rcx
lea rdx, [rsp + 0xc8]
call fcn.00401c80
mov r8d, 8
lea rdx, [rsp + 0xc8]
mov rcx, rsi
call fcn.00456260
mov r8d, edi
lea rdx, [rsp + 0x90]
mov rcx, rbp
call fcn.004378ec
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.004024c4
mov rcx, qword [rsp + 0x90]
call fcn.00402388
inc edi
cmp edi, dword [rsp + 0x8b0]
mov ebx, 0
jb 0x459357
mov rcx, rsi
call fcn.004024c4
mov rdx, qword [rsi]
lea rcx, str.Hashers:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.004024c4
mov r14d, ebx
cmp dword [0x00481a74], ebx
jbe 0x4595a1
lea rdi, [0x004817f0]
mov rbx, qword [rdi]
mov rdx, qword [rsi]
lea rcx, [0x00463810]
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.00401b24
mov r8d, 4
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.00456260
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.00401c80
mov r8d, 8
lea rdx, [rsp + 0xc8]
mov rcx, rsi
call fcn.00456260
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.004024c4
inc r14d
add rdi, 8
cmp r14d, dword [0x00481a74]
jb 0x4594f2
xor ebx, ebx
mov rcx, qword [rsp + 0x108]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov dword [rsp + 0x8b0], eax
mov edi, ebx
cmp eax, ebx
jbe 0x45a841
mov edx, edi
mov rcx, rbp
call fcn.00437ccc
mov edx, eax
mov rcx, rsi
call fcn.004562b4
mov edx, edi
mov rcx, rbp
call fcn.00437b24
lea rdx, [rsp + 0x90]
mov ecx, eax
call fcn.00401b24
mov r8d, 4
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.00456260
mov rdx, qword [rsi]
mov ecx, r15d
call qword [sym.imp.msvcrt.dll_fputc]
mov edx, edi
mov rcx, rbp
call fcn.004379c4
lea rdx, [rsp + 0x188]
mov rcx, rax
call fcn.00401c80
mov r8d, 8
lea rdx, [rsp + 0x188]
mov rcx, rsi
call fcn.00456260
mov r8d, edi
lea rdx, [rsp + 0xc8]
mov rcx, rbp
call fcn.00437a3c
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.004024c4
mov rcx, qword [rsp + 0xc8]
call fcn.00402388
inc edi
cmp edi, dword [rsp + 0x8b0]
jb 0x4595c0
mov r14d, dword [rsp + 0x8a8]
xor ebx, ebx
jmp 0x45a849
cmp eax, 7
jne 0x459711
mov rax, qword [0x00481d58]
cmp rax, rbx
cmovne rsi, rax
mov r9, qword [rsi]
mov r8d, dword [rsp + 0x530]
lea rdx, [rsp + 0x348]
lea rcx, [rsp + 0x100]
call fcn.0044fd30
mov r13d, eax
cmp eax, 1
jne 0x45a83c
mov rcx, rsi
call fcn.004024c4
mov rdx, qword [0x00481d60]
cmp rdx, rbx
je 0x459703
mov rdx, qword [rdx]
lea rcx, str._nDecoding_ERROR_n
call qword [sym.imp.msvcrt.dll_fputs]
mov r14d, 2
mov r13d, ebx
jmp 0x45a849
cmp dil, bl
jne 0x459c9e
cmp eax, 6
je 0x459c9e
lea rcx, [rsp + 0x2d0]
call fcn.00412ec8
cmp al, bl
je 0x459a6e
cmp byte [rsp + 0x3a1], bl
je 0x45975e
cmp dword [rsp + 0x488], ebx
jne 0x45975e
lea rdx, str.7zCon.sfx
lea rcx, [rsp + 0x480]
call fcn.004038a8
lea rax, [0x00467a68]
mov qword [rsp + 0x540], rax
mov edx, 0xc8
lea rcx, [rsp + 0x548]
call fcn.00452ec8
nop
mov qword [rsp + 0x630], rbx
mov byte [rsp + 0x638], bl
mov byte [rsp + 0x639], bl
mov byte [rsp + 0x63a], bl
lea rcx, [rsp + 0x640]
call fcn.0040354c
nop
mov rax, qword [0x00481d58]
mov qword [rsp + 0x620], rax
mov rax, qword [0x00481d60]
mov qword [rsp + 0x628], rax
mov qword [rsp + 0x610], r14
cmp byte [rsp + 0x2e8], bl
je 0x4597e5
cmp dword [rsp + 0x2f8], ebx
je 0x4597e5
mov bl, 1
mov byte [rsp + 0x63a], bl
lea rdx, [rsp + 0x2f0]
lea rcx, [rsp + 0x640]
call fcn.00403798
lea rcx, [rsp + 0x660]
call fcn.0045769c
nop
lea rax, [0x00469120]
mov qword [rsp + 0x650], rax
lea rax, [0x00469108]
mov qword [rsp + 0x658], rax
xor esi, esi
mov byte [rsp + 0x7c0], sil
mov byte [rsp + 0x7c1], sil
mov byte [rsp + 0x7c2], sil
lea rcx, [rsp + 0x7c8]
call fcn.0040354c
nop
mov eax, dword [rsp + 0x52c]
mov dword [rsp + 0x750], eax
mov eax, dword [rsp + 0x8a0]
mov dword [rsp + 0x74c], eax
cmp r14, rsi
je 0x459881
lea eax, [r15 - 1]
mov dword [rsp + 0x734], eax
mov byte [rsp + 0x7c1], bl
cmp byte [rsp + 0x2e8], sil
je 0x4598a5
cmp dword [rsp + 0x2f8], esi
jne 0x4598a5
mov byte [rsp + 0x7c2], 1
jmp 0x4598ad
mov byte [rsp + 0x7c2], sil
lea rdx, [rsp + 0x2f0]
lea rcx, [rsp + 0x7c8]
call fcn.00403798
mov r11b, byte [rsp + 0x3a6]
mov byte [rsp + 0x748], r11b
mov r9, r14
mov r8, qword [0x00481d60]
mov rdx, qword [0x00481d58]
lea rcx, [rsp + 0x660]
call fcn.00456c40
mov dword [rsp + 0x90], esi
lea rcx, [rsp + 0x98]
call fcn.00402db8
mov qword [rsp + 0xa8], rsi
mov dword [rsp + 0xb0], esi
mov dword [rsp + 0xb4], esi
mov byte [rsp + 0x40], 1
lea rax, [rsp + 0x650]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x540]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x2a8]
lea r8, [rsp + 0x2d8]
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.004487ac
mov r13d, eax
cmp qword [rsp + 0x728], rsi
je 0x45998f
mov dl, 1
lea rcx, [rsp + 0x660]
call fcn.0045b4d0
mov r9, qword [0x00481d58]
mov rax, r9
cmp r9, rsi
cmove rax, qword [0x00481d60]
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x660]
mov ecx, r13d
call fcn.00456e78
mov r14d, eax
movsxd rbx, dword [rsp + 0xb0]
mov rdi, rbx
cmp ebx, esi
je 0x459a08
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rcx, qword [rsp + 0xa8]
mov rsi, qword [rcx + rdi]
test rsi, rsi
je 0x459a04
mov rcx, qword [rsi]
call fcn.00402388
mov rcx, rsi
call fcn.00402388
test ebx, ebx
jne 0x4599dc
mov rcx, qword [rsp + 0xa8]
call fcn.00402388
mov rcx, qword [rsp + 0x98]
call fcn.00402388
nop
mov rcx, qword [rsp + 0x7c8]
call fcn.00402388
lea rcx, [rsp + 0x660]
call fcn.00456cd0
nop
lea rax, [0x00467a68]
mov qword [rsp + 0x540], rax
mov rcx, qword [rsp + 0x640]
call fcn.00402388
lea rcx, [rsp + 0x548]
call fcn.0045b604
xor ebx, ebx
jmp 0x45a849
cmp dword [rsp + 0x2d0], 9
jne 0x459c42
lea rcx, [rsp + 0x650]
call fcn.0045779c
nop
cmp r14, rbx
je 0x459a9a
lea eax, [r15 - 1]
mov dword [rsp + 0x72c], eax
mov r9, r14
mov r8, qword [0x00481d60]
mov rdx, qword [0x00481d58]
lea rcx, [rsp + 0x658]
call fcn.00456c40
mov r11b, byte [rsp + 0x278]
mov byte [rsp + 0x7d9], r11b
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0x7e0]
call fcn.00402ecc
lea rcx, [rsp + 0x90]
call fcn.00402db8
nop
lea rax, [rsp + 0x650]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
lea r8, [rsp + 0x4e0]
lea rdx, [rsp + 0x2a8]
lea rcx, [rsp + 0x100]
call fcn.00433054
mov r13d, eax
mov dword [rsp + 0xc8], ebx
lea rcx, [rsp + 0xd0]
call fcn.00402db8
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.00402ecc
mov r9, qword [0x00481d58]
mov rcx, r9
cmp r9, rbx
cmove rcx, qword [0x00481d60]
mov al, byte [rsp + 0x278]
mov byte [rsp + 0x28], al
mov qword [rsp + 0x20], rcx
lea r8, [rsp + 0xc8]
lea rdx, [rsp + 0x658]
mov ecx, r13d
call fcn.00456e78
mov r14d, eax
movsxd rbx, dword [rsp + 0xe8]
mov rdi, rbx
test ebx, ebx
je 0x459bde
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0xe0]
mov rsi, qword [rax + rdi]
test rsi, rsi
je 0x459bda
mov rcx, qword [rsi]
call fcn.00402388
mov rcx, rsi
call fcn.00402388
test ebx, ebx
jne 0x459bb2
mov rcx, qword [rsp + 0xe0]
call fcn.00402388
mov rcx, qword [rsp + 0xd0]
call fcn.00402388
nop
mov rcx, qword [rsp + 0x90]
call fcn.00402388
nop
mov rcx, qword [rsp + 0x7e0]
call fcn.00402388
mov rcx, qword [rsp + 0x7c8]
call fcn.00402388
mov rcx, qword [rsp + 0x7b8]
call fcn.00402388
lea rcx, [rsp + 0x658]
call fcn.00456cd0
xor ebx, ebx
jmp 0x45a849
mov rbx, qword [0x00481d60]
test rbx, rbx
je 0x459c7e
mov rcx, rbx
call fcn.004024c4
mov rdx, qword [rbx]
lea rcx, [0x00466ba8]
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.004024c4
mov dword [rsp + 0x8a0], 7
lea rdx, [0x0047faa8]
lea rcx, [rsp + 0x8a0]
call sub.msvcrt.dll__CxxThrowException
int3
mov qword [rsp + 0x90], rbx
mov dword [rsp + 0x98], ebx
mov dword [rsp + 0x9c], ebx
mov qword [rsp + 0xc8], rbx
mov dword [rsp + 0xd0], ebx
mov dword [rsp + 0xd4], ebx
cmp byte [rsp + 0x276], bl
je 0x459d94
lea rcx, [rsp + 0x90]
call fcn.00445a44
mov r13d, 0x10
mov rcx, r13
call fcn.00402350
mov qword [rsp + 0x8b0], rax
cmp rax, rbx
je 0x459d14
lea rdx, [rsp + 0x338]
mov rcx, rax
call fcn.004036a8
mov r11, rax
jmp 0x459d17
mov r11, rbx
mov eax, dword [rsp + 0x98]
mov rdx, rax
inc eax
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x90]
mov qword [rax + rdx*8], r11
lea rcx, [rsp + 0xc8]
call fcn.00445a44
mov rcx, r13
call fcn.00402350
mov qword [rsp + 0x8b0], rax
cmp rax, rbx
je 0x459d6d
lea rdx, [rsp + 0x338]
mov rcx, rax
call fcn.004036a8
mov r11, rax
jmp 0x459d70
mov r11, rbx
mov eax, dword [rsp + 0xd0]
mov rcx, rax
inc eax
mov dword [rsp + 0xd0], eax
mov rax, qword [rsp + 0xc8]
mov qword [rax + rcx*8], r11
jmp 0x459f0a
lea rax, [0x00468fb8]
mov qword [rsp + 0x540], rax
mov edx, 0xc8
lea rcx, [rsp + 0x558]
call fcn.00452ec8
nop
mov dl, byte [rsp + 0x278]
mov al, dl
neg al
sbb rcx, rcx
mov rbx, qword [0x00481d58]
and rcx, rbx
mov qword [rsp + 0x548], rcx
mov rax, qword [0x00481d60]
mov qword [rsp + 0x550], rax
mov qword [rsp + 0x620], r14
lea eax, [r15 - 1]
mov dword [rsp + 0x62c], eax
test rbx, rbx
je 0x459e19
test dl, dl
je 0x459e19
mov rdx, qword [rbx]
lea rcx, str.Scanning_the_drive_for_archives:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rbx
call fcn.004024c4
xor ebx, ebx
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x160], rbx
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x178], rbx
lea rcx, [rsp + 0x540]
call fcn.0044fde4
lea rcx, [rsp + 0x188]
call fcn.0040354c
nop
lea rcx, [rsp + 0x540]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x150]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0xc8]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x90]
mov r8, rax
xor edx, edx
lea rcx, [rsp + 0x310]
call fcn.0042c0c8
mov r13d, eax
mov rcx, qword [rsp + 0x188]
call fcn.00402388
cmp qword [rsp + 0x620], rbx
je 0x459ed0
mov dl, 1
lea rcx, [rsp + 0x558]
call fcn.0045b4d0
cmp r13d, ebx
jne 0x459ef4
cmp byte [rsp + 0x278], bl
je 0x459ef4
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x540]
call fcn.004501fc
nop
lea rcx, [rsp + 0x558]
call fcn.0045b604
cmp r13d, ebx
jne 0x45a783
cmp dil, bl
je 0x45a5ee
mov ecx, 0x1c8
call fcn.00402350
mov qword [rsp + 0x8b0], rax
cmp rax, rbx
je 0x459f37
mov rcx, rax
call fcn.00456898
mov rdi, rax
jmp 0x459f3a
mov rdi, rbx
mov qword [rsp + 0x8b0], rdi
cmp rdi, rbx
je 0x459f51
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
nop
mov al, byte [rsp + 0x2e8]
mov byte [rdi + 0x11a], al
lea rcx, [rdi + 0x120]
lea rdx, [rsp + 0x2f0]
call fcn.00403798
mov r11, qword [0x00481d60]
lea rbx, [rdi + 0x20]
mov rax, qword [0x00481d58]
mov qword [rbx + 0xe0], rax
mov qword [rbx + 0xe8], r11
mov qword [rbx + 0xd0], r14
xor ecx, ecx
mov qword [rdi + 0x168], rcx
mov byte [rdi + 0x170], cl
mov byte [rdi + 0x171], cl
mov qword [rdi + 0x178], rcx
mov qword [rdi + 0x180], rcx
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
cmp dword [rsp + 0x98], 1
seta al
mov byte [rdi + 0x119], al
mov eax, dword [rsp + 0x52c]
mov dword [rdi + 0x1c0], eax
mov eax, dword [rsp + 0x8a0]
mov dword [rdi + 0x1bc], eax
cmp r14, rcx
je 0x45a020
lea eax, [r15 - 1]
mov dword [rdi + 0xfc], eax
lea rcx, [rsp + 0x1b0]
call fcn.00456184
xor r15d, r15d
mov byte [rsp + 0x1f8], r15b
mov byte [rsp + 0x1f9], r15b
mov byte [rsp + 0x1fa], r15b
mov byte [rsp + 0x1fb], r15b
mov qword [rsp + 0x200], r15
mov dword [rsp + 0x208], r15d
mov dword [rsp + 0x20c], r15d
lea rdx, [rsp + 0x358]
lea rcx, [rsp + 0x1b0]
call fcn.0045682c
mov r11b, byte [rsp + 0x276]
mov byte [rsp + 0x1f8], r11b
mov al, byte [rsp + 0x277]
mov byte [rsp + 0x1f9], al
mov al, byte [rsp + 0x279]
mov byte [rsp + 0x1fa], al
cmp dword [rsp + 0x2d0], 3
sete byte [rsp + 0x1fb]
lea rdx, [rsp + 0x348]
lea rcx, [rsp + 0x200]
call fcn.00413d28
lea rcx, [rsp + 0x188]
call fcn.0040354c
nop
lea rcx, [rsp + 0x7f0]
call fcn.00430eb4
nop
mov r14, r15
cmp dword [rsp + 0x308], r15d
je 0x45a13d
lea r14, [rsp + 0x7f0]
lea r8, [rsp + 0x300]
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0x7f0]
call fcn.004325dc
cmp eax, r15d
je 0x45a13d
mov dword [rsp + 0x8a0], eax
lea rdx, [0x0047fb00]
lea rcx, [rsp + 0x8a0]
call sub.msvcrt.dll__CxxThrowException
int3
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rax]
lea rax, [rdi + 8]
add rcx, 0x10
lea rdx, [rsp + 0x150]
mov qword [rsp + 0x60], rdx
lea rdx, [rsp + 0x188]
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 + 0xc8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0xf0]
mov rcx, rbp
call fcn.0042dd64
mov r13d, eax
cmp qword [rbx + 0xd0], r15
je 0x45a1d4
lea rcx, [rbx + 8]
mov dl, 1
call fcn.0045b4d0
cmp dword [rsp + 0x190], r15d
je 0x45a231
mov rsi, qword [0x00481d60]
cmp rsi, r15
je 0x45a225
mov rbx, qword [rsp + 0x188]
mov rcx, rsi
call fcn.004024c4
mov rdx, qword [rsi]
lea rcx, str.ERROR:
call qword [sym.imp.msvcrt.dll_fputs]
mov rcx, rsi
call fcn.004024c4
mov rdx, rbx
mov rcx, rsi
call fcn.00402790
mov rcx, rax
call fcn.004024c4
mov eax, 0x80004005
cmp r13d, r15d
cmove r13d, eax
mov rsi, qword [0x00481d58]
mov bl, r15b
cmp rsi, r15
je 0x45a2a0
mov rcx, rsi
call fcn.004024c4
cmp qword [rdi + 0x168], 1
jbe 0x45a2a0
mov rdx, qword [rsi]
lea rcx, str.Archives:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x168]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
mov rdx, qword [rsi]
lea rcx, str.OK_archives:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x178]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
cmp qword [rdi + 0x180], r15
je 0x45a2d7
mov bl, 1
cmp rsi, r15
je 0x45a2d7
mov rdx, qword [rsi]
lea rcx, str.Cant_open_as_archive:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x180]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
cmp qword [rdi + 0x188], r15
je 0x45a312
mov bl, 1
cmp rsi, r15
je 0x45a388
mov rdx, qword [rsi]
lea rcx, str.Archives_with_Errors:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x188]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
cmp rsi, r15
je 0x45a388
cmp qword [rdi + 0x190], r15
je 0x45a347
mov rdx, qword [rsi]
lea rcx, str.Archives_with_Warnings:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x190]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
cmp qword [rdi + 0x1a0], r15
je 0x45a388
mov rcx, rsi
call fcn.004024c4
cmp qword [rdi + 0x1a0], r15
je 0x45a388
mov rdx, qword [rsi]
lea rcx, str.Warnings:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x1a0]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
cmp qword [rdi + 0x198], r15
je 0x45a3d0
mov bl, 1
cmp rsi, r15
je 0x45a3d5
mov rcx, rsi
call fcn.004024c4
cmp qword [rdi + 0x198], r15
je 0x45a3d5
mov rdx, qword [rsi]
lea rcx, str.Open_Errors:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x198]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
cmp bl, r15b
je 0x45a3e0
mov dword [rsp + 0x8a8], 2
cmp rsi, r15
je 0x45a594
cmp qword [rdi + 0x188], r15
jne 0x45a55b
cmp qword [rdi + 0x1a8], r15
jne 0x45a55b
cmp r13d, r15d
jne 0x45a594
mov rax, qword [rsp + 0x170]
cmp rax, r15
je 0x45a449
mov rdx, qword [rsi]
lea rcx, str.Folders:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x170]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
mov rax, qword [rsp + 0x170]
cmp qword [rsp + 0x178], 1
jne 0x45a467
cmp rax, r15
jne 0x45a467
cmp qword [rsp + 0x180], r15
je 0x45a4e9
mov rdx, qword [rsi]
lea rcx, str.Files:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x178]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
cmp qword [rsp + 0x180], r15
je 0x45a4e9
mov rdx, qword [rsi]
lea rcx, str.Alternate_Streams:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x180]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
mov rdx, qword [rsi]
lea rcx, str.Alternate_Streams_Size:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x160]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
mov rdx, qword [rsi]
lea rcx, str.Size:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x158]
mov rcx, rsi
call fcn.0040263c
mov rbx, rax
mov rcx, rax
call fcn.004024c4
mov rdx, qword [rbx]
lea rcx, str.Compressed:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x168]
mov rcx, rbx
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
cmp r14, r15
je 0x45a594
mov rcx, rsi
call fcn.004024c4
lea rdx, [rsp + 0x7f0]
mov rcx, rsi
call fcn.00452354
jmp 0x45a594
mov rcx, rsi
call fcn.004024c4
cmp qword [rdi + 0x1a8], r15
je 0x45a594
mov rdx, qword [rsi]
lea rcx, str.Sub_items_Errors:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rdi + 0x1a8]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
nop
mov rcx, qword [rsp + 0x850]
call fcn.00402388
mov rcx, qword [rsp + 0x840]
call fcn.00402388
lea rcx, [rsp + 0x7f8]
call fcn.00430c24
nop
mov rcx, qword [rsp + 0x188]
call fcn.00402388
nop
lea rcx, [rsp + 0x1b0]
call fcn.0045786c
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov r14d, dword [rsp + 0x8a8]
jmp 0x45a79b
mov qword [rsp + 0x8b8], rbx
mov qword [rsp + 0x8b0], rbx
mov al, byte [rsp + 0x2b8]
mov byte [rsp + 0x8a0], al
mov al, byte [rsp + 0x2b9]
mov byte [rsp + 0x8a1], al
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rax]
add rcx, 0x10
lea rax, [rsp + 0x8b0]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x8b8]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x348]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x2f0]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x2e8]
mov qword [rsp + 0x60], rax
mov al, byte [rsp + 0x27b]
mov byte [rsp + 0x58], al
mov al, byte [rsp + 0x278]
mov byte [rsp + 0x50], al
mov qword [rsp + 0x48], rcx
mov al, byte [rsp + 0x27f]
mov byte [rsp + 0x40], al
mov al, byte [rsp + 0x388]
mov byte [rsp + 0x38], al
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov al, byte [rsp + 0x276]
mov byte [rsp + 0x20], al
lea r9, [rsp + 0x130]
lea r8, [rsp + 0xf0]
mov rdx, rbp
lea rcx, [rsp + 0x8a0]
call fcn.004545e4
mov r13d, eax
mov al, byte [rsp + 0x278]
cmp al, bl
je 0x45a736
cmp qword [rsp + 0x8b0], rbx
jbe 0x45a736
mov rcx, rsi
call fcn.004024c4
mov rdx, qword [0x00481050]
lea rcx, str.Warnings:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x8b0]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
mov al, byte [rsp + 0x278]
cmp qword [rsp + 0x8b8], rbx
jbe 0x45a790
cmp al, bl
je 0x45a778
mov rcx, rsi
call fcn.004024c4
mov rdx, qword [0x00481050]
lea rcx, str.Errors:
call qword [sym.imp.msvcrt.dll_fputs]
mov rdx, qword [rsp + 0x8b8]
mov rcx, rsi
call fcn.0040263c
mov rcx, rax
call fcn.004024c4
mov r14d, 2
xor r15d, r15d
jmp 0x45a79b
mov r14d, dword [rsp + 0x8a8]
xor r15d, r15d
jmp 0x45a79b
mov r14d, dword [rsp + 0x8a8]
xor r15d, r15d
movsxd rbx, dword [rsp + 0xd0]
mov rdi, rbx
cmp ebx, r15d
je 0x45a7dc
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0xc8]
mov rsi, qword [rdi + rax]
cmp rsi, r15
je 0x45a7d7
mov rcx, qword [rsi]
call fcn.00402388
mov rcx, rsi
call fcn.00402388
cmp ebx, r15d
jne 0x45a7af
mov rcx, qword [rsp + 0xc8]
call fcn.00402388
nop
movsxd rbx, dword [rsp + 0x98]
mov rdi, rbx
cmp ebx, r15d
je 0x45a82b
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0x90]
mov rsi, qword [rdi + rax]
cmp rsi, r15
je 0x45a826
mov rcx, qword [rsi]
call fcn.00402388
mov rcx, rsi
call fcn.00402388
cmp ebx, r15d
jne 0x45a7fe
mov rcx, qword [rsp + 0x90]
call fcn.00402388
xor ebx, ebx
jmp 0x45a849
mov r14d, ebx
jmp 0x45a849
mov r14d, dword [rsp + 0x8a8]
cmp byte [rsp + 0x27c], bl
je 0x45a860
cmp qword [0x00481d58], rbx
je 0x45a860
call fcn.00456550
cmp r13d, ebx
je 0x45a882
mov dword [rsp + 0x8a0], r13d
lea rdx, [0x0047fb00]
lea rcx, [rsp + 0x8a0]
call sub.msvcrt.dll__CxxThrowException
nop
mov rcx, qword [rsp + 0x130]
call fcn.00402388
nop
movsxd rbx, dword [rsp + 0xf8]
mov rdi, rbx
test ebx, ebx
je 0x45a8bd
shl rdi, 3
sub rdi, 8
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rdi + rax]
call fcn.00402388
add ebx, 0xffffffff
jne 0x45a8a3
mov rcx, qword [rsp + 0xf0]
call fcn.00402388
nop
mov rcx, rbp
call fcn.00438b60
nop
lea rcx, [rsp + 0x100]
call fcn.0045738c
nop
mov rcx, qword [rsp + 0x260]
call fcn.00402388
lea rcx, [rsp + 0x220]
call fcn.00401874
nop
lea rcx, [rsp + 0x270]
call fcn.00457ec8
nop
movsxd rbx, dword [rsp + 0xc0]
mov rdi, rbx
test ebx, ebx
je 0x45a94a
shl rdi, 3
add ebx, 0xffffffff
sub rdi, 8
mov rax, qword [rsp + 0xb8]
mov rsi, qword [rdi + rax]
test rsi, rsi
je 0x45a946
mov rcx, qword [rsi]
call fcn.00402388
mov rcx, rsi
call fcn.00402388
test ebx, ebx
jne 0x45a91e
mov rcx, qword [rsp + 0xb8]
call fcn.00402388
mov eax, r14d
add rsp, 0x860
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret