41a213:	0f 84 b7 01 00 00    	je     0x41a3d0
41a219:	83 ec 40             	sub    $0x40,%esp
41a21c:	8b 47 18             	mov    0x18(%edi),%eax
41a21f:	8b 5f 1c             	mov    0x1c(%edi),%ebx
41a222:	8d 2c 0e             	lea    (%esi,%ecx,1),%ebp
41a225:	8b 4f 20             	mov    0x20(%edi),%ecx
41a228:	8b 57 24             	mov    0x24(%edi),%edx
41a22b:	89 6c 24 5c          	mov    %ebp,0x5c(%esp)
41a22f:	89 f5                	mov    %esi,%ebp
41a231:	89 44 24 24          	mov    %eax,0x24(%esp)
41a235:	89 d8                	mov    %ebx,%eax
41a237:	c1 e8 02             	shr    $0x2,%eax
41a23a:	89 5c 24 28          	mov    %ebx,0x28(%esp)
41a23e:	01 d8                	add    %ebx,%eax
41a240:	89 cb                	mov    %ecx,%ebx
41a242:	c1 eb 02             	shr    $0x2,%ebx
41a245:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
41a249:	01 cb                	add    %ecx,%ebx
41a24b:	89 d1                	mov    %edx,%ecx
41a24d:	c1 e9 02             	shr    $0x2,%ecx
41a250:	89 54 24 30          	mov    %edx,0x30(%esp)
41a254:	01 d1                	add    %edx,%ecx
41a256:	89 44 24 34          	mov    %eax,0x34(%esp)
41a25a:	89 5c 24 38          	mov    %ebx,0x38(%esp)
41a25e:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
41a262:	8b 07                	mov    (%edi),%eax
41a264:	8b 5f 04             	mov    0x4(%edi),%ebx
41a267:	8b 4f 08             	mov    0x8(%edi),%ecx
41a26a:	8b 77 0c             	mov    0xc(%edi),%esi
41a26d:	8b 7f 10             	mov    0x10(%edi),%edi
41a270:	e9 0b 00 00 00       	jmp    0x41a280
41a275:	90                   	nop
41a276:	90                   	nop
41a277:	90                   	nop
41a278:	90                   	nop
41a279:	90                   	nop
41a27a:	90                   	nop
41a27b:	90                   	nop
41a27c:	90                   	nop
41a27d:	90                   	nop
41a27e:	90                   	nop
41a27f:	90                   	nop
41a280:	03 45 00             	add    0x0(%ebp),%eax
41a283:	13 5d 04             	adc    0x4(%ebp),%ebx
41a286:	13 4d 08             	adc    0x8(%ebp),%ecx
41a289:	13 75 0c             	adc    0xc(%ebp),%esi
41a28c:	8d 6d 10             	lea    0x10(%ebp),%ebp
41a28f:	13 7c 24 60          	adc    0x60(%esp),%edi
41a293:	89 04 24             	mov    %eax,(%esp)
41a296:	89 74 24 0c          	mov    %esi,0xc(%esp)
41a29a:	f7 64 24 24          	mull   0x24(%esp)
41a29e:	89 7c 24 10          	mov    %edi,0x10(%esp)
41a2a2:	89 c7                	mov    %eax,%edi
41a2a4:	89 d8                	mov    %ebx,%eax
41a2a6:	89 d6                	mov    %edx,%esi
41a2a8:	f7 64 24 3c          	mull   0x3c(%esp)
41a2ac:	01 c7                	add    %eax,%edi
41a2ae:	89 c8                	mov    %ecx,%eax
41a2b0:	11 d6                	adc    %edx,%esi
41a2b2:	f7 64 24 38          	mull   0x38(%esp)
41a2b6:	01 c7                	add    %eax,%edi
41a2b8:	8b 44 24 0c          	mov    0xc(%esp),%eax
41a2bc:	11 d6                	adc    %edx,%esi
41a2be:	f7 64 24 34          	mull   0x34(%esp)
41a2c2:	01 c7                	add    %eax,%edi
41a2c4:	8b 04 24             	mov    (%esp),%eax
41a2c7:	11 d6                	adc    %edx,%esi
41a2c9:	f7 64 24 28          	mull   0x28(%esp)
41a2cd:	89 7c 24 14          	mov    %edi,0x14(%esp)
41a2d1:	31 ff                	xor    %edi,%edi
41a2d3:	01 c6                	add    %eax,%esi
41a2d5:	89 d8                	mov    %ebx,%eax
41a2d7:	11 d7                	adc    %edx,%edi
41a2d9:	f7 64 24 24          	mull   0x24(%esp)
41a2dd:	01 c6                	add    %eax,%esi
41a2df:	89 c8                	mov    %ecx,%eax
41a2e1:	11 d7                	adc    %edx,%edi
41a2e3:	f7 64 24 3c          	mull   0x3c(%esp)
41a2e7:	01 c6                	add    %eax,%esi
41a2e9:	8b 44 24 0c          	mov    0xc(%esp),%eax
41a2ed:	11 d7                	adc    %edx,%edi
41a2ef:	f7 64 24 38          	mull   0x38(%esp)
41a2f3:	01 c6                	add    %eax,%esi
41a2f5:	8b 44 24 10          	mov    0x10(%esp),%eax
41a2f9:	11 d7                	adc    %edx,%edi
41a2fb:	0f af 44 24 34       	imul   0x34(%esp),%eax
41a300:	01 c6                	add    %eax,%esi
41a302:	8b 04 24             	mov    (%esp),%eax
41a305:	83 d7 00             	adc    $0x0,%edi
41a308:	f7 64 24 2c          	mull   0x2c(%esp)
41a30c:	89 74 24 18          	mov    %esi,0x18(%esp)
41a310:	31 f6                	xor    %esi,%esi
41a312:	01 c7                	add    %eax,%edi
41a314:	89 d8                	mov    %ebx,%eax
41a316:	11 d6                	adc    %edx,%esi
41a318:	f7 64 24 28          	mull   0x28(%esp)
41a31c:	01 c7                	add    %eax,%edi
41a31e:	89 c8                	mov    %ecx,%eax
41a320:	11 d6                	adc    %edx,%esi
41a322:	f7 64 24 24          	mull   0x24(%esp)
41a326:	01 c7                	add    %eax,%edi
41a328:	8b 44 24 0c          	mov    0xc(%esp),%eax
41a32c:	11 d6                	adc    %edx,%esi
41a32e:	f7 64 24 3c          	mull   0x3c(%esp)
41a332:	01 c7                	add    %eax,%edi
41a334:	8b 44 24 10          	mov    0x10(%esp),%eax
41a338:	11 d6                	adc    %edx,%esi
41a33a:	0f af 44 24 38       	imul   0x38(%esp),%eax
41a33f:	01 c7                	add    %eax,%edi
41a341:	8b 04 24             	mov    (%esp),%eax
41a344:	83 d6 00             	adc    $0x0,%esi
41a347:	f7 64 24 30          	mull   0x30(%esp)
41a34b:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
41a34f:	31 ff                	xor    %edi,%edi
41a351:	01 c6                	add    %eax,%esi
41a353:	89 d8                	mov    %ebx,%eax
41a355:	11 d7                	adc    %edx,%edi
41a357:	f7 64 24 2c          	mull   0x2c(%esp)
41a35b:	01 c6                	add    %eax,%esi
41a35d:	89 c8                	mov    %ecx,%eax
41a35f:	11 d7                	adc    %edx,%edi
41a361:	f7 64 24 28          	mull   0x28(%esp)
41a365:	01 c6                	add    %eax,%esi
41a367:	8b 44 24 0c          	mov    0xc(%esp),%eax
41a36b:	11 d7                	adc    %edx,%edi
41a36d:	f7 64 24 24          	mull   0x24(%esp)
41a371:	01 c6                	add    %eax,%esi
41a373:	8b 4c 24 10          	mov    0x10(%esp),%ecx
41a377:	11 d7                	adc    %edx,%edi
41a379:	89 ca                	mov    %ecx,%edx
41a37b:	0f af 4c 24 3c       	imul   0x3c(%esp),%ecx
41a380:	01 ce                	add    %ecx,%esi
41a382:	8b 44 24 14          	mov    0x14(%esp),%eax
41a386:	83 d7 00             	adc    $0x0,%edi
41a389:	0f af 54 24 24       	imul   0x24(%esp),%edx
41a38e:	01 fa                	add    %edi,%edx
41a390:	8b 5c 24 18          	mov    0x18(%esp),%ebx
41a394:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
41a398:	89 d7                	mov    %edx,%edi
41a39a:	c1 ea 02             	shr    $0x2,%edx
41a39d:	83 e7 03             	and    $0x3,%edi
41a3a0:	8d 14 92             	lea    (%edx,%edx,4),%edx
41a3a3:	01 d0                	add    %edx,%eax
41a3a5:	83 d3 00             	adc    $0x0,%ebx
41a3a8:	83 d1 00             	adc    $0x0,%ecx
41a3ab:	83 d6 00             	adc    $0x0,%esi
41a3ae:	83 d7 00             	adc    $0x0,%edi
41a3b1:	3b 6c 24 5c          	cmp    0x5c(%esp),%ebp
41a3b5:	0f 85 c5 fe ff ff    	jne    0x41a280
41a3bb:	8b 54 24 54          	mov    0x54(%esp),%edx
41a3bf:	83 c4 40             	add    $0x40,%esp
41a3c2:	89 02                	mov    %eax,(%edx)
41a3c4:	89 5a 04             	mov    %ebx,0x4(%edx)
41a3c7:	89 4a 08             	mov    %ecx,0x8(%edx)
41a3ca:	89 72 0c             	mov    %esi,0xc(%edx)
41a3cd:	89 7a 10             	mov    %edi,0x10(%edx)
41a3d0:	5f                   	pop    %edi
41a3d1:	5e                   	pop    %esi
41a3d2:	5b                   	pop    %ebx
41a3d3:	5d                   	pop    %ebp
41a3d4:	c3                   	ret
41a3d5:	90                   	nop
41a3d6:	90                   	nop
41a3d7:	90                   	nop
41a3d8:	90                   	nop
41a3d9:	90                   	nop
41a3da:	90                   	nop
41a3db:	90                   	nop
41a3dc:	90                   	nop
41a3dd:	90                   	nop
41a3de:	90                   	nop
41a3df:	90                   	nop
41a3e0:	55                   	push   %ebp
41a3e1:	53                   	push   %ebx
41a3e2:	56                   	push   %esi
41a3e3:	57                   	push   %edi
41a3e4:	8b 6c 24 14          	mov    0x14(%esp),%ebp
41a3e8:	8b 7c 24 18          	mov    0x18(%esp),%edi
41a3ec:	8b 45 00             	mov    0x0(%ebp),%eax
41a3ef:	8b 5d 04             	mov    0x4(%ebp),%ebx
41a3f2:	8b 4d 08             	mov    0x8(%ebp),%ecx
41a3f5:	8b 55 0c             	mov    0xc(%ebp),%edx
41a3f8:	8b 75 10             	mov    0x10(%ebp),%esi
41a3fb:	83 c0 05             	add    $0x5,%eax
41a3fe:	83 d3 00             	adc    $0x0,%ebx
41a401:	83 d1 00             	adc    $0x0,%ecx
41a404:	83 d2 00             	adc    $0x0,%edx
41a407:	83 d6 00             	adc    $0x0,%esi
41a40a:	c1 ee 02             	shr    $0x2,%esi
41a40d:	f7 de                	neg    %esi
41a40f:	21 f0                	and    %esi,%eax
41a411:	21 f3                	and    %esi,%ebx
41a413:	21 f1                	and    %esi,%ecx
41a415:	21 f2                	and    %esi,%edx
41a417:	89 07                	mov    %eax,(%edi)
41a419:	89 5f 04             	mov    %ebx,0x4(%edi)
41a41c:	89 4f 08             	mov    %ecx,0x8(%edi)
41a41f:	89 57 0c             	mov    %edx,0xc(%edi)
41a422:	f7 d6                	not    %esi
41a424:	8b 45 00             	mov    0x0(%ebp),%eax
41a427:	8b 5d 04             	mov    0x4(%ebp),%ebx
41a42a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41a42d:	8b 55 0c             	mov    0xc(%ebp),%edx
41a430:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
41a434:	21 f0                	and    %esi,%eax
41a436:	21 f3                	and    %esi,%ebx
41a438:	21 f1                	and    %esi,%ecx
41a43a:	21 f2                	and    %esi,%edx
41a43c:	0b 07                	or     (%edi),%eax
41a43e:	0b 5f 04             	or     0x4(%edi),%ebx
41a441:	0b 4f 08             	or     0x8(%edi),%ecx
41a444:	0b 57 0c             	or     0xc(%edi),%edx
41a447:	03 45 00             	add    0x0(%ebp),%eax
41a44a:	13 5d 04             	adc    0x4(%ebp),%ebx
41a44d:	13 4d 08             	adc    0x8(%ebp),%ecx
41a450:	13 55 0c             	adc    0xc(%ebp),%edx
41a453:	89 07                	mov    %eax,(%edi)
41a455:	89 5f 04             	mov    %ebx,0x4(%edi)
41a458:	89 4f 08             	mov    %ecx,0x8(%edi)
41a45b:	89 57 0c             	mov    %edx,0xc(%edi)
41a45e:	5f                   	pop    %edi
41a45f:	5e                   	pop    %esi
41a460:	5b                   	pop    %ebx
41a461:	5d                   	pop    %ebp
41a462:	c3                   	ret
41a463:	90                   	nop
41a464:	90                   	nop
41a465:	90                   	nop
41a466:	90                   	nop
41a467:	90                   	nop
41a468:	90                   	nop
41a469:	90                   	nop
41a46a:	90                   	nop
41a46b:	90                   	nop
41a46c:	90                   	nop
41a46d:	90                   	nop
41a46e:	90                   	nop
41a46f:	90                   	nop
41a470:	90                   	nop
41a471:	90                   	nop
41a472:	90                   	nop
41a473:	90                   	nop
41a474:	90                   	nop
41a475:	90                   	nop
41a476:	90                   	nop
41a477:	90                   	nop
41a478:	90                   	nop
41a479:	90                   	nop
41a47a:	90                   	nop
41a47b:	90                   	nop
41a47c:	90                   	nop
41a47d:	90                   	nop
41a47e:	90                   	nop
41a47f:	90                   	nop
41a480:	f3 0f 6f 67 18       	movdqu 0x18(%edi),%xmm4
41a485:	8d 7f 30             	lea    0x30(%edi),%edi
41a488:	89 e5                	mov    %esp,%ebp
41a48a:	81 ec e0 00 00 00    	sub    $0xe0,%esp
41a490:	83 e4 f0             	and    $0xfffffff0,%esp
41a493:	f3 0f 7e 7b 40       	movq   0x40(%ebx),%xmm7
41a498:	66 0f 6f c4          	movdqa %xmm4,%xmm0
41a49c:	66 0f 6f cc          	movdqa %xmm4,%xmm1
41a4a0:	66 0f 6f d4          	movdqa %xmm4,%xmm2
41a4a4:	66 0f db c7          	pand   %xmm7,%xmm0
41a4a8:	66 0f 73 d1 1a       	psrlq  $0x1a,%xmm1
41a4ad:	66 0f 73 da 06       	psrldq $0x6,%xmm2
41a4b2:	66 0f db cf          	pand   %xmm7,%xmm1
41a4b6:	66 0f 6f da          	movdqa %xmm2,%xmm3
41a4ba:	66 0f 73 d2 04       	psrlq  $0x4,%xmm2
41a4bf:	66 0f 73 d3 1e       	psrlq  $0x1e,%xmm3
41a4c4:	66 0f db d7          	pand   %xmm7,%xmm2
41a4c8:	66 0f db df          	pand   %xmm7,%xmm3
41a4cc:	66 0f 73 dc 0d       	psrldq $0xd,%xmm4
41a4d1:	8d 94 24 90 00 00 00 	lea    0x90(%esp),%edx
41a4d8:	b9 02 00 00 00       	mov    $0x2,%ecx
41a4dd:	66 0f 7f 04 24       	movdqa %xmm0,(%esp)
41a4e2:	66 0f 7f 4c 24 10    	movdqa %xmm1,0x10(%esp)
41a4e8:	66 0f 7f 54 24 20    	movdqa %xmm2,0x20(%esp)
41a4ee:	66 0f 7f 5c 24 30    	movdqa %xmm3,0x30(%esp)
41a4f4:	66 0f 7f 64 24 40    	movdqa %xmm4,0x40(%esp)
41a4fa:	66 0f 6f f1          	movdqa %xmm1,%xmm6
41a4fe:	66 0f 6f ea          	movdqa %xmm2,%xmm5
41a502:	66 0f 72 f6 02       	pslld  $0x2,%xmm6
41a507:	66 0f 72 f5 02       	pslld  $0x2,%xmm5
41a50c:	66 0f fe f1          	paddd  %xmm1,%xmm6
41a510:	66 0f fe ea          	paddd  %xmm2,%xmm5
41a514:	66 0f 7f 74 24 50    	movdqa %xmm6,0x50(%esp)
41a51a:	66 0f 7f 6c 24 60    	movdqa %xmm5,0x60(%esp)
41a520:	66 0f 6f f3          	movdqa %xmm3,%xmm6
41a524:	66 0f 6f ec          	movdqa %xmm4,%xmm5
41a528:	66 0f 72 f6 02       	pslld  $0x2,%xmm6
41a52d:	66 0f 72 f5 02       	pslld  $0x2,%xmm5
41a532:	66 0f fe f3          	paddd  %xmm3,%xmm6
41a536:	66 0f fe ec          	paddd  %xmm4,%xmm5
41a53a:	66 0f 7f 74 24 70    	movdqa %xmm6,0x70(%esp)
41a540:	66 0f 7f ac 24 80 00 	movdqa %xmm5,0x80(%esp)
41a547:	00 00
41a549:	66 0f 70 f0 44       	pshufd $0x44,%xmm0,%xmm6
41a54e:	66 0f 6f e9          	movdqa %xmm1,%xmm5
41a552:	66 0f 70 c9 44       	pshufd $0x44,%xmm1,%xmm1
41a557:	66 0f 70 d2 44       	pshufd $0x44,%xmm2,%xmm2
41a55c:	66 0f 70 db 44       	pshufd $0x44,%xmm3,%xmm3
41a561:	66 0f 70 e4 44       	pshufd $0x44,%xmm4,%xmm4
41a566:	66 0f 7f 32          	movdqa %xmm6,(%edx)
41a56a:	66 0f 7f 4a 10       	movdqa %xmm1,0x10(%edx)
41a56f:	66 0f 7f 52 20       	movdqa %xmm2,0x20(%edx)
41a574:	66 0f 7f 5a 30       	movdqa %xmm3,0x30(%edx)
41a579:	66 0f 7f 62 40       	movdqa %xmm4,0x40(%edx)
41a57e:	66 0f f4 e0          	pmuludq %xmm0,%xmm4
41a582:	66 0f f4 d8          	pmuludq %xmm0,%xmm3
41a586:	66 0f f4 d0          	pmuludq %xmm0,%xmm2
41a58a:	66 0f f4 c8          	pmuludq %xmm0,%xmm1
41a58e:	66 0f f4 c6          	pmuludq %xmm6,%xmm0
41a592:	66 0f 6f f5          	movdqa %xmm5,%xmm6
41a596:	66 0f f4 6a 30       	pmuludq 0x30(%edx),%xmm5
41a59b:	66 0f 6f fe          	movdqa %xmm6,%xmm7
41a59f:	66 0f f4 72 20       	pmuludq 0x20(%edx),%xmm6
41a5a4:	66 0f d4 e5          	paddq  %xmm5,%xmm4
41a5a8:	66 0f 6f ef          	movdqa %xmm7,%xmm5
41a5ac:	66 0f f4 7a 10       	pmuludq 0x10(%edx),%xmm7
41a5b1:	66 0f d4 de          	paddq  %xmm6,%xmm3
41a5b5:	66 0f 6f 74 24 50    	movdqa 0x50(%esp),%xmm6
41a5bb:	66 0f f4 2a          	pmuludq (%edx),%xmm5
41a5bf:	66 0f d4 d7          	paddq  %xmm7,%xmm2
41a5c3:	66 0f f4 72 40       	pmuludq 0x40(%edx),%xmm6
41a5c8:	66 0f 6f 7c 24 20    	movdqa 0x20(%esp),%xmm7
41a5ce:	66 0f d4 cd          	paddq  %xmm5,%xmm1
41a5d2:	66 0f 6f ef          	movdqa %xmm7,%xmm5
41a5d6:	66 0f f4 7a 20       	pmuludq 0x20(%edx),%xmm7
41a5db:	66 0f d4 c6          	paddq  %xmm6,%xmm0
41a5df:	66 0f 6f f5          	movdqa %xmm5,%xmm6
41a5e3:	66 0f f4 6a 10       	pmuludq 0x10(%edx),%xmm5
41a5e8:	66 0f d4 e7          	paddq  %xmm7,%xmm4
41a5ec:	66 0f 6f 7c 24 60    	movdqa 0x60(%esp),%xmm7
41a5f2:	66 0f f4 32          	pmuludq (%edx),%xmm6
41a5f6:	66 0f d4 dd          	paddq  %xmm5,%xmm3
41a5fa:	66 0f 6f ef          	movdqa %xmm7,%xmm5
41a5fe:	66 0f f4 7a 40       	pmuludq 0x40(%edx),%xmm7
41a603:	66 0f d4 d6          	paddq  %xmm6,%xmm2
41a607:	66 0f f4 6a 30       	pmuludq 0x30(%edx),%xmm5
41a60c:	66 0f 6f 74 24 30    	movdqa 0x30(%esp),%xmm6
41a612:	66 0f d4 cf          	paddq  %xmm7,%xmm1
41a616:	66 0f 6f fe          	movdqa %xmm6,%xmm7
41a61a:	66 0f f4 72 10       	pmuludq 0x10(%edx),%xmm6
41a61f:	66 0f d4 c5          	paddq  %xmm5,%xmm0
41a623:	66 0f 6f 6c 24 70    	movdqa 0x70(%esp),%xmm5
41a629:	66 0f f4 3a          	pmuludq (%edx),%xmm7
41a62d:	66 0f d4 e6          	paddq  %xmm6,%xmm4
41a631:	66 0f 6f f5          	movdqa %xmm5,%xmm6
41a635:	66 0f f4 6a 40       	pmuludq 0x40(%edx),%xmm5