4011bc:	e8 93 74 00 00       	call   0x408654
4011c1:	b9 27 1b 41 00       	mov    $0x411b27,%ecx
4011c6:	e9 8a 47 00 00       	jmp    0x405955
4011cb:	e8 b7 b7 00 00       	call   0x40c987
4011d0:	b9 2c 1b 41 00       	mov    $0x411b2c,%ecx
4011d5:	e9 7b 47 00 00       	jmp    0x405955
4011da:	8b 0d d4 7c 41 00    	mov    0x417cd4,%ecx
4011e0:	3b 0d 1c 78 41 00    	cmp    0x41781c,%ecx
4011e6:	73 13                	jae    0x4011fb
4011e8:	a1 9c 6d 41 00       	mov    0x416d9c,%eax
4011ed:	c7 04 88 31 1b 41 00 	movl   $0x411b31,(%eax,%ecx,4)
4011f4:	41                   	inc    %ecx
4011f5:	89 0d d4 7c 41 00    	mov    %ecx,0x417cd4
4011fb:	c3                   	ret
4011fc:	e8 69 a5 00 00       	call   0x40b76a
401201:	b9 4c 1b 41 00       	mov    $0x411b4c,%ecx
401206:	e9 4a 47 00 00       	jmp    0x405955
40120b:	51                   	push   %ecx
40120c:	b9 3c 7d 41 00       	mov    $0x417d3c,%ecx
401211:	e8 20 d0 00 00       	call   0x40e236
401216:	b9 51 1b 41 00       	mov    $0x411b51,%ecx
40121b:	e9 35 47 00 00       	jmp    0x405955
401220:	8b 0d d4 7c 41 00    	mov    0x417cd4,%ecx
401226:	3b 0d 1c 78 41 00    	cmp    0x41781c,%ecx
40122c:	73 13                	jae    0x401241
40122e:	a1 9c 6d 41 00       	mov    0x416d9c,%eax
401233:	c7 04 88 5b 1b 41 00 	movl   $0x411b5b,(%eax,%ecx,4)
40123a:	41                   	inc    %ecx
40123b:	89 0d d4 7c 41 00    	mov    %ecx,0x417cd4
401241:	c3                   	ret
401242:	c7 01 00 26 41 00    	movl   $0x412600,(%ecx)
401248:	8b c1                	mov    %ecx,%eax
40124a:	c2 04 00             	ret    $0x4
40124d:	a1 88 66 41 00       	mov    0x416688,%eax
401252:	85 c0                	test   %eax,%eax
401254:	75 1c                	jne    0x401272
401256:	6a 18                	push   $0x18
401258:	59                   	pop    %ecx
401259:	e8 7d 48 00 00       	call   0x405adb
40125e:	85 c0                	test   %eax,%eax
401260:	74 09                	je     0x40126b
401262:	8b c8                	mov    %eax,%ecx
401264:	e8 bd 60 00 00       	call   0x407326
401269:	eb 02                	jmp    0x40126d
40126b:	33 c0                	xor    %eax,%eax
40126d:	a3 88 66 41 00       	mov    %eax,0x416688
401272:	c3                   	ret
401273:	55                   	push   %ebp
401274:	8b ec                	mov    %esp,%ebp
401276:	53                   	push   %ebx
401277:	56                   	push   %esi
401278:	57                   	push   %edi
401279:	8b f1                	mov    %ecx,%esi
40127b:	33 ff                	xor    %edi,%edi
40127d:	6a 05                	push   $0x5
40127f:	58                   	pop    %eax
401280:	89 46 0c             	mov    %eax,0xc(%esi)
401283:	89 46 04             	mov    %eax,0x4(%esi)
401286:	89 7e 08             	mov    %edi,0x8(%esi)
401289:	e8 46 02 00 00       	call   0x4014d4
40128e:	8b 5d 08             	mov    0x8(%ebp),%ebx
401291:	39 7b 08             	cmp    %edi,0x8(%ebx)
401294:	76 1b                	jbe    0x4012b1
401296:	83 ec 10             	sub    $0x10,%esp
401299:	8b cb                	mov    %ebx,%ecx
40129b:	8b c4                	mov    %esp,%eax
40129d:	57                   	push   %edi
40129e:	50                   	push   %eax
40129f:	e8 7d 02 00 00       	call   0x401521
4012a4:	8b ce                	mov    %esi,%ecx
4012a6:	e8 28 01 00 00       	call   0x4013d3
4012ab:	47                   	inc    %edi
4012ac:	3b 7b 08             	cmp    0x8(%ebx),%edi
4012af:	72 e5                	jb     0x401296
4012b1:	5f                   	pop    %edi
4012b2:	8b c6                	mov    %esi,%eax
4012b4:	5e                   	pop    %esi
4012b5:	5b                   	pop    %ebx
4012b6:	5d                   	pop    %ebp
4012b7:	c2 04 00             	ret    $0x4
4012ba:	55                   	push   %ebp
4012bb:	8b ec                	mov    %esp,%ebp
4012bd:	53                   	push   %ebx
4012be:	56                   	push   %esi
4012bf:	57                   	push   %edi
4012c0:	8b f1                	mov    %ecx,%esi
4012c2:	33 ff                	xor    %edi,%edi
4012c4:	6a 05                	push   $0x5
4012c6:	58                   	pop    %eax
4012c7:	89 46 0c             	mov    %eax,0xc(%esi)
4012ca:	89 46 04             	mov    %eax,0x4(%esi)
4012cd:	89 7e 08             	mov    %edi,0x8(%esi)
4012d0:	e8 ae 03 00 00       	call   0x401683
4012d5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4012d8:	39 7b 08             	cmp    %edi,0x8(%ebx)
4012db:	76 1b                	jbe    0x4012f8
4012dd:	83 ec 0c             	sub    $0xc,%esp
4012e0:	8b cb                	mov    %ebx,%ecx
4012e2:	8b c4                	mov    %esp,%eax
4012e4:	57                   	push   %edi
4012e5:	50                   	push   %eax
4012e6:	e8 ea 03 00 00       	call   0x4016d5
4012eb:	8b ce                	mov    %esi,%ecx
4012ed:	e8 6e 02 00 00       	call   0x401560
4012f2:	47                   	inc    %edi
4012f3:	3b 7b 08             	cmp    0x8(%ebx),%edi
4012f6:	72 e5                	jb     0x4012dd
4012f8:	5f                   	pop    %edi
4012f9:	8b c6                	mov    %esi,%eax
4012fb:	5e                   	pop    %esi
4012fc:	5b                   	pop    %ebx
4012fd:	5d                   	pop    %ebp
4012fe:	c2 04 00             	ret    $0x4
401301:	55                   	push   %ebp
401302:	8b ec                	mov    %esp,%ebp
401304:	53                   	push   %ebx
401305:	56                   	push   %esi
401306:	57                   	push   %edi
401307:	8b f1                	mov    %ecx,%esi
401309:	33 ff                	xor    %edi,%edi
40130b:	6a 05                	push   $0x5
40130d:	58                   	pop    %eax
40130e:	89 46 0c             	mov    %eax,0xc(%esi)
401311:	89 46 04             	mov    %eax,0x4(%esi)
401314:	89 7e 08             	mov    %edi,0x8(%esi)
401317:	e8 f9 04 00 00       	call   0x401815
40131c:	8b 5d 08             	mov    0x8(%ebp),%ebx
40131f:	39 7b 08             	cmp    %edi,0x8(%ebx)
401322:	76 1b                	jbe    0x40133f
401324:	83 ec 18             	sub    $0x18,%esp
401327:	8b cb                	mov    %ebx,%ecx
401329:	8b c4                	mov    %esp,%eax
40132b:	57                   	push   %edi
40132c:	50                   	push   %eax
40132d:	e8 30 05 00 00       	call   0x401862
401332:	8b ce                	mov    %esi,%ecx
401334:	e8 dd 03 00 00       	call   0x401716
401339:	47                   	inc    %edi
40133a:	3b 7b 08             	cmp    0x8(%ebx),%edi
40133d:	72 e5                	jb     0x401324
40133f:	5f                   	pop    %edi
401340:	8b c6                	mov    %esi,%eax
401342:	5e                   	pop    %esi
401343:	5b                   	pop    %ebx
401344:	5d                   	pop    %ebp
401345:	c2 04 00             	ret    $0x4
401348:	55                   	push   %ebp
401349:	8b ec                	mov    %esp,%ebp
40134b:	53                   	push   %ebx
40134c:	56                   	push   %esi
40134d:	57                   	push   %edi
40134e:	8b f1                	mov    %ecx,%esi
401350:	33 ff                	xor    %edi,%edi
401352:	6a 05                	push   $0x5
401354:	58                   	pop    %eax
401355:	89 46 0c             	mov    %eax,0xc(%esi)
401358:	89 46 04             	mov    %eax,0x4(%esi)
40135b:	89 7e 08             	mov    %edi,0x8(%esi)
40135e:	e8 33 06 00 00       	call   0x401996
401363:	8b 5d 08             	mov    0x8(%ebp),%ebx
401366:	39 7b 08             	cmp    %edi,0x8(%ebx)
401369:	76 1b                	jbe    0x401386
40136b:	83 ec 0c             	sub    $0xc,%esp
40136e:	8b cb                	mov    %ebx,%ecx
401370:	8b c4                	mov    %esp,%eax
401372:	57                   	push   %edi
401373:	50                   	push   %eax
401374:	e8 6a 06 00 00       	call   0x4019e3
401379:	8b ce                	mov    %esi,%ecx
40137b:	e8 23 05 00 00       	call   0x4018a3
401380:	47                   	inc    %edi
401381:	3b 7b 08             	cmp    0x8(%ebx),%edi
401384:	72 e5                	jb     0x40136b
401386:	5f                   	pop    %edi
401387:	8b c6                	mov    %esi,%eax
401389:	5e                   	pop    %esi
40138a:	5b                   	pop    %ebx
40138b:	5d                   	pop    %ebp
40138c:	c2 04 00             	ret    $0x4
40138f:	56                   	push   %esi
401390:	8b f1                	mov    %ecx,%esi
401392:	8b 4e 08             	mov    0x8(%esi),%ecx
401395:	e8 93 46 00 00       	call   0x405a2d
40139a:	83 66 08 00          	andl   $0x0,0x8(%esi)
40139e:	8b 4e 04             	mov    0x4(%esi),%ecx
4013a1:	e8 87 46 00 00       	call   0x405a2d
4013a6:	83 66 04 00          	andl   $0x0,0x4(%esi)
4013aa:	8b 0e                	mov    (%esi),%ecx
4013ac:	e8 7c 46 00 00       	call   0x405a2d
4013b1:	83 26 00             	andl   $0x0,(%esi)
4013b4:	5e                   	pop    %esi
4013b5:	c3                   	ret
4013b6:	56                   	push   %esi
4013b7:	8b f1                	mov    %ecx,%esi
4013b9:	8b 4e 08             	mov    0x8(%esi),%ecx
4013bc:	e8 6c 46 00 00       	call   0x405a2d
4013c1:	83 66 08 00          	andl   $0x0,0x8(%esi)
4013c5:	8b 4e 04             	mov    0x4(%esi),%ecx
4013c8:	e8 60 46 00 00       	call   0x405a2d
4013cd:	83 66 04 00          	andl   $0x0,0x4(%esi)
4013d1:	5e                   	pop    %esi
4013d2:	c3                   	ret
4013d3:	55                   	push   %ebp
4013d4:	8b ec                	mov    %esp,%ebp
4013d6:	83 ec 10             	sub    $0x10,%esp
4013d9:	53                   	push   %ebx
4013da:	56                   	push   %esi
4013db:	57                   	push   %edi
4013dc:	8b f9                	mov    %ecx,%edi
4013de:	8b 77 08             	mov    0x8(%edi),%esi
4013e1:	3b 77 04             	cmp    0x4(%edi),%esi
4013e4:	0f 82 b1 00 00 00    	jb     0x40149b
4013ea:	46                   	inc    %esi
4013eb:	33 db                	xor    %ebx,%ebx
4013ed:	0f af 77 0c          	imul   0xc(%edi),%esi
4013f1:	6a 10                	push   $0x10
4013f3:	59                   	pop    %ecx
4013f4:	8b c6                	mov    %esi,%eax
4013f6:	89 75 f0             	mov    %esi,-0x10(%ebp)
4013f9:	f7 e1                	mul    %ecx
4013fb:	0f 90 c3             	seto   %bl
4013fe:	33 c9                	xor    %ecx,%ecx
401400:	f7 db                	neg    %ebx
401402:	0b d8                	or     %eax,%ebx
401404:	83 c3 04             	add    $0x4,%ebx
401407:	0f 92 c1             	setb   %cl
40140a:	f7 d9                	neg    %ecx
40140c:	0b cb                	or     %ebx,%ecx
40140e:	e8 c8 46 00 00       	call   0x405adb
401413:	85 c0                	test   %eax,%eax
401415:	74 1e                	je     0x401435
401417:	8d 58 04             	lea    0x4(%eax),%ebx
40141a:	89 30                	mov    %esi,(%eax)
40141c:	33 c0                	xor    %eax,%eax
40141e:	89 5d f8             	mov    %ebx,-0x8(%ebp)
401421:	8b ce                	mov    %esi,%ecx
401423:	8b d3                	mov    %ebx,%edx
401425:	85 f6                	test   %esi,%esi
401427:	74 13                	je     0x40143c
401429:	89 02                	mov    %eax,(%edx)
40142b:	8d 52 10             	lea    0x10(%edx),%edx
40142e:	83 e9 01             	sub    $0x1,%ecx
401431:	75 f6                	jne    0x401429
401433:	eb 07                	jmp    0x40143c
401435:	33 c0                	xor    %eax,%eax
401437:	8b d8                	mov    %eax,%ebx
401439:	89 45 f8             	mov    %eax,-0x8(%ebp)
40143c:	39 47 08             	cmp    %eax,0x8(%edi)
40143f:	76 47                	jbe    0x401488
401441:	6a f8                	push   $0xfffffff8
401443:	58                   	pop    %eax
401444:	8d 4b 08             	lea    0x8(%ebx),%ecx
401447:	2b c3                	sub    %ebx,%eax
401449:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40144c:	33 db                	xor    %ebx,%ebx
40144e:	89 45 f4             	mov    %eax,-0xc(%ebp)
401451:	8d 34 08             	lea    (%eax,%ecx,1),%esi
401454:	83 c1 f8             	add    $0xfffffff8,%ecx
401457:	03 37                	add    (%edi),%esi
401459:	56                   	push   %esi
40145a:	e8 05 1e 00 00       	call   0x403264
40145f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401462:	43                   	inc    %ebx
401463:	8b 46 04             	mov    0x4(%esi),%eax
401466:	89 41 fc             	mov    %eax,-0x4(%ecx)
401469:	8b 46 08             	mov    0x8(%esi),%eax
40146c:	89 01                	mov    %eax,(%ecx)
40146e:	8b 46 0c             	mov    0xc(%esi),%eax
401471:	89 41 04             	mov    %eax,0x4(%ecx)
401474:	83 c1 10             	add    $0x10,%ecx
401477:	8b 45 f4             	mov    -0xc(%ebp),%eax
40147a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40147d:	3b 5f 08             	cmp    0x8(%edi),%ebx
401480:	72 cf                	jb     0x401451
401482:	8b 5d f8             	mov    -0x8(%ebp),%ebx
401485:	8b 75 f0             	mov    -0x10(%ebp),%esi
401488:	8b 0f                	mov    (%edi),%ecx
40148a:	85 c9                	test   %ecx,%ecx
40148c:	74 06                	je     0x401494
40148e:	51                   	push   %ecx
40148f:	e8 b4 05 00 00       	call   0x401a48
401494:	89 1f                	mov    %ebx,(%edi)
401496:	89 77 04             	mov    %esi,0x4(%edi)
401499:	eb 02                	jmp    0x40149d
40149b:	8b 1f                	mov    (%edi),%ebx
40149d:	8b 77 08             	mov    0x8(%edi),%esi
4014a0:	8d 45 08             	lea    0x8(%ebp),%eax
4014a3:	c1 e6 04             	shl    $0x4,%esi
4014a6:	03 f3                	add    %ebx,%esi
4014a8:	50                   	push   %eax
4014a9:	8b ce                	mov    %esi,%ecx
4014ab:	e8 b4 1d 00 00       	call   0x403264
4014b0:	8b 45 0c             	mov    0xc(%ebp),%eax
4014b3:	89 46 04             	mov    %eax,0x4(%esi)
4014b6:	8b 45 10             	mov    0x10(%ebp),%eax
4014b9:	89 46 08             	mov    %eax,0x8(%esi)
4014bc:	8b 45 14             	mov    0x14(%ebp),%eax
4014bf:	89 46 0c             	mov    %eax,0xc(%esi)
4014c2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4014c5:	ff 47 08             	incl   0x8(%edi)
4014c8:	e8 60 45 00 00       	call   0x405a2d
4014cd:	5f                   	pop    %edi
4014ce:	5e                   	pop    %esi
4014cf:	5b                   	pop    %ebx
4014d0:	c9                   	leave
4014d1:	c2 10 00             	ret    $0x10
4014d4:	53                   	push   %ebx
4014d5:	56                   	push   %esi
4014d6:	57                   	push   %edi
4014d7:	8b f9                	mov    %ecx,%edi
4014d9:	33 db                	xor    %ebx,%ebx
4014db:	6a 10                	push   $0x10
4014dd:	59                   	pop    %ecx
4014de:	8b 77 04             	mov    0x4(%edi),%esi
4014e1:	8b c6                	mov    %esi,%eax
4014e3:	f7 e1                	mul    %ecx
4014e5:	0f 90 c3             	seto   %bl
4014e8:	33 c9                	xor    %ecx,%ecx
4014ea:	f7 db                	neg    %ebx
4014ec:	0b d8                	or     %eax,%ebx
4014ee:	83 c3 04             	add    $0x4,%ebx
4014f1:	0f 92 c1             	setb   %cl
4014f4:	f7 d9                	neg    %ecx
4014f6:	0b cb                	or     %ebx,%ecx
4014f8:	e8 de 45 00 00       	call   0x405adb
4014fd:	85 c0                	test   %eax,%eax
4014ff:	74 18                	je     0x401519
401501:	89 30                	mov    %esi,(%eax)
401503:	83 c0 04             	add    $0x4,%eax
401506:	8b c8                	mov    %eax,%ecx
401508:	85 f6                	test   %esi,%esi
40150a:	74 0f                	je     0x40151b
40150c:	83 21 00             	andl   $0x0,(%ecx)
40150f:	8d 49 10             	lea    0x10(%ecx),%ecx
401512:	83 ee 01             	sub    $0x1,%esi
401515:	75 f5                	jne    0x40150c
401517:	eb 02                	jmp    0x40151b
401519:	33 c0                	xor    %eax,%eax
40151b:	89 07                	mov    %eax,(%edi)
40151d:	5f                   	pop    %edi
40151e:	5e                   	pop    %esi
40151f:	5b                   	pop    %ebx
401520:	c3                   	ret
401521:	55                   	push   %ebp
401522:	8b ec                	mov    %esp,%ebp
401524:	56                   	push   %esi
401525:	8b f1                	mov    %ecx,%esi
401527:	57                   	push   %edi
401528:	8b 7d 0c             	mov    0xc(%ebp),%edi
40152b:	3b 7e 08             	cmp    0x8(%esi),%edi