Function at 0x407bd2
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x20
mov byte [ebp - 0xc], pe_nt_image_headers32
jmp 0x407f9c
cmp byte [ebp - 0xc], 0
jne 0x407bed
mov byte [ebp - 0xc], pe_nt_image_headers32
cmp byte [ebp - 0xc], 0x80
jne 0x407c06
mov eax, dword [ebp + 8]
add eax, 0x414
mov dword [esp], eax
call dbg.fifo_pop
mov byte [ebp - 0xb], al
mov eax, dword [ebp + 8]
mov al, byte [eax + 0xc3a]
test al, al
je 0x407db2
mov al, byte [ebp - 0xc]
mov dl, byte [ebp - 0xb]
and eax, edx
test al, al
je 0x407c5c
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc40]
movzx edx, ax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc40]
movzx eax, ax
mov ecx, dword [ebp + 8]
mov cl, byte [ecx + eax + 0xc43]
mov eax, dword [ebp + 8]
mov al, byte [eax + 0xc42]
or ecx, eax
mov eax, dword [ebp + 8]
mov byte [eax + edx + 0xc43], cl
jmp 0x407c99
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc40]
movzx edx, ax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc40]
movzx eax, ax
mov ecx, dword [ebp + 8]
mov al, byte [ecx + eax + 0xc43]
mov cl, al
mov eax, dword [ebp + 8]
mov al, byte [eax + 0xc42]
not eax
and eax, ecx
mov cl, al
mov eax, dword [ebp + 8]
mov byte [eax + edx + 0xc43], cl
mov eax, dword [ebp + 8]
mov al, byte [eax + 0xc42]
mov dl, al
shr dl, 1
mov eax, dword [ebp + 8]
mov byte [eax + 0xc42], dl
mov eax, dword [ebp + 8]
mov al, byte [eax + 0xc42]
test al, al
jne 0x407f95
mov eax, dword [ebp + 8]
mov byte [eax + 0xc42], 0x80
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc40]
inc eax
mov edx, dword [ebp + 8]
mov word [edx + 0xc40], ax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc40]
movzx edx, ax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc38]
movzx eax, ax
add eax, 0x20
cmp edx, eax
jne 0x407f98
mov eax, dword [ebp + 8]
mov byte [eax + 0xc3a], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc38]
movzx eax, ax
lea edx, [eax + 0x20]
mov eax, dword [ebp + 8]
add eax, 0xc43
mov dword [esp + 8], edx
mov dword [esp + 4], 0x409a00
mov dword [esp], eax
call dbg.ccsds_xor_sequence
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc38]
movzx eax, ax
mov edx, 0xdf
sub edx, eax
mov eax, dword [ebp + 8]
add eax, 0xc43
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dbg.decode_rs
mov word [ebp - 0xa], ax
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0xd54]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xd50]
movsx edx, word [ebp - 0xa]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc38]
movzx eax, ax
mov esi, dword [ebp + 8]
add esi, 0xc43
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call ebx
jmp 0x407f99
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc3c]
lea edx, [eax + eax]
mov eax, dword [ebp + 8]
mov dword [eax + 0xc3c], edx
mov al, byte [ebp - 0xc]
mov dl, byte [ebp - 0xb]
and eax, edx
test al, al
je 0x407de8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc3c]
lea edx, [eax + 1]
mov eax, dword [ebp + 8]
mov dword [eax + 0xc3c], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc3c]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc34]
xor eax, edx
cmp eax, 0x8000
je 0x407f66
cmp eax, 0x8000
ja 0x407ec7
cmp eax, 0x80
je 0x407f66
cmp eax, 0x80
ja 0x407e69
cmp eax, 8
je 0x407f66
cmp eax, 8
ja 0x407e49
cmp eax, 2
jbe 0x407f66
cmp eax, 4
je 0x407f66
jmp 0x407f99
cmp eax, 0x20
je 0x407f66
cmp eax, 0x40
je 0x407f66
cmp eax, 0x10
je 0x407f66
jmp 0x407f99
cmp eax, 0x800
je 0x407f66
cmp eax, 0x800
ja 0x407ea1
cmp eax, 0x200
je 0x407f66
cmp eax, 0x400
je 0x407f66
cmp eax, 0x100
je 0x407f66
jmp 0x407f99
cmp eax, 0x2000
je 0x407f66
cmp eax, 0x4000
je 0x407f66
cmp eax, 0x1000
je 0x407f66
jmp 0x407f99
cmp eax, 0x800000
je 0x407f66
cmp eax, 0x800000
ja 0x407f1c
cmp eax, 0x80000
je 0x407f66
cmp eax, 0x80000
ja 0x407f05
cmp eax, 0x20000
je 0x407f66
cmp eax, 0x40000
je 0x407f66
cmp eax, 0x10000
je 0x407f66
jmp 0x407f99
cmp eax, 0x200000
je 0x407f66
cmp eax, 0x400000
je 0x407f66
cmp eax, 0x100000
je 0x407f66
jmp 0x407f99
cmp eax, 0x8000000
je 0x407f66
cmp eax, 0x8000000
ja 0x407f41
cmp eax, 0x2000000
je 0x407f66
cmp eax, 0x4000000
je 0x407f66
cmp eax, 0x1000000
je 0x407f66
jmp 0x407f99
cmp eax, 0x20000000
je 0x407f66
cmp eax, 0x20000000
ja 0x407f58
cmp eax, 0x10000000
je 0x407f66
jmp 0x407f99
cmp eax, 0x40000000
je 0x407f66
cmp eax, 0x80000000
jne 0x407f99
mov eax, dword [ebp + 8]
mov byte [eax + 0xc3a], 1
mov eax, dword [ebp + 8]
mov dword [eax + 0xc3c], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0xc42], 0x80
mov eax, dword [ebp + 8]
mov word [eax + 0xc40], 0
jmp 0x407f99
nop
jmp 0x407f99
nop
shr byte [ebp - 0xc], 1
mov eax, dword [ebp + 8]
add eax, 0x414
mov dword [esp], eax
call dbg.fifo_isempty
xor eax, 1
test al, al
jne 0x407be3
cmp byte [ebp - 0xc], 0
jne 0x407be3
add esp, 0x20
pop ebx
pop esi
leave
ret