40133d:	50                   	push   %eax
40133e:	6a 01                	push   $0x1
401340:	e8 78 fe ff ff       	call   0x4011bd
401345:	eb 12                	jmp    0x401359
401347:	85 f6                	test   %esi,%esi
401349:	75 0e                	jne    0x401359
40134b:	21 71 10             	and    %esi,0x10(%ecx)
40134e:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
401352:	72 02                	jb     0x401356
401354:	8b 09                	mov    (%ecx),%ecx
401356:	c6 01 00             	movb   $0x0,(%ecx)
401359:	33 c0                	xor    %eax,%eax
40135b:	3b c6                	cmp    %esi,%eax
40135d:	1b c0                	sbb    %eax,%eax
40135f:	f7 d8                	neg    %eax
401361:	5e                   	pop    %esi
401362:	5d                   	pop    %ebp
401363:	c2 08 00             	ret    $0x8
401366:	68 f8 d3 41 00       	push   $0x41d3f8
40136b:	e8 ea 20 00 00       	call   0x40345a
401370:	cc                   	int3
401371:	55                   	push   %ebp
401372:	8b ec                	mov    %esp,%ebp
401374:	8b 55 08             	mov    0x8(%ebp),%edx
401377:	85 d2                	test   %edx,%edx
401379:	74 2b                	je     0x4013a6
40137b:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40137f:	72 04                	jb     0x401385
401381:	8b 01                	mov    (%ecx),%eax
401383:	eb 02                	jmp    0x401387
401385:	8b c1                	mov    %ecx,%eax
401387:	3b d0                	cmp    %eax,%edx
401389:	72 1b                	jb     0x4013a6
40138b:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40138f:	56                   	push   %esi
401390:	72 04                	jb     0x401396
401392:	8b 31                	mov    (%ecx),%esi
401394:	eb 02                	jmp    0x401398
401396:	8b f1                	mov    %ecx,%esi
401398:	8b 41 10             	mov    0x10(%ecx),%eax
40139b:	03 c6                	add    %esi,%eax
40139d:	5e                   	pop    %esi
40139e:	3b c2                	cmp    %edx,%eax
4013a0:	76 04                	jbe    0x4013a6
4013a2:	b0 01                	mov    $0x1,%al
4013a4:	eb 02                	jmp    0x4013a8
4013a6:	32 c0                	xor    %al,%al
4013a8:	5d                   	pop    %ebp
4013a9:	c2 04 00             	ret    $0x4
4013ac:	55                   	push   %ebp
4013ad:	8b ec                	mov    %esp,%ebp
4013af:	8b 45 08             	mov    0x8(%ebp),%eax
4013b2:	39 41 10             	cmp    %eax,0x10(%ecx)
4013b5:	72 19                	jb     0x4013d0
4013b7:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4013bb:	89 41 10             	mov    %eax,0x10(%ecx)
4013be:	72 04                	jb     0x4013c4
4013c0:	8b 11                	mov    (%ecx),%edx
4013c2:	eb 02                	jmp    0x4013c6
4013c4:	8b d1                	mov    %ecx,%edx
4013c6:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
4013ca:	8b c1                	mov    %ecx,%eax
4013cc:	5d                   	pop    %ebp
4013cd:	c2 04 00             	ret    $0x4
4013d0:	68 e0 d3 41 00       	push   $0x41d3e0
4013d5:	e8 ae 20 00 00       	call   0x403488
4013da:	cc                   	int3
4013db:	55                   	push   %ebp
4013dc:	8b ec                	mov    %esp,%ebp
4013de:	56                   	push   %esi
4013df:	8b f1                	mov    %ecx,%esi
4013e1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4013e4:	57                   	push   %edi
4013e5:	8b 7e 10             	mov    0x10(%esi),%edi
4013e8:	3b f9                	cmp    %ecx,%edi
4013ea:	72 66                	jb     0x401452
4013ec:	8b 55 0c             	mov    0xc(%ebp),%edx
4013ef:	8b c7                	mov    %edi,%eax
4013f1:	2b c1                	sub    %ecx,%eax
4013f3:	3b c2                	cmp    %edx,%eax
4013f5:	77 15                	ja     0x40140c
4013f7:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4013fb:	89 4e 10             	mov    %ecx,0x10(%esi)
4013fe:	72 04                	jb     0x401404
401400:	8b 06                	mov    (%esi),%eax
401402:	eb 02                	jmp    0x401406
401404:	8b c6                	mov    %esi,%eax
401406:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
40140a:	eb 3e                	jmp    0x40144a
40140c:	85 d2                	test   %edx,%edx
40140e:	74 3a                	je     0x40144a
401410:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
401414:	72 04                	jb     0x40141a
401416:	8b 06                	mov    (%esi),%eax
401418:	eb 02                	jmp    0x40141c
40141a:	8b c6                	mov    %esi,%eax
40141c:	2b fa                	sub    %edx,%edi
40141e:	53                   	push   %ebx
40141f:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
401422:	8b c7                	mov    %edi,%eax
401424:	2b c1                	sub    %ecx,%eax
401426:	74 0e                	je     0x401436
401428:	50                   	push   %eax
401429:	8d 04 13             	lea    (%ebx,%edx,1),%eax
40142c:	50                   	push   %eax
40142d:	53                   	push   %ebx
40142e:	e8 1d 33 00 00       	call   0x404750
401433:	83 c4 0c             	add    $0xc,%esp
401436:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
40143a:	89 7e 10             	mov    %edi,0x10(%esi)
40143d:	5b                   	pop    %ebx
40143e:	72 04                	jb     0x401444
401440:	8b 06                	mov    (%esi),%eax
401442:	eb 02                	jmp    0x401446
401444:	8b c6                	mov    %esi,%eax
401446:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
40144a:	5f                   	pop    %edi
40144b:	8b c6                	mov    %esi,%eax
40144d:	5e                   	pop    %esi
40144e:	5d                   	pop    %ebp
40144f:	c2 08 00             	ret    $0x8
401452:	68 e0 d3 41 00       	push   $0x41d3e0
401457:	e8 2c 20 00 00       	call   0x403488
40145c:	cc                   	int3
40145d:	6a 0c                	push   $0xc
40145f:	b8 38 7c 41 00       	mov    $0x417c38,%eax
401464:	e8 f9 49 00 00       	call   0x405e62
401469:	8b f1                	mov    %ecx,%esi
40146b:	89 75 e8             	mov    %esi,-0x18(%ebp)
40146e:	8b 7d 08             	mov    0x8(%ebp),%edi
401471:	83 cf 0f             	or     $0xf,%edi
401474:	83 ff fe             	cmp    $0xfffffffe,%edi
401477:	76 05                	jbe    0x40147e
401479:	8b 7d 08             	mov    0x8(%ebp),%edi
40147c:	eb 2a                	jmp    0x4014a8
40147e:	33 d2                	xor    %edx,%edx
401480:	8b c7                	mov    %edi,%eax
401482:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
401489:	f7 75 ec             	divl   -0x14(%ebp)
40148c:	8b 5e 14             	mov    0x14(%esi),%ebx
40148f:	8b cb                	mov    %ebx,%ecx
401491:	d1 e9                	shr    $1,%ecx
401493:	3b c8                	cmp    %eax,%ecx
401495:	76 11                	jbe    0x4014a8
401497:	6a fe                	push   $0xfffffffe
401499:	58                   	pop    %eax
40149a:	2b c1                	sub    %ecx,%eax
40149c:	3b d8                	cmp    %eax,%ebx
40149e:	77 05                	ja     0x4014a5
4014a0:	8d 3c 19             	lea    (%ecx,%ebx,1),%edi
4014a3:	eb 03                	jmp    0x4014a8
4014a5:	6a fe                	push   $0xfffffffe
4014a7:	5f                   	pop    %edi
4014a8:	33 db                	xor    %ebx,%ebx
4014aa:	8d 47 01             	lea    0x1(%edi),%eax
4014ad:	53                   	push   %ebx
4014ae:	50                   	push   %eax
4014af:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4014b2:	e8 af 00 00 00       	call   0x401566
4014b7:	59                   	pop    %ecx
4014b8:	59                   	pop    %ecx
4014b9:	8b c8                	mov    %eax,%ecx
4014bb:	89 45 ec             	mov    %eax,-0x14(%ebp)
4014be:	eb 2f                	jmp    0x4014ef
4014c0:	8b 45 08             	mov    0x8(%ebp),%eax
4014c3:	89 65 f0             	mov    %esp,-0x10(%ebp)
4014c6:	89 45 08             	mov    %eax,0x8(%ebp)
4014c9:	40                   	inc    %eax
4014ca:	6a 00                	push   $0x0
4014cc:	50                   	push   %eax
4014cd:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4014d1:	e8 90 00 00 00       	call   0x401566
4014d6:	59                   	pop    %ecx
4014d7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4014da:	59                   	pop    %ecx
4014db:	b8 e1 14 40 00       	mov    $0x4014e1,%eax
4014e0:	c3                   	ret
4014e1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4014e4:	8b 75 e8             	mov    -0x18(%ebp),%esi
4014e7:	8b 7d 08             	mov    0x8(%ebp),%edi
4014ea:	33 db                	xor    %ebx,%ebx
4014ec:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4014ef:	8b 45 0c             	mov    0xc(%ebp),%eax
4014f2:	85 c0                	test   %eax,%eax
4014f4:	74 1b                	je     0x401511
4014f6:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4014fa:	72 04                	jb     0x401500
4014fc:	8b 16                	mov    (%esi),%edx
4014fe:	eb 02                	jmp    0x401502
401500:	8b d6                	mov    %esi,%edx
401502:	85 c0                	test   %eax,%eax
401504:	74 0b                	je     0x401511
401506:	50                   	push   %eax
401507:	52                   	push   %edx
401508:	51                   	push   %ecx
401509:	e8 92 41 00 00       	call   0x4056a0
40150e:	83 c4 0c             	add    $0xc,%esp
401511:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
401515:	72 08                	jb     0x40151f
401517:	ff 36                	push   (%esi)
401519:	e8 da 39 00 00       	call   0x404ef8
40151e:	59                   	pop    %ecx
40151f:	8b 45 ec             	mov    -0x14(%ebp),%eax
401522:	89 06                	mov    %eax,(%esi)
401524:	8b 45 0c             	mov    0xc(%ebp),%eax
401527:	89 7e 14             	mov    %edi,0x14(%esi)
40152a:	89 46 10             	mov    %eax,0x10(%esi)
40152d:	83 ff 10             	cmp    $0x10,%edi
401530:	72 02                	jb     0x401534
401532:	8b 36                	mov    (%esi),%esi
401534:	88 1c 06             	mov    %bl,(%esi,%eax,1)
401537:	e8 9a 48 00 00       	call   0x405dd6
40153c:	c2 08 00             	ret    $0x8
40153f:	8b 75 e8             	mov    -0x18(%ebp),%esi
401542:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
401546:	72 08                	jb     0x401550
401548:	ff 36                	push   (%esi)
40154a:	e8 a9 39 00 00       	call   0x404ef8
40154f:	59                   	pop    %ecx
401550:	33 db                	xor    %ebx,%ebx
401552:	53                   	push   %ebx
401553:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
40155a:	89 5e 10             	mov    %ebx,0x10(%esi)
40155d:	53                   	push   %ebx
40155e:	88 1e                	mov    %bl,(%esi)
401560:	e8 16 48 00 00       	call   0x405d7b
401565:	cc                   	int3
401566:	55                   	push   %ebp
401567:	8b ec                	mov    %esp,%ebp
401569:	8b 45 08             	mov    0x8(%ebp),%eax
40156c:	33 c9                	xor    %ecx,%ecx
40156e:	85 c0                	test   %eax,%eax
401570:	74 17                	je     0x401589
401572:	83 f8 ff             	cmp    $0xffffffff,%eax
401575:	77 0d                	ja     0x401584
401577:	50                   	push   %eax
401578:	e8 cb 39 00 00       	call   0x404f48
40157d:	59                   	pop    %ecx
40157e:	8b c8                	mov    %eax,%ecx
401580:	85 c9                	test   %ecx,%ecx
401582:	75 05                	jne    0x401589
401584:	e9 a0 1e 00 00       	jmp    0x403429
401589:	8b c1                	mov    %ecx,%eax
40158b:	5d                   	pop    %ebp
40158c:	c3                   	ret
40158d:	55                   	push   %ebp
40158e:	8b ec                	mov    %esp,%ebp
401590:	8b 45 08             	mov    0x8(%ebp),%eax
401593:	56                   	push   %esi
401594:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
401598:	8b f1                	mov    %ecx,%esi
40159a:	72 02                	jb     0x40159e
40159c:	8b 00                	mov    (%eax),%eax
40159e:	89 45 08             	mov    %eax,0x8(%ebp)
4015a1:	8d 45 08             	lea    0x8(%ebp),%eax
4015a4:	50                   	push   %eax
4015a5:	e8 24 3a 00 00       	call   0x404fce
4015aa:	c7 06 04 a0 41 00    	movl   $0x41a004,(%esi)
4015b0:	8b c6                	mov    %esi,%eax
4015b2:	5e                   	pop    %esi
4015b3:	5d                   	pop    %ebp
4015b4:	c2 04 00             	ret    $0x4
4015b7:	55                   	push   %ebp
4015b8:	8b ec                	mov    %esp,%ebp
4015ba:	56                   	push   %esi
4015bb:	8b f1                	mov    %ecx,%esi
4015bd:	e8 6f 3a 00 00       	call   0x405031
4015c2:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4015c6:	74 07                	je     0x4015cf
4015c8:	56                   	push   %esi
4015c9:	e8 2a 39 00 00       	call   0x404ef8
4015ce:	59                   	pop    %ecx
4015cf:	8b c6                	mov    %esi,%eax
4015d1:	5e                   	pop    %esi
4015d2:	5d                   	pop    %ebp
4015d3:	c2 04 00             	ret    $0x4
4015d6:	e9 56 3a 00 00       	jmp    0x405031
4015db:	55                   	push   %ebp
4015dc:	8b ec                	mov    %esp,%ebp
4015de:	56                   	push   %esi
4015df:	ff 75 08             	push   0x8(%ebp)
4015e2:	8b f1                	mov    %ecx,%esi
4015e4:	e8 25 3a 00 00       	call   0x40500e
4015e9:	c7 06 04 a0 41 00    	movl   $0x41a004,(%esi)
4015ef:	8b c6                	mov    %esi,%eax
4015f1:	5e                   	pop    %esi
4015f2:	5d                   	pop    %ebp
4015f3:	c2 04 00             	ret    $0x4
4015f6:	55                   	push   %ebp
4015f7:	8b ec                	mov    %esp,%ebp
4015f9:	56                   	push   %esi
4015fa:	ff 75 10             	push   0x10(%ebp)
4015fd:	8b f1                	mov    %ecx,%esi
4015ff:	e8 89 ff ff ff       	call   0x40158d
401604:	8b 45 08             	mov    0x8(%ebp),%eax
401607:	89 46 0c             	mov    %eax,0xc(%esi)
40160a:	8b 45 0c             	mov    0xc(%ebp),%eax
40160d:	89 46 10             	mov    %eax,0x10(%esi)
401610:	c7 06 50 a0 41 00    	movl   $0x41a050,(%esi)
401616:	8b c6                	mov    %esi,%eax
401618:	5e                   	pop    %esi
401619:	5d                   	pop    %ebp
40161a:	c2 0c 00             	ret    $0xc
40161d:	6a 1c                	push   $0x1c
40161f:	b8 7e 7c 41 00       	mov    $0x417c7e,%eax
401624:	e8 03 48 00 00       	call   0x405e2c
401629:	8b f1                	mov    %ecx,%esi
40162b:	8b 45 08             	mov    0x8(%ebp),%eax
40162e:	50                   	push   %eax
40162f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401632:	e8 36 fb ff ff       	call   0x40116d
401637:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40163a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40163e:	8d 45 d8             	lea    -0x28(%ebp),%eax
401641:	50                   	push   %eax
401642:	ff 71 04             	push   0x4(%ecx)
401645:	ff 31                	push   (%ecx)
401647:	8b ce                	mov    %esi,%ecx
401649:	e8 a8 ff ff ff       	call   0x4015f6
40164e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401651:	e8 46 fb ff ff       	call   0x40119c
401656:	c7 06 5c a0 41 00    	movl   $0x41a05c,(%esi)
40165c:	8b c6                	mov    %esi,%eax
40165e:	e8 87 47 00 00       	call   0x405dea
401663:	c2 08 00             	ret    $0x8
401666:	55                   	push   %ebp
401667:	8b ec                	mov    %esp,%ebp
401669:	83 e4 f8             	and    $0xfffffff8,%esp
40166c:	8b 45 08             	mov    0x8(%ebp),%eax
40166f:	83 e0 17             	and    $0x17,%eax
401672:	89 41 0c             	mov    %eax,0xc(%ecx)
401675:	8b 49 10             	mov    0x10(%ecx),%ecx
401678:	83 ec 20             	sub    $0x20,%esp
40167b:	23 c8                	and    %eax,%ecx
40167d:	74 6d                	je     0x4016ec
40167f:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
401683:	75 6d                	jne    0x4016f2
401685:	8d 44 24 04          	lea    0x4(%esp),%eax
401689:	c7 44 24 04 01 00 00 	movl   $0x1,0x4(%esp)
401690:	00
401691:	c7 44 24 08 b8 19 42 	movl   $0x4219b8,0x8(%esp)
401698:	00
401699:	50                   	push   %eax
40169a:	f6 c1 04             	test   $0x4,%cl
40169d:	74 1a                	je     0x4016b9
40169f:	68 08 d4 41 00       	push   $0x41d408
4016a4:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4016a8:	e8 70 ff ff ff       	call   0x40161d
4016ad:	68 24 e8 41 00       	push   $0x41e824
4016b2:	8d 44 24 10          	lea    0x10(%esp),%eax