Function at 0x475a80
Capabilities:
Inspect section memory permissions

Disassembly:
push ecx
push ebx
push esi
mov esi, dword [0x7fe040]
push 0x754260
test esi, esi
setne byte [esp + 0xf]
call fcn.00492090
mov eax, dword [0x5b7360]
mov esi, 1
add esp, 4
cmp eax, esi
jne 0x475ac2
push 0x53577c
push 0x535778
call fcn.004759b0
add esp, 8
mov dword [0x535774], eax
mov eax, dword [0x5b7360]
xor ebx, ebx
cmp eax, esi
mov dword [0x535780], ebx
jne 0x475b10
mov eax, dword [0x535778]
cmp eax, 0xfffffff8
jge 0x475ae4
mov ebx, 4
jmp 0x475aee
cmp eax, 8
jle 0x475af4
mov ebx, 8
mov dword [0x535780], ebx
mov eax, dword [0x53577c]
cmp eax, 8
jle 0x475b03
or ebx, 2
jmp 0x475b0a
cmp eax, 0xfffffff8
jge 0x475b10
or ebx, esi
mov dword [0x535780], ebx
push 0
call fcn.00475890
add esp, 4
test eax, eax
je 0x475b26
or ebx, esi
mov dword [0x535780], ebx
push esi
call fcn.00475890
add esp, 4
test eax, eax
je 0x475b3c
or ebx, 2
mov dword [0x535780], ebx
push 2
call fcn.00475890
add esp, 4
test eax, eax
je 0x475b53
or ebx, 4
mov dword [0x535780], ebx
push 3
call fcn.00475890
add esp, 4
test eax, eax
je 0x475b6a
or ebx, 8
mov dword [0x535780], ebx
push 4
call fcn.00475890
add esp, 4
test eax, eax
je 0x475b84
or ebx, 0x20000000
mov dword [0x535780], ebx
push 5
call fcn.00475890
add esp, 4
test eax, eax
je 0x475b9e
or ebx, 0x40000000
mov dword [0x535780], ebx
push 6
call fcn.00475890
add esp, 4
test eax, eax
je 0x475bb5
or bl, 0x80
mov dword [0x535780], ebx
push 7
call fcn.00475890
add esp, 4
test eax, eax
je 0x475bcc
or ebx, 0x10
mov dword [0x535780], ebx
push 8
call fcn.00475890
add esp, 4
test eax, eax
je 0x475be6
or ebx, 0x100040
mov dword [0x535780], ebx
push 9
call fcn.00475890
add esp, 4
test eax, eax
je 0x475bfd
or ebx, 0x20
mov dword [0x535780], ebx
push edi
push 0xa
call fcn.00475890
mov edi, dword [0x80e01c]
add esp, 4
test eax, eax
je 0x475c67
mov al, byte [0x535796]
test al, al
jne 0x475c6e
mov ax, word [edi + 0xe]
cmp ax, 0x50
je 0x475d75
cmp ax, 0x51
je 0x475d75
cmp ax, 0x54
je 0x475d75
cmp ax, 0x55
je 0x475d75
cmp ax, 0x56
je 0x475d75
cmp ax, 0x58
je 0x475d75
or ebx, 0x80000
mov dword [0x535780], ebx
mov byte [0x535796], 0
push 0xb
call fcn.00475890
add esp, 4
test eax, eax
je 0x475c85
or bh, 2
mov dword [0x535780], ebx
push 0xc
call fcn.00475890
add esp, 4
test eax, eax
je 0x475c9c
or bh, 0x10
mov dword [0x535780], ebx
push 0xd
call fcn.00475890
add esp, 4
test eax, eax
je 0x475cb3
or bh, 1
mov dword [0x535780], ebx
push 0xe
call fcn.00475890
add esp, 4
test eax, eax
je 0x475cca
or bl, 0x84
mov dword [0x535780], ebx
push 0xf
call fcn.00475890
add esp, 4
test eax, eax
je 0x475ce1
or bl, 0x88
mov dword [0x535780], ebx
push 0x10
call fcn.00475890
add esp, 4
test eax, eax
je 0x475cf8
or bh, 0x20
mov dword [0x535780], ebx
push 0x11
call fcn.00475890
add esp, 4
test eax, eax
je 0x475d12
or ebx, 0x100000
mov dword [0x535780], ebx
mov al, byte [0x754261]
test al, al
je 0x475d27
or ebx, 0x200100
mov dword [0x535780], ebx
mov si, word [0x80dec2]
mov ecx, 4
cmp si, cx
jne 0x475dc6
mov dl, byte [0x753948]
mov al, byte [0x7f7768]
add dl, dl
xor dl, al
and dl, 2
xor al, dl
mov byte [0x7f7768], al
mov eax, dword [0x535798]
test bh, 2
je 0x475da7
cmp eax, 6
jge 0x475d9b
and bh, 0xfd
inc eax
mov dword [0x535780], ebx
mov dword [0x535798], eax
jmp 0x475dc6
push 2
push 0
push 2
call fcn.0045e440
mov ebx, dword [0x535780]
mov edi, dword [0x80e01c]
add esp, 0xc
mov byte [0x535796], 1
jmp 0x475c6e
mov dword [0x535798], 0x64
jmp 0x475dc6
test eax, eax
je 0x475dbc
cmp eax, 0x64
je 0x475dbc
or ebx, 0x80000000
mov dword [0x535780], ebx
mov dword [0x535798], 0
test byte [0x7fd140], 1
jne 0x475ed3
mov al, byte [0x754262]
test al, al
je 0x475df3
test byte [0x80dfd2], 1
je 0x475ed3
mov eax, 1
jmp 0x475e8c
mov al, byte [0x754263]
test al, al
je 0x475e25
test byte [0x80dfd4], 1
je 0x475ed3
test si, si
mov word [0x80dec6], cx
jne 0x475ed3
cmp word [0x80dec4], cx
jmp 0x475ec8
mov al, byte [0x754264]
test al, al
je 0x475e42
test byte [0x80dfd3], 1
je 0x475ed3
mov eax, 3
jmp 0x475e8c
mov al, byte [0x754265]
test al, al
je 0x475e75
test byte [0x80dfd7], 1
je 0x475ed3
mov eax, 2
test si, si
mov word [0x80dec6], ax
jne 0x475ed3
cmp word [0x80dec4], ax
jne 0x475ed3
mov word [0x80dec2], ax
jmp 0x475ed3
mov al, byte [0x754266]
test al, al
je 0x475ea0
test byte [0x80dfd6], 1
je 0x475ed3
mov eax, 5
test si, si
mov word [0x80dec6], ax
jne 0x475ed3
cmp word [0x80dec4], ax
jmp 0x475ec8
mov al, byte [0x754267]
test al, al
je 0x475ed3
test byte [0x80dfd5], 1
je 0x475ed3
test si, si
mov word [0x80dec6], 6
jne 0x475ed3
cmp word [0x80dec4], 6
jne 0x475ed3
mov word [0x80dec2], 2
mov al, byte [0x75426b]
test al, al
je 0x475f76
mov eax, dword [0x53579c]
test eax, eax
jne 0x475fdf
mov ax, word [edi + 0x22]
mov ecx, 0x3e8
test ax, ax
jle 0x475f00
cmp ax, cx
jl 0x475f0e
cmp word [0x80def0], 0
je 0x475fdf
mov ax, word [0x80dff9]
cmp ax, 0xffff
je 0x475f27
test ax, ax
je 0x475f6a
dec ax
mov word [0x80dff9], ax
test ax, ax
je 0x475f6a
mov word [0x80def2], 0
add word [edi + 0x22], 0x1f4
mov eax, dword [0x80e01c]
cmp word [eax + 0x22], cx
jle 0x475f64
push 2
push 0
push 0x74
mov word [eax + 0x22], cx
call fcn.0045e440
mov al, byte [0x7f7745]
add esp, 0xc
inc al
mov byte [0x7f7745], al
mov ebx, dword [0x535780]
mov dword [0x53579c], 0xf
jmp 0x475fdf
mov al, byte [0x75426a]
test al, al
mov eax, dword [0x53579c]
je 0x475fd5
test eax, eax
jne 0x475fdf
mov ax, word [edi + 0x22]
mov ecx, 0x3e8
test ax, ax
jle 0x475f9b
cmp ax, cx
jl 0x475fa5
cmp word [0x80def0], 0
je 0x475fdf
mov ax, word [0x80dffb]
cmp ax, 0xffff
je 0x475fbe
test ax, ax
je 0x475f6a
dec ax
mov word [0x80dffb], ax
test ax, ax
je 0x475f6a
mov word [0x80def2], 0
add word [edi + 0x22], cx
jmp 0x475f3b
test eax, eax
je 0x475fdf
dec dword [0x53579c]
mov al, byte [0x7542a4]
pop edi
test al, al
je 0x475ff5
or ebx, 0x40000
mov dword [0x535780], ebx
test bl, bl
jns 0x47601c
test bl, 3
jne 0x47601c
test bl, 4
je 0x47600b
and ebx, 0xfffffffb
or bh, 4
jmp 0x476016
test bl, 8
je 0x47601c
and ebx, 0xfffffff7
or bh, 8
mov dword [0x535780], ebx
test bl, 1
je 0x47602f
test bl, 2
je 0x47602f
or bh, 0x10
mov dword [0x535780], ebx
test bh, 0x10
je 0x476046
mov eax, dword [0x4bf2bc]
test eax, eax
je 0x476046
and bh, 0xef
mov dword [0x535780], ebx
mov eax, ebx
and eax, 0xc
cmp al, 0xc
jne 0x476058
sub ebx, 0xc
mov dword [0x535780], ebx
mov al, byte [esp + 0xb]
test al, al
je 0x47606c
mov ecx, dword [0x5354d0]
mov dword [0x535784], ecx
mov al, byte [0x4ad439]
test al, al
mov eax, dword [0x7fd158]
jne 0x4760ab
test byte [eax], 2
je 0x4760ab
mov cl, byte [0x75429f]
test cl, cl
je 0x476095
or ebx, 0x400000
mov dword [0x535780], ebx
mov cl, byte [0x7542a0]
test cl, cl
je 0x4760ab
or ebx, 0x800000
mov dword [0x535780], ebx
test byte [eax], 1
je case.default.0x4760c7
test ebx, ebx
je 0x4760bd
xor eax, eax
mov dword [0x5357a0], eax
jmp switch.0x004760c7
mov eax, dword [0x5357a0]
cmp eax, 3
ja case.default.0x4760c7
jmp dword [eax*4 + 0x4761a0]
mov al, byte [0x754280]
test al, al
je case.default.0x4760c7
mov dword [0x5357a0], 1
jmp case.default.0x4760c7
mov al, byte [0x754278]
test al, al
je case.default.0x4760c7
mov dword [0x5357a0], 2
jmp case.default.0x4760c7
mov al, byte [0x75428c]
test al, al
je case.default.0x4760c7
mov dword [0x5357a0], 3
jmp case.default.0x4760c7
mov al, byte [0x754275]
test al, al
je case.default.0x4760c7
mov ebx, 0x30000
mov dword [0x535780], ebx
mov al, byte [0x754288]
test al, al
je 0x476144
mov edx, dword [0x7538c5]
push str.Tomb
push edx
call fcn.00491c60
mov ebx, dword [0x535780]
add esp, 8
mov ecx, dword [0x80df04]
mov eax, ebx
test ch, 0x10
mov dword [0x5354d0], eax
je 0x476175
and ebx, 0x230f
test bl, 1
mov dword [0x535780], ebx
je 0x476175
test bl, 2
je 0x476175
xor ebx, 2
mov dword [0x535780], ebx
mov cl, byte [esp + 0xb]
mov dword [0x5355d8], ebx
test cl, cl
je 0x476195
mov esi, dword [0x535784]
mov ecx, eax
xor ecx, esi
and ecx, eax
mov dword [0x535784], ecx
pop esi
mov eax, 1
pop ebx
pop ecx
ret