Function at 0x420650
Capabilities:
Check if file exists
Get file attributes
Read file on windows
Set console window title
Set file attributes
Write file on windows

Disassembly:
push r15
mov eax, 0x1d238
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.004282b0
sub rsp, rax
movaps xmmword [rsp + 0x1d210], xmm6
movaps xmmword [rsp + 0x1d220], xmm7
lea rax, fcn.004015d0
mov rdi, 0xffffffffffffffff
xor esi, esi
mov r15, qword [sym.imp.WINMM.dll_timeGetTime]
mov qword [rsp + 0x41f0], rax
mov ebp, ecx
movabs rax, 0x100000000
mov r12, rdx
mov qword [rsp + 0x4228], rdi
lea r14, [rsp + 0xb0]
mov qword [rsp + 0x4220], 0
mov dword [rsp + 0x4240], 0
mov qword [rsp + 0x4248], 0
mov dword [rsp + 0x4298], 0
mov dword [rsp + 0x42a8], 0
mov qword [rsp + 0x82b0], rax
call r15
sub eax, 1
mov dword [rsp + 0x82e0], eax
call r15
lea rcx, str._n__RAZOR_archiver_1.03.7______________________2018_03_22__n___c__Christian_Martelock____christian.martelock_web.de__n__This_DEMO_TEST_version_is_for_non_commercial_use_only__n
sub eax, 1
mov dword [rsp + 0x82e4], eax
call sub.msvcrt.dll_puts
mov edx, 0x104
mov rcx, r14
movabs rax, 0x400000000000000
mov dword [rsp + 0x82e8], 0
mov qword [rsp + 0x82ec], rax
call qword [sym.imp.KERNEL32.dll_GetConsoleTitleA]
lea rax, [0x0042ba50]
test ebp, ebp
mov byte [rsp + 0x48], 0
mov qword [rsp + 0x50], rax
jle 0x420802
mov edx, dword [rsp + 0x82e8]
movsxd rbx, esi
shl rbx, 3
lea r13, [r12 + rbx]
mov rcx, qword [r13]
test edx, edx
je 0x420891
cmp word [rcx], 0x2d
jne 0x420975
call sub.msvcrt.dll_wcslen
cmp rax, 2
jne 0x4207d0
mov rax, qword [r13]
movzx eax, word [rax + 2]
cmp ax, 0x72
je 0x42093c
cmp ax, 0x79
je 0x420943
cmp ax, 0x6e
je 0x42090d
cmp ax, 0x73
je 0x42095e
lea edx, [rsi + 1]
cmp ebp, edx
jg 0x4208eb
mov rcx, qword [r13]
call sub.msvcrt.dll_wcslen
cmp rax, 3
jne 0x420802
mov rax, qword [r13]
cmp word [rax + 2], 0x6f
jne 0x420802
movzx eax, word [rax + 4]
cmp ax, 0x6f
je 0x420950
cmp ax, 0x75
je 0x420930
mov r9d, 0x40
mov r8d, 0x3ff
mov edx, 1
lea rcx, str._Syntax:_rz____option_...___command___archives____files_..._____list_...__n_n_Commands..._n_tl_tList____archive_n_te_tExtract_archives_using_no___paths_n_tx_tExtract_archives_using_full_paths_n_tt_tVerify__archives__checksums__n_ta_tCreate__archive___ignores_junctions__sym__or_hard_links__n_t_t_list_is_a_list_of_files__UTF8__n_n_Options..._n_td_N_tWindow___iM.._iM___default__iM__decoder_uses_1.66N_memory__n_to_DIR_tTarget_directory_n_tr_tScan_collect_files_recursively__except_archives__n_ts_tScan_for_archive_headers_n_tn_tNo__to_all_queries_n_ty_tYes_to_all_queries_n_too_tuse__OEM_codepage_for_console_n_tou_tuse_UTF8_codepage_for_console_n_n_Examples..._n_trz_a__d_1111k_archive.rz_.dll_c:dir.__list_n_trz_e__r__y__o_dir___.rz_.dll_n_n_For_compression__a_window_size_of__1_64_512_M_uses__55_900_6500_M_of_memory._n_DO_NOT_directly_or_indirectly_modify__decompile_or_otherwise_reverse_engineer_n_this_software._Use_this_demo_at_your_OWN_risk._n
call sub.msvcrt.dll_printf
lea rbx, [rsp + 0x41f0]
lea rcx, [rbx + 0xa0]
call fcn.0041b460
mov rcx, qword [rsp + 0x4248]
call fcn.0041b3c0
mov eax, dword [rsp + 0x4240]
test eax, eax
je 0x420863
mov rcx, qword [rsp + 0x4238]
mov dword [rsp + 0x4240], 0
call fcn.0041b3c0
lea rcx, [rbx + 0x30]
call fcn.00417730
nop
movaps xmm6, xmmword [rsp + 0x1d210]
movaps xmm7, xmmword [rsp + 0x1d220]
add rsp, 0x1d238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call sub.msvcrt.dll_wcslen
sub rax, 1
je 0x4208a5
mov rcx, qword [r13]
jmp 0x420780
mov rax, qword [r13]
movzx eax, word [rax]
cmp ax, 0x61
je 0x420968
cmp ax, 0x6c
je 0x420aad
cmp ax, 0x74
je 0x420abd
cmp ax, 0x65
je 0x420acd
cmp ax, 0x78
jne 0x420802
mov dword [rsp + 0x82e8], 5
jmp 0x420920
cmp ax, 0x64
je 0x420add
cmp ax, 0x6f
jne 0x4207d0
mov rax, qword [r12 + rbx + 8]
mov esi, edx
mov qword [rsp + 0x50], rax
jmp 0x420920
mov dword [rsp + 0x82ec], edi
nop
nop word cs:[rax + rax]
add esi, 1
cmp ebp, esi
jg 0x420762
jmp 0x420802
mov dword [0x00434680], 0xfde9
jmp 0x420920
mov byte [rsp + 0x48], 1
jmp 0x420920
mov dword [rsp + 0x82ec], 1
jmp 0x420920
call qword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [0x00434680], eax
jmp 0x420920
mov byte [rsp + 0x428c], 1
jmp 0x420920
mov dword [rsp + 0x82e8], 1
jmp 0x420920
mov eax, dword [rsp + 0x82f0]
sub eax, 0x100000
cmp eax, 0x3fe00000
ja 0x420802
call r15
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x21f0]
sub ebp, esi
mov dword [rsp + 0x5c], eax
call fcn.0041a930
mov edx, dword [rsp + 0x82e8]
cmp edx, 3
je 0x420b50
cmp edx, 1
je 0x420c6f
cmp edx, 4
je 0x421607
cmp edx, 2
je 0x4218a6
cmp edx, 5
jne 0x420802
lea rbx, [rsp + 0x41f0]
mov dword [rsp + 0x28], 1
movzx edx, byte [rsp + 0x48]
mov r9d, ebp
mov r8, rax
mov dword [rsp + 0x20], edx
lea r12, [rsp + 0x8300]
mov rdx, r13
mov rcx, rbx
call fcn.0041f1e0
lea rbp, [rsp + 0xa8]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rsp + 0x20], r12
mov r9, rbp
mov r8, rbp
mov rdx, rbp
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcessTimes]
test eax, eax
je 0x420827
call r15
sub eax, dword [rsp + 0x5c]
pxor xmm1, xmm1
mov edx, dword [rsp + 0x8304]
add eax, 1
cvtsi2sd xmm1, rax
mov eax, dword [rsp + 0x8300]
shl rdx, 0x20
mulsd xmm1, qword [0x0042c698]
add rdx, rax
js 0x4218bb
pxor xmm0, xmm0
cvtsi2sd xmm0, rdx
lea rcx, str._CPU_time___0.3fs___wall_time___0.3fs_n
movapd xmm2, xmm1
movq r8, xmm1
mulsd xmm0, qword [0x0042c6a0]
movapd xmm1, xmm0
movq rdx, xmm0
call sub.msvcrt.dll_printf
jmp 0x420827
mov dword [rsp + 0x82e8], 3
jmp 0x420920
mov dword [rsp + 0x82e8], 4
jmp 0x420920
mov dword [rsp + 0x82e8], 2
jmp 0x420920
mov r8, qword [r12 + rbx + 8]
xor ecx, ecx
movzx eax, word [r8]
cmp ax, 0x4d
je 0x420b21
ja 0x420b15
test ax, ax
je 0x420b07
cmp ax, 0x4b
jne 0x420b33
cmp word [r8 + 2], 0
jne 0x420b2f
shl rcx, 0xa
mov dword [rsp + 0x82f0], ecx
mov esi, edx
jmp 0x420920
cmp ax, 0x6b
je 0x420afb
cmp ax, 0x6d
jne 0x420b33
cmp word [r8 + 2], 0
jne 0x420b2f
shl rcx, 0x14
jmp 0x420b07
xor ecx, ecx
jmp 0x420b07
lea r9d, [rax - 0x30]
cmp r9w, 9
ja 0x420b2f
imul rcx, rcx, 0xa
sub eax, 0x30
add r8, 2
cdqe
add rcx, rax
jmp 0x420ae4
mov r8, qword [r13]
lea rbx, [rsp + 0x41f0]
mov r9d, 1
xor edx, edx
lea rcx, [rbx + 0x30]
lea rdi, [rbx + 0xa0]
lea rsi, [rsp + 0x11c0]
call fcn.0041ee30
lea r12, [rsp + 0x8300]
mov rcx, rbx
call fcn.0041d550
lea rcx, str.____________________________________________
call sub.msvcrt.dll_puts
lea rdx, [0x0041c5f0]
mov rcx, rdi
call fcn.0041c230
mov rcx, rdi
call fcn.0041bc50
mov edx, dword [rsp + 0x82b8]
mov rcx, rdi
call fcn.0041cc90
mov rdx, rdi
mov rcx, rsi
call fcn.0041be00
mov ecx, 8
mov r8, qword [r13]
xor edx, edx
mov eax, dword [rsp + 0x82f4]
lea rdi, [rsp + 0x82c0]
or r9d, 0xffffffff
rep movsd dword [rdi], dword [rsi]
mov ecx, dword [0x00434680]
mov dword [rsp + 0x28], 0x1000
mov qword [rsp + 0x38], 0
mov ebp, dword [rsp + 0x82d0]
mov qword [rsp + 0x20], r12
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x82f0]
mov qword [rsp + 0x30], 0
mov esi, dword [rsp + 0x82d8]
mov rdi, qword [rsp + 0x82c0]
sar eax, 0xa
mov dword [rsp + 0x50], eax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r9d, dword [rsp + 0x48]
mov dword [rsp + 0x20], ebp
mov rdx, r12
mov r8d, dword [rsp + 0x50]
mov qword [rsp + 0x30], rdi
lea rcx, str._____________________________________________n_n_Archive_:__s_n_Window__:__iK_n_Header__:__i_n_n_Listed__i_dirs___i_files___I64i_bytes._n
mov dword [rsp + 0x28], esi
lea rbp, [rsp + 0xa8]
call sub.msvcrt.dll_printf
jmp 0x420a15
movzx edx, byte [rsp + 0x48]
lea rbx, [rsp + 0x41f0]
mov qword [rsp + 0x68], r14
mov edi, 1
lea rax, [rsp + 0x11c0]
mov qword [rsp + 0x48], rbx
lea rsi, [rsp + 0x21c8]
mov qword [rsp + 0x60], r15
mov rbx, rax
lea r12, [rsp + 0x8300]
mov qword [rsp + 0x50], rsi
mov r14d, edx
jmp 0x420cd3
mov rax, qword [rsp + 0x48]
mov r9d, 1
mov r8d, r14d
lea rcx, [rax + 0xa0]
call fcn.0041d370
add rdi, 1
cmp ebp, edi
jle 0x420dcb
mov rdx, qword [r13 + rdi*8]
cmp word [rdx], 0x40
jne 0x420cb5
or r9, 0xffffffffffffffff
mov ecx, dword [0x00434680]
mov qword [rsp + 0x21c8], 0
lea rsi, [rdx + 2]
mov qword [rsp + 0x20], r12
xor edx, edx
mov qword [rsp + 0x21d0], r9
mov r8, rsi
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x1000
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rcx, str._Scanning___s_n
mov rdx, r12
call sub.msvcrt.dll_printf
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, rsi
mov dword [rsp + 0x20], 0
mov r9d, 1
call fcn.00417780
test al, al
je 0x420d6f
mov qword [rsp + 0x21e0], 0
mov rax, qword [rsp + 0x48]
lea rsi, [rsp + 0x1c0]
lea r15, [rax + 0xa0]
jmp 0x420da7
mov r8d, 0x1000
mov rdx, rsi
mov rcx, r12
call fcn.0041a8d0
xor r9d, r9d
mov r8d, r14d
mov rcx, r15
mov rdx, rax
call fcn.0041d370
mov r8d, 0x1000
mov rdx, rsi
mov rcx, rbx
call fcn.0041a390
test al, al
jne 0x420d85
mov rcx, qword [rsp + 0x50]
call fcn.00417730
jmp 0x420ccf
mov rbx, qword [rsp + 0x48]
lea rsi, [rsp + 0x80]
lea rdi, [rsp + 0x82c0]
mov rcx, rsi
mov r15, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
lea rdx, [rbx + 0xa0]
call fcn.0041c980
mov qword [rsp + 0x60], rdi
mov ecx, 8
movsxd rax, dword [rsp + 0x82f0]
rep movsd dword [rdi], dword [rsi]
mov edx, 0x100000
mov rcx, qword [r13]
cmp qword [rsp + 0x82c0], rax
cmovle rax, qword [rsp + 0x82c0]
cmp eax, 0x100000
cmovl eax, edx
add eax, 0x3ff
and eax, 0xfffffc00
mov dword [rsp + 0x82f0], eax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x420e53
test al, 0x10
je 0x4218d9
mov r8, qword [r13]
lea rsi, [rbx + 0x30]
mov r9d, 1
mov edx, 1
mov rcx, rsi
call fcn.0041ee30
mov r8, rsi
mov edx, 1
mov rcx, rbx
mov r9d, dword [rsp + 0x82f0]
mov dword [rsp + 0x20], 0x63
mov dword [rsp + 0x4288], 1
call fcn.0040ebf0
mov r8, qword [r13]
or r9d, 0xffffffff
xor edx, edx
mov rax, qword [rsp + 0x4200]
xor r13d, r13d
mov esi, dword [rsp + 0x82f0]
mov ecx, dword [0x00434680]
mov edi, dword [rax + 0x48]
mov dword [rsp + 0x28], 0x1000
mov rax, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov qword [rsp + 0x20], r12
sar esi, 0xa
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x50], rax
call rax
lea ecx, [rdi - 4]
mov eax, 1
mov dword [rsp + 0x28], esi
mov edx, eax
mov r9, qword [rsp + 0x82c0]
mov qword [rsp + 0x20], r12
shl edx, cl
mov r8d, dword [rsp + 0x82d8]
lea ecx, [rdi - 0xc]
sar edx, 0xa
mov dword [rsp + 0x38], edx
mov edx, dword [rsp + 0x82d0]
shl eax, cl
mov dword [rsp + 0x30], eax
lea rcx, str._Found__i_dirs___i_files___I64i_bytes._n_n_Creating_archive__s_n_Window_:__iK___iM.._iG__n_n
call sub.msvcrt.dll_printf
lea rax, [rsp + 0x11c0]
mov qword [rsp + 0x68], r14
movsd xmm7, qword [0x0042c690]
mov qword [rsp + 0x48], rax
jmp 0x420f56
add r13d, 1
cmp dword [rsp + 0x82b0], r13d
jle 0x421050
lea rsi, [rbx + 0xa0]
mov edx, r13d
mov rcx, rsi
call fcn.0041bae0
cmp qword [rax + 0x208], 0
jle 0x420f52
mov edx, r13d
mov rcx, rsi
call fcn.0041bae0
cmp byte [0x00432668], 0
mov rdi, rax
jne 0x420fa3
mov byte [0x00432668], 1
call fcn.0041b2b0
mov eax, dword [0x00436a94]
mov r9d, 1
mov r8d, r13d
or rsi, 0xffffffffffffffff
lea rbp, [rbx + 0xa0]
mov dword [rsp + 0xa8], 0xffffffff
mov rcx, rbp
mov qword [rsp + 0x1c8], rsi
mov qword [rsp + 0x1c0], 0
lea r14, [rsp + 0x1c0]
add eax, 1
mov dword [0x00436a94], eax
and eax, 1
shl rax, 0xd
lea rdx, [rbx + rax + 0xc0]
call fcn.0041c510
mov rcx, rax
call fcn.0041abc0
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], 0
mov rdx, rax
call fcn.00417780
test al, al
jne 0x42162d
mov rax, qword [rdi + 0x208]
sub qword [rsp + 0x82c0], rax
mov byte [rdi + 0x230], 0
mov rcx, r14
call fcn.00417730
jmp 0x420f52
mov edx, 1
mov rcx, rbx
mov r14, qword [rsp + 0x68]
or r13, 0xffffffffffffffff
call fcn.004015d0
lea rbp, [rbx + 0xa0]
mov rcx, r12
call fcn.0040c650
mov r9d, 0x100000
mov edx, 1
mov rcx, r12
lea r8, [rbx + 0x30]
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x63
lea rsi, [r12 + 0x48]
mov dword [rsp + 0x4288], 0
call fcn.0040e4e0
mov rcx, rbp
call fcn.0041bb20
lea rdx, [rbx + 0x4100]
mov rcx, rsi
mov r8d, 4
call fcn.004152b0
lea rdx, [rbx + 0x40c0]
mov rcx, rsi
xor esi, esi
mov r8d, 4
call fcn.004152b0
mov qword [rsp + 0x68], rbx
mov rbx, qword [rsp + 0x48]
jmp 0x42115b
mov edx, esi
mov rcx, rbp
call fcn.0041bae0
or r9d, 0xffffffff
xor edx, edx
mov qword [rsp + 0x20], rbx
mov r8, rax
mov dword [rsp + 0x28], 0x410
mov ecx, 0xfde9
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
call rax
sub eax, 1
cmp eax, 0x40f
ja 0x421935
xor eax, eax
mov rcx, r13
mov rdi, rbx
repne scasb al, byte [rdi]
lea rax, [r12 + 0x48]
mov rdx, rbx
add esi, 1
mov r8d, ecx
mov rcx, rax
not r8d
call fcn.004152b0
cmp dword [rsp + 0x82b0], esi
jg 0x4210ec
mov rbx, qword [rsp + 0x68]
lea rsi, [r12 + 0x48]
xor ebp, ebp
lea rdi, [rbx + 0xa0]
jmp 0x42119b
mov edx, ebp
mov rcx, rdi
add ebp, 1
call fcn.0041bae0
mov r8d, 8
mov rcx, rsi
lea rdx, [rax + 0x208]
call fcn.004152b0
cmp dword [rsp + 0x82b0], ebp
jg 0x421179
lea rdi, [rbx + 0xa0]
xor ebp, ebp
lea rsi, [r12 + 0x48]
jmp 0x4211d6
mov edx, ebp
mov rcx, rdi
add ebp, 1
call fcn.0041bae0
mov r8d, 8
mov rcx, rsi
lea rdx, [rax + 0x210]
call fcn.004152b0
cmp dword [rsp + 0x82b0], ebp
jg 0x4211b4
lea rdi, [rbx + 0xa0]
xor ebp, ebp
lea rsi, [r12 + 0x48]
jmp 0x421211
mov edx, ebp
mov rcx, rdi
add ebp, 1
call fcn.0041bae0
mov r8d, 4
mov rcx, rsi
lea rdx, [rax + 0x218]
call fcn.004152b0
cmp dword [rsp + 0x82b0], ebp
jg 0x4211ef
lea rdi, [rbx + 0xa0]
xor ebp, ebp
lea rsi, [r12 + 0x48]
jmp 0x42124c
mov edx, ebp
mov rcx, rdi
add ebp, 1
call fcn.0041bae0
mov r8d, 4
mov rcx, rsi
lea rdx, [rax + 0x220]
call fcn.004152b0
cmp dword [rsp + 0x82b0], ebp
jg 0x42122a
lea rax, [rbx + 0xa0]
xor r13d, r13d
or edi, 0xffffffff
mov qword [rsp + 0x50], rax
lea rbp, [rsp + 0xa8]
mov rax, rbx
mov ebx, r13d
lea rsi, [r12 + 0x48]
mov r13, rax
jmp 0x4212b6
mov rcx, qword [rsp + 0x50]
mov edx, ebx
call fcn.0041bae0
mov edx, edi
mov r8d, 4
mov rcx, rsi
cmp dword [rax + 0x22c], 0
cmovns edx, dword [rax + 0x22c]
add ebx, 1
mov dword [rsp + 0xa8], edx
mov rdx, rbp
call fcn.004152b0
cmp dword [rsp + 0x82b0], ebx
jg 0x42127f
mov edx, 1
mov rcx, r12
mov rbx, r13
call fcn.00402090
lea rsi, [rsp + 0x1c0]
lea rdx, [r13 + 0xa0]
mov rcx, rsi
mov dword [rsp + 0x82f4], eax
call fcn.0041be00
mov rcx, r12
call fcn.0041b410
lea rdx, [r13 + 0x70]
mov ecx, 8
mov rax, qword [rsp + 0x4230]
mov dword [rsp + 0xa8], 0x5284d43
mov rdi, qword [rsp + 0x60]
rep movsd dword [rdi], dword [rsi]
mov ecx, 8
mov rdi, rdx
mov dword [rsp + 0x4284], 0
lea rsi, [r13 + 0x30]
mov qword [rsp + 0x8300], rax
xor eax, eax
rep stosd dword [rdi], eax
mov edi, dword [rsp + 0x4280]
mov eax, dword [rsp + 0x4284]
lea rdx, [rdi + rdi]
lea ecx, [rax + 1]
add rax, qword [rsp + 0x4248]
cmp rdx, 0xff
mov dword [rsp + 0x4284], ecx
jbe 0x4213b0
mov ecx, edx
mov rdi, rdx
or ecx, 1
shr rdi, 8
mov byte [rax], cl
cmp dword [rsp + 0x4284], 0x1000
jne 0x421342
mov rdx, qword [rsp + 0x4248]
mov r8d, 0x1000
mov rcx, rsi
call fcn.004180e0
mov dword [rsp + 0x4284], 0
mov eax, eax
add qword [rsp + 0x4258], rax
jmp 0x421342
mov byte [rax], dl
mov eax, dword [rsp + 0x4280]
lea rdx, [rbx + 0x30]
lea rdi, [rbx + 0x48]
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], rbx
mov rbx, rdi
mov qword [rsp + 0x70], rbp
mov rbp, rdx
mov rsi, rax
shl rax, 5
mov qword [rsp + 0x50], r15
mov r12, rax
mov qword [rsp + 0x78], r14
test esi, esi
je 0x421513
mov eax, dword [rsp + 0x4240]
cmp esi, eax
jb 0x42140f
lea edx, [rsi + 1]
add eax, eax
mov rcx, rbx
cmp eax, edx
cmovge edx, eax
call fcn.0041ede0
mov rax, qword [rsp + 0x4238]
lea r13d, [rsi - 1]
mov rcx, rbx
mov edx, r13d
mov rdi, qword [rax + r12 + 8]
call fcn.0040c610
mov edx, esi
mov rcx, rbx
mov r15, qword [rax + 8]
call fcn.0040c610
mov edx, esi
mov rcx, rbx
sub rdi, r15
mov qword [rax + 0x10], rdi
call fcn.0040c610
mov edx, esi
mov rcx, rbx
movzx edi, byte [rax]
call fcn.0040c610
mov rcx, rbx
mov r14, qword [rax + 0x10]
mov r15, rdi
mov edi, edi
mov edx, dword [rsp + rdi*4 + 0x4260]
call fcn.0040c610
mov rdx, r14
sub rdx, qword [rax + 0x10]
lea rax, [rdx + rdx]
test rdx, rdx
lea rcx, [rdx + rdx]
not rax
cmovns rax, rcx
shl rax, 3
or r15, rax
jmp 0x4214c4
mov edx, dword [rsp + 0x4284]
lea rax, [r15 + r15]
lea ecx, [rdx + 1]
add rdx, qword [rsp + 0x4248]
cmp rax, 0xff
mov dword [rsp + 0x4284], ecx
jbe 0x4214fe
mov ecx, eax
shr rax, 8
or ecx, 1
mov r15, rax
mov byte [rdx], cl
cmp dword [rsp + 0x4284], 0x1000
jne 0x421491
mov rdx, qword [rsp + 0x4248]
mov r8d, 0x1000
mov rcx, rbp
call fcn.004180e0
mov dword [rsp + 0x4284], 0
mov eax, eax
add qword [rsp + 0x4258], rax
jmp 0x421491
mov byte [rdx], al
sub r12, 0x20
mov dword [rsp + rdi*4 + 0x4260], esi
mov esi, r13d
jmp 0x4213ea
mov rbx, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x4284]
mov rdx, qword [rsp + 0x4248]
mov rbp, qword [rsp + 0x70]
lea rsi, [rbx + 0x30]
mov r15, qword [rsp + 0x50]
mov rcx, rsi
mov r12, qword [rsp + 0x60]
mov r14, qword [rsp + 0x78]
call fcn.004180e0
xor edx, edx
mov rcx, rsi
mov edi, eax
call fcn.00415370
mov r9, qword [rsp + 0x48]
mov rdx, rbp
mov qword [rsp + 0x20], 0
mov r8d, 4
mov rcx, qword [rsp + 0x4228]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x421909
cmp dword [rsp + 0x11c0], 4
jne 0x421909
mov rdx, r12
mov rcx, rsi
mov r8d, 6
add qword [rsp + 0x4230], 4
call fcn.004180e0
mov rdx, qword [rsp + 0x82c0]
xor r8d, r8d
lea eax, [rdi + rax + 4]
add rax, qword [rsp + 0x4258]
mov r9d, dword [rsp + 0x82f4]
lea rcx, str._r_c_r_n_Header_:__i_n_Size___:__I64i_n_n_Archive_ok._Added__i_dirs___i_files___I64i_bytes._n
mov qword [rsp + 0x38], rdx
mov edx, dword [rsp + 0x82d8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x4258], rax
mov dword [rsp + 0x30], edx
mov edx, dword [rsp + 0x82d0]
mov dword [rsp + 0x28], edx
mov edx, dword [0x0043266c]
call sub.msvcrt.dll_printf
jmp 0x420a15
lea rbx, [rsp + 0x41f0]
mov r9d, 1
xor r8d, r8d
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
jmp 0x4209fa
mov eax, dword [0x00436a94]
xor r9d, r9d
mov r8d, r13d
mov rcx, rbp
add eax, 1
mov dword [0x00436a94], eax
and eax, 1
shl rax, 0xd
lea rdx, [rbx + rax + 0xc0]
call fcn.0041c510
mov r9d, esi
xor edx, edx
mov ecx, dword [0x00434680]
mov r8, rax
mov qword [rsp + 0x20], r12
mov rax, qword [rsp + 0x50]
xor esi, esi
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x1000
call rax
mov edx, dword [0x0043266c]
mov r9, r12
xor r8d, r8d
lea rcx, str._r_c_r_Adding__s_n
call sub.msvcrt.dll_printf
mov r9, qword [rsp + 0x48]
mov r8d, 0x10000
mov rdx, r12
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x1c8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x42191f
mov eax, dword [rsp + 0x11c0]
add qword [rsp + 0x1d0], rax
test eax, eax
mov rbp, rax
je 0x421879
mov r8d, eax
mov rdx, r12
mov rcx, rbx
call fcn.004015a0
mov r8d, ebp
mov rdx, r12
movsxd rbp, ebp
lea rcx, [rsp + 0xa8]
add rsi, rbp
call fcn.00417a60
call r15
sub eax, dword [rsp + 0x82e4]
cmp eax, 0x3e7
jbe 0x4216a7
call r15
sub eax, 1
cmp rsi, qword [rdi + 0x208]
mov dword [rsp + 0x82e4], eax
jle 0x421743
mov qword [rdi + 0x208], rsi
pxor xmm0, xmm0
pxor xmm1, xmm1
cvtsi2sd xmm0, qword [rsp + 0x4218]
mov rbp, qword [rsp + 0x48]
cvtsi2sd xmm1, qword [rsp + 0x82c0]
mov r9, qword [0x00436a98]
pxor xmm6, xmm6
lea rdx, str.RZ__0.1f_____iM_
mulsd xmm0, xmm7
mov rcx, rbp
shr r9, 0x14
divsd xmm0, xmm1
movapd xmm2, xmm0
movq r8, xmm0
call sub.msvcrt.dll_sprintf
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
pxor xmm0, xmm0
mov rbp, qword [rsp + 0x4218]
cvtsi2sd xmm6, rsi
cvtsi2sd xmm0, qword [rdi + 0x208]
mulsd xmm6, xmm7
divsd xmm6, xmm0
call r15
pxor xmm2, xmm2
pxor xmm0, xmm0
mov ecx, dword [0x0043266c]
cvtsi2sd xmm2, qword [rsp + 0x4218]
mov r8d, eax
sub r8d, dword [rsp + 0x82e0]
mov rax, rbp
cvtsi2sd xmm0, qword [rsp + 0x82c0]
cqo
movapd xmm1, xmm2
idiv r8
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x4258]
mulsd xmm1, xmm7
test rax, rax
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm6
js 0x42185e
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, xmm7
mov edx, ecx
movapd xmm3, xmm1
lea rcx, str._r_c_r_total__0.1f_____ratio__0.1f_____speed__iK_s___file__0.1f__
movq r9, xmm1
xor r8d, r8d
divsd xmm0, xmm2
movsd qword [rsp + 0x20], xmm0
call sub.msvcrt.dll_printf
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, [rax + 0x30]
call sub.msvcrt.dll_fflush
jmp 0x4216a7
mov rdx, rax
and eax, 1
pxor xmm0, xmm0
shr rdx, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
jmp 0x421822
mov rax, rsi
sub rax, qword [rdi + 0x208]
add qword [rsp + 0x82c0], rax
mov qword [rdi + 0x208], rsi
mov eax, dword [rsp + 0xa8]
not eax
mov dword [rdi + 0x218], eax
jmp 0x421043
lea rbx, [rsp + 0x41f0]
mov dword [rsp + 0x28], 0
jmp 0x4209eb
mov rax, rdx
and edx, 1
pxor xmm0, xmm0
shr rax, 1
or rax, rdx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
jmp 0x420a82
mov rdx, qword [r13]
lea rbp, [rsp + 0xa8]
mov rcx, rbx
call fcn.0041a5f0
test al, al
je 0x420a15
mov edx, pe_nt_image_headers64
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x420e53
lea rcx, str._n__ERROR__Write_failed_
call sub.msvcrt.dll_puts
mov ecx, 1
call sub.msvcrt.dll_exit
lea rcx, str._n__ERROR__Read_failed_
call sub.msvcrt.dll_puts
mov ecx, 1
call sub.msvcrt.dll_exit
lea rcx, str._n__ERROR__to_utf8_failed_
call sub.msvcrt.dll_puts
mov ecx, 1
call sub.msvcrt.dll_exit
nop
nop dword [rax]