Function at 0x588098
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 0x588350
mov eax, ebp
shl eax, 8
sub eax, ebp
mov ecx, 0x64
cdq
idiv ecx
mov ecx, 0xff
mov edx, 0xffffff01
call fcn.0057b204
mov ebp, eax
push 0xff00ff
mov edx, 0x563880
mov eax, dword [esp + 4]
mov eax, dword [eax + 0xa098]
mov ecx, ebp
call fcn.00563784
mov eax, dword [esp]
mov eax, dword [eax + 0xa2e0]
call fcn.00406e58
dec eax
test eax, eax
jl 0x5882fd
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 0x5882ef
mov eax, dword [eax + 0x10]
call fcn.00406e58
dec eax
test eax, eax
jl 0x58817e
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 0x588174
push 0xff00ff
mov edx, 0x563880
mov ecx, ebp
call fcn.00563784
inc dword [esp + 4]
dec dword [esp + 0x14]
jne 0x58813d
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.00406e58
dec eax
test eax, eax
jl 0x5882ef
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 0x5881fe
mov edx, ebp
mov eax, esi
call fcn.00563b38
mov dword [ebx + 0x14], eax
mov esi, dword [ebx + 0x18]
cmp esi, 0xffffffff
je 0x588212
mov edx, ebp
mov eax, esi
call fcn.00563b38
mov dword [ebx + 0x18], eax
mov esi, dword [ebx + 0x24]
cmp esi, 0xffffffff
je 0x588226
mov edx, ebp
mov eax, esi
call fcn.00563b38
mov dword [ebx + 0x24], eax
mov esi, dword [ebx + 0x28]
cmp esi, 0xffffffff
je 0x58823a
mov edx, ebp
mov eax, esi
call fcn.00563b38
mov dword [ebx + 0x28], eax
mov esi, dword [ebx + 0x2c]
cmp esi, 0xffffffff
je 0x58824e
mov edx, ebp
mov eax, esi
call fcn.00563b38
mov dword [ebx + 0x2c], eax
mov esi, dword [ebx + 0x30]
cmp esi, 0xffffffff
je 0x588262
mov edx, ebp
mov eax, esi
call fcn.00563b38
mov dword [ebx + 0x30], eax
mov esi, dword [ebx + 0x34]
cmp esi, 0xffffffff
je 0x588276
mov edx, ebp
mov eax, esi
call fcn.00563b38
mov dword [ebx + 0x34], eax
mov esi, dword [ebx + 0x1c]
cmp esi, 0xffffffff
je 0x58828a
mov edx, ebp
mov eax, esi
call fcn.00563b38
mov dword [ebx + 0x1c], eax
mov esi, dword [ebx + 0x20]
cmp esi, 0xff00ff
je 0x5882a1
mov edx, ebp
mov eax, esi
call fcn.00563b38
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x38]
call fcn.00406e58
mov edi, eax
dec edi
test edi, edi
jl 0x5882d2
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.00563b38
imul edx, esi, 0xb
mov ecx, dword [ebx + 0x38]
mov dword [ecx + edx + 6], eax
inc esi
dec edi
jne 0x5882b3
inc dword [esp + 8]
cmp dword [esp + 8], 3
jne 0x5881d7
inc dword [esp + 4]
dec dword [esp + 0x14]
jne 0x5881af
inc dword [esp + 0xc]
dec dword [esp + 0x10]
jne 0x58810b
mov eax, dword [esp]
mov eax, dword [eax + 0xa1ac]
mov edx, ebp
call fcn.00563b38
mov edx, dword [esp]
mov dword [edx + 0xa1ac], eax
xor ebx, ebx
mov eax, ebx
cmp al, 0x3f
ja 0x588328
and eax, 0x7f
bt dword [0x631098], eax
jae 0x58834a
mov esi, ebx
and esi, 0x7f
mov eax, dword [esp]
mov eax, dword [eax + esi*4 + 0xa09c]
mov edx, ebp
call fcn.00563b38
mov edx, dword [esp]
mov dword [edx + esi*4 + 0xa09c], eax
inc ebx
cmp bl, 0x3b
jne 0x588318
add esp, 0x1c
pop ebp
pop edi
pop esi
pop ebx
ret