Function at 0x10036d60
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [ebp + 8]
cmp dword [eax], 5
ja 0x10036e41
mov ecx, dword [ebp + 8]
cmp dword [ecx + 4], 0x3f
ja 0x10036e41
mov edx, dword [ebp + 8]
cmp dword [edx + 8], 0x6da
ja 0x10036e41
mov eax, dword [ebp + 8]
cmp dword [eax + 0x18], 3
ja 0x10036e41
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1c], 4
ja 0x10036e41
mov edx, dword [ebp + 8]
cmp dword [edx + 0x20], 3
ja 0x10036e41
mov eax, dword [ebp + 8]
cmp dword [eax + 0x24], 4
ja 0x10036e41
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x170], 0xc
ja 0x10036e41
mov edx, dword [ebp + 8]
cmp dword [edx + 0x174], 4
ja 0x10036e41
mov eax, dword [ebp + 8]
cmp dword [eax + 0x17c], 0xc
ja 0x10036e41
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x180], 5
ja 0x10036e41
mov edx, dword [ebp + 8]
cmp dword [edx + 0x184], 4
ja 0x10036e41
mov eax, dword [ebp + 8]
cmp dword [eax + 0x188], 8
ja 0x10036e41
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x28]
cmp edx, 5
jg 0x10036e41
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 0
je 0x10036e41
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x7ffffff
mov eax, dword [ecx + 0x14]
and eax, 0xfffff800
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x14]
or ecx, dword [ebp - 0x10]
je 0x10036e4b
mov eax, 0x80100004
jmp 0x1003725f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
and eax, 0
mov ecx, dword [edx + 0x14]
and ecx, 0x7e0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x1c]
or edx, dword [ebp - 0x18]
je 0x10036fa4
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x10036ea0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0
mov eax, dword [ecx + 0x14]
and eax, 0x1e0
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x20]
je 0x10036ea0
mov eax, 0x80100004
jmp 0x1003725f
mov byte [ebp - 1], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
and eax, 0
mov ecx, dword [edx + 0x14]
and ecx, 0x20
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x2c]
or edx, dword [ebp - 0x28]
je 0x10036ec9
mov al, byte [ebp - 1]
add al, 1
mov byte [ebp - 1], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0
mov eax, dword [ecx + 0x14]
and eax, 0x40
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x30]
je 0x10036eef
mov dl, byte [ebp - 1]
add dl, 1
mov byte [ebp - 1], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
and ecx, 0
mov edx, dword [eax + 0x14]
and edx, 0x80
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
je 0x10036f18
mov cl, byte [ebp - 1]
add cl, 1
mov byte [ebp - 1], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
and eax, 0
mov ecx, dword [edx + 0x14]
and ecx, 0x100
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x44]
or edx, dword [ebp - 0x40]
je 0x10036f40
mov al, byte [ebp - 1]
add al, 1
mov byte [ebp - 1], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0
mov eax, dword [ecx + 0x14]
and eax, 0x200
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
je 0x10036f68
mov dl, byte [ebp - 1]
add dl, 1
mov byte [ebp - 1], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
and ecx, 0
mov edx, dword [eax + 0x14]
and edx, 0x400
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x50]
je 0x10036f91
mov cl, byte [ebp - 1]
add cl, 1
mov byte [ebp - 1], cl
movzx edx, byte [ebp - 1]
cmp edx, 1
je 0x10036fa4
mov eax, 0x80100004
jmp 0x1003725f
mov byte [ebp - 2], 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
and ecx, 0x10000000
mov edx, dword [eax + 0x14]
and edx, 0
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x58]
je 0x10036fd1
mov cl, byte [ebp - 2]
add cl, 1
mov byte [ebp - 2], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
and eax, 0x20000000
mov ecx, dword [edx + 0x14]
and ecx, 0
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x64]
or edx, dword [ebp - 0x60]
je 0x10036ff8
mov al, byte [ebp - 2]
add al, 1
mov byte [ebp - 2], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0x40000000
mov eax, dword [ecx + 0x14]
and eax, 0
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x6c]
or ecx, dword [ebp - 0x68]
je 0x10037021
mov dl, byte [ebp - 2]
add dl, 1
mov byte [ebp - 2], dl
movzx eax, byte [ebp - 2]
cmp eax, 1
jle 0x10037034
mov eax, 0x80100004
jmp 0x1003725f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0
mov eax, dword [ecx + 0x14]
and eax, 1
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x74]
or ecx, dword [ebp - 0x70]
je 0x10037078
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
and eax, 0
mov ecx, dword [edx + 0x14]
and ecx, 2
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x7c]
or edx, dword [ebp - 0x78]
je 0x10037078
mov eax, 0x80100004
jmp 0x1003725f
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
and ecx, 0
mov edx, dword [eax + 0x14]
and edx, 4
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x80]
je 0x100370ce
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
and edx, 0
mov eax, dword [ecx + 0x14]
and eax, 8
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x8c]
or ecx, dword [ebp - 0x88]
je 0x100370ce
mov eax, 0x80100004
jmp 0x1003725f
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
and eax, 0
mov ecx, dword [edx + 0x14]
and ecx, 0x10
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x94]
or edx, dword [ebp - 0x90]
je 0x1003712d
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
and ecx, 0
mov edx, dword [eax + 0x14]
and edx, 0x7e0
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0x98]
je 0x1003712d
mov eax, 0x80100004
jmp 0x1003725f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
movzx edx, byte [ecx + edx*4 + 0x100c57a8]
test edx, edx
jne 0x1003714f
mov eax, 0x80100004
jmp 0x1003725f
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x1003716c
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x20], 1
jne 0x1003716a
mov eax, 0x80100004
jmp 0x1003725f
jmp 0x10037191
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1c], 4
je 0x10037187
mov eax, dword [ebp + 8]
cmp dword [eax + 0x20], 3
je 0x10037187
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x24], 4
jne 0x10037191
mov eax, 0x80100004
jmp 0x1003725f
mov byte [ebp - 3], 0
jmp 0x100371a0
mov dl, byte [ebp - 3]
add dl, 1
mov byte [ebp - 3], dl
movzx eax, byte [ebp - 3]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x28]
cmp eax, edx
jge 0x1003725a
movzx eax, byte [ebp - 3]
shl eax, 6
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0x30]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
cmp dword [eax], 0
je 0x100371d4
mov ecx, dword [ebp - 8]
cmp dword [ecx], 4
jbe 0x100371de
mov eax, 0x80100004
jmp 0x1003725f
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
sub ecx, 1
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 3
ja case.default.0x100371f8
mov edx, dword [ebp - 0xc]
jmp dword [edx*4 + 0x10037264]
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0x109
jle 0x10037212
mov eax, 0x80100004
jmp 0x1003725f
jmp 0x10037255
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0x10], 0x109
ja 0x10037243
mov edx, dword [ebp - 8]
cmp dword [edx + 0x14], 0x109
ja 0x10037243
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x18]
push ecx
call fcn.10031410
add esp, 4
movzx edx, al
test edx, edx
jne 0x1003724a
mov eax, 0x80100004
jmp 0x1003725f
jmp 0x10037255
jmp 0x10037255
mov eax, 0x80100004
jmp 0x1003725f
jmp 0x10037197
mov eax, 0x100000
mov esp, ebp
pop ebp
ret