4133ab:	85 c0                	test   %eax,%eax
4133ad:	74 11                	je     0x4133c0
4133af:	56                   	push   %esi
4133b0:	ff 75 0c             	push   0xc(%ebp)
4133b3:	57                   	push   %edi
4133b4:	e8 cf f6 ff ff       	call   0x412a88
4133b9:	83 c4 0c             	add    $0xc,%esp
4133bc:	8b f8                	mov    %eax,%edi
4133be:	eb 1e                	jmp    0x4133de
4133c0:	e8 ac 92 00 00       	call   0x41c671
4133c5:	6a 2a                	push   $0x2a
4133c7:	5f                   	pop    %edi
4133c8:	89 38                	mov    %edi,(%eax)
4133ca:	eb 12                	jmp    0x4133de
4133cc:	e8 a0 92 00 00       	call   0x41c671
4133d1:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4133d7:	e8 95 92 00 00       	call   0x41c671
4133dc:	8b 38                	mov    (%eax),%edi
4133de:	56                   	push   %esi
4133df:	e8 14 00 00 00       	call   0x4133f8
4133e4:	59                   	pop    %ecx
4133e5:	8b c7                	mov    %edi,%eax
4133e7:	8d 65 f0             	lea    -0x10(%ebp),%esp
4133ea:	5f                   	pop    %edi
4133eb:	5e                   	pop    %esi
4133ec:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4133ef:	33 cd                	xor    %ebp,%ecx
4133f1:	e8 b1 68 ff ff       	call   0x409ca7
4133f6:	c9                   	leave
4133f7:	c3                   	ret
4133f8:	8b ff                	mov    %edi,%edi
4133fa:	55                   	push   %ebp
4133fb:	8b ec                	mov    %esp,%ebp
4133fd:	8b 45 08             	mov    0x8(%ebp),%eax
413400:	85 c0                	test   %eax,%eax
413402:	74 12                	je     0x413416
413404:	83 e8 08             	sub    $0x8,%eax
413407:	81 38 dd dd 00 00    	cmpl   $0xdddd,(%eax)
41340d:	75 07                	jne    0x413416
41340f:	50                   	push   %eax
413410:	e8 fb 37 ff ff       	call   0x406c10
413415:	59                   	pop    %ecx
413416:	5d                   	pop    %ebp
413417:	c3                   	ret
413418:	8b ff                	mov    %edi,%edi
41341a:	55                   	push   %ebp
41341b:	8b ec                	mov    %esp,%ebp
41341d:	6a 00                	push   $0x0
41341f:	ff 75 0c             	push   0xc(%ebp)
413422:	ff 75 08             	push   0x8(%ebp)
413425:	e8 05 00 00 00       	call   0x41342f
41342a:	83 c4 0c             	add    $0xc,%esp
41342d:	5d                   	pop    %ebp
41342e:	c3                   	ret
41342f:	8b ff                	mov    %edi,%edi
413431:	55                   	push   %ebp
413432:	8b ec                	mov    %esp,%ebp
413434:	83 ec 10             	sub    $0x10,%esp
413437:	ff 75 10             	push   0x10(%ebp)
41343a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41343d:	e8 b2 fd ff ff       	call   0x4131f4
413442:	8d 45 f4             	lea    -0xc(%ebp),%eax
413445:	50                   	push   %eax
413446:	ff 75 0c             	push   0xc(%ebp)
413449:	ff 75 08             	push   0x8(%ebp)
41344c:	e8 2e fe ff ff       	call   0x41327f
413451:	83 c4 0c             	add    $0xc,%esp
413454:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
413458:	74 0a                	je     0x413464
41345a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41345d:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
413464:	c9                   	leave
413465:	c3                   	ret
413466:	6a 10                	push   $0x10
413468:	68 38 ab 43 00       	push   $0x43ab38
41346d:	e8 5e 70 ff ff       	call   0x40a4d0
413472:	8b 75 08             	mov    0x8(%ebp),%esi
413475:	85 f6                	test   %esi,%esi
413477:	75 14                	jne    0x41348d
413479:	e8 f3 91 00 00       	call   0x41c671
41347e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413484:	e8 65 9f ff ff       	call   0x40d3ee
413489:	33 c0                	xor    %eax,%eax
41348b:	eb 65                	jmp    0x4134f2
41348d:	8b 7d 0c             	mov    0xc(%ebp),%edi
413490:	85 ff                	test   %edi,%edi
413492:	74 e5                	je     0x413479
413494:	33 db                	xor    %ebx,%ebx
413496:	66 39 1f             	cmp    %bx,(%edi)
413499:	74 de                	je     0x413479
41349b:	66 39 1e             	cmp    %bx,(%esi)
41349e:	75 0d                	jne    0x4134ad
4134a0:	e8 cc 91 00 00       	call   0x41c671
4134a5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4134ab:	eb dc                	jmp    0x413489
4134ad:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4134b0:	50                   	push   %eax
4134b1:	e8 fe bf 00 00       	call   0x41f4b4
4134b6:	59                   	pop    %ecx
4134b7:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
4134ba:	75 0d                	jne    0x4134c9
4134bc:	e8 b0 91 00 00       	call   0x41c671
4134c1:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
4134c7:	eb c0                	jmp    0x413489
4134c9:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4134cc:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4134cf:	ff 75 e4             	push   -0x1c(%ebp)
4134d2:	ff 75 10             	push   0x10(%ebp)
4134d5:	57                   	push   %edi
4134d6:	56                   	push   %esi
4134d7:	e8 40 c5 00 00       	call   0x41fa1c
4134dc:	83 c4 10             	add    $0x10,%esp
4134df:	8b f0                	mov    %eax,%esi
4134e1:	89 75 e0             	mov    %esi,-0x20(%ebp)
4134e4:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4134eb:	e8 15 00 00 00       	call   0x413505
4134f0:	8b c6                	mov    %esi,%eax
4134f2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4134f5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4134fc:	59                   	pop    %ecx
4134fd:	5f                   	pop    %edi
4134fe:	5e                   	pop    %esi
4134ff:	5b                   	pop    %ebx
413500:	c9                   	leave
413501:	c3                   	ret
413502:	8b 75 e0             	mov    -0x20(%ebp),%esi
413505:	85 f6                	test   %esi,%esi
413507:	75 09                	jne    0x413512
413509:	ff 75 e4             	push   -0x1c(%ebp)
41350c:	e8 0c c0 00 00       	call   0x41f51d
413511:	59                   	pop    %ecx
413512:	ff 75 e4             	push   -0x1c(%ebp)
413515:	e8 cb a4 00 00       	call   0x41d9e5
41351a:	59                   	pop    %ecx
41351b:	c3                   	ret
41351c:	8b ff                	mov    %edi,%edi
41351e:	55                   	push   %ebp
41351f:	8b ec                	mov    %esp,%ebp
413521:	56                   	push   %esi
413522:	8b 75 08             	mov    0x8(%ebp),%esi
413525:	85 f6                	test   %esi,%esi
413527:	75 11                	jne    0x41353a
413529:	e8 43 91 00 00       	call   0x41c671
41352e:	6a 16                	push   $0x16
413530:	5e                   	pop    %esi
413531:	89 30                	mov    %esi,(%eax)
413533:	e8 b6 9e ff ff       	call   0x40d3ee
413538:	eb 24                	jmp    0x41355e
41353a:	68 80 00 00 00       	push   $0x80
41353f:	ff 75 10             	push   0x10(%ebp)
413542:	ff 75 0c             	push   0xc(%ebp)
413545:	e8 1c ff ff ff       	call   0x413466
41354a:	83 c4 0c             	add    $0xc,%esp
41354d:	89 06                	mov    %eax,(%esi)
41354f:	85 c0                	test   %eax,%eax
413551:	75 09                	jne    0x41355c
413553:	e8 19 91 00 00       	call   0x41c671
413558:	8b 30                	mov    (%eax),%esi
41355a:	eb 02                	jmp    0x41355e
41355c:	33 f6                	xor    %esi,%esi
41355e:	8b c6                	mov    %esi,%eax
413560:	5e                   	pop    %esi
413561:	5d                   	pop    %ebp
413562:	c3                   	ret
413563:	8b ff                	mov    %edi,%edi
413565:	55                   	push   %ebp
413566:	8b ec                	mov    %esp,%ebp
413568:	5d                   	pop    %ebp
413569:	e9 f8 fe ff ff       	jmp    0x413466
41356e:	6a 10                	push   $0x10
413570:	68 58 ab 43 00       	push   $0x43ab58
413575:	e8 56 6f ff ff       	call   0x40a4d0
41357a:	8b 75 08             	mov    0x8(%ebp),%esi
41357d:	89 75 e0             	mov    %esi,-0x20(%ebp)
413580:	85 f6                	test   %esi,%esi
413582:	75 23                	jne    0x4135a7
413584:	8b 45 0c             	mov    0xc(%ebp),%eax
413587:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41358b:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
413592:	50                   	push   %eax
413593:	33 ff                	xor    %edi,%edi
413595:	57                   	push   %edi
413596:	57                   	push   %edi
413597:	57                   	push   %edi
413598:	57                   	push   %edi
413599:	57                   	push   %edi
41359a:	e8 d2 9d ff ff       	call   0x40d371
41359f:	83 c4 18             	add    $0x18,%esp
4135a2:	83 c8 ff             	or     $0xffffffff,%eax
4135a5:	eb 40                	jmp    0x4135e7
4135a7:	8b 46 0c             	mov    0xc(%esi),%eax
4135aa:	90                   	nop
4135ab:	c1 e8 0c             	shr    $0xc,%eax
4135ae:	56                   	push   %esi
4135af:	a8 01                	test   $0x1,%al
4135b1:	74 08                	je     0x4135bb
4135b3:	e8 65 bf 00 00       	call   0x41f51d
4135b8:	59                   	pop    %ecx
4135b9:	eb e7                	jmp    0x4135a2
4135bb:	33 ff                	xor    %edi,%edi
4135bd:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4135c0:	e8 0c a4 00 00       	call   0x41d9d1
4135c5:	59                   	pop    %ecx
4135c6:	89 7d fc             	mov    %edi,-0x4(%ebp)
4135c9:	ff 75 0c             	push   0xc(%ebp)
4135cc:	56                   	push   %esi
4135cd:	e8 33 00 00 00       	call   0x413605
4135d2:	59                   	pop    %ecx
4135d3:	59                   	pop    %ecx
4135d4:	8b f8                	mov    %eax,%edi
4135d6:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4135d9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4135e0:	e8 18 00 00 00       	call   0x4135fd
4135e5:	8b c7                	mov    %edi,%eax
4135e7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4135ea:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4135f1:	59                   	pop    %ecx
4135f2:	5f                   	pop    %edi
4135f3:	5e                   	pop    %esi
4135f4:	5b                   	pop    %ebx
4135f5:	c9                   	leave
4135f6:	c3                   	ret
4135f7:	8b 75 e0             	mov    -0x20(%ebp),%esi
4135fa:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4135fd:	56                   	push   %esi
4135fe:	e8 e2 a3 00 00       	call   0x41d9e5
413603:	59                   	pop    %ecx
413604:	c3                   	ret
413605:	8b ff                	mov    %edi,%edi
413607:	55                   	push   %ebp
413608:	8b ec                	mov    %esp,%ebp
41360a:	56                   	push   %esi
41360b:	8b 75 08             	mov    0x8(%ebp),%esi
41360e:	85 f6                	test   %esi,%esi
413610:	75 23                	jne    0x413635
413612:	8b 45 0c             	mov    0xc(%ebp),%eax
413615:	50                   	push   %eax
413616:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41361a:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
413621:	33 c0                	xor    %eax,%eax
413623:	50                   	push   %eax
413624:	50                   	push   %eax
413625:	50                   	push   %eax
413626:	50                   	push   %eax
413627:	50                   	push   %eax
413628:	e8 44 9d ff ff       	call   0x40d371
41362d:	83 c4 18             	add    $0x18,%esp
413630:	83 c8 ff             	or     $0xffffffff,%eax
413633:	eb 5b                	jmp    0x413690
413635:	8b 46 0c             	mov    0xc(%esi),%eax
413638:	57                   	push   %edi
413639:	83 cf ff             	or     $0xffffffff,%edi
41363c:	90                   	nop
41363d:	c1 e8 0d             	shr    $0xd,%eax
413640:	a8 01                	test   $0x1,%al
413642:	74 42                	je     0x413686
413644:	ff 75 0c             	push   0xc(%ebp)
413647:	56                   	push   %esi
413648:	e8 57 c8 00 00       	call   0x41fea4
41364d:	56                   	push   %esi
41364e:	8b f8                	mov    %eax,%edi
413650:	e8 d6 c5 00 00       	call   0x41fc2b
413655:	83 c4 0c             	add    $0xc,%esp
413658:	ff 75 0c             	push   0xc(%ebp)
41365b:	56                   	push   %esi
41365c:	e8 df a1 00 00       	call   0x41d840
413661:	59                   	pop    %ecx
413662:	50                   	push   %eax
413663:	e8 50 c4 00 00       	call   0x41fab8
413668:	59                   	pop    %ecx
413669:	59                   	pop    %ecx
41366a:	85 c0                	test   %eax,%eax
41366c:	79 05                	jns    0x413673
41366e:	83 cf ff             	or     $0xffffffff,%edi
413671:	eb 13                	jmp    0x413686
413673:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
413677:	74 0d                	je     0x413686
413679:	ff 76 1c             	push   0x1c(%esi)
41367c:	e8 8f 35 ff ff       	call   0x406c10
413681:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
413685:	59                   	pop    %ecx
413686:	56                   	push   %esi
413687:	e8 91 be 00 00       	call   0x41f51d
41368c:	59                   	pop    %ecx
41368d:	8b c7                	mov    %edi,%eax
41368f:	5f                   	pop    %edi
413690:	5e                   	pop    %esi
413691:	5d                   	pop    %ebp
413692:	c3                   	ret
413693:	8b ff                	mov    %edi,%edi
413695:	55                   	push   %ebp
413696:	8b ec                	mov    %esp,%ebp
413698:	83 ec 28             	sub    $0x28,%esp
41369b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41369e:	56                   	push   %esi
41369f:	6a 00                	push   $0x0
4136a1:	e8 3c 9a ff ff       	call   0x40d0e2
4136a6:	8d 45 d8             	lea    -0x28(%ebp),%eax
4136a9:	50                   	push   %eax
4136aa:	ff 75 08             	push   0x8(%ebp)
4136ad:	e8 bc fe ff ff       	call   0x41356e
4136b2:	59                   	pop    %ecx
4136b3:	59                   	pop    %ecx
4136b4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4136b7:	8b f0                	mov    %eax,%esi
4136b9:	e8 6c 9a ff ff       	call   0x40d12a
4136be:	8b c6                	mov    %esi,%eax
4136c0:	5e                   	pop    %esi
4136c1:	c9                   	leave
4136c2:	c3                   	ret
4136c3:	6a 18                	push   $0x18
4136c5:	68 78 ab 43 00       	push   $0x43ab78
4136ca:	e8 01 6e ff ff       	call   0x40a4d0
4136cf:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4136d3:	75 0f                	jne    0x4136e4
4136d5:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4136d9:	74 09                	je     0x4136e4
4136db:	33 db                	xor    %ebx,%ebx
4136dd:	8b c3                	mov    %ebx,%eax
4136df:	33 f6                	xor    %esi,%esi
4136e1:	46                   	inc    %esi
4136e2:	eb 07                	jmp    0x4136eb
4136e4:	33 f6                	xor    %esi,%esi
4136e6:	46                   	inc    %esi
4136e7:	8b c6                	mov    %esi,%eax
4136e9:	33 db                	xor    %ebx,%ebx
4136eb:	85 c0                	test   %eax,%eax
4136ed:	75 14                	jne    0x413703
4136ef:	e8 7d 8f 00 00       	call   0x41c671
4136f4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4136fa:	e8 ef 9c ff ff       	call   0x40d3ee
4136ff:	33 c0                	xor    %eax,%eax
413701:	eb 68                	jmp    0x41376b
413703:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
413707:	7c e6                	jl     0x4136ef
413709:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41370d:	74 e0                	je     0x4136ef
41370f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
413713:	74 ea                	je     0x4136ff
413715:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
413718:	ff 75 10             	push   0x10(%ebp)
41371b:	e8 b1 a2 00 00       	call   0x41d9d1
413720:	59                   	pop    %ecx
413721:	89 5d fc             	mov    %ebx,-0x4(%ebp)
413724:	ff 75 10             	push   0x10(%ebp)
413727:	e8 73 e2 ff ff       	call   0x41199f
41372c:	59                   	pop    %ecx
41372d:	84 c0                	test   %al,%al
41372f:	74 2c                	je     0x41375d
413731:	8b 7d 08             	mov    0x8(%ebp),%edi