Function at 0x42e650
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x40fc
call fcn.0041d9b0
mov eax, dword [0x4444c4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
push 0x3e8
mov dword [ebp - 0x406c], edi
mov dword [ebp - 0x4028], ebx
mov dword [ebp - 0x4048], ebx
call fcn.0041f093
push edi
mov dword [ebp - 0x402c], eax
call fcn.0042e5f0
add esp, 8
test eax, eax
jne 0x42e6c2
push str.Install_path_not_existed_n
call fcn.0041e197
add esp, 4
pop edi
pop esi
lea eax, [ebx + 0x15]
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c438
mov esp, ebp
pop ebp
ret
push esi
call fcn.0042e5a0
add esp, 4
test eax, eax
jne 0x42e6f2
push str.Source_path_not_existed_n
call fcn.0041e197
add esp, 4
pop edi
pop esi
mov eax, 0x16
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c438
mov esp, ebp
pop ebp
ret
push str._n7z_ANSI_C_Decoder_16.04_:_Igor_Pavlov_:_Public_domain_:_2016_10_04_n_n
call fcn.0041e197
lea eax, [ebp - 0x4074]
push esi
push eax
mov dword [ebp - 0x4040], fcn.0042ec70
mov dword [ebp - 0x403c], fcn.0042ec90
mov dword [ebp - 0x4060], fcn.0042ec70
mov dword [ebp - 0x405c], fcn.0042ec90
call fcn.0042eda0
add esp, 0xc
test eax, eax
je 0x42e75b
push str.can_not_open_input_file
call fcn.0042e580
add esp, 4
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c438
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x407c]
push ecx
call fcn.0042efd0
xor edi, edi
lea edx, [ebp - 0x4020]
push edi
push edx
call fcn.00431c90
lea ecx, [ebp - 0x4020]
lea eax, [ebp - 0x407c]
push ecx
mov dword [ebp - 0x4010], eax
call fcn.00431cc0
add esp, 0x10
call fcn.00431980
lea edx, [ebp - 0x40fc]
push edx
call fcn.0042f110
lea eax, [ebp - 0x4060]
push eax
lea ecx, [ebp - 0x4040]
push ecx
lea edx, [ebp - 0x4020]
push edx
lea eax, [ebp - 0x40fc]
push eax
call fcn.00431730
mov esi, eax
add esp, 0x14
cmp esi, edi
jne 0x42eb65
xor edx, edx
mov dword [ebp - 0x4070], 0xffffffff
mov dword [ebp - 0x4034], edi
mov dword [ebp - 0x4064], edi
mov dword [ebp - 0x4030], edi
cmp dword [ebp - 0x40bc], edx
jbe 0x42eb4e
jmp 0x42e808
mov edi, dword [ebp - 0x4030]
xor edx, edx
mov esi, dword [ebp - 0x40b4]
mov ecx, edi
and ecx, 7
mov eax, 0x80
sar eax, cl
mov ecx, edi
shr ecx, 3
mov dword [ebp - 0x4050], edx
mov dword [ebp - 0x4038], edx
test byte [ecx + esi], al
mov dword [ebp - 0x4068], ecx
mov ecx, 0
setne cl
push edx
lea edx, [ebp - 0x40fc]
push edi
push edx
mov dword [ebp - 0x4058], eax
mov dword [ebp - 0x4054], ecx
call fcn.00431910
mov esi, eax
add esp, 0xc
cmp esi, dword [ebp - 0x4048]
jbe 0x42e889
push ebx
push 0
call fcn.0042ec90
lea eax, [esi + esi]
push eax
push 0
mov dword [ebp - 0x4048], esi
call fcn.0042ec70
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x42eb2f
push ebx
lea ecx, [ebp - 0x40fc]
push edi
push ecx
call fcn.00431910
call fcn.00425eb6
add eax, 0x20
push eax
push str.Extracting
call fcn.004371d0
push ebx
call fcn.0042e520
add esp, 0x18
mov dword [ebp - 0x4024], eax
test eax, eax
jne 0x42eb48
cmp dword [ebp - 0x4054], eax
je 0x42e8d8
push 0x43e6f4
call fcn.0041e197
add esp, 4
jmp 0x42e92e
lea edx, [ebp - 0x4060]
push edx
lea eax, [ebp - 0x4040]
push eax
lea ecx, [ebp - 0x4038]
push ecx
lea edx, [ebp - 0x4050]
push edx
lea eax, [ebp - 0x4064]
push eax
lea ecx, [ebp - 0x4034]
push ecx
lea edx, [ebp - 0x4070]
push edx
push edi
lea eax, [ebp - 0x4020]
push eax
lea ecx, [ebp - 0x40fc]
push ecx
call fcn.00431770
add esp, 0x28
mov dword [ebp - 0x4024], eax
test eax, eax
jne 0x42eb3e
xor edi, edi
cmp word [ebx], di
je 0x42e95c
mov esi, ebx
cmp word [esi], 0x2f
jne 0x42e951
xor edx, edx
mov eax, ebx
mov word [esi], dx
call fcn.0042e4f0
mov eax, 0x5c
mov word [esi], ax
inc edi
cmp word [ebx + edi*2], 0
lea esi, [ebx + edi*2]
jne 0x42e937
mov esi, dword [ebp - 0x402c]
xor eax, eax
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov ecx, 0xfa
mov edi, esi
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x406c]
mov edx, esi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x42e981
lea edi, [esi - 2]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x42e993
mov eax, dword [0x43b960]
mov dword [edi], eax
mov eax, ebx
mov edx, ebx
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42e9b0
sub eax, edx
lea edi, [esi - 2]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x42e9c0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
cmp dword [ebp - 0x4054], 0
rep movsb byte es:[edi], byte [esi]
je 0x42ea1b
mov eax, dword [ebp - 0x402c]
call fcn.0042e4f0
push 0x43cd6c
call fcn.0041e197
mov eax, dword [ebp - 0x4030]
inc eax
add esp, 4
mov dword [ebp - 0x4030], eax
cmp eax, dword [ebp - 0x40bc]
jb 0x42e800
jmp 0x42eb48
mov esi, dword [ebp - 0x402c]
mov eax, esi
lea ecx, [ebp - 0x4044]
call fcn.0042e510
test eax, eax
je 0x42ea52
push str.can_not_open_output_file
call fcn.0042e580
mov dword [ebp - 0x4024], 0xb
mov dword [ebp - 0x4028], 5
jmp 0x42e9fa
mov eax, dword [ebp - 0x4050]
add eax, dword [ebp - 0x4034]
mov ecx, dword [ebp - 0x4038]
lea edx, [ebp - 0x404c]
push edx
push eax
lea edx, [ebp - 0x4044]
push edx
mov dword [ebp - 0x404c], ecx
call fcn.0042ee80
add esp, 0xc
test eax, eax
jne 0x42eb0c
mov eax, dword [ebp - 0x404c]
cmp eax, dword [ebp - 0x4038]
jne 0x42eb0c
lea ecx, [ebp - 0x4044]
push ecx
call fcn.0042ede0
add esp, 4
test eax, eax
je 0x42eacd
push str.can_not_close_output_file
call fcn.0042e580
mov dword [ebp - 0x4028], 7
mov dword [ebp - 0x4024], 0xb
jmp 0x42e9fa
mov eax, dword [ebp - 0x40a8]
test eax, eax
je 0x42e9f0
mov dl, byte [ebp - 0x4058]
mov ecx, dword [ebp - 0x4068]
test byte [ecx + eax], dl
je 0x42e9f0
mov edx, dword [ebp - 0x40a4]
mov eax, dword [ebp - 0x4030]
mov ecx, dword [edx + eax*4]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x42e9f0
push str.can_not_write_output_file
call fcn.0042e580
mov dword [ebp - 0x4028], 6
mov dword [ebp - 0x4024], 0xb
jmp 0x42e9fa
mov eax, 2
mov dword [ebp - 0x4028], eax
mov esi, eax
jmp 0x42eb4e
mov dword [ebp - 0x4028], 3
mov esi, dword [ebp - 0x4024]
mov edx, dword [ebp - 0x4034]
push edx
lea eax, [ebp - 0x4040]
push eax
call dword [ebp - 0x403c]
add esp, 8
lea ecx, [ebp - 0x4040]
push ecx
lea edx, [ebp - 0x40fc]
push edx
call fcn.0042f160
push ebx
push 0
call fcn.0042ec90
lea eax, [ebp - 0x4074]
push eax
call fcn.0042ede0
mov eax, dword [ebp - 0x402c]
add esp, 0x14
test eax, eax
je 0x42eba2
push eax
call fcn.0041d1e4
add esp, 4
test esi, esi
jne 0x42ebca
push str._nEverything_is_Ok_n
call fcn.0041e197
mov eax, dword [ebp - 0x4028]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c438
mov esp, ebp
pop ebp
ret
cmp esi, 4
jne 0x42ebf3
push str.decoder_doesnt_support_this_archive
call fcn.0042e580
mov eax, dword [ebp - 0x4028]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c438
mov esp, ebp
pop ebp
ret
cmp esi, 2
jne 0x42ec1c
push str.can_not_allocate_memory
call fcn.0042e580
mov eax, dword [ebp - 0x4028]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c438
mov esp, ebp
pop ebp
ret
cmp esi, 3
jne 0x42ec45
push str.CRC_error
call fcn.0042e580
mov eax, dword [ebp - 0x4028]
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c438
mov esp, ebp
pop ebp
ret
push esi
push str._nERROR__d_n
call fcn.0041e197
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x4028]
add esp, 8
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041c438
mov esp, ebp
pop ebp
ret