Function at 0x4851f0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
push 0x17e
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], 1
mov dword [ebp - 8], esi
call fcn.00551e50
mov eax, dword [ebp + 0xc]
push 0x69ef3c
push eax
push 1
push str.function
call fcn.00584c90
add esp, 0x1c
test eax, eax
je 0x485542
jmp 0x485240
push 0x5a5bdc
push 0x69ef3c
call fcn.00554507
mov esi, eax
add esp, 8
test esi, esi
je 0x48550d
push 0
push esi
call fcn.00484650
add esp, 8
or ebx, eax
cmp eax, 0x10000
jg 0x4853d2
je 0x4853be
cmp eax, 0x20
jg 0x48534a
je 0x48533e
dec eax
cmp eax, 0xf
ja case.0x48529a.3
movzx ecx, byte [eax + 0x485568]
jmp dword [ecx*4 + 0x485550]
lea edx, [edi + 0x7e]
push edx
push esi
call fcn.00485080
add esp, 8
mov esi, eax
or ebx, 0x80000000
jmp case.0x48529a.3
lea eax, [edi + 0x86]
push eax
jmp 0x4852a5
lea ecx, [edi + 0xa2]
push ecx
push esi
call fcn.004850a0
mov ecx, dword [edi + 0xaa]
mov esi, eax
and ecx, 0xffff
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 8
mov dword [edi + 0xaa], eax
or ebx, 0x80000000
jmp case.0x48529a.3
lea ecx, [edi + 0x96]
push ecx
push esi
call fcn.004850a0
add esp, 8
mov esi, eax
or ebx, 0x80000000
jmp case.0x48529a.3
lea edx, [edi + 0xae]
push edx
push esi
call fcn.004850a0
add esp, 8
mov esi, eax
or ebx, 0x80000000
jmp case.0x48529a.3
lea eax, [edi + 0x8e]
push eax
jmp 0x4852a5
cmp eax, 0x2000
jg 0x48539f
je 0x485389
sub eax, 0x40
je 0x485375
sub eax, 0x40
jne case.0x48529a.3
lea ecx, [edi + 0x6e]
push ecx
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
lea edx, [edi + 0x76]
push edx
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
push 4
lea eax, [edi + 0x20]
push eax
push esi
call fcn.00484ea0
add esp, 0xc
mov esi, eax
jmp case.0x48529a.3
cmp eax, 0x4000
jne case.0x48529a.3
lea ecx, [edi + 0x66]
push ecx
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
lea edx, [edi + 0x5e]
push edx
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
cmp eax, 0x400000
jg 0x48547f
je 0x48546e
cmp eax, 0x80000
jg 0x48543a
je 0x485426
cmp eax, 0x20000
je 0x485412
cmp eax, 0x40000
jne case.0x48529a.3
lea eax, [edi + 0x4e]
push eax
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
lea ecx, [edi + 0x56]
push ecx
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
lea edx, [edi + 0x46]
push edx
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
cmp eax, 0x100000
je 0x48545d
cmp eax, 0x200000
jne case.0x48529a.3
lea eax, [edi + 0x34]
push eax
push esi
call fcn.004850c0
add esp, 8
mov esi, eax
jmp case.0x48529a.3
lea ecx, [edi + 0x3e]
push ecx
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
lea edx, [edi + 0x2c]
push edx
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
cmp eax, 0x20000000
jg 0x4854cd
je 0x4854ba
cmp eax, 0x800000
je 0x4854a9
cmp eax, 0x10000000
jne case.0x48529a.3
push 0
lea eax, [edi + 0x10]
push eax
push esi
call fcn.00484ea0
add esp, 0xc
mov esi, eax
jmp case.0x48529a.3
lea ecx, [edi + 0x24]
push ecx
push esi
call fcn.00485060
add esp, 8
mov esi, eax
jmp case.0x48529a.3
push 0
lea edx, [edi + 0xc]
push edx
push esi
call fcn.00484ea0
add esp, 0xc
mov esi, eax
jmp case.0x48529a.3
cmp eax, 0x40000000
je 0x4854ed
test esi, esi
jne 0x48550d
mov eax, dword [ebp - 4]
push eax
push esi
push esi
push 0xd1
call fcn.00426120
add esp, 0x10
jmp 0x48550d
push 0
call fcn.00484710
mov ecx, dword [ebp - 8]
or ecx, eax
add esp, 4
mov dword [ebp - 8], ecx
test ecx, 0xff60c0
je 0x48550d
or ebx, 0x80000000
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
push 0x69ef3c
inc eax
push ecx
push eax
push str.function
mov dword [ebp - 4], eax
call fcn.00584c90
add esp, 0x10
test eax, eax
jne 0x485240
mov edx, dword [ebp - 8]
mov dword [edi], ebx
mov dword [edi + 4], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi + 4], esi
mov dword [edi], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret