Function at 0x53293a
Capabilities:
Delete file

Disassembly:
mov eax, 0x5af04c
call fcn.00591b5c
sub esp, 0x8c
mov dword [ebp - 0x98], ecx
lea ecx, [ebp - 0x48]
call fcn.004cde9c
and dword [ebp - 4], 0
push dword [ebp + 8]
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x98]
call fcn.0053206c
movzx eax, al
test eax, eax
jne 0x5329a3
push str.Failed_to_get_temp_file_for_inflating
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
call dword [eax + 0x10]
and byte [ebp - 0x91], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.004ce1b7
mov al, byte [ebp - 0x91]
jmp 0x532c99
and byte [ebp - 0x49], 0
push dword [ebp + 8]
lea eax, [ebp - 0x49]
push eax
lea ecx, [ebp - 0x48]
call fcn.0055420c
push eax
call fcn.0051a047
add esp, 0xc
mov dword [ebp - 0x84], eax
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x532a14
push str.Failed_to_create_temporary_output_file
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
call dword [eax + 0x10]
lea ecx, [ebp - 0x48]
call fcn.0055420c
push eax
push str.filename
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
call dword [eax + 0x28]
and byte [ebp - 0x92], 0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.004ce1b7
mov al, byte [ebp - 0x92]
jmp 0x532c99
lea ecx, [ebp - 0x48]
call fcn.0055420c
push eax
push str.CreatedTempFile
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
call dword [eax + 0x28]
push 0
push 0
push 0
push dword [ebp - 0x84]
lea ecx, [ebp - 0x2c]
call fcn.0051a0d8
mov byte [ebp - 4], 1
push 0
lea ecx, [ebp - 0x80]
call fcn.00548cbf
mov byte [ebp - 4], 2
push dword [ebp - 0x98]
lea ecx, [ebp - 0x80]
call fcn.00529e5d
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0xc4], 0
je 0x532a84
mov eax, dword [ebp - 0x98]
push dword [eax + 0xc4]
lea ecx, [ebp - 0x80]
call fcn.00548cab
and byte [ebp - 0x49], 0
mov eax, dword [ebp - 0x98]
movzx eax, byte [eax + 0x30]
test eax, eax
je 0x532b01
and dword [ebp - 0x88], 0
push dword [ebp + 8]
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x5c
call fcn.0055420c
push eax
lea ecx, [ebp - 0x80]
call fcn.00549f2f
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x532afc
push str.Failed_to_inflate_from_file_to_temp_file
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x98]
add ecx, 0x5c
call fcn.0055420c
push eax
push str.srcFilename
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
call dword [eax + 0x28]
jmp 0x532bb5
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0x7c], 0
je 0x532b5c
and dword [ebp - 0x8c], 0
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x98]
add eax, 0xc0
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x98]
push dword [eax + 0x7c]
lea ecx, [ebp - 0x80]
call fcn.0054a366
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x532b5a
push str.Failed_to_inflate_from_data_source_to_temp_file
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
call dword [eax + 0x10]
jmp 0x532bb5
and dword [ebp - 0x90], 0
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x80
call fcn.004d1628
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x80
call fcn.0055420c
push eax
lea ecx, [ebp - 0x80]
call fcn.0054a54d
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x532bb5
push str.Failed_to_inflate_from_data_buffer_to_temp_file
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
call dword [eax + 0x10]
push 0
push dword [ebp - 0x84]
call fcn.004e81eb
pop ecx
pop ecx
mov eax, dword [ebp - 0x98]
movzx eax, byte [eax + 0x5b]
test eax, eax
je 0x532bf9
mov ecx, dword [ebp - 0x98]
add ecx, 0x5c
call fcn.004ccbf8
test eax, eax
je 0x532bf9
mov ecx, dword [ebp - 0x98]
add ecx, 0x5c
call fcn.0055420c
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x98]
mov byte [eax + 0x5b], 1
lea ecx, [ebp - 0x48]
call fcn.0055420c
push eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x5c
call fcn.004cf872
mov eax, dword [ebp - 0x98]
movzx eax, byte [eax + 0x98]
test eax, eax
jne 0x532c4b
mov ecx, dword [ebp - 0x98]
add ecx, 0x80
call fcn.004d1730
mov eax, dword [ebp - 0x98]
mov byte [eax + 0x98], 1
jmp 0x532c5c
mov ecx, dword [ebp - 0x98]
add ecx, 0x80
call fcn.004d1618
mov eax, dword [ebp - 0x98]
mov byte [eax + 0x30], 1
mov al, byte [ebp - 0x49]
mov byte [ebp - 0x93], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x80]
call fcn.00548d0e
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.0051a17c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.004ce1b7
mov al, byte [ebp - 0x93]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
leave
ret 4