Function at 0x447754
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1074
call fcn.004528c0
mov eax, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x10], 1
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0xc], esi
jne 0x447793
mov eax, dword [ebp + 0x10]
cmp eax, edi
je 0x44778c
mov dword [eax], 0x63
xor eax, eax
jmp 0x447c9f
mov dword [eax], edi
mov eax, dword [ebp + 0x10]
cmp eax, edi
je 0x44779e
mov dword [eax], edi
push ebx
mov ebx, dword [ebp + 0x18]
cmp ebx, edi
jne 0x4477ae
push 0x10
pop eax
jmp 0x447bc0
test word [ebp + 0xc], 0x800
mov dword [ebx], edi
je 0x4477d4
test word [ebp + 0xc], 0x2000
jne 0x4477d4
push 0xffffffffffffffff
push esi
call fcn.0044cdca
cmp eax, edi
pop ecx
pop ecx
mov dword [ebx], eax
jl 0x4477d4
push 0x2c
jmp 0x4477a8
test dword [ebp + 0xc], 0xff838580
je 0x4477e5
push 0x11
pop eax
jmp 0x447bb6
mov ebx, dword [ebp + 0x1c]
cmp ebx, edi
jne 0x4477f1
mov ebx, 0x466be8
lea eax, [ebx + 0x100]
mov dword [ebp - 0x70], eax
lea eax, [ebx + 0x200]
mov dword [ebp - 0x6c], eax
lea eax, [ebx + 0x340]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x68], eax
cmp byte [esi], 0x28
jne 0x4478ea
cmp byte [esi + 1], 0x2a
jne 0x4478ea
push 3
lea eax, [esi + 2]
push 0x46646c
push eax
call fcn.00450178
add esp, 0xc
test eax, eax
jne 0x44784a
mov dword [ebp - 4], 5
mov eax, 0x100000
jmp 0x4478dc
push 3
lea eax, [esi + 2]
push 0x466468
push eax
call fcn.00450178
add esp, 0xc
test eax, eax
jne 0x44786f
mov dword [ebp - 4], 5
mov eax, 0x200000
jmp 0x4478dc
push 5
lea eax, [esi + 2]
push 0x466460
push eax
call fcn.00450178
add esp, 0xc
test eax, eax
jne 0x447894
mov dword [ebp - 4], 7
mov eax, 0x300000
jmp 0x4478dc
push 4
lea eax, [esi + 2]
push 0x466458
push eax
call fcn.00450178
add esp, 0xc
test eax, eax
jne 0x4478b9
mov dword [ebp - 4], 6
mov eax, 0x400000
jmp 0x4478dc
push 8
lea eax, [esi + 2]
push 0x46644c
push eax
call fcn.00450178
add esp, 0xc
test eax, eax
jne 0x4478ea
mov dword [ebp - 4], 0xa
mov eax, 0x500000
mov ecx, dword [ebp + 0xc]
and ecx, 0xff8fffff
or ecx, eax
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp + 0xc]
and eax, 0x700000
push 2
pop ecx
je 0x447940
cmp eax, 0x100000
je 0x447945
cmp eax, 0x200000
je 0x447940
cmp eax, 0x300000
je 0x447921
cmp eax, 0x400000
je 0x44794e
cmp eax, 0x500000
je 0x447949
push 0x38
jmp 0x4477df
mov eax, 0xd0a
cmp eax, 0xff
mov dword [ebp - 0x28], edi
jle 0x447957
mov dword [ebp - 0x24], ecx
mov ecx, eax
sar ecx, 8
mov byte [ebp - 0x20], cl
mov byte [ebp - 0x1f], al
jmp 0x447961
push 0xa
pop eax
jmp 0x447926
push 0xd
jmp 0x447942
mov dword [ebp - 0x28], ecx
jmp 0x447961
mov dword [ebp - 0x28], 1
jmp 0x447961
mov dword [ebp - 0x24], 1
mov byte [ebp - 0x20], al
lea eax, [ebp - 0x1074]
push esi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x5c], esi
call fcn.0044f530
add eax, esi
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 4]
add eax, esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x1074]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x74]
push eax
push edi
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
push edi
push edi
push edi
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
mov eax, ecx
and eax, 7
push eax
push ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0x1074], 0x5d
call fcn.004472aa
mov eax, dword [ebp - 8]
add esp, 0x38
cmp eax, edi
jne 0x447bb6
mov eax, dword [ebp - 0x10]
cmp eax, 0x10000
jle 0x447a02
push 0x14
jmp 0x4477df
mov ecx, dword [ebp - 0x48]
add ecx, 3
imul ecx, dword [ebp - 0x4c]
lea eax, [ecx + eax + 0x28]
push eax
mov dword [ebp - 4], eax
call dword [0x474150]
mov esi, eax
cmp esi, edi
pop ecx
jne 0x447a29
push 0x15
pop eax
jmp 0x447bb3
mov eax, dword [ebp - 4]
mov dword [esi + 4], eax
mov dword [esi], 0x50435245
mov eax, dword [ebp - 0x38]
mov dword [esi + 8], eax
mov word [esi + 0x18], 0x28
mov dword [esi + 0xc], edi
mov word [esi + 0x14], di
mov word [esi + 0x16], di
mov ax, word [ebp - 0x48]
mov word [esi + 0x1a], ax
mov ax, word [ebp - 0x4c]
mov word [esi + 0x1c], ax
mov eax, ebx
sub eax, 0x466be8
neg eax
sbb eax, eax
and eax, ebx
mov dword [esi + 0x20], eax
mov word [esi + 0x1e], di
mov dword [esi + 0x24], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x4c], edi
movzx eax, word [esi + 0x18]
add eax, esi
mov dword [ebp - 0x50], eax
movzx ecx, word [esi + 0x1a]
movzx ebx, word [esi + 0x1c]
push edi
imul ebx, ecx
lea ecx, [ebp - 0x74]
push ecx
push edi
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x1c]
push ecx
push edi
push edi
add ebx, eax
push edi
lea ecx, [ebp - 8]
push ecx
lea eax, [ebp - 0x1074]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0xc]
push ecx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0xc], eax
mov byte [ebx], 0x5d
mov eax, dword [esi + 8]
lea ecx, [ebp - 4]
push ecx
mov ecx, eax
and ecx, 7
push ecx
push eax
mov dword [ebp - 4], ebx
call fcn.004472aa
mov ax, word [ebp - 0x44]
mov word [esi + 0x10], ax
mov ax, word [ebp - 0x40]
add esp, 0x34
mov word [esi + 0x12], ax
cmp dword [ebp - 0x30], edi
je 0x447afb
or dword [esi + 8], 0x80000000
cmp dword [ebp - 0x2c], edi
je 0x447b04
or dword [ebp - 0x14], 0xffffffff
cmp dword [ebp - 8], edi
jne 0x447b18
mov eax, dword [ebp - 0xc]
cmp byte [eax], 0
je 0x447b18
mov dword [ebp - 8], 0x16
mov eax, dword [ebp - 4]
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, dword [ebp - 0x10]
jle 0x447b87
mov dword [ebp - 8], 0x17
jmp 0x447b87
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x1074]
cmp eax, ecx
jbe 0x447b97
dec eax
dec eax
mov dword [ebp - 0x54], eax
movzx ecx, byte [eax + 1]
mov ch, byte [eax]
xor edx, edx
mov eax, ecx
lea ecx, [eax + ebx]
mov dh, byte [ecx]
lea eax, [eax + ebx + 1]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
mov dl, byte [eax]
mov eax, dword [esi + 8]
shr eax, 0xb
and eax, 1
push edx
push eax
mov eax, ebx
call fcn.00444035
cmp eax, edi
pop ecx
pop ecx
je 0x447b8e
mov edx, dword [ebp - 0x18]
mov ecx, eax
sub ecx, ebx
sar ecx, 8
mov byte [edx], cl
mov ecx, dword [ebp - 0x10]
sub al, bl
mov byte [ecx], al
cmp dword [ebp - 8], edi
je 0x447b2f
jmp 0x447ba8
mov dword [ebp - 8], 0x35
jmp 0x447ba8
mov ax, word [esi + 0x12]
cmp ax, word [esi + 0x10]
jbe 0x447bdc
mov dword [ebp - 8], 0xf
push esi
call dword [0x474154]
mov eax, dword [ebp - 8]
pop ecx
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 0x18]
sub ecx, esi
mov dword [edx], ecx
mov ecx, dword [eax*4 + 0x474058]
mov edx, dword [ebp + 0x14]
mov dword [edx], ecx
mov ecx, dword [ebp + 0x10]
cmp ecx, edi
je 0x447bd5
mov dword [ecx], eax
xor eax, eax
jmp 0x447c9e
mov eax, dword [esi + 8]
test al, 0x10
jne 0x447c5a
push dword [ebp - 0x3c]
mov dword [ebp + 8], eax
push edi
lea eax, [ebp + 8]
push eax
push ebx
call fcn.0044753f
add esp, 0x10
test eax, eax
je 0x447c01
or dword [esi + 8], 0x10
jmp 0x447c5a
mov eax, dword [ebp - 0x1c]
cmp eax, edi
jge 0x447c1a
push edi
lea eax, [ebp + 8]
push eax
push ebx
call fcn.004476a5
add esp, 0xc
cmp eax, edi
jl 0x447c42
mov ecx, eax
and ecx, 0xff
test ax, 0x100
je 0x447c35
mov edx, dword [ebp - 0x70]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x447c35
mov eax, ecx
or dword [esi + 8], 0x40000000
mov word [esi + 0x14], ax
jmp 0x447c5a
push dword [ebp - 0x3c]
push edi
push ebx
call fcn.00447600
add esp, 0xc
test eax, eax
je 0x447c5a
or dword [esi + 8], 0x10000000
mov edx, dword [ebp - 0x14]
cmp edx, edi
jl 0x447c9c
mov ecx, dword [esi + 8]
test cl, 0x10
je 0x447c70
test dx, 0x200
je 0x447c9c
mov eax, edx
and eax, 0xff
test dx, 0x100
je 0x447c8f
mov edi, dword [ebp - 0x70]
movzx edi, byte [edi + eax]
cmp edi, eax
jne 0x447c8f
and edx, 0xfffffeff
or ecx, 0x20000000
mov word [esi + 0x16], dx
mov dword [esi + 8], ecx
mov eax, esi
pop ebx
pop edi
pop esi
leave
ret