4194f3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4194f6:	66 f7 46 0c 0c 01    	testw  $0x10c,0xc(%esi)
4194fc:	74 2a                	je     0x419528
4194fe:	8b 46 04             	mov    0x4(%esi),%eax
419501:	85 c0                	test   %eax,%eax
419503:	74 23                	je     0x419528
419505:	3b c8                	cmp    %eax,%ecx
419507:	8b f9                	mov    %ecx,%edi
419509:	72 02                	jb     0x41950d
41950b:	8b f8                	mov    %eax,%edi
41950d:	57                   	push   %edi
41950e:	ff 36                	push   (%esi)
419510:	53                   	push   %ebx
419511:	e8 5a e3 ff ff       	call   0x417870
419516:	29 7d 08             	sub    %edi,0x8(%ebp)
419519:	29 7e 04             	sub    %edi,0x4(%esi)
41951c:	01 3e                	add    %edi,(%esi)
41951e:	83 c4 0c             	add    $0xc,%esp
419521:	03 df                	add    %edi,%ebx
419523:	8b 7d f8             	mov    -0x8(%ebp),%edi
419526:	eb 4b                	jmp    0x419573
419528:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
41952b:	72 2e                	jb     0x41955b
41952d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
419531:	8b c1                	mov    %ecx,%eax
419533:	74 09                	je     0x41953e
419535:	33 d2                	xor    %edx,%edx
419537:	f7 75 fc             	divl   -0x4(%ebp)
41953a:	8b c1                	mov    %ecx,%eax
41953c:	2b c2                	sub    %edx,%eax
41953e:	50                   	push   %eax
41953f:	53                   	push   %ebx
419540:	ff 76 10             	push   0x10(%esi)
419543:	e8 f4 93 00 00       	call   0x42293c
419548:	83 c4 0c             	add    $0xc,%esp
41954b:	85 c0                	test   %eax,%eax
41954d:	74 36                	je     0x419585
41954f:	83 f8 ff             	cmp    $0xffffffff,%eax
419552:	74 41                	je     0x419595
419554:	29 45 08             	sub    %eax,0x8(%ebp)
419557:	03 d8                	add    %eax,%ebx
419559:	eb 18                	jmp    0x419573
41955b:	56                   	push   %esi
41955c:	e8 1f 91 00 00       	call   0x422680
419561:	83 f8 ff             	cmp    $0xffffffff,%eax
419564:	59                   	pop    %ecx
419565:	74 22                	je     0x419589
419567:	88 03                	mov    %al,(%ebx)
419569:	8b 46 18             	mov    0x18(%esi),%eax
41956c:	43                   	inc    %ebx
41956d:	ff 4d 08             	decl   0x8(%ebp)
419570:	89 45 fc             	mov    %eax,-0x4(%ebp)
419573:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
419577:	0f 85 76 ff ff ff    	jne    0x4194f3
41957d:	8b 45 10             	mov    0x10(%ebp),%eax
419580:	5e                   	pop    %esi
419581:	5f                   	pop    %edi
419582:	5b                   	pop    %ebx
419583:	c9                   	leave
419584:	c3                   	ret
419585:	83 4e 0c 10          	orl    $0x10,0xc(%esi)
419589:	8b c7                	mov    %edi,%eax
41958b:	2b 45 08             	sub    0x8(%ebp),%eax
41958e:	33 d2                	xor    %edx,%edx
419590:	f7 75 0c             	divl   0xc(%ebp)
419593:	eb eb                	jmp    0x419580
419595:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
419599:	eb ee                	jmp    0x419589
41959b:	6a 0c                	push   $0xc
41959d:	68 50 1d 49 00       	push   $0x491d50
4195a2:	e8 41 ec ff ff       	call   0x4181e8
4195a7:	ff 75 14             	push   0x14(%ebp)
4195aa:	e8 1a 59 00 00       	call   0x41eec9
4195af:	59                   	pop    %ecx
4195b0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4195b4:	ff 75 14             	push   0x14(%ebp)
4195b7:	ff 75 10             	push   0x10(%ebp)
4195ba:	ff 75 0c             	push   0xc(%ebp)
4195bd:	ff 75 08             	push   0x8(%ebp)
4195c0:	e8 ed fe ff ff       	call   0x4194b2
4195c5:	83 c4 10             	add    $0x10,%esp
4195c8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4195cb:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4195cf:	e8 09 00 00 00       	call   0x4195dd
4195d4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4195d7:	e8 47 ec ff ff       	call   0x418223
4195dc:	c3                   	ret
4195dd:	ff 75 14             	push   0x14(%ebp)
4195e0:	e8 36 59 00 00       	call   0x41ef1b
4195e5:	59                   	pop    %ecx
4195e6:	c3                   	ret
4195e7:	55                   	push   %ebp
4195e8:	8b ec                	mov    %esp,%ebp
4195ea:	51                   	push   %ecx
4195eb:	51                   	push   %ecx
4195ec:	8b 45 08             	mov    0x8(%ebp),%eax
4195ef:	53                   	push   %ebx
4195f0:	57                   	push   %edi
4195f1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4195f4:	0f af 7d 10          	imul   0x10(%ebp),%edi
4195f8:	85 ff                	test   %edi,%edi
4195fa:	89 45 08             	mov    %eax,0x8(%ebp)
4195fd:	89 7d f8             	mov    %edi,-0x8(%ebp)
419600:	8b df                	mov    %edi,%ebx
419602:	75 07                	jne    0x41960b
419604:	33 c0                	xor    %eax,%eax
419606:	e9 cb 00 00 00       	jmp    0x4196d6
41960b:	56                   	push   %esi
41960c:	8b 75 14             	mov    0x14(%ebp),%esi
41960f:	66 f7 46 0c 0c 01    	testw  $0x10c,0xc(%esi)
419615:	74 08                	je     0x41961f
419617:	8b 46 18             	mov    0x18(%esi),%eax
41961a:	89 45 fc             	mov    %eax,-0x4(%ebp)
41961d:	eb 07                	jmp    0x419626
41961f:	c7 45 fc 00 10 00 00 	movl   $0x1000,-0x4(%ebp)
419626:	8b 4e 0c             	mov    0xc(%esi),%ecx
419629:	81 e1 08 01 00 00    	and    $0x108,%ecx
41962f:	74 29                	je     0x41965a
419631:	8b 46 04             	mov    0x4(%esi),%eax
419634:	85 c0                	test   %eax,%eax
419636:	74 22                	je     0x41965a
419638:	3b d8                	cmp    %eax,%ebx
41963a:	8b fb                	mov    %ebx,%edi
41963c:	72 02                	jb     0x419640
41963e:	8b f8                	mov    %eax,%edi
419640:	57                   	push   %edi
419641:	ff 75 08             	push   0x8(%ebp)
419644:	ff 36                	push   (%esi)
419646:	e8 25 e2 ff ff       	call   0x417870
41964b:	29 7e 04             	sub    %edi,0x4(%esi)
41964e:	01 3e                	add    %edi,(%esi)
419650:	83 c4 0c             	add    $0xc,%esp
419653:	2b df                	sub    %edi,%ebx
419655:	01 7d 08             	add    %edi,0x8(%ebp)
419658:	eb 42                	jmp    0x41969c
41965a:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
41965d:	72 42                	jb     0x4196a1
41965f:	85 c9                	test   %ecx,%ecx
419661:	74 0b                	je     0x41966e
419663:	56                   	push   %esi
419664:	e8 43 04 00 00       	call   0x419aac
419669:	85 c0                	test   %eax,%eax
41966b:	59                   	pop    %ecx
41966c:	75 6c                	jne    0x4196da
41966e:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
419672:	8b fb                	mov    %ebx,%edi
419674:	74 09                	je     0x41967f
419676:	33 d2                	xor    %edx,%edx
419678:	8b c3                	mov    %ebx,%eax
41967a:	f7 75 fc             	divl   -0x4(%ebp)
41967d:	2b fa                	sub    %edx,%edi
41967f:	57                   	push   %edi
419680:	ff 75 08             	push   0x8(%ebp)
419683:	ff 76 10             	push   0x10(%esi)
419686:	e8 2a 95 00 00       	call   0x422bb5
41968b:	83 c4 0c             	add    $0xc,%esp
41968e:	83 f8 ff             	cmp    $0xffffffff,%eax
419691:	74 52                	je     0x4196e5
419693:	01 45 08             	add    %eax,0x8(%ebp)
419696:	2b d8                	sub    %eax,%ebx
419698:	3b c7                	cmp    %edi,%eax
41969a:	72 49                	jb     0x4196e5
41969c:	8b 7d f8             	mov    -0x8(%ebp),%edi
41969f:	eb 29                	jmp    0x4196ca
4196a1:	8b 45 08             	mov    0x8(%ebp),%eax
4196a4:	0f be 00             	movsbl (%eax),%eax
4196a7:	56                   	push   %esi
4196a8:	50                   	push   %eax
4196a9:	e8 2c 4c 00 00       	call   0x41e2da
4196ae:	83 f8 ff             	cmp    $0xffffffff,%eax
4196b1:	59                   	pop    %ecx
4196b2:	59                   	pop    %ecx
4196b3:	74 25                	je     0x4196da
4196b5:	ff 45 08             	incl   0x8(%ebp)
4196b8:	8b 46 18             	mov    0x18(%esi),%eax
4196bb:	4b                   	dec    %ebx
4196bc:	85 c0                	test   %eax,%eax
4196be:	89 45 fc             	mov    %eax,-0x4(%ebp)
4196c1:	7f 07                	jg     0x4196ca
4196c3:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4196ca:	85 db                	test   %ebx,%ebx
4196cc:	0f 85 54 ff ff ff    	jne    0x419626
4196d2:	8b 45 10             	mov    0x10(%ebp),%eax
4196d5:	5e                   	pop    %esi
4196d6:	5f                   	pop    %edi
4196d7:	5b                   	pop    %ebx
4196d8:	c9                   	leave
4196d9:	c3                   	ret
4196da:	8b c7                	mov    %edi,%eax
4196dc:	2b c3                	sub    %ebx,%eax
4196de:	33 d2                	xor    %edx,%edx
4196e0:	f7 75 0c             	divl   0xc(%ebp)
4196e3:	eb f0                	jmp    0x4196d5
4196e5:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
4196e9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4196ec:	eb ee                	jmp    0x4196dc
4196ee:	6a 0c                	push   $0xc
4196f0:	68 60 1d 49 00       	push   $0x491d60
4196f5:	e8 ee ea ff ff       	call   0x4181e8
4196fa:	ff 75 14             	push   0x14(%ebp)
4196fd:	e8 c7 57 00 00       	call   0x41eec9
419702:	59                   	pop    %ecx
419703:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419707:	ff 75 14             	push   0x14(%ebp)
41970a:	ff 75 10             	push   0x10(%ebp)
41970d:	ff 75 0c             	push   0xc(%ebp)
419710:	ff 75 08             	push   0x8(%ebp)
419713:	e8 cf fe ff ff       	call   0x4195e7
419718:	83 c4 10             	add    $0x10,%esp
41971b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41971e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
419722:	e8 09 00 00 00       	call   0x419730
419727:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41972a:	e8 f4 ea ff ff       	call   0x418223
41972f:	c3                   	ret
419730:	ff 75 14             	push   0x14(%ebp)
419733:	e8 e3 57 00 00       	call   0x41ef1b
419738:	59                   	pop    %ecx
419739:	c3                   	ret
41973a:	6a 14                	push   $0x14
41973c:	68 70 1d 49 00       	push   $0x491d70
419741:	e8 a2 ea ff ff       	call   0x4181e8
419746:	ff 75 08             	push   0x8(%ebp)
419749:	e8 a2 e4 ff ff       	call   0x417bf0
41974e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
419751:	8b 75 0c             	mov    0xc(%ebp),%esi
419754:	56                   	push   %esi
419755:	e8 6f 57 00 00       	call   0x41eec9
41975a:	59                   	pop    %ecx
41975b:	59                   	pop    %ecx
41975c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419760:	56                   	push   %esi
419761:	e8 07 58 00 00       	call   0x41ef6d
419766:	89 45 e0             	mov    %eax,-0x20(%ebp)
419769:	56                   	push   %esi
41976a:	ff 75 e4             	push   -0x1c(%ebp)
41976d:	6a 01                	push   $0x1
41976f:	ff 75 08             	push   0x8(%ebp)
419772:	e8 70 fe ff ff       	call   0x4195e7
419777:	89 45 dc             	mov    %eax,-0x24(%ebp)
41977a:	56                   	push   %esi
41977b:	ff 75 e0             	push   -0x20(%ebp)
41977e:	e8 72 58 00 00       	call   0x41eff5
419783:	83 c4 1c             	add    $0x1c,%esp
419786:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41978a:	e8 12 00 00 00       	call   0x4197a1
41978f:	33 c0                	xor    %eax,%eax
419791:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
419794:	39 4d dc             	cmp    %ecx,-0x24(%ebp)
419797:	0f 94 c0             	sete   %al
41979a:	48                   	dec    %eax
41979b:	e8 83 ea ff ff       	call   0x418223
4197a0:	c3                   	ret
4197a1:	ff 75 0c             	push   0xc(%ebp)
4197a4:	e8 72 57 00 00       	call   0x41ef1b
4197a9:	59                   	pop    %ecx
4197aa:	c3                   	ret
4197ab:	6a 18                	push   $0x18
4197ad:	68 80 1d 49 00       	push   $0x491d80
4197b2:	e8 31 ea ff ff       	call   0x4181e8
4197b7:	8b 5d 08             	mov    0x8(%ebp),%ebx
4197ba:	8b fb                	mov    %ebx,%edi
4197bc:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4197bf:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4197c3:	7f 04                	jg     0x4197c9
4197c5:	33 c0                	xor    %eax,%eax
4197c7:	eb 57                	jmp    0x419820
4197c9:	8b 75 10             	mov    0x10(%ebp),%esi
4197cc:	89 75 e0             	mov    %esi,-0x20(%ebp)
4197cf:	56                   	push   %esi
4197d0:	e8 f4 56 00 00       	call   0x41eec9
4197d5:	59                   	pop    %ecx
4197d6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4197da:	ff 4d 0c             	decl   0xc(%ebp)
4197dd:	74 32                	je     0x419811
4197df:	ff 4e 04             	decl   0x4(%esi)
4197e2:	78 0a                	js     0x4197ee
4197e4:	8b 0e                	mov    (%esi),%ecx
4197e6:	0f b6 01             	movzbl (%ecx),%eax
4197e9:	41                   	inc    %ecx
4197ea:	89 0e                	mov    %ecx,(%esi)
4197ec:	eb 07                	jmp    0x4197f5
4197ee:	56                   	push   %esi
4197ef:	e8 8c 8e 00 00       	call   0x422680
4197f4:	59                   	pop    %ecx
4197f5:	89 45 dc             	mov    %eax,-0x24(%ebp)
4197f8:	83 f8 ff             	cmp    $0xffffffff,%eax
4197fb:	75 0a                	jne    0x419807
4197fd:	3b fb                	cmp    %ebx,%edi
4197ff:	75 10                	jne    0x419811
419801:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
419805:	eb 0d                	jmp    0x419814
419807:	88 07                	mov    %al,(%edi)
419809:	47                   	inc    %edi
41980a:	89 7d d8             	mov    %edi,-0x28(%ebp)
41980d:	3c 0a                	cmp    $0xa,%al
41980f:	75 c9                	jne    0x4197da
419811:	c6 07 00             	movb   $0x0,(%edi)
419814:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
419818:	e8 0c 00 00 00       	call   0x419829
41981d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
419820:	e8 fe e9 ff ff       	call   0x418223
419825:	c3                   	ret
419826:	8b 75 e0             	mov    -0x20(%ebp),%esi
419829:	56                   	push   %esi
41982a:	e8 ec 56 00 00       	call   0x41ef1b
41982f:	59                   	pop    %ecx
419830:	c3                   	ret
419831:	55                   	push   %ebp
419832:	8b ec                	mov    %esp,%ebp
419834:	83 ec 0c             	sub    $0xc,%esp
419837:	53                   	push   %ebx
419838:	56                   	push   %esi
419839:	57                   	push   %edi
41983a:	8b 7d 08             	mov    0x8(%ebp),%edi
41983d:	8b 77 10             	mov    0x10(%edi),%esi
419840:	33 db                	xor    %ebx,%ebx
419842:	39 5f 04             	cmp    %ebx,0x4(%edi)
419845:	89 75 f4             	mov    %esi,-0xc(%ebp)
419848:	7d 03                	jge    0x41984d
41984a:	89 5f 04             	mov    %ebx,0x4(%edi)
41984d:	6a 01                	push   $0x1
41984f:	53                   	push   %ebx
419850:	56                   	push   %esi
419851:	e8 7e 94 00 00       	call   0x422cd4
419856:	83 c4 0c             	add    $0xc,%esp
419859:	3b c3                	cmp    %ebx,%eax
41985b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41985e:	7c 6e                	jl     0x4198ce
419860:	8b 4f 0c             	mov    0xc(%edi),%ecx
419863:	66 f7 c1 08 01       	test   $0x108,%cx
419868:	75 08                	jne    0x419872
41986a:	2b 47 04             	sub    0x4(%edi),%eax
41986d:	e9 1c 01 00 00       	jmp    0x41998e
419872:	8b 07                	mov    (%edi),%eax
419874:	8b 57 08             	mov    0x8(%edi),%edx
419877:	8b d8                	mov    %eax,%ebx
419879:	2b da                	sub    %edx,%ebx
41987b:	f6 c1 03             	test   $0x3,%cl
41987e:	89 5d f8             	mov    %ebx,-0x8(%ebp)
419881:	74 3c                	je     0x4198bf
419883:	8b de                	mov    %esi,%ebx
419885:	8b ce                	mov    %esi,%ecx
419887:	c1 fb 05             	sar    $0x5,%ebx
41988a:	8b 1c 9d c0 cc 4a 00 	mov    0x4accc0(,%ebx,4),%ebx
419891:	83 e1 1f             	and    $0x1f,%ecx
419894:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
419897:	f6 44 8b 04 80       	testb  $0x80,0x4(%ebx,%ecx,4)
41989c:	74 13                	je     0x4198b1
41989e:	8b ca                	mov    %edx,%ecx