Function at 0x1009dfb0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x28
push ebp
mov ebp, ecx
movzx ecx, word [ebp + 0xac]
movzx eax, word [ebp + 0xae]
push edi
mov edi, 4
sub ecx, edi
cmp ecx, edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edi
jle 0x1009e3e9
fld qword [0x1023a7b8]
push ebx
fld qword [0x1023a7e0]
push esi
fld qword [0x1023aac0]
mov edx, dword [ebp + 0x98]
movzx eax, word [ebp + 0xae]
mov esi, edi
imul eax, edi
and esi, 7
lea ecx, [esi*4]
mov ebx, edx
shr ebx, cl
lea ecx, [esi + esi]
and ebx, 1
add ebx, 4
mov esi, ebx
and esi, 1
or ecx, esi
add ecx, ecx
shr edx, cl
add eax, ebx
and edx, 3
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x28]
lea ecx, [edx - 4]
cmp ebx, ecx
mov dword [esp + 0x10], ecx
jge 0x1009e3ca
lea edi, [eax + edx]
mov esi, eax
sub esi, edx
add edx, edx
lea ebp, [eax + edx]
mov dword [esp + 0x18], ebp
add ebp, ebp
add ebp, ebp
add ebp, ebp
mov dword [esp + 0x24], ebp
mov ebp, eax
sub ebp, edx
lea ecx, [eax*8]
mov dword [esp + 0x14], ebp
lea edx, [ebp*8]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x20], edx
lea edx, [ebp + eax*4]
mov eax, dword [esp + 0x18]
lea eax, [ebp + eax*4]
add eax, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
lea eax, [ebp + eax*4]
mov ebp, dword [esp + 0x1c]
add eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
sub eax, ebx
add edi, edi
add esi, esi
dec eax
add edi, edi
add esi, esi
shr eax, 1
add edi, edi
add esi, esi
add edx, edx
inc eax
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x40860]
movzx ebp, word [edi + eax + 6]
movzx ebx, word [eax + ecx + 6]
lea ebx, [ebp + ebx*2]
movzx ebp, word [esi + eax + 6]
add ebx, ebp
movzx ebp, word [eax + ecx + 0xe]
add ebx, ebp
movzx ebp, word [eax + ecx - 2]
add ebx, ebp
mov ebp, dword [esp + 0x20]
movzx ebp, word [eax + ebp + 6]
lea ebx, [ebp + ebx*2]
mov ebp, dword [esp + 0x24]
movzx ebp, word [eax + ebp + 6]
add ebx, ebp
movzx ebp, word [eax + ecx + 0x16]
add ebx, ebp
movzx ebp, word [eax + ecx - 0xa]
add ebx, ebp
movzx ebp, word [eax + edx]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x10], ebp
mov ebp, 0x10
sub ebp, ebx
fild dword [esp + 0x10]
movzx ebx, word [eax + ecx + 0xa]
fild dword [esp + 0x34]
mov dword [esp + 0x34], ebp
movzx ebp, word [eax + ecx - 6]
fild dword [esp + 0x34]
add ebx, ebp
movzx ebp, word [eax + edx + 0x10]
mov dword [esp + 0x34], ebx
movzx ebx, word [eax + edx - 0x10]
fild dword [esp + 0x34]
add ebx, ebp
movzx ebp, word [esi + eax + 2]
fmul st(6)
mov dword [esp + 0x34], ebx
movzx ebx, word [edi + eax + 2]
fadd st(3)
fild dword [esp + 0x34]
add ebx, ebp
mov ebp, dword [esp + 0x18]
fmul st(7)
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x14]
movzx ebx, word [eax + ebx]
fsubp st(1)
movzx eax, word [eax + ebp]
fmul st(1)
fild dword [esp + 0x34]
add ebx, eax
mov dword [esp + 0x34], ebx
fmul st(7)
faddp st(4)
fild dword [esp + 0x34]
fmul st(7)
fsubp st(4)
fxch st(3)
fmul st(2)
faddp st(3)
fxch st(2)
fmul st(4)
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x1009e24d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x40860]
movzx ebp, word [edi + eax + 2]
movzx ebx, word [esi + eax + 2]
add ebx, ebp
mov ebp, dword [esp + 0x18]
movzx ebp, word [eax + ebp]
mov dword [esp + 0x34], ebx
movzx ebx, word [edx + eax]
fild dword [esp + 0x34]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x14]
movzx ebx, word [ebx + eax]
fmul st(5)
fild dword [esp + 0x34]
add ebx, ebp
movzx ebp, word [ecx + eax + 0xa]
fadd st(1), st(0)
mov dword [esp + 0x34], ebx
movzx ebx, word [ecx + eax - 6]
fild dword [esp + 0x34]
add ebx, ebp
mov dword [esp + 0x34], ebx
movzx ebx, word [edx + eax - 0x10]
fmul st(7)
movzx eax, word [edx + eax + 0x10]
fsubp st(2)
fxch st(1)
fmul st(2)
add ebx, eax
fild dword [esp + 0x34]
mov dword [esp + 0x34], ebx
fmul st(7)
faddp st(2)
fild dword [esp + 0x34]
fmul st(7)
fsubp st(2)
fxch st(1)
fmul st(3)
faddp st(1)
fmul st(4)
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1009e24b
fstp st(1)
fstp st(1)
jmp 0x1009e36c
fstp st(0)
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x40860]
movzx ebx, word [edx + eax]
movzx ebp, word [edi + eax + 2]
mov dword [esp + 0x34], ebx
movzx ebx, word [esi + eax + 2]
fild dword [esp + 0x34]
add ebx, ebp
mov ebp, dword [esp + 0x18]
movzx ebp, word [eax + ebp]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x14]
movzx ebx, word [ebx + eax]
fild dword [esp + 0x34]
add ebx, ebp
movzx ebp, word [ecx + eax - 6]
fmul st(6)
fadd st(1)
mov dword [esp + 0x34], ebx
movzx ebx, word [ecx + eax + 0xa]
fild dword [esp + 0x34]
add ebx, ebp
mov dword [esp + 0x34], ebx
movzx ebx, word [edx + eax - 0x10]
fmul st(7)
movzx eax, word [edx + eax + 0x10]
fsubp st(1)
fmul st(2)
add ebx, eax
fild dword [esp + 0x34]
mov dword [esp + 0x34], ebx
fmul st(7)
faddp st(2)
fild dword [esp + 0x34]
fmul st(7)
fsubp st(2)
fxch st(1)
fmul st(3)
faddp st(1)
fmul st(4)
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x1009e366
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x40860]
movzx ebx, word [edx + eax]
movzx ebp, word [edi + eax + 2]
mov dword [esp + 0x34], ebx
movzx ebx, word [esi + eax + 2]
fild dword [esp + 0x34]
add ebx, ebp
mov ebp, dword [esp + 0x18]
movzx ebp, word [eax + ebp]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x14]
movzx ebx, word [ebx + eax]
fild dword [esp + 0x34]
add ebx, ebp
movzx ebp, word [ecx + eax - 6]
fmul st(6)
fadd st(1)
mov dword [esp + 0x34], ebx
movzx ebx, word [ecx + eax + 0xa]
fild dword [esp + 0x34]
add ebx, ebp
mov dword [esp + 0x34], ebx
movzx ebx, word [edx + eax - 0x10]
fmul st(7)
movzx eax, word [edx + eax + 0x10]
fsubp st(1)
fmulp st(2)
add ebx, eax
fild dword [esp + 0x34]
mov dword [esp + 0x34], ebx
fmul st(6)
faddp st(1)
fild dword [esp + 0x34]
fmul st(6)
fsubp st(1)
fmulp st(2)
faddp st(1)
fmul st(2)
jmp 0x1009e36c
fstp st(0)
fstp st(0)
fld st(0)
mov ebp, dword [esp + 0x1c]
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
mov ebx, dword [ebp + 0x40860]
or eax, 0xc00
mov dword [esp + 0x34], eax
fldcw word [esp + 0x34]
fistp dword [esp + 0x34]
mov ax, word [esp + 0x34]
mov word [ebx + ecx + 2], ax
mov eax, 0x10
add dword [esp + 0x14], eax
fldcw word [esp + 0x10]
add dword [esp + 0x18], eax
add dword [esp + 0x20], eax
add dword [esp + 0x24], eax
add edx, eax
add ecx, eax
add esi, eax
add edi, eax
sub dword [esp + 0x2c], 1
jne 0x1009e0bc
mov edi, dword [esp + 0x30]
movzx ecx, word [ebp + 0xac]
inc edi
sub ecx, 4
cmp edi, ecx
mov dword [esp + 0x30], edi
jl 0x1009dff4
fstp st(2)
pop esi
fstp st(0)
pop ebx
fstp st(0)
pop edi
pop ebp
add esp, 0x28
ret