Function at 0x100802c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x44
push ebx
push ebp
push esi
mov esi, dword [esp + 0x5c]
push edi
mov edi, dword [esp + 0x74]
push esi
push edi
push dword [ecx + 4]
lea ecx, [esp + 0x30]
call fcn.1007f4f0
mov ebp, dword [esp + 0x58]
test ebp, ebp
je case.0x10080336.2
mov eax, dword [ebp]
mov eax, dword [eax]
dec eax
cmp eax, 0xb
ja case.0x10080336.2
movzx eax, byte [eax + 0x10082600]
jmp dword [eax*4 + 0x100825e8]
mov edx, dword [ebp]
mov esi, 0x10
mov ecx, edx
mov eax, esi
and ecx, 0xf
sub eax, ecx
neg ecx
sbb ecx, ecx
and ecx, eax
movzx eax, word [ecx + edx + 0x146]
dec eax
cmp eax, 0x1f
ja case.0x10080336.2
movzx eax, byte [eax + 0x10082628]
jmp dword [eax*4 + 0x1008260c]
mov eax, dword [esp + 0x70]
test eax, eax
je case.0x10080336.2
mov ecx, dword [eax]
mov eax, ecx
and eax, 0xf
sub esi, eax
neg eax
sbb eax, eax
and eax, esi
movzx eax, word [eax + ecx + 0x146]
cmp eax, 8
je 0x10080829
cmp eax, 0x18
je 0x1008054f
cmp eax, 0x20
jne case.0x10080336.2
mov ebp, dword [esp + 0x64]
xor ebx, ebx
shr ebp, 3
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov edi, 0xff
nop dword [eax + eax]
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x20], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov edx, dword [esp + 0x74]
test edx, edx
je 0x1008053b
mov ecx, dword [esp + 0x24]
lea ebx, [eax + 1]
movsd xmm0, qword [0x103efa18]
add ecx, 8
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x10], edx
nop word [eax + eax]
mov eax, dword [ecx]
xorps xmm2, xmm2
mov esi, dword [ecx - 4]
xorps xmm3, xmm3
mov dword [esp + 0x1c], eax
xorps xmm4, xmm4
xorps xmm5, xmm5
cmp esi, eax
jae 0x100804ad
mov ebp, dword [ecx - 8]
mov edi, eax
mov ebx, dword [esp + 0x18]
mov eax, esi
movsd xmm1, qword [ebp]
shr eax, 3
mov ecx, esi
and ecx, 7
mov edx, 0x80
sar edx, cl
and dl, byte [eax + ebx]
movzx ecx, dl
neg ecx
sbb ecx, ecx
inc esi
and ecx, 4
add ebp, 8
add ecx, dword [esp + 0x6c]
movzx eax, byte [ecx + 2]
movd xmm0, eax
movzx eax, byte [ecx + 1]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, byte [ecx]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
movzx eax, byte [ecx + 3]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm5, xmm0
cmp esi, edi
jb 0x10080416
movsd xmm0, qword [0x103efa18]
mov edi, 0xff
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x10]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x100804bd
xor eax, eax
jmp 0x100804c5
cmp eax, 0xff
cmovg eax, edi
addsd xmm3, xmm0
mov byte [ebx + 1], al
cvttsd2si eax, xmm3
test eax, eax
jns 0x100804d8
xor eax, eax
jmp 0x100804e0
cmp eax, 0xff
cmovg eax, edi
addsd xmm4, xmm0
mov byte [ebx], al
cvttsd2si eax, xmm4
test eax, eax
jns 0x100804f2
xor eax, eax
jmp 0x100804fa
cmp eax, 0xff
cmovg eax, edi
addsd xmm5, xmm0
mov byte [ebx - 1], al
cvttsd2si eax, xmm5
test eax, eax
jns 0x1008050d
xor eax, eax
jmp 0x10080515
cmp eax, 0xff
cmovg eax, edi
mov byte [ebx + 2], al
add ecx, 0xc
add ebx, 4
mov dword [esp + 0x60], ecx
sub edx, 1
mov dword [esp + 0x64], ebx
mov dword [esp + 0x10], edx
jne 0x100803f0
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x100803a0
jmp case.0x10080336.2
mov ebp, dword [esp + 0x64]
xor ebx, ebx
shr ebp, 3
mov dword [esp + 0x18], ebp
cmp dword [esp + 0x6c], ebx
je 0x100806fd
mov dword [esp + 0x10], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov edi, 0xff
nop dword [eax]
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x24], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov edx, dword [esp + 0x74]
test edx, edx
je 0x100806e9
mov ecx, dword [esp + 0x24]
lea ebp, [eax + 1]
movsd xmm0, qword [0x103efa18]
add ecx, 8
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ecx
mov dword [esp + 0x14], edx
nop word [eax + eax]
mov eax, dword [ecx]
xorps xmm2, xmm2
mov esi, dword [ecx - 4]
xorps xmm3, xmm3
mov dword [esp + 0x20], eax
xorps xmm4, xmm4
cmp esi, eax
jae 0x10080675
mov ebx, dword [ecx - 8]
mov edi, eax
mov ebp, dword [esp + 0x1c]
mov eax, esi
movsd xmm1, qword [ebx]
shr eax, 3
mov ecx, esi
and ecx, 7
mov edx, 0x80
sar edx, cl
and dl, byte [eax + ebp]
movzx ecx, dl
neg ecx
sbb ecx, ecx
inc esi
and ecx, 4
add ebx, 8
add ecx, dword [esp + 0x6c]
movzx eax, byte [ecx + 2]
movd xmm0, eax
movzx eax, byte [ecx + 1]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, byte [ecx]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
cmp esi, edi
jb 0x100805f3
movsd xmm0, qword [0x103efa18]
mov edi, 0xff
mov ebp, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x10080685
xor eax, eax
jmp 0x1008068d
cmp eax, 0xff
cmovg eax, edi
addsd xmm3, xmm0
mov byte [ebp + 1], al
cvttsd2si eax, xmm3
test eax, eax
jns 0x100806a0
xor eax, eax
jmp 0x100806a8
cmp eax, 0xff
cmovg eax, edi
addsd xmm4, xmm0
mov byte [ebp], al
cvttsd2si eax, xmm4
test eax, eax
jns 0x100806bb
xor eax, eax
jmp 0x100806c3
cmp eax, 0xff
cmovg eax, edi
mov byte [ebp - 1], al
add ecx, 0xc
add ebp, 3
mov dword [esp + 0x60], ecx
sub edx, 1
mov dword [esp + 0x64], ebp
mov dword [esp + 0x14], edx
jne 0x100805d0
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10080580
jmp case.0x10080336.2
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov edi, 0xff
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x28], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov edx, dword [esp + 0x74]
test edx, edx
je 0x10080815
lea ebp, [eax + 1]
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x24]
mov ebx, edx
mov dword [esp + 0x6c], ebp
lea ecx, [eax + 8]
mov dword [esp + 0x64], ecx
mov esi, dword [ecx - 4]
xorps xmm1, xmm1
cmp esi, dword [ecx]
jae 0x100807c1
mov edi, dword [esp + 0x64]
mov ebp, dword [esp + 0x20]
mov ebx, dword [edi - 8]
nop dword [eax]
mov eax, esi
mov ecx, esi
shr eax, 3
and ecx, 7
mov edx, 0x80
sar edx, cl
test byte [eax + ebp], dl
mov eax, 0
setne al
inc esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
mulsd xmm0, qword [ebx]
add ebx, 8
addsd xmm1, xmm0
cmp esi, dword [edi]
jb 0x10080770
mov ebp, dword [esp + 0x6c]
mov edi, 0xff
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mulsd xmm1, qword [0x103efbe0]
addsd xmm1, qword [0x103efa18]
cvttsd2si edx, xmm1
test edx, edx
jns 0x100807dd
xor al, al
jmp 0x100807e9
cmp edx, 0xff
movzx eax, dl
cmovg eax, edi
mov byte [ebp + 1], al
add ecx, 0xc
mov byte [ebp], al
mov byte [ebp - 1], al
add ebp, 3
sub ebx, 1
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], ebx
jne 0x10080754
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10080710
jmp case.0x10080336.2
mov ebp, dword [esp + 0x64]
xor ebx, ebx
shr ebp, 3
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x6c], ebx
je 0x1008094b
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov esi, dword [esp + 0x74]
mov edi, 0xff
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x28], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
xor edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x64], edx
test esi, esi
je 0x10080937
mov ecx, dword [esp + 0x24]
add ecx, 8
mov dword [esp + 0x60], ecx
mov esi, dword [ecx - 4]
xorps xmm1, xmm1
mov ebp, dword [ecx]
cmp esi, ebp
jae 0x100808f2
mov ebx, dword [ecx - 8]
mov edi, dword [esp + 0x20]
mov eax, esi
mov ecx, esi
shr eax, 3
and ecx, 7
mov edx, 0x80
sar edx, cl
mov ecx, dword [esp + 0x6c]
and dl, byte [eax + edi]
movzx eax, dl
neg eax
sbb eax, eax
inc esi
and eax, 4
movzx eax, byte [eax + ecx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebx]
add ebx, 8
addsd xmm1, xmm0
cmp esi, ebp
jb 0x100808a7
mov ecx, dword [esp + 0x60]
mov edi, 0xff
mov edx, dword [esp + 0x64]
addsd xmm1, qword [0x103efa18]
cvttsd2si eax, xmm1
test eax, eax
jns 0x10080906
xor eax, eax
jmp 0x1008090e
cmp eax, 0xff
cmovg eax, edi
mov ebx, dword [esp + 0x1c]
add ecx, 0xc
mov dword [esp + 0x60], ecx
mov byte [edx + ebx], al
inc edx
mov dword [esp + 0x64], edx
cmp edx, dword [esp + 0x74]
jb 0x10080894
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x74]
inc ebx
mov dword [esp + 0x18], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10080857
jmp case.0x10080336.2
mov dword [esp + 0x60], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov edi, 0xff
nop
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x28], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
xor edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x64], edx
cmp dword [esp + 0x74], edx
jbe 0x10080a49
mov ecx, dword [esp + 0x24]
add ecx, 8
mov dword [esp + 0x6c], ecx
nop
mov esi, dword [ecx - 4]
xorps xmm1, xmm1
mov ebp, dword [ecx]
cmp esi, ebp
jae 0x10080a00
mov ebx, dword [ecx - 8]
mov edi, dword [esp + 0x20]
mov eax, esi
mov ecx, esi
shr eax, 3
and ecx, 7
mov edx, 0x80
sar edx, cl
test byte [eax + edi], dl
mov eax, 0
setne al
inc esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
mulsd xmm0, qword [ebx]
add ebx, 8
addsd xmm1, xmm0
cmp esi, ebp
jb 0x100809b3
mov ecx, dword [esp + 0x6c]
mov edi, 0xff
mov edx, dword [esp + 0x64]
mulsd xmm1, qword [0x103efbe0]
addsd xmm1, qword [0x103efa18]
cvttsd2si eax, xmm1
test eax, eax
jns 0x10080a1c
xor eax, eax
jmp 0x10080a24
cmp eax, 0xff
cmovg eax, edi
mov ebx, dword [esp + 0x1c]
add ecx, 0xc
mov dword [esp + 0x6c], ecx
mov byte [edx + ebx], al
inc edx
mov dword [esp + 0x64], edx
cmp edx, dword [esp + 0x74]
jb 0x100809a0
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x14]
inc ebx
mov dword [esp + 0x60], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10080960
jmp case.0x10080336.2
mov eax, dword [esp + 0x70]
test eax, eax
je case.0x10080336.2
mov ecx, dword [eax]
mov eax, ecx
and eax, 0xf
sub esi, eax
neg eax
sbb eax, eax
and eax, esi
movzx eax, word [eax + ecx + 0x146]
cmp eax, 8
je 0x10080deb
cmp eax, 0x18
je 0x10080c52
cmp eax, 0x20
jne case.0x10080336.2
mov ebp, dword [esp + 0x64]
xor ebx, ebx
shr ebp, 1
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov edi, 0xff
nop word [eax + eax]
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x28], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x10080c3e
mov ebp, dword [esp + 0x24]
lea esi, [eax + 1]
movsd xmm0, qword [0x103efa18]
add ebp, 8
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ecx
mov ebx, dword [ebp - 4]
xorps xmm2, xmm2
xorps xmm3, xmm3
xorps xmm4, xmm4
xorps xmm5, xmm5
cmp ebx, dword [ebp]
jae 0x10080bb4
mov edi, dword [ebp - 8]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
mov eax, ebx
shr eax, 1
movsd xmm1, qword [edi]
movzx edx, byte [eax + ecx]
mov eax, edx
and edx, 0xf
shr eax, 4
test bl, 1
cmove edx, eax
inc ebx
add edi, 8
movzx eax, byte [esi + edx*4 + 2]
movd xmm0, eax
movzx eax, byte [esi + edx*4 + 1]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, byte [esi + edx*4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
movzx eax, byte [esi + edx*4 + 3]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm5, xmm0
cmp ebx, dword [ebp]
jb 0x10080b25
movsd xmm0, qword [0x103efa18]
mov edi, 0xff
mov esi, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x10080bc4
xor eax, eax
jmp 0x10080bcc
cmp eax, 0xff
cmovg eax, edi
addsd xmm3, xmm0
mov byte [esi + 1], al
cvttsd2si eax, xmm3
test eax, eax
jns 0x10080bdf
xor eax, eax
jmp 0x10080be7
cmp eax, 0xff
cmovg eax, edi
addsd xmm4, xmm0
mov byte [esi], al
cvttsd2si eax, xmm4
test eax, eax
jns 0x10080bf9
xor eax, eax
jmp 0x10080c01
cmp eax, 0xff
cmovg eax, edi
addsd xmm5, xmm0
mov byte [esi - 1], al
cvttsd2si eax, xmm5
test eax, eax
jns 0x10080c14
xor eax, eax
jmp 0x10080c1c
cmp eax, 0xff
cmovg eax, edi
mov byte [esi + 2], al
add ebp, 0xc
add esi, 4
sub ecx, 1
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ecx
jne 0x10080b06
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x18], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10080ac0
jmp case.0x10080336.2
mov ebp, dword [esp + 0x64]
xor ebx, ebx
shr ebp, 1
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov edi, 0xff
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x24], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov edx, dword [esp + 0x74]
test edx, edx
je 0x10080dd7
mov ecx, dword [esp + 0x24]
lea ebp, [eax + 1]
movsd xmm0, qword [0x103efa18]
add ecx, 8
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ecx
mov dword [esp + 0x18], edx
nop dword [eax + eax]
mov eax, dword [ecx]
xorps xmm2, xmm2
mov esi, dword [ecx - 4]
xorps xmm3, xmm3
mov dword [esp + 0x20], eax
xorps xmm4, xmm4
cmp esi, eax
jae 0x10080d63
mov ebx, dword [ecx - 8]
mov edi, eax
mov ebp, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
mov eax, esi
shr eax, 1
movsd xmm1, qword [ebx]
movzx edx, byte [eax + ecx]
mov ecx, esi
mov eax, edx
and edx, 0xf
shr eax, 4
test cl, 1
cmove edx, eax
inc esi
add ebx, 8
movzx eax, byte [ebp + edx*4 + 2]
movd xmm0, eax
movzx eax, byte [ebp + edx*4 + 1]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, byte [ebp + edx*4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
cmp esi, edi
jb 0x10080ce3
movsd xmm0, qword [0x103efa18]
mov edi, 0xff
mov ebp, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x18]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x10080d73
xor eax, eax
jmp 0x10080d7b
cmp eax, 0xff
cmovg eax, edi
addsd xmm3, xmm0
mov byte [ebp + 1], al
cvttsd2si eax, xmm3
test eax, eax
jns 0x10080d8e
xor eax, eax
jmp 0x10080d96
cmp eax, 0xff
cmovg eax, edi
addsd xmm4, xmm0
mov byte [ebp], al
cvttsd2si eax, xmm4
test eax, eax
jns 0x10080da9
xor eax, eax
jmp 0x10080db1
cmp eax, 0xff
cmovg eax, edi
mov byte [ebp - 1], al
add ecx, 0xc
add ebp, 3
mov dword [esp + 0x60], ecx
sub edx, 1
mov dword [esp + 0x64], ebp
mov dword [esp + 0x18], edx
jne 0x10080cc0
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10080c71
jmp case.0x10080336.2
mov ebp, dword [esp + 0x64]
xor ebx, ebx
shr ebp, 1
mov dword [esp + 0x18], ebp
mov dword [esp + 0x60], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov edi, 0xff
nop word [eax + eax]
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x28], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
xor ecx, ecx
mov edx, eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x74], ecx
jbe 0x10080ee1
mov ebp, dword [esp + 0x24]
add ebp, 8
nop dword [eax]
mov esi, dword [ebp - 4]
xorps xmm1, xmm1
cmp esi, dword [ebp]
jae 0x10080ea8
mov ebx, dword [ebp - 8]
mov edi, dword [esp + 0x20]
mov eax, esi
mov ecx, esi
shr eax, 1
movzx edx, byte [eax + edi]
mov eax, edx
and edx, 0xf
shr eax, 4
test cl, 1
cmove edx, eax
mov eax, dword [esp + 0x6c]
inc esi
movzx eax, byte [eax + edx*4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ebx]
add ebx, 8
addsd xmm1, xmm0
cmp esi, dword [ebp]
jb 0x10080e62
mov ecx, dword [esp + 0x64]
mov edi, 0xff
mov edx, dword [esp + 0x1c]
addsd xmm1, qword [0x103efa18]
cvttsd2si eax, xmm1
test eax, eax
jns 0x10080ebc
xor eax, eax
jmp 0x10080ec4
cmp eax, 0xff
cmovg eax, edi
mov byte [ecx + edx], al
add ebp, 0xc
inc ecx
mov dword [esp + 0x64], ecx
cmp ecx, dword [esp + 0x74]
jb 0x10080e50
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x18]
inc ebx
mov dword [esp + 0x60], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10080e10
jmp case.0x10080336.2
mov ebp, dword [esp + 0x70]
test ebp, ebp
je case.0x10080336.2
mov ecx, dword [ebp]
mov eax, ecx
and eax, 0xf
sub esi, eax
neg eax
sbb eax, eax
and eax, esi
movzx eax, word [eax + ecx + 0x146]
cmp eax, 8
je 0x100813ed
cmp eax, 0x18
je 0x100810eb
cmp eax, 0x20
jne case.0x10080336.2
xor ebx, ebx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov ebp, dword [esp + 0x6c]
mov edi, 0xff
nop dword [eax]
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
add eax, dword [esp + 0x64]
push ebx
push dword [esp + 0x74]
mov dword [esp + 0x28], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x100810d7
mov esi, dword [esp + 0x24]
lea ebx, [eax + 1]
movsd xmm0, qword [0x103efa18]
add esi, 8
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x18], ecx
nop dword [eax]
mov eax, dword [esi - 4]
xorps xmm2, xmm2
mov ecx, dword [esi]
xorps xmm3, xmm3
sub ecx, eax
xorps xmm4, xmm4
mov dword [esp + 0x1c], ecx
xorps xmm5, xmm5
mov ecx, dword [esp + 0x20]
mov edx, 0
lea eax, [eax + ecx]
mov dword [esp + 0x10], eax
je 0x1008104f
mov esi, dword [esi - 8]
mov ebx, eax
mov edi, dword [esp + 0x1c]
movzx ecx, byte [edx + ebx]
inc edx
movsd xmm1, qword [esi]
add esi, 8
movzx eax, byte [ebp + ecx*4 + 2]
movd xmm0, eax
movzx eax, byte [ebp + ecx*4 + 1]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, byte [ebp + ecx*4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
movzx eax, byte [ebp + ecx*4 + 3]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm5, xmm0
cmp edx, edi
jb 0x10080fd6
movsd xmm0, qword [0x103efa18]
mov edi, 0xff
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x60]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x1008105f
xor eax, eax
jmp 0x10081067
cmp eax, 0xff
cmovg eax, edi
addsd xmm3, xmm0
mov byte [ebx + 1], al
cvttsd2si eax, xmm3
test eax, eax
jns 0x1008107a
xor eax, eax
jmp 0x10081082
cmp eax, 0xff
cmovg eax, edi
addsd xmm4, xmm0
mov byte [ebx], al
cvttsd2si eax, xmm4
test eax, eax
jns 0x10081094
xor eax, eax
jmp 0x1008109c
cmp eax, 0xff
cmovg eax, edi
addsd xmm5, xmm0
mov byte [ebx - 1], al
cvttsd2si eax, xmm5
test eax, eax
jns 0x100810af
xor eax, eax
jmp 0x100810b7
cmp eax, 0xff
cmovg eax, edi
mov byte [ebx + 2], al
add esi, 0xc
add ebx, 4
mov dword [esp + 0x60], esi
sub dword [esp + 0x18], 1
mov dword [esp + 0x6c], ebx
jne 0x10080fa0
mov ebx, dword [esp + 0x14]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10080f50
jmp case.0x10080336.2
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x10081279
xor esi, esi
mov dword [esp + 0x14], esi
cmp dword [esp + 0x5c], esi
jbe case.0x10080336.2
mov edi, 0xff
nop dword [eax]
mov eax, dword [esp + 0x68]
add eax, esi
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
add eax, dword [esp + 0x64]
push esi
push ebp
mov dword [esp + 0x28], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x10081265
mov esi, dword [esp + 0x24]
lea ebp, [eax + 1]
movsd xmm0, qword [0x103efa18]
add esi, 8
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x60], esi
mov dword [esp + 0x18], ecx
nop dword [eax]
mov eax, dword [esi - 4]
xorps xmm2, xmm2
mov ecx, dword [esi]
xorps xmm3, xmm3
sub ecx, eax
xorps xmm4, xmm4
mov dword [esp + 0x1c], ecx
mov edx, 0
mov ecx, dword [esp + 0x20]
lea eax, [eax + ecx]
mov dword [esp + 0x10], eax
je 0x100811f3
mov esi, dword [esi - 8]
mov ebp, eax
mov edi, dword [esp + 0x1c]
nop
movzx ecx, byte [edx + ebp]
inc edx
movsd xmm1, qword [esi]
add esi, 8
movzx eax, byte [ebx + ecx*4 + 2]
movd xmm0, eax
movzx eax, byte [ebx + ecx*4 + 1]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, byte [ebx + ecx*4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
cmp edx, edi
jb 0x10081190
movsd xmm0, qword [0x103efa18]
mov edi, 0xff
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x60]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x10081203
xor eax, eax
jmp 0x1008120b
cmp eax, 0xff
cmovg eax, edi
addsd xmm3, xmm0
mov byte [ebp + 1], al
cvttsd2si eax, xmm3
test eax, eax
jns 0x1008121e
xor eax, eax
jmp 0x10081226
cmp eax, 0xff
cmovg eax, edi
addsd xmm4, xmm0
mov byte [ebp], al
cvttsd2si eax, xmm4
test eax, eax
jns 0x10081239
xor eax, eax
jmp 0x10081241
cmp eax, 0xff
cmovg eax, edi
mov byte [ebp - 1], al
add esi, 0xc
add ebp, 3
mov dword [esp + 0x60], esi
sub dword [esp + 0x18], 1
mov dword [esp + 0x6c], ebp
jne 0x10081160
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x70]
inc esi
mov dword [esp + 0x14], esi
cmp esi, dword [esp + 0x5c]
jb 0x10081110
jmp case.0x10080336.2
xor ebx, ebx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov edi, 0xff
nop
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov esi, eax
add esi, dword [esp + 0x64]
push ebx
push ebp
mov dword [esp + 0x24], esi
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x100813d9
mov ebx, dword [esp + 0x24]
inc eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x18], ecx
nop
mov eax, dword [ebx + 4]
xor edx, edx
mov ebp, dword [ebx + 8]
add esi, eax
sub ebp, eax
mov dword [esp + 0x20], esi
xorps xmm2, xmm2
cmp ebp, 4
jb 0x10081361
mov ecx, dword [ebx]
add esi, 2
lea ebx, [ebp - 4]
add ecx, 0x10
shr ebx, 2
inc ebx
lea edx, [ebx*4]
nop
movzx eax, byte [esi - 2]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm1, eax
movzx eax, byte [esi - 1]
cvtsi2sd xmm0, eax
movzx eax, byte [esi]
mulsd xmm1, qword [ecx - 0x10]
mulsd xmm0, qword [ecx - 8]
addsd xmm2, xmm1
addsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movzx eax, byte [esi + 1]
add esi, 4
mulsd xmm0, qword [ecx]
addsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm0, qword [ecx + 8]
add ecx, 0x20
addsd xmm2, xmm0
sub ebx, 1
jne 0x10081300
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x20]
cmp edx, ebp
jae 0x1008138c
mov eax, dword [ebx]
lea ecx, [eax + edx*8]
nop word [eax + eax]
movzx eax, byte [edx + esi]
inc edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ecx]
add ecx, 8
addsd xmm2, xmm0
cmp edx, ebp
jb 0x10081370
addsd xmm2, qword [0x103efa18]
cvttsd2si ecx, xmm2
test ecx, ecx
jns 0x100813a0
xor al, al
jmp 0x100813a8
cmp ecx, edi
movzx eax, cl
cmovg eax, edi
mov ecx, dword [esp + 0x6c]
add ebx, 0xc
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x60], ebx
mov byte [ecx + 1], al
mov byte [ecx], al
mov byte [ecx - 1], al
add ecx, 3
sub dword [esp + 0x18], 1
mov dword [esp + 0x6c], ecx
jne 0x100812d0
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x70]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10081290
jmp case.0x10080336.2
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x1008158f
xor ebp, ebp
mov dword [esp + 0x18], ebp
cmp dword [esp + 0x5c], ebp
jbe case.0x10080336.2
mov edi, 0xff
nop
mov eax, dword [esp + 0x68]
add eax, ebp
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov esi, eax
add esi, dword [esp + 0x64]
push ebp
push dword [esp + 0x74]
mov dword [esp + 0x18], esi
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
cmp dword [esp + 0x74], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x60], 0
jbe 0x1008157b
mov edx, dword [esp + 0x24]
mov dword [esp + 0x6c], edx
mov ebp, dword [edx + 8]
xor ecx, ecx
sub ebp, dword [edx + 4]
xorps xmm2, xmm2
add esi, dword [edx + 4]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], esi
cmp ebp, 4
jb 0x10081509
mov edx, dword [edx]
add ebp, 0xfffffffc
shr ebp, 2
add esi, 2
add edx, 0x10
inc ebp
lea ecx, [ebp*4]
nop dword [eax + eax]
movzx eax, byte [esi - 2]
movzx eax, byte [ebx + eax*4]
movd xmm1, eax
movzx eax, byte [esi - 1]
cvtdq2pd xmm1, xmm1
movzx eax, byte [ebx + eax*4]
mulsd xmm1, qword [edx - 0x10]
movd xmm0, eax
movzx eax, byte [esi]
cvtdq2pd xmm0, xmm0
movzx eax, byte [ebx + eax*4]
addsd xmm2, xmm1
mulsd xmm0, qword [edx - 8]
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, byte [esi + 1]
add esi, 4
cvtdq2pd xmm0, xmm0
movzx eax, byte [ebx + eax*4]
mulsd xmm0, qword [edx]
addsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [edx + 8]
add edx, 0x20
addsd xmm2, xmm0
sub ebp, 1
jne 0x10081490
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x1c]
cmp ecx, ebp
jae 0x10081532
mov eax, dword [edx]
lea edx, [eax + ecx*8]
movzx eax, byte [ecx + esi]
inc ecx
movzx eax, byte [ebx + eax*4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [edx]
add edx, 8
addsd xmm2, xmm0
cmp ecx, ebp
jb 0x10081512
addsd xmm2, qword [0x103efa18]
cvttsd2si eax, xmm2
test eax, eax
jns 0x10081546
xor eax, eax
jmp 0x1008154e
cmp eax, 0xff
cmovg eax, edi
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov byte [ecx + edx], al
inc ecx
mov edx, dword [esp + 0x6c]
add edx, 0xc
mov dword [esp + 0x60], ecx
mov dword [esp + 0x6c], edx
cmp ecx, dword [esp + 0x74]
jb 0x10081453
mov ebp, dword [esp + 0x18]
inc ebp
mov dword [esp + 0x18], ebp
cmp ebp, dword [esp + 0x5c]
jb 0x10081410
jmp case.0x10080336.2
xor ebx, ebx
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov edi, 0xff
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov esi, eax
add esi, dword [esp + 0x64]
push ebx
push ebp
mov dword [esp + 0x1c], esi
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
cmp dword [esp + 0x74], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x6c], 0
jbe 0x100816e5
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x60], ebx
mov ebp, dword [ebx + 8]
xor edx, edx
sub ebp, dword [ebx + 4]
xorps xmm2, xmm2
add esi, dword [ebx + 4]
mov dword [esp + 0x20], esi
cmp ebp, 4
jb 0x10081672
mov ecx, dword [ebx]
add esi, 2
lea ebx, [ebp - 4]
add ecx, 0x10
shr ebx, 2
inc ebx
lea edx, [ebx*4]
movzx eax, byte [esi - 2]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm1, eax
movzx eax, byte [esi - 1]
cvtsi2sd xmm0, eax
movzx eax, byte [esi]
mulsd xmm1, qword [ecx - 0x10]
mulsd xmm0, qword [ecx - 8]
addsd xmm2, xmm1
addsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movzx eax, byte [esi + 1]
add esi, 4
mulsd xmm0, qword [ecx]
addsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm0, qword [ecx + 8]
add ecx, 0x20
addsd xmm2, xmm0
sub ebx, 1
jne 0x10081611
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x20]
cmp edx, ebp
jae 0x1008169c
mov eax, dword [ebx]
lea ecx, [eax + edx*8]
nop dword [eax + eax]
movzx eax, byte [edx + esi]
inc edx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [ecx]
add ecx, 8
addsd xmm2, xmm0
cmp edx, ebp
jb 0x10081680
addsd xmm2, qword [0x103efa18]
cvttsd2si eax, xmm2
test eax, eax
jns 0x100816b0
xor eax, eax
jmp 0x100816b8
cmp eax, 0xff
cmovg eax, edi
mov ecx, dword [esp + 0x6c]
add ebx, 0xc
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x60], ebx
mov byte [ecx + edx], al
inc ecx
mov dword [esp + 0x6c], ecx
cmp ecx, dword [esp + 0x74]
jb 0x100815e4
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x70]
inc ebx
mov dword [esp + 0x18], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x100815a4
jmp case.0x10080336.2
push ebp
call sym.FreeImage32.dll__FreeImage_GetRedMask_4
cmp eax, 0xf800
jne 0x100818d3
push ebp
call sym.FreeImage32.dll__FreeImage_GetGreenMask_4
cmp eax, 0x7e0
jne 0x100818d3
push ebp
call sym.FreeImage32.dll__FreeImage_GetBlueMask_4
cmp eax, 0x1f
jne 0x100818d3
xor ebx, ebx
mov dword [esp + 0x60], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov ebp, dword [esp + 0x64]
mov edi, 0xff
and ebp, 0xfffffffe
mov dword [esp + 0x1c], ebp
nop word [eax + eax]
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
lea esi, [eax + ebp]
mov dword [esp + 0x28], esi
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov edx, dword [esp + 0x74]
test edx, edx
je 0x100818bf
mov ecx, dword [esp + 0x24]
lea ebp, [eax + 1]
movsd xmm0, qword [0x103efa18]
add ecx, 8
movsd xmm1, qword [0x103efbe0]
movsd xmm5, qword [0x103efb70]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], edx
mov eax, dword [ecx - 4]
xorps xmm2, xmm2
mov ebx, dword [ecx]
xorps xmm3, xmm3
xorps xmm4, xmm4
lea esi, [esi + eax*2]
sub ebx, eax
je 0x1008182f
mov edx, dword [ecx - 8]
nop
movzx ecx, word [esi]
add esi, 2
movsd xmm1, qword [edx]
mov ax, cx
shr ax, 0xb
add edx, 8
movzx eax, ax
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 5
and ecx, 0x1f
and eax, 0x3f
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
sub ebx, 1
jne 0x100817c0
movsd xmm0, qword [0x103efa18]
movsd xmm1, qword [0x103efbe0]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mulsd xmm2, xmm1
divsd xmm2, xmm5
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x10081847
xor eax, eax
jmp 0x1008184f
cmp eax, 0xff
cmovg eax, edi
mulsd xmm3, xmm1
mov byte [ebp + 1], al
divsd xmm3, qword [0x103efb98]
addsd xmm3, xmm0
cvttsd2si eax, xmm3
test eax, eax
jns 0x1008186e
xor eax, eax
jmp 0x10081876
cmp eax, 0xff
cmovg eax, edi
mulsd xmm4, xmm1
mov byte [ebp], al
divsd xmm4, xmm5
addsd xmm4, xmm0
cvttsd2si eax, xmm4
test eax, eax
jns 0x10081891
xor eax, eax
jmp 0x10081899
cmp eax, 0xff
cmovg eax, edi
mov esi, dword [esp + 0x20]
add ecx, 0xc
mov byte [ebp - 1], al
add ebp, 3
sub edx, 1
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], edx
jne 0x100817a7
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x60], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10081750
jmp case.0x10080336.2
xor ebx, ebx
mov dword [esp + 0x60], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov eax, dword [esp + 0x64]
mov edi, 0xff
lea ebp, [eax + eax]
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
lea esi, [eax + ebp]
mov dword [esp + 0x28], esi
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov edx, dword [esp + 0x74]
test edx, edx
je 0x10081a69
mov ecx, dword [esp + 0x24]
lea ebp, [eax + 1]
movsd xmm0, qword [0x103efa18]
add ecx, 8
movsd xmm1, qword [0x103efbe0]
movsd xmm5, qword [0x103efb70]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], edx
nop word [eax + eax]
mov eax, dword [ecx - 4]
xorps xmm2, xmm2
mov ebx, dword [ecx]
xorps xmm3, xmm3
xorps xmm4, xmm4
lea esi, [esi + eax*2]
sub ebx, eax
je 0x100819dd
mov edx, dword [ecx - 8]
nop dword [eax + eax]
movzx ecx, word [esi]
add esi, 2
movsd xmm1, qword [edx]
mov eax, ecx
shr eax, 0xa
add edx, 8
and eax, 0x1f
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
shr eax, 5
and ecx, 0x1f
and eax, 0x1f
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
sub ebx, 1
jne 0x10081970
movsd xmm0, qword [0x103efa18]
movsd xmm1, qword [0x103efbe0]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mulsd xmm2, xmm1
divsd xmm2, xmm5
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x100819f5
xor eax, eax
jmp 0x100819fd
cmp eax, 0xff
cmovg eax, edi
mulsd xmm3, xmm1
mov byte [ebp + 1], al
divsd xmm3, xmm5
addsd xmm3, xmm0
cvttsd2si eax, xmm3
test eax, eax
jns 0x10081a18
xor eax, eax
jmp 0x10081a20
cmp eax, 0xff
cmovg eax, edi
mulsd xmm4, xmm1
mov byte [ebp], al
divsd xmm4, xmm5
addsd xmm4, xmm0
cvttsd2si eax, xmm4
test eax, eax
jns 0x10081a3b
xor eax, eax
jmp 0x10081a43
cmp eax, 0xff
cmovg eax, edi
mov esi, dword [esp + 0x20]
add ecx, 0xc
mov byte [ebp - 1], al
add ebp, 3
sub edx, 1
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], edx
jne 0x10081950
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x60], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x100818f3
jmp case.0x10080336.2
xor ebx, ebx
mov dword [esp + 0x6c], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov eax, dword [esp + 0x64]
mov edi, 0xff
lea ebp, [eax + eax*2]
mov dword [esp + 0x20], ebp
nop dword [eax]
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x68], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x10081bc4
mov ebp, dword [esp + 0x24]
lea ebx, [eax + 1]
movsd xmm0, qword [0x103efa18]
mov edx, ecx
add ebp, 8
mov dword [esp + 0x64], edx
mov eax, dword [ebp - 4]
xorps xmm2, xmm2
mov ecx, dword [esp + 0x60]
xorps xmm3, xmm3
mov esi, dword [ebp]
xorps xmm4, xmm4
lea ecx, [ecx + eax*2]
add ecx, eax
sub esi, eax
je 0x10081b59
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + 2]
movsd xmm1, qword [edx]
add edx, 8
movd xmm0, eax
movzx eax, byte [ecx + 1]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, byte [ecx]
add ecx, 3
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
sub esi, 1
jne 0x10081b03
movsd xmm0, qword [0x103efa18]
mov edx, dword [esp + 0x64]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x10081b69
xor eax, eax
jmp 0x10081b71
cmp eax, 0xff
cmovg eax, edi
addsd xmm3, xmm0
mov byte [ebx + 1], al
cvttsd2si eax, xmm3
test eax, eax
jns 0x10081b84
xor eax, eax
jmp 0x10081b8c
cmp eax, 0xff
cmovg eax, edi
addsd xmm4, xmm0
mov byte [ebx], al
cvttsd2si eax, xmm4
test eax, eax
jns 0x10081b9e
xor eax, eax
jmp 0x10081ba6
cmp eax, 0xff
cmovg eax, edi
mov byte [ebx - 1], al
add ebp, 0xc
add ebx, 3
sub edx, 1
mov dword [esp + 0x64], edx
jne 0x10081ae4
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x20]
inc ebx
mov dword [esp + 0x6c], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10081aa0
jmp case.0x10080336.2
xor ebx, ebx
mov dword [esp + 0x6c], ebx
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov eax, dword [esp + 0x64]
mov edi, 0xff
lea ebp, [eax*4]
mov dword [esp + 0x20], ebp
nop dword [eax]
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x68], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x10081d54
mov ebp, dword [esp + 0x24]
lea ebx, [eax + 1]
movsd xmm0, qword [0x103efa18]
mov edx, ecx
add ebp, 8
mov dword [esp + 0x64], edx
mov eax, dword [ebp - 4]
xorps xmm2, xmm2
mov ecx, dword [esp + 0x60]
xorps xmm3, xmm3
mov esi, dword [ebp]
xorps xmm4, xmm4
xorps xmm5, xmm5
lea ecx, [ecx + eax*4]
sub esi, eax
je 0x10081cce
mov edx, dword [ebp - 8]
movzx eax, byte [ecx + 2]
movsd xmm1, qword [edx]
add edx, 8
movd xmm0, eax
movzx eax, byte [ecx + 1]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, byte [ecx]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
movzx eax, byte [ecx + 3]
add ecx, 4
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm5, xmm0
sub esi, 1
jne 0x10081c64
movsd xmm0, qword [0x103efa18]
mov edx, dword [esp + 0x64]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x10081cde
xor eax, eax
jmp 0x10081ce6
cmp eax, 0xff
cmovg eax, edi
addsd xmm3, xmm0
mov byte [ebx + 1], al
cvttsd2si eax, xmm3
test eax, eax
jns 0x10081cf9
xor eax, eax
jmp 0x10081d01
cmp eax, 0xff
cmovg eax, edi
addsd xmm4, xmm0
mov byte [ebx], al
cvttsd2si eax, xmm4
test eax, eax
jns 0x10081d13
xor eax, eax
jmp 0x10081d1b
cmp eax, 0xff
cmovg eax, edi
addsd xmm5, xmm0
mov byte [ebx - 1], al
cvttsd2si eax, xmm5
test eax, eax
jns 0x10081d2e
xor eax, eax
jmp 0x10081d36
cmp eax, 0xff
cmovg eax, edi
mov byte [ebx + 2], al
add ebp, 0xc
add ebx, 4
sub edx, 1
mov dword [esp + 0x64], edx
jne 0x10081c44
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x20]
inc ebx
mov dword [esp + 0x6c], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10081c00
jmp case.0x10080336.2
mov ecx, dword [ebp]
mov edx, ecx
and edx, 0xf
je 0x10081d82
mov eax, 0x10
sub eax, edx
mov edx, dword [eax + ecx + 0x13c]
jmp 0x10081d8a
mov edx, dword [ecx + 0x13c]
xor eax, eax
movzx eax, word [ecx + eax + 0x146]
xor ebx, ebx
imul eax, edx
xor edx, edx
mov dword [esp + 0x18], ebx
add eax, 7
shr eax, 3
div esi
shr eax, 1
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov esi, dword [esp + 0x64]
mov edi, 0xffff
and esi, 0xfffffffe
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push ebp
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
lea ebp, [esi + eax]
mov dword [esp + 0x28], ebp
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov edx, dword [esp + 0x74]
mov dword [esp + 0x64], eax
test edx, edx
je 0x10081f06
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x60], edx
nop
mov eax, dword [ebx + 4]
xorps xmm2, xmm2
mov esi, dword [ebx + 8]
sub esi, eax
imul eax, ecx
lea ecx, [eax*2]
add ecx, ebp
xor ebp, ebp
cmp esi, 4
jb 0x10081e8f
mov edx, dword [ebx]
lea edi, [esi - 4]
shr edi, 2
add edx, 0x10
inc edi
lea ebp, [edi*4]
movzx eax, word [ecx + 2]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm1, eax
movzx eax, word [ecx]
cvtsi2sd xmm0, eax
movzx eax, word [ecx + 4]
mulsd xmm1, qword [edx - 8]
mulsd xmm0, qword [edx - 0x10]
addsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movzx eax, word [ecx + 6]
add ecx, 8
addsd xmm2, xmm1
mulsd xmm0, qword [edx]
addsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm0, qword [edx + 8]
add edx, 0x20
addsd xmm2, xmm0
sub edi, 1
jne 0x10081e31
mov edi, 0xffff
cmp ebp, esi
jae 0x10081ebe
mov eax, dword [ebx]
sub esi, ebp
lea edx, [eax + ebp*8]
nop word [eax + eax]
movzx eax, word [ecx]
add ecx, 2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [edx]
add edx, 8
addsd xmm2, xmm0
sub esi, 1
jne 0x10081ea0
addsd xmm2, qword [0x103efa18]
cvttsd2si eax, xmm2
test eax, eax
jns 0x10081ed2
xor eax, eax
jmp 0x10081eda
cmp eax, 0xffff
cmovg eax, edi
mov edx, dword [esp + 0x64]
add ebx, 0xc
sub dword [esp + 0x60], 1
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x20]
mov word [edx], ax
lea edx, [edx + ecx*2]
mov dword [esp + 0x64], edx
jne 0x10081e00
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x58]
inc ebx
mov dword [esp + 0x18], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10081dc5
jmp case.0x10080336.2
mov ecx, dword [ebp]
mov edx, ecx
and edx, 0xf
je 0x10081f38
mov eax, 0x10
sub eax, edx
mov edx, dword [eax + ecx + 0x13c]
jmp 0x10081f40
mov edx, dword [ecx + 0x13c]
xor eax, eax
movzx eax, word [ecx + eax + 0x146]
xor ebx, ebx
imul eax, edx
xor edx, edx
mov dword [esp + 0x60], ebx
add eax, 7
shr eax, 3
div esi
shr eax, 1
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov ebp, dword [esp + 0x64]
and ebp, 0xfffffffe
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x28], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
test edi, edi
je 0x100820b0
mov ecx, dword [esp + 0x6c]
lea edi, [eax + 4]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x74]
add ebx, 8
movsd xmm0, qword [0x103efa18]
lea ebp, [ecx + ecx]
mov dword [esp + 0x64], edx
nop
mov eax, dword [ebx - 4]
xorps xmm2, xmm2
mov esi, dword [ebx]
xorps xmm3, xmm3
sub esi, eax
xorps xmm4, xmm4
imul eax, ecx
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + eax*2]
test esi, esi
je 0x10082036
mov edx, dword [ebx - 8]
movzx eax, word [ecx]
movsd xmm1, qword [edx]
add edx, 8
movd xmm0, eax
movzx eax, word [ecx + 2]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, word [ecx + 4]
add ecx, ebp
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
sub esi, 1
jne 0x10081fe1
movsd xmm0, qword [0x103efa18]
mov edx, dword [esp + 0x64]
addsd xmm2, xmm0
mov esi, 0xffff
cvttsd2si eax, xmm2
test eax, eax
jns 0x1008204b
xor eax, eax
jmp 0x10082053
cmp eax, 0xffff
cmovg eax, esi
addsd xmm3, xmm0
mov word [edi - 4], ax
cvttsd2si eax, xmm3
test eax, eax
jns 0x10082067
xor eax, eax
jmp 0x1008206f
cmp eax, 0xffff
cmovg eax, esi
addsd xmm4, xmm0
mov word [edi - 2], ax
cvttsd2si eax, xmm4
test eax, eax
jns 0x10082083
xor eax, eax
jmp 0x1008208b
cmp eax, 0xffff
cmovg eax, esi
mov ecx, dword [esp + 0x6c]
add ebx, 0xc
mov word [edi], ax
add edi, ebp
sub edx, 1
mov dword [esp + 0x64], edx
jne 0x10081fc0
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x74]
inc ebx
mov dword [esp + 0x60], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10081f76
jmp case.0x10080336.2
mov ecx, dword [ebp]
mov edx, ecx
and edx, 0xf
je 0x100820de
mov eax, 0x10
sub eax, edx
mov edx, dword [eax + ecx + 0x13c]
jmp 0x100820e6
mov edx, dword [ecx + 0x13c]
xor eax, eax
movzx eax, word [ecx + eax + 0x146]
xor ebx, ebx
imul eax, edx
xor edx, edx
mov dword [esp + 0x14], ebx
add eax, 7
shr eax, 3
div esi
shr eax, 1
mov dword [esp + 0x18], eax
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov esi, dword [esp + 0x64]
mov ebp, 0xffff
and esi, 0xfffffffe
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, esi
mov dword [esp + 0x28], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
test edi, edi
je 0x100822a0
mov ecx, dword [esp + 0x18]
lea edi, [eax + 4]
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x74]
add ebx, 8
movsd xmm0, qword [0x103efa18]
lea edx, [ecx + ecx]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov eax, dword [ebx - 4]
xorps xmm2, xmm2
mov esi, dword [ebx]
xorps xmm3, xmm3
sub esi, eax
xorps xmm4, xmm4
imul eax, ecx
xorps xmm5, xmm5
mov ecx, dword [esp + 0x20]
lea ecx, [ecx + eax*2]
test esi, esi
je 0x1008220d
mov edx, dword [ebx - 8]
mov ebx, dword [esp + 0x64]
nop word [eax + eax]
movzx eax, word [ecx]
movsd xmm1, qword [edx]
add edx, 8
movd xmm0, eax
movzx eax, word [ecx + 2]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm2, xmm0
movd xmm0, eax
movzx eax, word [ecx + 4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm3, xmm0
movd xmm0, eax
movzx eax, word [ecx + 6]
add ecx, ebx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm4, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm5, xmm0
sub esi, 1
jne 0x100821a0
movsd xmm0, qword [0x103efa18]
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
addsd xmm2, xmm0
cvttsd2si eax, xmm2
test eax, eax
jns 0x1008221d
xor eax, eax
jmp 0x10082225
cmp eax, 0xffff
cmovg eax, ebp
addsd xmm3, xmm0
mov word [edi - 4], ax
cvttsd2si eax, xmm3
test eax, eax
jns 0x10082239
xor eax, eax
jmp 0x10082241
cmp eax, 0xffff
cmovg eax, ebp
addsd xmm4, xmm0
mov word [edi - 2], ax
cvttsd2si eax, xmm4
test eax, eax
jns 0x10082255
xor eax, eax
jmp 0x1008225d
cmp eax, 0xffff
cmovg eax, ebp
addsd xmm5, xmm0
mov word [edi], ax
cvttsd2si eax, xmm5
test eax, eax
jns 0x10082270
xor eax, eax
jmp 0x10082278
cmp eax, 0xffff
cmovg eax, ebp
mov ecx, dword [esp + 0x18]
add ebx, 0xc
mov word [edi + 2], ax
add edi, edx
sub dword [esp + 0x60], 1
mov dword [esp + 0x6c], ebx
jne 0x10082172
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x74]
inc ebx
mov dword [esp + 0x14], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10082121
jmp case.0x10080336.2
mov ecx, dword [ebp]
mov edx, ecx
and edx, 0xf
je 0x100822ce
mov eax, 0x10
sub eax, edx
mov edx, dword [eax + ecx + 0x13c]
jmp 0x100822d6
mov edx, dword [ecx + 0x13c]
xor eax, eax
movzx eax, word [ecx + eax + 0x146]
xor ebx, ebx
imul eax, edx
xor edx, edx
mov dword [esp + 0x1c], ebx
add eax, 7
shr eax, 3
div esi
mov esi, eax
shr esi, 2
cmp dword [esp + 0x5c], ebx
jbe case.0x10080336.2
mov ebp, dword [esp + 0x64]
and ebp, 0xfffffffc
mov dword [esp + 0x20], ebp
nop dword [eax + eax]
mov eax, dword [esp + 0x68]
add eax, ebx
push eax
push dword [esp + 0x5c]
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
push ebx
push dword [esp + 0x74]
add eax, ebp
mov dword [esp + 0x68], eax
call sym.FreeImage32.dll__FreeImage_GetScanLine_8
mov ebx, eax
mov dword [esp + 0x14], ebx
test edi, edi
je 0x1008259e
mov ecx, dword [esp + 0x24]
lea ebp, [esi*4]
add ecx, 8
mov dword [esp + 0x64], edi
mov dword [esp + 0x10], ecx
mov edx, edi
mov eax, dword [ecx - 4]
xorps xmm0, xmm0
mov edi, dword [ecx]
movups xmmword [esp + 0x30], xmm0
movups xmmword [esp + 0x40], xmm0
cmp eax, edi
jae 0x1008247d
mov edx, dword [esp + 0x60]
mov ebx, eax
mov ebp, dword [ecx - 8]
add edx, 8
imul ebx, esi
sub edi, eax
mov dword [esp + 0x18], edi
lea edx, [edx + ebx*4]
mov dword [esp + 0x6c], edx
nop dword [eax]
movsd xmm1, qword [ebp]
xor ecx, ecx
mov eax, ebx
cmp esi, 4
jb 0x10082421
lea edi, [esi - 3]
lea eax, [edi - 1]
and eax, 0xfffffffc
add eax, 4
add eax, ebx
movss xmm0, dword [edx - 8]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, qword [esp + ecx*8 + 0x30]
movsd qword [esp + ecx*8 + 0x30], xmm0
movss xmm0, dword [edx - 4]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, qword [esp + ecx*8 + 0x38]
movsd qword [esp + ecx*8 + 0x38], xmm0
movss xmm0, dword [edx]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, qword [esp + ecx*8 + 0x40]
movsd qword [esp + ecx*8 + 0x40], xmm0
movss xmm0, dword [edx + 4]
add edx, 0x10
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, qword [esp + ecx*8 + 0x48]
movsd qword [esp + ecx*8 + 0x48], xmm0
add ecx, 4
cmp ecx, edi
jb 0x100823b0
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x18]
cmp ecx, esi
jae 0x1008244f
mov edx, dword [esp + 0x60]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x6c]
movss xmm0, dword [eax]
add eax, 4
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
addsd xmm0, qword [esp + ecx*8 + 0x30]
movsd qword [esp + ecx*8 + 0x30], xmm0
inc ecx
cmp ecx, esi
jb 0x10082430
lea eax, [esi*4]
add ebp, 8
add edx, eax
add ebx, esi
sub edi, 1
mov dword [esp + 0x6c], edx
mov dword [esp + 0x18], edi
jne 0x10082390
mov ebx, dword [esp + 0x14]
lea ebp, [esi*4]
mov edx, dword [esp + 0x64]
xor ecx, ecx
test esi, esi
je 0x10082578
cmp esi, 8
jb 0x100824fc
lea eax, [ebp - 0x14]
lea edx, [ebx + 0x10]
lea ebp, [esp + 0x30]
add eax, edx
cmp ebp, eax
lea edi, [esp + esi*8 + 0x28]
lea ebp, [esi*4]
ja 0x100824ab
cmp edi, ebx
jae 0x100824fc
mov eax, esi
and eax, 0xfffffff8
movups xmm0, xmmword [esp + ecx*8 + 0x30]
lea edx, [edx + 0x20]
cvtpd2ps xmm0, xmm0
movsd qword [edx - 0x30], xmm0
movups xmm0, xmmword [esp + ecx*8 + 0x40]
cvtpd2ps xmm0, xmm0
movsd qword [edx - 0x28], xmm0
movups xmm0, xmmword [esp + ecx*8 + 0x50]
cvtpd2ps xmm0, xmm0
movsd qword [edx - 0x20], xmm0
movups xmm0, xmmword [esp + ecx*8 + 0x60]
add ecx, 8
mov edi, ecx
cvtpd2ps xmm0, xmm0
movsd qword [edx - 0x18], xmm0
cmp ecx, eax
jb 0x100824b0
cmp edi, esi
jae 0x10082574
mov eax, esi
sub eax, ecx
cmp eax, 4
jb 0x10082560
lea eax, [ecx + 2]
lea edi, [esi - 3]
lea eax, [ebx + eax*4]
nop
movsd xmm0, qword [esp + ecx*8 + 0x30]
lea eax, [eax + 0x10]
cvtpd2ps xmm0, xmm0
movss dword [eax - 0x18], xmm0
movsd xmm0, qword [esp + ecx*8 + 0x38]
cvtpd2ps xmm0, xmm0
movss dword [eax - 0x14], xmm0
movsd xmm0, qword [esp + ecx*8 + 0x40]
cvtpd2ps xmm0, xmm0
movss dword [eax - 0x10], xmm0
movsd xmm0, qword [esp + ecx*8 + 0x48]
add ecx, 4
mov edx, ecx
cvtpd2ps xmm0, xmm0
movss dword [eax - 0xc], xmm0
cmp ecx, edi
jb 0x10082510
cmp edx, esi
jae 0x10082574
nop dword [eax]
movsd xmm0, qword [esp + ecx*8 + 0x30]
cvtpd2ps xmm0, xmm0
movss dword [ebx + ecx*4], xmm0
inc ecx
cmp ecx, esi
jb 0x10082560
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x10]
add ebx, ebp
add ecx, 0xc
mov dword [esp + 0x14], ebx
sub edx, 1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x64], edx
jne 0x10082356
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x1c], ebx
cmp ebx, dword [esp + 0x5c]
jb 0x10082310
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x100825d2
mov esi, dword [esp + 0x24]
nop dword [eax]
push dword [esi]
call fcn.10270662
add esp, 4
lea esi, [esi + 0xc]
sub edi, 1
jne 0x100825c0
push dword [esp + 0x24]
call fcn.10270662
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x20