Function at 0x53ba98
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffe4
mov ebp, edx
mov dword [esp], eax
test ebp, ebp
je 0x53bd50
mov eax, ebp
shl eax, 8
sub eax, ebp
mov ecx, 0x64
cdq
idiv ecx
mov ecx, 0xff
mov edx, 0xffffff01
call fcn.00533c70
mov ebp, eax
push 0xff00ff
mov edx, 0x51f2d8
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xa098]
mov ecx, ebp
call fcn.0051f1dc
mov eax, dword [esp]
mov eax, dword [eax + 0xa2e0]
call fcn.0040619c
dec eax
test eax, eax
jl 0x53bcfd
inc eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov eax, dword [esp]
mov eax, dword [eax + 0xa2e0]
mov edx, dword [esp + 0xc]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x53bcef
mov eax, dword [eax + 0x10]
call fcn.0040619c
dec eax
test eax, eax
jl 0x53bb7e
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 4], 0
mov eax, dword [esp]
mov eax, dword [eax + 0xa2e0]
mov edx, dword [esp + 0xc]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 4]
mov ecx, edx
shl edx, 4
sub edx, ecx
mov eax, dword [eax + edx*4 + 0x14]
test eax, eax
je 0x53bb74
push 0xff00ff
mov edx, 0x51f2d8
mov ecx, ebp
call fcn.0051f1dc
inc dword [esp + 4]
dec dword [esp + 0x14]
jne 0x53bb3d
mov eax, dword [esp]
mov eax, dword [eax + 0xa2e0]
mov edx, dword [esp + 0xc]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x52c]
call fcn.0040619c
dec eax
test eax, eax
jl 0x53bcef
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 4], 0
mov eax, dword [esp]
mov eax, dword [eax + 0xa2e0]
mov edx, dword [esp + 0xc]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x52c]
imul edx, dword [esp + 4], 0x26
lea eax, [eax + edx*8]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov edx, eax
shl eax, 4
sub eax, edx
mov edx, dword [esp + 0x18]
lea ebx, [edx + eax*4 + 8]
mov esi, dword [ebx + 0x14]
cmp esi, 0xffffffff
je 0x53bbfe
mov edx, ebp
mov eax, esi
call fcn.0051f590
mov dword [ebx + 0x14], eax
mov esi, dword [ebx + 0x18]
cmp esi, 0xffffffff
je 0x53bc12
mov edx, ebp
mov eax, esi
call fcn.0051f590
mov dword [ebx + 0x18], eax
mov esi, dword [ebx + 0x24]
cmp esi, 0xffffffff
je 0x53bc26
mov edx, ebp
mov eax, esi
call fcn.0051f590
mov dword [ebx + 0x24], eax
mov esi, dword [ebx + 0x28]
cmp esi, 0xffffffff
je 0x53bc3a
mov edx, ebp
mov eax, esi
call fcn.0051f590
mov dword [ebx + 0x28], eax
mov esi, dword [ebx + 0x2c]
cmp esi, 0xffffffff
je 0x53bc4e
mov edx, ebp
mov eax, esi
call fcn.0051f590
mov dword [ebx + 0x2c], eax
mov esi, dword [ebx + 0x30]
cmp esi, 0xffffffff
je 0x53bc62
mov edx, ebp
mov eax, esi
call fcn.0051f590
mov dword [ebx + 0x30], eax
mov esi, dword [ebx + 0x34]
cmp esi, 0xffffffff
je 0x53bc76
mov edx, ebp
mov eax, esi
call fcn.0051f590
mov dword [ebx + 0x34], eax
mov esi, dword [ebx + 0x1c]
cmp esi, 0xffffffff
je 0x53bc8a
mov edx, ebp
mov eax, esi
call fcn.0051f590
mov dword [ebx + 0x1c], eax
mov esi, dword [ebx + 0x20]
cmp esi, 0xff00ff
je 0x53bca1
mov edx, ebp
mov eax, esi
call fcn.0051f590
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x38]
call fcn.0040619c
mov edi, eax
dec edi
test edi, edi
jl 0x53bcd2
inc edi
xor esi, esi
imul eax, esi, 0xb
mov edx, dword [ebx + 0x38]
mov eax, dword [edx + eax + 6]
mov edx, ebp
call fcn.0051f590
imul edx, esi, 0xb
mov ecx, dword [ebx + 0x38]
mov dword [ecx + edx + 6], eax
inc esi
dec edi
jne 0x53bcb3
inc dword [esp + 8]
cmp dword [esp + 8], 3
jne 0x53bbd7
inc dword [esp + 4]
dec dword [esp + 0x14]
jne 0x53bbaf
inc dword [esp + 0xc]
dec dword [esp + 0x10]
jne 0x53bb0b
mov eax, dword [esp]
mov eax, dword [eax + 0xa1ac]
mov edx, ebp
call fcn.0051f590
mov edx, dword [esp]
mov dword [edx + 0xa1ac], eax
xor ebx, ebx
mov eax, ebx
cmp al, 0x3f
ja 0x53bd28
and eax, 0x7f
bt dword [0x586170], eax
jae 0x53bd4a
mov esi, ebx
and esi, 0x7f
mov eax, dword [esp]
mov eax, dword [eax + esi*4 + 0xa09c]
mov edx, ebp
call fcn.0051f590
mov edx, dword [esp]
mov dword [edx + esi*4 + 0xa09c], eax
inc ebx
cmp bl, 0x3b
jne 0x53bd18
add esp, 0x1c
pop ebp
pop edi
pop esi
pop ebx
ret