Function at 0x51c640
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a8348
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x634384]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
cmp edx, 0xfffffffe
je 0x51c6ed
test edx, edx
jne 0x51c692
cmp byte [ebp + 0x10], dl
je 0x51ccde
push 0x5c3b4c
mov ecx, esi
call fcn.00413620
jmp 0x51ccde
mov eax, edx
and eax, 0x180000
cmp eax, 0x180000
jne 0x51c6b6
cmp edx, 0xffffffff
je 0x51c6bb
push str.clean
mov ecx, esi
call fcn.00413620
jmp 0x51ccde
cmp edx, 0xffffffff
jne 0x51c6cc
push str.fatal_error_occured
mov ecx, esi
call fcn.00413620
jmp 0x51ccde
cmp edx, 0x80000000
jne 0x51c6e5
push str.scan_error
mov ecx, esi
call fcn.00413620
jmp 0x51ccde
cmp edx, 0x10000000
jne 0x51c6fe
push str.no_loaded_engines
mov ecx, esi
call fcn.00413620
jmp 0x51ccde
cmp edx, 0x8000000
jne 0x51c717
push str.operation_in_progress
mov ecx, esi
call fcn.00413620
jmp 0x51ccde
test edx, 0xe08
jne 0x51c790
test edx, 0x1000
je 0x51c73c
mov ecx, esi
test dl, 7
je 0x51c735
push str.infected_archive
jmp 0x51c788
push str.archive
jmp 0x51c788
test edx, 0x80000
je 0x51c759
mov ecx, esi
test dl, 7
je 0x51c752
push str.infected_mail
jmp 0x51c788
push str.mail
jmp 0x51c788
test edx, 0x100000
je 0x51c776
mov ecx, esi
test dl, 7
je 0x51c76f
push str.infected_container
jmp 0x51c788
push str.container
jmp 0x51c788
test dl, 7
je 0x51c790
cmp byte [ebp + 0x10], 0
je 0x51c790
push str.infected
mov ecx, esi
call fcn.00413620
mov edx, dword [ebp + 0xc]
test dl, 0x10
je 0x51c7c8
push str.incurable
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x200
je 0x51c7e6
push str.deleted
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 1
jmp 0x51c859
test edx, 0x400
je 0x51c804
push str.quarantined
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 2
jmp 0x51c859
test edx, 0x1000000
je 0x51c822
push str.locked
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 3
jmp 0x51c859
test dl, 8
je 0x51c83d
push str.cured
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 4
jmp 0x51c859
test edx, 0x800
je 0x51c878
push str.ignored
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 5
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x10000
je 0x51c8b3
push str.no_enough_memory
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 6
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x20000
je 0x51c8ee
push str.incomplete
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 7
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x40000
je 0x51c929
push str.unpack_error
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 8
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test dl, 0x40
je 0x51c961
push str.write_error
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 9
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x8000
je 0x51c99c
push str.quarantine_error
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x200000
je 0x51c9d7
push str.delete_error
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0xb
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x400000
je 0x51ca12
push str.cure_error
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test dl, dl
jns 0x51ca49
push str.decompression_error
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0xd
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x100
je 0x51ca84
push str.password_protected
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0xe
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x2000
je 0x51cabf
push str.CRC_error
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x4000
je 0x51cafa
push str.header_CRC_error
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0x10
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x20000000
je 0x51cb35
push str.too_deep
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0x11
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x2000000
je 0x51cb70
push str.has_skipped_objects
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0x12
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x4000000
je 0x51cbab
push str.too_long
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x40000000
je 0x51cbe6
push str.timed_out
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0x14
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
mov eax, edx
and eax, 0x800020
cmp eax, 0x800020
jne 0x51cc0a
push str.file_not_found
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0x15
jmp 0x51cc5e
test dl, 0x20
je 0x51cc42
push str.read_error
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0x16
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
test edx, 0x800000
je 0x51cc7d
push str.directory
lea ecx, [ebp - 0x28]
call fcn.00412850
mov dword [ebp - 4], 0x17
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov edx, dword [ebp + 0xc]
and edx, 0x98000000
mov dword [ebp + 0xc], edx
je 0x51ccde
push str.undecoded_bits_0x_08x_
lea ecx, [ebp - 0x44]
call fcn.004343a0
mov dword [ebp - 4], 0x18
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp + 0xc]
push ecx
mov ecx, eax
call fcn.00440d50
mov ecx, eax
call fcn.00434790
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.00434840
add esp, 8
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x28]
call fcn.004100d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.0041ba60
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005395e6
mov esp, ebp
pop ebp
ret