404119:	e8 70 f4 ff ff       	call   0x40358e
40411e:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404122:	e8 06 19 00 00       	call   0x405a2d
404127:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
40412c:	8d 44 24 1c          	lea    0x1c(%esp),%eax
404130:	57                   	push   %edi
404131:	50                   	push   %eax
404132:	8d 4e 04             	lea    0x4(%esi),%ecx
404135:	e8 a9 d8 ff ff       	call   0x4019e3
40413a:	8d 4c 24 28          	lea    0x28(%esp),%ecx
40413e:	ff 70 04             	push   0x4(%eax)
404141:	e8 27 f4 ff ff       	call   0x40356d
404146:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
40414a:	e8 de 18 00 00       	call   0x405a2d
40414f:	83 64 24 1c 00       	andl   $0x0,0x1c(%esp)
404154:	47                   	inc    %edi
404155:	3b 7e 0c             	cmp    0xc(%esi),%edi
404158:	72 ac                	jb     0x404106
40415a:	ff 75 08             	push   0x8(%ebp)
40415d:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
404161:	e8 40 f3 ff ff       	call   0x4034a6
404166:	8d 4c 24 28          	lea    0x28(%esp),%ecx
40416a:	e8 23 f3 ff ff       	call   0x403492
40416f:	8b 45 08             	mov    0x8(%ebp),%eax
404172:	5f                   	pop    %edi
404173:	5e                   	pop    %esi
404174:	5b                   	pop    %ebx
404175:	8b e5                	mov    %ebp,%esp
404177:	5d                   	pop    %ebp
404178:	c2 04 00             	ret    $0x4
40417b:	56                   	push   %esi
40417c:	8b f1                	mov    %ecx,%esi
40417e:	c7 06 b4 27 41 00    	movl   $0x4127b4,(%esi)
404184:	8b 4e 04             	mov    0x4(%esi),%ecx
404187:	85 c9                	test   %ecx,%ecx
404189:	74 06                	je     0x404191
40418b:	51                   	push   %ecx
40418c:	e8 0f d9 ff ff       	call   0x401aa0
404191:	33 c0                	xor    %eax,%eax
404193:	89 46 04             	mov    %eax,0x4(%esi)
404196:	89 46 0c             	mov    %eax,0xc(%esi)
404199:	89 46 08             	mov    %eax,0x8(%esi)
40419c:	5e                   	pop    %esi
40419d:	c3                   	ret
40419e:	55                   	push   %ebp
40419f:	8b ec                	mov    %esp,%ebp
4041a1:	56                   	push   %esi
4041a2:	8b f1                	mov    %ecx,%esi
4041a4:	8d 45 08             	lea    0x8(%ebp),%eax
4041a7:	50                   	push   %eax
4041a8:	8d 4e 04             	lea    0x4(%esi),%ecx
4041ab:	c7 06 b4 27 41 00    	movl   $0x4127b4,(%esi)
4041b1:	e8 92 d1 ff ff       	call   0x401348
4041b6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4041b9:	85 c9                	test   %ecx,%ecx
4041bb:	74 06                	je     0x4041c3
4041bd:	51                   	push   %ecx
4041be:	e8 dd d8 ff ff       	call   0x401aa0
4041c3:	8b c6                	mov    %esi,%eax
4041c5:	5e                   	pop    %esi
4041c6:	5d                   	pop    %ebp
4041c7:	c2 10 00             	ret    $0x10
4041ca:	55                   	push   %ebp
4041cb:	8b ec                	mov    %esp,%ebp
4041cd:	83 e4 f8             	and    $0xfffffff8,%esp
4041d0:	83 ec 3c             	sub    $0x3c,%esp
4041d3:	53                   	push   %ebx
4041d4:	56                   	push   %esi
4041d5:	57                   	push   %edi
4041d6:	8b f9                	mov    %ecx,%edi
4041d8:	c7 44 24 30 03 00 00 	movl   $0x3,0x30(%esp)
4041df:	00
4041e0:	33 f6                	xor    %esi,%esi
4041e2:	0f 57 c0             	xorps  %xmm0,%xmm0
4041e5:	89 74 24 34          	mov    %esi,0x34(%esp)
4041e9:	0f 11 44 24 38       	movups %xmm0,0x38(%esp)
4041ee:	39 77 0c             	cmp    %esi,0xc(%edi)
4041f1:	76 70                	jbe    0x404263
4041f3:	8d 5f 04             	lea    0x4(%edi),%ebx
4041f6:	56                   	push   %esi
4041f7:	8d 44 24 10          	lea    0x10(%esp),%eax
4041fb:	8b cb                	mov    %ebx,%ecx
4041fd:	50                   	push   %eax
4041fe:	e8 d2 d4 ff ff       	call   0x4016d5
404203:	8d 4c 24 30          	lea    0x30(%esp),%ecx
404207:	ff 30                	push   (%eax)
404209:	e8 5f f3 ff ff       	call   0x40356d
40420e:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
404212:	e8 9f d1 ff ff       	call   0x4013b6
404217:	56                   	push   %esi
404218:	8d 44 24 1c          	lea    0x1c(%esp),%eax
40421c:	8b cb                	mov    %ebx,%ecx
40421e:	50                   	push   %eax
40421f:	e8 b1 d4 ff ff       	call   0x4016d5
404224:	83 c0 04             	add    $0x4,%eax
404227:	8d 4c 24 30          	lea    0x30(%esp),%ecx
40422b:	50                   	push   %eax
40422c:	e8 5d f3 ff ff       	call   0x40358e
404231:	8d 4c 24 18          	lea    0x18(%esp),%ecx
404235:	e8 7c d1 ff ff       	call   0x4013b6
40423a:	56                   	push   %esi
40423b:	8d 44 24 28          	lea    0x28(%esp),%eax
40423f:	8b cb                	mov    %ebx,%ecx
404241:	50                   	push   %eax
404242:	e8 8e d4 ff ff       	call   0x4016d5
404247:	83 c0 08             	add    $0x8,%eax
40424a:	8d 4c 24 30          	lea    0x30(%esp),%ecx
40424e:	50                   	push   %eax
40424f:	e8 3a f3 ff ff       	call   0x40358e
404254:	8d 4c 24 24          	lea    0x24(%esp),%ecx
404258:	e8 59 d1 ff ff       	call   0x4013b6
40425d:	46                   	inc    %esi
40425e:	3b 77 0c             	cmp    0xc(%edi),%esi
404261:	72 93                	jb     0x4041f6
404263:	ff 75 08             	push   0x8(%ebp)
404266:	8d 4c 24 34          	lea    0x34(%esp),%ecx
40426a:	e8 37 f2 ff ff       	call   0x4034a6
40426f:	8d 4c 24 30          	lea    0x30(%esp),%ecx
404273:	e8 1a f2 ff ff       	call   0x403492
404278:	8b 45 08             	mov    0x8(%ebp),%eax
40427b:	5f                   	pop    %edi
40427c:	5e                   	pop    %esi
40427d:	5b                   	pop    %ebx
40427e:	8b e5                	mov    %ebp,%esp
404280:	5d                   	pop    %ebp
404281:	c2 04 00             	ret    $0x4
404284:	56                   	push   %esi
404285:	8b f1                	mov    %ecx,%esi
404287:	c7 06 bc 27 41 00    	movl   $0x4127bc,(%esi)
40428d:	8b 46 04             	mov    0x4(%esi),%eax
404290:	85 c0                	test   %eax,%eax
404292:	74 1f                	je     0x4042b3
404294:	53                   	push   %ebx
404295:	57                   	push   %edi
404296:	8b 78 fc             	mov    -0x4(%eax),%edi
404299:	6b df 0c             	imul   $0xc,%edi,%ebx
40429c:	03 d8                	add    %eax,%ebx
40429e:	85 ff                	test   %edi,%edi
4042a0:	74 0f                	je     0x4042b1
4042a2:	83 eb 0c             	sub    $0xc,%ebx
4042a5:	8b cb                	mov    %ebx,%ecx
4042a7:	e8 0a d1 ff ff       	call   0x4013b6
4042ac:	83 ef 01             	sub    $0x1,%edi
4042af:	75 f1                	jne    0x4042a2
4042b1:	5f                   	pop    %edi
4042b2:	5b                   	pop    %ebx
4042b3:	33 c0                	xor    %eax,%eax
4042b5:	89 46 04             	mov    %eax,0x4(%esi)
4042b8:	89 46 0c             	mov    %eax,0xc(%esi)
4042bb:	89 46 08             	mov    %eax,0x8(%esi)
4042be:	5e                   	pop    %esi
4042bf:	c3                   	ret
4042c0:	55                   	push   %ebp
4042c1:	8b ec                	mov    %esp,%ebp
4042c3:	53                   	push   %ebx
4042c4:	8b d9                	mov    %ecx,%ebx
4042c6:	8d 45 08             	lea    0x8(%ebp),%eax
4042c9:	50                   	push   %eax
4042ca:	8d 4b 04             	lea    0x4(%ebx),%ecx
4042cd:	c7 03 bc 27 41 00    	movl   $0x4127bc,(%ebx)
4042d3:	e8 e2 cf ff ff       	call   0x4012ba
4042d8:	8b 45 08             	mov    0x8(%ebp),%eax
4042db:	85 c0                	test   %eax,%eax
4042dd:	74 1f                	je     0x4042fe
4042df:	56                   	push   %esi
4042e0:	8b 70 fc             	mov    -0x4(%eax),%esi
4042e3:	57                   	push   %edi
4042e4:	6b fe 0c             	imul   $0xc,%esi,%edi
4042e7:	03 f8                	add    %eax,%edi
4042e9:	85 f6                	test   %esi,%esi
4042eb:	74 0f                	je     0x4042fc
4042ed:	83 ef 0c             	sub    $0xc,%edi
4042f0:	8b cf                	mov    %edi,%ecx
4042f2:	e8 bf d0 ff ff       	call   0x4013b6
4042f7:	83 ee 01             	sub    $0x1,%esi
4042fa:	75 f1                	jne    0x4042ed
4042fc:	5f                   	pop    %edi
4042fd:	5e                   	pop    %esi
4042fe:	8b c3                	mov    %ebx,%eax
404300:	5b                   	pop    %ebx
404301:	5d                   	pop    %ebp
404302:	c2 10 00             	ret    $0x10
404305:	55                   	push   %ebp
404306:	8b ec                	mov    %esp,%ebp
404308:	83 e4 f8             	and    $0xfffffff8,%esp
40430b:	83 ec 5c             	sub    $0x5c,%esp
40430e:	83 64 24 48 00       	andl   $0x0,0x48(%esp)
404313:	0f 57 c0             	xorps  %xmm0,%xmm0
404316:	53                   	push   %ebx
404317:	56                   	push   %esi
404318:	8b f1                	mov    %ecx,%esi
40431a:	c7 44 24 4c 11 00 00 	movl   $0x11,0x4c(%esp)
404321:	00
404322:	57                   	push   %edi
404323:	33 ff                	xor    %edi,%edi
404325:	0f 11 44 24 58       	movups %xmm0,0x58(%esp)
40432a:	39 7e 0c             	cmp    %edi,0xc(%esi)
40432d:	0f 86 a7 00 00 00    	jbe    0x4043da
404333:	8d 5e 04             	lea    0x4(%esi),%ebx
404336:	57                   	push   %edi
404337:	8d 44 24 14          	lea    0x14(%esp),%eax
40433b:	8b cb                	mov    %ebx,%ecx
40433d:	50                   	push   %eax
40433e:	e8 de d1 ff ff       	call   0x401521
404343:	50                   	push   %eax
404344:	8d 4c 24 54          	lea    0x54(%esp),%ecx
404348:	e8 41 f2 ff ff       	call   0x40358e
40434d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404351:	e8 d7 16 00 00       	call   0x405a2d
404356:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
40435b:	8d 44 24 20          	lea    0x20(%esp),%eax
40435f:	57                   	push   %edi
404360:	50                   	push   %eax
404361:	8b cb                	mov    %ebx,%ecx
404363:	e8 b9 d1 ff ff       	call   0x401521
404368:	8d 4c 24 50          	lea    0x50(%esp),%ecx
40436c:	ff 70 04             	push   0x4(%eax)
40436f:	e8 f9 f1 ff ff       	call   0x40356d
404374:	8b 4c 24 20          	mov    0x20(%esp),%ecx
404378:	e8 b0 16 00 00       	call   0x405a2d
40437d:	83 64 24 20 00       	andl   $0x0,0x20(%esp)
404382:	8d 44 24 30          	lea    0x30(%esp),%eax
404386:	57                   	push   %edi
404387:	50                   	push   %eax
404388:	8b cb                	mov    %ebx,%ecx
40438a:	e8 92 d1 ff ff       	call   0x401521
40438f:	8d 4c 24 50          	lea    0x50(%esp),%ecx
404393:	ff 70 08             	push   0x8(%eax)
404396:	e8 d2 f1 ff ff       	call   0x40356d
40439b:	8b 4c 24 30          	mov    0x30(%esp),%ecx
40439f:	e8 89 16 00 00       	call   0x405a2d
4043a4:	83 64 24 30 00       	andl   $0x0,0x30(%esp)
4043a9:	8d 44 24 40          	lea    0x40(%esp),%eax
4043ad:	57                   	push   %edi
4043ae:	50                   	push   %eax
4043af:	8b cb                	mov    %ebx,%ecx
4043b1:	e8 6b d1 ff ff       	call   0x401521
4043b6:	8d 4c 24 50          	lea    0x50(%esp),%ecx
4043ba:	ff 70 0c             	push   0xc(%eax)
4043bd:	e8 ab f1 ff ff       	call   0x40356d
4043c2:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4043c6:	e8 62 16 00 00       	call   0x405a2d
4043cb:	83 64 24 40 00       	andl   $0x0,0x40(%esp)
4043d0:	47                   	inc    %edi
4043d1:	3b 7e 0c             	cmp    0xc(%esi),%edi
4043d4:	0f 82 5c ff ff ff    	jb     0x404336
4043da:	ff 75 08             	push   0x8(%ebp)
4043dd:	8d 4c 24 54          	lea    0x54(%esp),%ecx
4043e1:	e8 c0 f0 ff ff       	call   0x4034a6
4043e6:	8d 4c 24 50          	lea    0x50(%esp),%ecx
4043ea:	e8 a3 f0 ff ff       	call   0x403492
4043ef:	8b 45 08             	mov    0x8(%ebp),%eax
4043f2:	5f                   	pop    %edi
4043f3:	5e                   	pop    %esi
4043f4:	5b                   	pop    %ebx
4043f5:	8b e5                	mov    %ebp,%esp
4043f7:	5d                   	pop    %ebp
4043f8:	c2 04 00             	ret    $0x4
4043fb:	56                   	push   %esi
4043fc:	8b f1                	mov    %ecx,%esi
4043fe:	c7 06 c4 27 41 00    	movl   $0x4127c4,(%esi)
404404:	8b 4e 04             	mov    0x4(%esi),%ecx
404407:	85 c9                	test   %ecx,%ecx
404409:	74 06                	je     0x404411
40440b:	51                   	push   %ecx
40440c:	e8 37 d6 ff ff       	call   0x401a48
404411:	33 c0                	xor    %eax,%eax
404413:	89 46 04             	mov    %eax,0x4(%esi)
404416:	89 46 0c             	mov    %eax,0xc(%esi)
404419:	89 46 08             	mov    %eax,0x8(%esi)
40441c:	5e                   	pop    %esi
40441d:	c3                   	ret
40441e:	55                   	push   %ebp
40441f:	8b ec                	mov    %esp,%ebp
404421:	56                   	push   %esi
404422:	8b f1                	mov    %ecx,%esi
404424:	8d 45 08             	lea    0x8(%ebp),%eax
404427:	50                   	push   %eax
404428:	8d 4e 04             	lea    0x4(%esi),%ecx
40442b:	c7 06 c4 27 41 00    	movl   $0x4127c4,(%esi)
404431:	e8 3d ce ff ff       	call   0x401273
404436:	8b 4d 08             	mov    0x8(%ebp),%ecx
404439:	85 c9                	test   %ecx,%ecx
40443b:	74 06                	je     0x404443
40443d:	51                   	push   %ecx
40443e:	e8 05 d6 ff ff       	call   0x401a48
404443:	8b c6                	mov    %esi,%eax
404445:	5e                   	pop    %esi
404446:	5d                   	pop    %ebp
404447:	c2 10 00             	ret    $0x10
40444a:	55                   	push   %ebp
40444b:	8b ec                	mov    %esp,%ebp
40444d:	81 ec 24 02 00 00    	sub    $0x224,%esp
404453:	56                   	push   %esi
404454:	8d 45 f4             	lea    -0xc(%ebp),%eax
404457:	c7 45 f4 08 00 00 00 	movl   $0x8,-0xc(%ebp)
40445e:	50                   	push   %eax
40445f:	ff 15 d0 22 41 00    	call   *0x4122d0
404465:	ff 15 c8 21 41 00    	call   *0x4121c8
40446b:	2b 45 f8             	sub    -0x8(%ebp),%eax
40446e:	33 d2                	xor    %edx,%edx
404470:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
404475:	f7 f1                	div    %ecx
404477:	8b f0                	mov    %eax,%esi
404479:	ff 15 c4 22 41 00    	call   *0x4122c4
40447f:	68 00 01 00 00       	push   $0x100
404484:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
40448a:	51                   	push   %ecx
40448b:	50                   	push   %eax
40448c:	ff 15 a4 22 41 00    	call   *0x4122a4
404492:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
404498:	50                   	push   %eax
404499:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40449c:	e8 71 ef ff ff       	call   0x403412
4044a1:	ff 75 08             	push   0x8(%ebp)
4044a4:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
4044a8:	8d 45 fc             	lea    -0x4(%ebp),%eax
4044ab:	50                   	push   %eax
4044ac:	0f 57 c0             	xorps  %xmm0,%xmm0
4044af:	c7 45 dc 15 00 00 00 	movl   $0x15,-0x24(%ebp)
4044b6:	56                   	push   %esi
4044b7:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4044ba:	0f 11 45 e4          	movups %xmm0,-0x1c(%ebp)
4044be:	e8 aa f0 ff ff       	call   0x40356d
4044c3:	8b c8                	mov    %eax,%ecx
4044c5:	e8 c4 f0 ff ff       	call   0x40358e
4044ca:	8b c8                	mov    %eax,%ecx
4044cc:	e8 d5 ef ff ff       	call   0x4034a6
4044d1:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4044d4:	e8 b9 ef ff ff       	call   0x403492
4044d9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4044dc:	e8 4c 15 00 00       	call   0x405a2d
4044e1:	8b 45 08             	mov    0x8(%ebp),%eax
4044e4:	5e                   	pop    %esi
4044e5:	c9                   	leave
4044e6:	c2 04 00             	ret    $0x4
4044e9:	c7 01 cc 27 41 00    	movl   $0x4127cc,(%ecx)
4044ef:	c3                   	ret
4044f0:	c7 01 cc 27 41 00    	movl   $0x4127cc,(%ecx)
4044f6:	8b c1                	mov    %ecx,%eax
4044f8:	c3                   	ret
4044f9:	55                   	push   %ebp
4044fa:	8b ec                	mov    %esp,%ebp
4044fc:	83 e4 f8             	and    $0xfffffff8,%esp
4044ff:	83 ec 34             	sub    $0x34,%esp
404502:	53                   	push   %ebx
404503:	56                   	push   %esi
404504:	8b f1                	mov    %ecx,%esi
404506:	c7 44 24 0c 1b 00 00 	movl   $0x1b,0xc(%esp)
40450d:	00