Function at 0x10028310
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov eax, dword [0x100ef758]
movsd xmm0, qword [eax + 0x37f4]
movaps xmm1, xmm0
maxps xmm1, xmmword [0x100741d0]
movd edx, xmm1
movlpd qword [eax + 0x3e08], xmm1
mov edi, dword [eax + 0x3e1c]
movss dword [esp + 8], xmm0
shufps xmm0, xmm0, 0x55
movd ebx, xmm0
shufps xmm1, xmm1, 0x55
movd ebp, xmm1
mov ecx, 0
test edi, edi
je 0x10028368
xor ecx, ecx
test byte [edi + 9], 2
cmove ecx, edi
cmp byte [eax + 0x5e], 0
cmove edx, dword [esp + 8]
cmove ebp, ebx
mov esi, dword [eax + 0x3dc8]
test esi, esi
jle 0x10028510
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edx
mov ebp, dword [eax + 0x3dd0]
inc esi
xor edx, edx
nop dword [eax + eax]
mov edi, dword [ebp + esi*4 - 8]
cmp byte [edi + 0x8e], 0
je 0x10028500
cmp byte [edi + 0x95], 0
jne 0x10028500
mov ebx, dword [edi + 8]
test ebx, 0x200
jne 0x10028500
mov dword [esp], edx
movss xmm0, dword [edi + 0x1a8]
test ebx, 0x1000042
mov edx, dword [esp + 8]
cmove edx, dword [esp + 0x10]
movd xmm2, edx
subss xmm0, xmm2
movss xmm1, dword [eax + 0xdb0]
ucomiss xmm1, xmm0
jae 0x10028406
mov edi, ecx
mov edx, dword [esp]
jmp 0x10028502
test ebx, 0x1000042
mov edx, dword [esp + 0x18]
cmove edx, dword [esp + 0x14]
movss xmm4, dword [edi + 0x1ac]
movd xmm3, edx
subss xmm4, xmm3
movss xmm0, dword [eax + 0xdb4]
ucomiss xmm0, xmm4
jb 0x100283fc
addss xmm2, dword [edi + 0x1b0]
ucomiss xmm2, xmm1
mov edx, dword [esp]
jbe 0x10028500
addss xmm3, dword [edi + 0x1b4]
ucomiss xmm3, xmm0
jbe 0x10028500
movzx ebx, word [edi + 0x218]
test bx, bx
je 0x1002847b
movsx edx, word [edi + 0x21c]
xorps xmm2, xmm2
cvtsi2ss xmm2, edx
addss xmm2, dword [edi + 0x10]
ucomiss xmm1, xmm2
jae 0x100284b3
test ecx, ecx
cmove ecx, edi
mov edx, dword [esp]
test edx, edx
mov ebx, edi
cmovne ebx, edx
cmp dword [esp + 0xc], 0
je 0x100284a9
test edx, edx
jne 0x100284a9
mov edx, dword [edi + 0x2e8]
mov ebx, edi
mov edi, dword [esp + 0xc]
cmp edx, dword [edi + 0x2e8]
je 0x100284fb
xor edi, edi
mov edx, ebx
test ecx, ecx
je 0x10028502
jmp 0x10028512
movsx edx, bx
xorps xmm3, xmm3
cvtsi2ss xmm3, edx
addss xmm2, xmm3
ucomiss xmm2, xmm1
jbe 0x1002847b
movsx edx, word [edi + 0x21e]
xorps xmm1, xmm1
cvtsi2ss xmm1, edx
addss xmm1, dword [edi + 0x14]
ucomiss xmm0, xmm1
jb 0x1002847b
movsx edx, word [edi + 0x21a]
xorps xmm2, xmm2
cvtsi2ss xmm2, edx
addss xmm1, xmm2
ucomiss xmm1, xmm0
ja 0x100283fc
jmp 0x1002847b
xor edx, edx
nop dword [eax]
mov edi, ecx
dec esi
mov ecx, edi
cmp esi, 1
ja 0x100283a0
jmp 0x10028512
xor edx, edx
mov dword [eax + 0x3e14], ecx
mov dword [eax + 0x3e18], edx
mov esi, dword [eax + 0x3f9c]
test esi, esi
jle 0x10028587
mov edx, dword [eax + 0x3fa4]
lea edi, [esi + 1]
lea ebx, [esi + esi*4]
lea ebx, [edx + ebx*8]
add ebx, 0xffffffdc
jmp 0x10028549
dec edi
add ebx, 0xffffffd8
cmp edi, 2
jb 0x10028587
mov edx, dword [ebx]
test edx, edx
je 0x10028540
test byte [edx + 0xb], 8
je 0x10028540
mov bl, 1
test ecx, ecx
je 0x10028589
mov edi, dword [ecx + 0x2e8]
cmp dword [edi + 0x2e8], edx
je 0x10028589
nop dword [eax]
cmp edi, edx
je 0x10028589
mov edi, dword [edi + 0x2e4]
test edi, edi
jne 0x10028570
mov bl, 1
mov dl, 1
mov dword [esp], edx
jmp 0x10028590
xor ebx, ebx
mov dword [esp], 0
cmp byte [eax + 0x36f0], 0
je 0x100285b3
test esi, esi
setg dl
test ecx, ecx
setne dh
or dl, dh
mov byte [eax + 0x3713], dl
or dh, bl
mov byte [eax + 0x3718], dh
movzx edx, byte [eax + 0xdb8]
xor edi, edi
mov byte [esp + 8], dl
cmp dl, 1
sbb edi, edi
cmp byte [eax + 0x36f1], 0
je 0x100285e8
test esi, esi
setg dl
test ecx, ecx
setne dh
or dl, dh
mov byte [eax + 0x3714], dl
or dh, bl
mov byte [eax + 0x3719], dh
movzx edx, byte [eax + 0xdb9]
mov byte [esp + 0x18], dl
test dl, dl
je 0x10028616
cmp byte [esp + 8], 0
je 0x10028611
movsd xmm0, qword [eax + edi*8 + 0x36c8]
ucomisd xmm0, qword [eax + 0x36d0]
jbe 0x10028616
mov edi, 1
cmp byte [eax + 0x36f2], 0
je 0x10028639
test esi, esi
setg dl
test ecx, ecx
setne dh
or dl, dh
mov byte [eax + 0x3715], dl
or dh, bl
mov byte [eax + 0x371a], dh
movzx edx, byte [eax + 0xdba]
mov byte [esp + 0x14], dl
test dl, dl
je 0x10028665
cmp edi, 0xffffffff
je 0x10028660
movsd xmm0, qword [eax + edi*8 + 0x36c8]
ucomisd xmm0, qword [eax + 0x36d8]
jbe 0x10028665
mov edi, 2
cmp byte [eax + 0x36f3], 0
je 0x10028688
test esi, esi
setg dl
test ecx, ecx
setne dh
or dl, dh
mov byte [eax + 0x3716], dl
or dh, bl
mov byte [eax + 0x371b], dh
movzx edx, byte [eax + 0xdbb]
test dl, dl
mov byte [esp + 0xc], dl
je 0x100286b4
cmp edi, 0xffffffff
je 0x100286af
movsd xmm0, qword [eax + edi*8 + 0x36c8]
ucomisd xmm0, qword [eax + 0x36e0]
jbe 0x100286b4
mov edi, 3
cmp byte [eax + 0x36f4], 0
je 0x100286d7
test esi, esi
setg dl
test ecx, ecx
setne dh
or dl, dh
mov byte [eax + 0x3717], dl
or dh, bl
mov byte [eax + 0x371c], dh
mov ebp, ebx
mov edx, dword [eax + 8]
movzx ebx, byte [eax + 0xdbc]
mov byte [esp + 7], bl
test bl, bl
mov dword [esp + 0x10], edx
je 0x1002871d
cmp edi, 0xffffffff
je 0x10028707
movsd xmm0, qword [eax + edi*8 + 0x36c8]
ucomisd xmm0, qword [eax + 0x36e8]
jbe 0x1002870c
mov edi, 4
test dl, 0x10
movzx ebx, byte [esp]
mov edx, 1
cmove edx, ebx
jmp 0x10028735
test dl, 0x10
movzx ebx, byte [esp]
mov edx, 1
cmove edx, ebx
cmp edi, 0xffffffff
je 0x1002884f
cmp byte [eax + edi + 0x3713], 0
setne byte [esp]
cmp byte [eax + edi + 0x3718], 0
setne bl
cmp byte [eax + 0x4144], 0
movzx edx, dl
mov byte [esp + 6], bl
je 0x1002876f
mov ebx, dword [eax + 0x4148]
test bl, 0x10
mov ebx, 1
cmovne ebx, edx
jmp 0x10028771
mov bl, 1
movzx ebx, bl
cmp byte [esp], 0
cmovne ebx, edx
test bl, bl
je 0x10028795
mov dword [eax + 0x3e18], 0
mov dword [eax + 0x3e14], 0
xor ecx, ecx
mov edx, dword [eax + 0x53b0]
cmp edx, 0xffffffff
mov ebx, ebp
je 0x100287b4
test edx, edx
setne byte [eax + 0x3690]
setne byte [eax + 0x8c]
jmp 0x100287f8
movzx edx, byte [esp + 0x18]
or dl, byte [esp + 8]
mov dh, byte [esp + 0x14]
or dh, dl
mov dl, byte [esp + 0xc]
or dl, dh
or byte [esp + 7], dl
setne dl
test esi, esi
setg dh
test ecx, ecx
setne cl
or cl, dl
mov dl, byte [esp]
and dl, cl
or dl, dh
mov byte [eax + 0x8c], dl
movzx edx, byte [esp + 6]
and dl, cl
or dl, bl
mov byte [eax + 0x3690], dl
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 0x53b4]
cmp ecx, 0xffffffff
je 0x1002880e
test ecx, ecx
setne bl
jmp 0x1002881a
cmp dword [eax + 0x3e48], 0
setne cl
or bl, cl
and edx, 9
cmp edx, 1
movzx ecx, bl
cmovne edx, ecx
cmp byte [eax + 0x91], 0
cmove edx, ecx
mov byte [eax + 0x8d], dl
mov ecx, dword [eax + 0x53b8]
dec ecx
cmp ecx, 0xfffffffe
setb byte [eax + 0x8e]
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
mov byte [esp], 1
mov bl, 1
jmp 0x1002874c