Function at 0x5026d0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x18]
push ebp
push esi
movsx ecx, word [ebx + 0xe]
mov eax, dword [ebx + 0x10]
push edi
push 4
push ecx
mov dword [esp + 0x20], eax
call fcn.00547150
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x1c], edi
jne 0x502708
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10
ret
xor ebp, ebp
cmp word [ebx + 0xe], bp
jle 0x502737
mov esi, edi
movsx edx, word [ebx + 0xc]
push 0x18
push edx
call fcn.00547150
add esp, 8
mov dword [esi], eax
test eax, eax
je 0x5027ea
movsx eax, word [ebx + 0xe]
inc ebp
add esi, 4
cmp ebp, eax
jl 0x502712
xor eax, eax
cmp word [ebx + 0xe], ax
mov dword [esp + 0x24], eax
jle 0x5027aa
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
xor ebp, ebp
cmp word [ebx + 0xc], bp
jle 0x502783
mov eax, dword [esp + 0x18]
xor edx, edx
mov esi, dword [esp + 0x10]
mov edi, dword [eax]
mov ecx, dword [esp + 0x14]
add esi, edi
mov edi, edx
add eax, 4
add edi, dword [ecx]
mov ecx, 6
inc ebp
add edx, 0x18
rep movsd dword es:[edi], dword [esi]
movsx ecx, word [ebx + 0xc]
cmp ebp, ecx
jl 0x502759
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
add edx, 4
mov dword [esp + 0x14], edx
inc eax
movsx edx, word [ebx + 0xe]
add esi, 0x18
cmp eax, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], esi
jl 0x50274b
movsx eax, word [ebx + 0xe]
movsx ecx, word [ebx + 0xc]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
call fcn.00502ac0
mov ebp, dword [ebx + 0x14]
add esp, 0xc
test ebp, ebp
mov dword [ebx + 0x10], edi
mov dword [esp + 0x1c], ebp
je 0x5028cb
movsx eax, word [ebx + 0xe]
push 4
push eax
call fcn.00547150
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
jne 0x5027f7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10
ret
xor edi, edi
cmp word [ebx + 0xe], di
jle 0x502826
mov esi, eax
movsx ecx, word [ebx + 0xc]
push 8
push ecx
call fcn.00547150
add esp, 8
mov dword [esi], eax
test eax, eax
je 0x5027ea
movsx edx, word [ebx + 0xe]
inc edi
add esi, 4
cmp edi, edx
jl 0x502801
mov eax, dword [esp + 0x18]
xor ecx, ecx
cmp word [ebx + 0xe], cx
mov dword [esp + 0x24], ecx
jle 0x50288c
mov dword [esp + 0x14], eax
xor eax, eax
cmp word [ebx + 0xc], ax
jle 0x502874
lea edx, [ecx*8]
mov ecx, ebp
mov edi, dword [ecx]
mov esi, edx
add esi, edi
mov edi, dword [esp + 0x14]
inc eax
add ecx, 4
mov edi, dword [edi]
mov ebp, dword [esi]
mov dword [edi + eax*8 - 8], ebp
mov esi, dword [esi + 4]
mov dword [edi + eax*8 - 4], esi
movsx esi, word [ebx + 0xc]
cmp eax, esi
jl 0x502847
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
movsx eax, word [ebx + 0xe]
mov esi, dword [esp + 0x14]
inc ecx
add esi, 4
cmp ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], esi
jl 0x502836
xor esi, esi
cmp word [ebx + 0xc], si
jle 0x5028b4
mov edi, ebp
movsx ecx, word [ebx + 0xe]
mov edx, dword [edi]
push 8
push ecx
push edx
call fcn.0054714a
movsx eax, word [ebx + 0xc]
add esp, 0xc
inc esi
add edi, 4
cmp esi, eax
jl 0x502896
movsx ecx, word [ebx + 0xc]
push 4
push ecx
push ebp
call fcn.0054714a
mov edx, dword [esp + 0x24]
add esp, 0xc
mov dword [ebx + 0x14], edx
movsx eax, word [ebx + 4]
fld qword [ebx + 0x58]
mov cx, word [ebx + 6]
mov dx, word [ebx + 0xa]
mov word [ebx + 6], ax
mov word [ebx + 4], cx
movsx eax, word [ebx + 8]
mov cx, word [ebx + 0xe]
mov word [ebx + 0xa], ax
movsx eax, word [ebx + 0xc]
mov word [ebx + 8], dx
mov edx, dword [ebx + 0x1c]
mov word [ebx + 0xc], cx
mov ecx, dword [ebx]
mov word [ebx + 0xe], ax
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x18], edx
mov edx, dword [ebx]
shr ecx, 6
mov dword [ebx + 0x1c], eax
and ecx, 1
mov eax, edx
and ecx, 1
shr eax, 1
and eax, 0x40
and dl, 0x3f
shl ecx, 7
or eax, ecx
push ebx
or eax, edx
mov dword [ebx], eax
mov edx, dword [ebx]
shr eax, 0x14
and eax, 1
mov ecx, edx
shr ecx, 1
and eax, 1
and ecx, 0x100000
shl eax, 0x15
or ecx, eax
and edx, 0xffcfffff
or ecx, edx
mov dword [ebx], ecx
mov edx, dword [ebx]
shr ecx, 1
and ecx, 1
mov eax, edx
shr eax, 1
and ecx, 1
and eax, 2
shl ecx, 2
or eax, ecx
and edx, 0xfffffff9
or eax, edx
mov dword [ebx], eax
mov ecx, dword [ebx]
shr eax, 3
and eax, 1
mov edx, ecx
shr edx, 1
and eax, 1
and edx, 8
shl eax, 4
or edx, eax
mov eax, dword [ebx + 0x68]
and ecx, 0xffffffe7
mov dword [ebx + 0x58], eax
mov eax, dword [ebx + 0x74]
or edx, ecx
mov ecx, dword [ebx + 0x6c]
mov dword [ebx], edx
fstp qword [ebx + 0x68]
fld qword [ebx + 0x60]
mov edx, dword [ebx + 0x70]
mov dword [ebx + 0x5c], ecx
fstp qword [ebx + 0x70]
mov dword [ebx + 0x60], edx
mov dword [ebx + 0x64], eax
call fcn.00502a40
push ebx
call fcn.005029d0
push ebx
call fcn.00506b80
push ebx
call fcn.00507450
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret