Function at 0x510d70
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58c00d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
push ebx
push esi
mov esi, ecx
cmp dword [esi + 0x1a], 0
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], esi
je 0x51119a
cmp byte [esi + 0x10], 0
je 0x51119a
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0
call fcn.00520ed0
mov eax, dword [esi + 0x1a]
mov ecx, dword [eax + 0x14]
push ecx
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.00521110
mov edx, dword [esi + 0x1a]
mov esi, dword [edx + 0x10]
mov ebx, dword [ebp + 0xc]
test esi, esi
je 0x510e22
mov eax, dword [esi + 0x32]
test al, 0x20
je 0x510de8
test ebx, 0x8000000
je 0x510e1d
test ebx, 0x40000000
je 0x510df4
test al, 0x10
jne 0x510e00
test ebx, 0x20000000
je 0x510e1d
test al, 0x10
jne 0x510e1d
mov eax, dword [ebp - 0x14]
cmp dword [eax], 1
mov edi, dword [esi + 0x10]
jle 0x510e13
lea ecx, [ebp - 0x14]
call fcn.00520f40
mov ecx, dword [esi + 0x2e]
mov edx, dword [ebp - 0x14]
mov dword [edx + edi*4 + 0x10], ecx
mov esi, dword [esi + 8]
jmp 0x510dd5
mov ebx, dword [ebp + 8]
xor edi, edi
mov eax, dword [ebp - 0x14]
cmp edi, dword [eax + 4]
jge 0x510e5c
cmp dword [eax], 1
jle 0x510e3f
lea ecx, [ebp - 0x14]
call fcn.00520f40
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + edi*4 + 0x10]
push esi
mov ecx, ebx
call fcn.00520e50
test eax, eax
jge 0x510e57
push esi
mov ecx, ebx
call fcn.00521460
add edi, 1
jmp 0x510e27
push 0
lea ecx, [ebp - 0x14]
call fcn.00521110
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x510ef4
lea eax, [esi + 4]
mov ebx, eax
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x20], ebx
je 0x510e89
mov ecx, eax
call fcn.00520b70
mov eax, dword [ebp + 0xc]
mov edx, dword [esi]
mov edx, dword [edx + 0x10]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov ecx, esi
mov byte [ebp - 4], 2
call edx
test eax, eax
jne 0x510ee5
xor edi, edi
mov eax, dword [ebp - 0x14]
cmp edi, dword [eax + 4]
jge 0x510edb
cmp dword [eax], 1
jle 0x510ebc
lea ecx, [ebp - 0x14]
call fcn.00520f40
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + edi*4 + 0x10]
mov ecx, dword [ebp + 8]
push esi
call fcn.00520e50
test eax, eax
jge 0x510ed6
mov ecx, dword [ebp + 8]
push esi
call fcn.00521460
add edi, 1
jmp 0x510ea4
push 0
lea ecx, [ebp - 0x14]
call fcn.00521110
mov ecx, dword [ebx]
test ecx, ecx
mov byte [ebp - 4], 1
je 0x510ef4
call fcn.00520b80
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x1a]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 4]
lea edi, [eax - 1]
mov dword [ebp - 0x18], edi
test edi, edi
jl 0x510fb3
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + 0x1a]
mov ecx, dword [esi + 4]
add esi, 4
cmp dword [ecx], 1
jle 0x510f26
mov ecx, esi
call fcn.00520f40
mov edx, dword [esi]
mov esi, dword [edx + edi*4 + 0x10]
test esi, esi
je 0x510f35
lea edi, [esi + 8]
jmp 0x510f37
xor edi, edi
mov ecx, dword [edi]
test ecx, ecx
mov dword [ebp - 0x20], edi
je 0x510f45
call fcn.00520b70
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi]
push ecx
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x14]
push edx
mov edx, dword [eax + 0x34]
push ecx
mov ecx, esi
mov byte [ebp - 4], 3
call edx
mov ecx, dword [edi]
test ecx, ecx
mov byte [ebp - 4], 1
je 0x510f6d
call fcn.00520b80
mov ebx, dword [ebp + 8]
xor edi, edi
mov eax, dword [ebp - 0x14]
cmp edi, dword [eax + 4]
jge 0x510fa7
cmp dword [eax], 1
jle 0x510f8a
lea ecx, [ebp - 0x14]
call fcn.00520f40
mov eax, dword [ebp - 0x14]
mov esi, dword [eax + edi*4 + 0x10]
push esi
mov ecx, ebx
call fcn.00520e50
test eax, eax
jge 0x510fa2
push esi
mov ecx, ebx
call fcn.00521460
add edi, 1
jmp 0x510f72
sub dword [ebp - 0x18], 1
mov edi, dword [ebp - 0x18]
jmp 0x510f06
mov dword [ebp - 0x18], 0
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 4]
jge 0x51108d
cmp dword [eax], 1
jle 0x510fd7
mov ecx, edi
call fcn.00520f40
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax + ecx*4 + 0x10]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x1a]
mov dword [ebp - 0x20], edx
mov edx, dword [ecx + 4]
mov eax, dword [edx + 4]
lea ebx, [eax - 1]
test ebx, ebx
jl 0x51106d
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + 0x1a]
mov ecx, dword [esi + 4]
add esi, 4
cmp dword [ecx], 1
jle 0x511015
mov ecx, esi
call fcn.00520f40
mov edx, dword [esi]
mov esi, dword [edx + ebx*4 + 0x10]
test esi, esi
je 0x511024
lea edi, [esi + 8]
jmp 0x511026
xor edi, edi
mov ecx, dword [edi]
test ecx, ecx
mov dword [ebp - 0x24], edi
je 0x511034
call fcn.00520b70
mov ecx, dword [ebp - 0x20]
mov eax, dword [esi]
mov edx, dword [ebp - 0x1c]
mov eax, dword [eax + 0x2c]
push ecx
push edx
mov ecx, esi
mov byte [ebp - 4], 4
call eax
cmp eax, 0x11
jne 0x511076
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, dword [ebp + 8]
call fcn.005214b0
mov ecx, dword [edi]
sub dword [ebp - 0x18], 1
test ecx, ecx
mov byte [ebp - 4], 1
je 0x51106d
call fcn.00520b80
add dword [ebp - 0x18], 1
jmp 0x510fba
mov ecx, dword [edi]
test ecx, ecx
mov byte [ebp - 4], 1
je 0x511085
call fcn.00520b80
sub ebx, 1
jmp 0x510ff5
mov ebx, dword [ebp - 0x1c]
lea esi, [ebx + 0x16]
push 0x6c6f456e
mov ecx, esi
call fcn.00522a50
test al, al
je 0x51113d
push edi
push 0x6c6f456e
push ebx
lea ecx, [ebp - 0x64]
call fcn.00539230
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x64]
push eax
mov ecx, esi
mov byte [ebp - 4], 5
mov dword [ebp - 0x36], edx
call fcn.00522b20
mov eax, dword [ebp - 0x2a]
test eax, eax
je 0x511119
mov esi, eax
lea ecx, [ebp - 0x3a]
mov byte [ebp - 4], 6
call fcn.0051ecc0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 7
call fcn.0051ac60
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00513f70
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.00520f00
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [ebp - 0x3a]
mov byte [ebp - 4], 8
call fcn.0051ecc0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 9
call fcn.0051ac60
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00513f70
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.00520f00
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, 0x2d
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8