423399:	6a 00                	push   $0x0
42339b:	53                   	push   %ebx
42339c:	8b ce                	mov    %esi,%ecx
42339e:	e8 09 00 00 00       	call   0x4233ac
4233a3:	5f                   	pop    %edi
4233a4:	89 46 34             	mov    %eax,0x34(%esi)
4233a7:	b0 01                	mov    $0x1,%al
4233a9:	5e                   	pop    %esi
4233aa:	5b                   	pop    %ebx
4233ab:	c3                   	ret
4233ac:	8b ff                	mov    %edi,%edi
4233ae:	55                   	push   %ebp
4233af:	8b ec                	mov    %esp,%ebp
4233b1:	53                   	push   %ebx
4233b2:	56                   	push   %esi
4233b3:	8b f1                	mov    %ecx,%esi
4233b5:	57                   	push   %edi
4233b6:	8b 5e 08             	mov    0x8(%esi),%ebx
4233b9:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
4233bd:	75 07                	jne    0x4233c6
4233bf:	8b cb                	mov    %ebx,%ecx
4233c1:	e8 ba c2 ff ff       	call   0x41f680
4233c6:	8b 76 30             	mov    0x30(%esi),%esi
4233c9:	33 ff                	xor    %edi,%edi
4233cb:	39 7d 08             	cmp    %edi,0x8(%ebp)
4233ce:	7e 28                	jle    0x4233f8
4233d0:	8a 06                	mov    (%esi),%al
4233d2:	84 c0                	test   %al,%al
4233d4:	74 22                	je     0x4233f8
4233d6:	0f b6 c0             	movzbl %al,%eax
4233d9:	68 00 80 00 00       	push   $0x8000
4233de:	50                   	push   %eax
4233df:	8b 43 0c             	mov    0xc(%ebx),%eax
4233e2:	ff 30                	push   (%eax)
4233e4:	e8 0d c3 ff ff       	call   0x41f6f6
4233e9:	83 c4 0c             	add    $0xc,%esp
4233ec:	85 c0                	test   %eax,%eax
4233ee:	74 01                	je     0x4233f1
4233f0:	46                   	inc    %esi
4233f1:	46                   	inc    %esi
4233f2:	47                   	inc    %edi
4233f3:	3b 7d 08             	cmp    0x8(%ebp),%edi
4233f6:	7c d8                	jl     0x4233d0
4233f8:	8b c7                	mov    %edi,%eax
4233fa:	5f                   	pop    %edi
4233fb:	5e                   	pop    %esi
4233fc:	5b                   	pop    %ebx
4233fd:	5d                   	pop    %ebp
4233fe:	c2 08 00             	ret    $0x8
423401:	8b ff                	mov    %edi,%edi
423403:	55                   	push   %ebp
423404:	8b ec                	mov    %esp,%ebp
423406:	33 d2                	xor    %edx,%edx
423408:	39 11                	cmp    %edx,(%ecx)
42340a:	75 20                	jne    0x42342c
42340c:	8b 45 08             	mov    0x8(%ebp),%eax
42340f:	50                   	push   %eax
423410:	52                   	push   %edx
423411:	52                   	push   %edx
423412:	52                   	push   %edx
423413:	52                   	push   %edx
423414:	52                   	push   %edx
423415:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
423419:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
423420:	e8 e1 c4 ff ff       	call   0x41f906
423425:	83 c4 18             	add    $0x18,%esp
423428:	32 c0                	xor    %al,%al
42342a:	eb 02                	jmp    0x42342e
42342c:	b0 01                	mov    $0x1,%al
42342e:	5d                   	pop    %ebp
42342f:	c2 04 00             	ret    $0x4
423432:	8b ff                	mov    %edi,%edi
423434:	55                   	push   %ebp
423435:	8b ec                	mov    %esp,%ebp
423437:	53                   	push   %ebx
423438:	57                   	push   %edi
423439:	8b 7d 0c             	mov    0xc(%ebp),%edi
42343c:	8b d9                	mov    %ecx,%ebx
42343e:	85 ff                	test   %edi,%edi
423440:	74 51                	je     0x423493
423442:	8b 03                	mov    (%ebx),%eax
423444:	56                   	push   %esi
423445:	8b 70 04             	mov    0x4(%eax),%esi
423448:	39 70 08             	cmp    %esi,0x8(%eax)
42344b:	75 0b                	jne    0x423458
42344d:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
423451:	8b 45 10             	mov    0x10(%ebp),%eax
423454:	74 35                	je     0x42348b
423456:	eb 2b                	jmp    0x423483
423458:	2b 70 08             	sub    0x8(%eax),%esi
42345b:	3b f7                	cmp    %edi,%esi
42345d:	72 02                	jb     0x423461
42345f:	8b f7                	mov    %edi,%esi
423461:	56                   	push   %esi
423462:	ff 75 08             	push   0x8(%ebp)
423465:	ff 30                	push   (%eax)
423467:	e8 14 82 ff ff       	call   0x41b680
42346c:	8b 03                	mov    (%ebx),%eax
42346e:	83 c4 0c             	add    $0xc,%esp
423471:	01 30                	add    %esi,(%eax)
423473:	8b 03                	mov    (%ebx),%eax
423475:	01 70 08             	add    %esi,0x8(%eax)
423478:	8b 03                	mov    (%ebx),%eax
42347a:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
42347e:	8b 45 10             	mov    0x10(%ebp),%eax
423481:	74 04                	je     0x423487
423483:	01 38                	add    %edi,(%eax)
423485:	eb 0b                	jmp    0x423492
423487:	3b f7                	cmp    %edi,%esi
423489:	74 05                	je     0x423490
42348b:	83 08 ff             	orl    $0xffffffff,(%eax)
42348e:	eb 02                	jmp    0x423492
423490:	01 30                	add    %esi,(%eax)
423492:	5e                   	pop    %esi
423493:	5f                   	pop    %edi
423494:	5b                   	pop    %ebx
423495:	5d                   	pop    %ebp
423496:	c2 10 00             	ret    $0x10
423499:	8b ff                	mov    %edi,%edi
42349b:	55                   	push   %ebp
42349c:	8b ec                	mov    %esp,%ebp
42349e:	51                   	push   %ecx
42349f:	53                   	push   %ebx
4234a0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4234a3:	8b c1                	mov    %ecx,%eax
4234a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4234a8:	85 db                	test   %ebx,%ebx
4234aa:	74 59                	je     0x423505
4234ac:	8b 00                	mov    (%eax),%eax
4234ae:	57                   	push   %edi
4234af:	8b 78 04             	mov    0x4(%eax),%edi
4234b2:	39 78 08             	cmp    %edi,0x8(%eax)
4234b5:	75 0b                	jne    0x4234c2
4234b7:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
4234bb:	8b 45 10             	mov    0x10(%ebp),%eax
4234be:	74 3d                	je     0x4234fd
4234c0:	eb 33                	jmp    0x4234f5
4234c2:	2b 78 08             	sub    0x8(%eax),%edi
4234c5:	3b fb                	cmp    %ebx,%edi
4234c7:	72 02                	jb     0x4234cb
4234c9:	8b fb                	mov    %ebx,%edi
4234cb:	56                   	push   %esi
4234cc:	8d 34 3f             	lea    (%edi,%edi,1),%esi
4234cf:	56                   	push   %esi
4234d0:	ff 75 08             	push   0x8(%ebp)
4234d3:	ff 30                	push   (%eax)
4234d5:	e8 a6 81 ff ff       	call   0x41b680
4234da:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4234dd:	83 c4 0c             	add    $0xc,%esp
4234e0:	8b 01                	mov    (%ecx),%eax
4234e2:	01 30                	add    %esi,(%eax)
4234e4:	8b 01                	mov    (%ecx),%eax
4234e6:	5e                   	pop    %esi
4234e7:	01 78 08             	add    %edi,0x8(%eax)
4234ea:	8b 01                	mov    (%ecx),%eax
4234ec:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
4234f0:	8b 45 10             	mov    0x10(%ebp),%eax
4234f3:	74 04                	je     0x4234f9
4234f5:	01 18                	add    %ebx,(%eax)
4234f7:	eb 0b                	jmp    0x423504
4234f9:	3b fb                	cmp    %ebx,%edi
4234fb:	74 05                	je     0x423502
4234fd:	83 08 ff             	orl    $0xffffffff,(%eax)
423500:	eb 02                	jmp    0x423504
423502:	01 38                	add    %edi,(%eax)
423504:	5f                   	pop    %edi
423505:	5b                   	pop    %ebx
423506:	c9                   	leave
423507:	c2 10 00             	ret    $0x10
42350a:	8b ff                	mov    %edi,%edi
42350c:	55                   	push   %ebp
42350d:	8b ec                	mov    %esp,%ebp
42350f:	83 ec 28             	sub    $0x28,%esp
423512:	8d 4d d8             	lea    -0x28(%ebp),%ecx
423515:	56                   	push   %esi
423516:	ff 75 20             	push   0x20(%ebp)
423519:	e8 b2 bf ff ff       	call   0x41f4d0
42351e:	ff 75 24             	push   0x24(%ebp)
423521:	8d 45 d8             	lea    -0x28(%ebp),%eax
423524:	50                   	push   %eax
423525:	ff 75 1c             	push   0x1c(%ebp)
423528:	ff 75 18             	push   0x18(%ebp)
42352b:	ff 75 14             	push   0x14(%ebp)
42352e:	ff 75 10             	push   0x10(%ebp)
423531:	ff 75 0c             	push   0xc(%ebp)
423534:	ff 75 08             	push   0x8(%ebp)
423537:	e8 a8 c4 ff ff       	call   0x41f9e4
42353c:	83 c4 20             	add    $0x20,%esp
42353f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
423542:	8b f0                	mov    %eax,%esi
423544:	e8 e7 bf ff ff       	call   0x41f530
423549:	8b c6                	mov    %esi,%eax
42354b:	5e                   	pop    %esi
42354c:	c9                   	leave
42354d:	c3                   	ret
42354e:	8b ff                	mov    %edi,%edi
423550:	55                   	push   %ebp
423551:	8b ec                	mov    %esp,%ebp
423553:	83 ec 28             	sub    $0x28,%esp
423556:	8d 4d d8             	lea    -0x28(%ebp),%ecx
423559:	56                   	push   %esi
42355a:	ff 75 20             	push   0x20(%ebp)
42355d:	e8 6e bf ff ff       	call   0x41f4d0
423562:	ff 75 24             	push   0x24(%ebp)
423565:	8d 45 d8             	lea    -0x28(%ebp),%eax
423568:	50                   	push   %eax
423569:	ff 75 1c             	push   0x1c(%ebp)
42356c:	ff 75 18             	push   0x18(%ebp)
42356f:	ff 75 14             	push   0x14(%ebp)
423572:	ff 75 10             	push   0x10(%ebp)
423575:	ff 75 0c             	push   0xc(%ebp)
423578:	ff 75 08             	push   0x8(%ebp)
42357b:	e8 65 c5 ff ff       	call   0x41fae5
423580:	83 c4 20             	add    $0x20,%esp
423583:	8d 4d d8             	lea    -0x28(%ebp),%ecx
423586:	8b f0                	mov    %eax,%esi
423588:	e8 a3 bf ff ff       	call   0x41f530
42358d:	8b c6                	mov    %esi,%eax
42358f:	5e                   	pop    %esi
423590:	c9                   	leave
423591:	c3                   	ret
423592:	8b ff                	mov    %edi,%edi
423594:	55                   	push   %ebp
423595:	8b ec                	mov    %esp,%ebp
423597:	83 ec 28             	sub    $0x28,%esp
42359a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42359d:	56                   	push   %esi
42359e:	ff 75 1c             	push   0x1c(%ebp)
4235a1:	e8 2a bf ff ff       	call   0x41f4d0
4235a6:	ff 75 20             	push   0x20(%ebp)
4235a9:	8d 45 d8             	lea    -0x28(%ebp),%eax
4235ac:	50                   	push   %eax
4235ad:	ff 75 18             	push   0x18(%ebp)
4235b0:	ff 75 14             	push   0x14(%ebp)
4235b3:	ff 75 10             	push   0x10(%ebp)
4235b6:	ff 75 0c             	push   0xc(%ebp)
4235b9:	ff 75 08             	push   0x8(%ebp)
4235bc:	e8 2d c9 ff ff       	call   0x41feee
4235c1:	83 c4 1c             	add    $0x1c,%esp
4235c4:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4235c7:	8b f0                	mov    %eax,%esi
4235c9:	e8 62 bf ff ff       	call   0x41f530
4235ce:	8b c6                	mov    %esi,%eax
4235d0:	5e                   	pop    %esi
4235d1:	c9                   	leave
4235d2:	c3                   	ret
4235d3:	8b ff                	mov    %edi,%edi
4235d5:	55                   	push   %ebp
4235d6:	8b ec                	mov    %esp,%ebp
4235d8:	83 ec 28             	sub    $0x28,%esp
4235db:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4235de:	56                   	push   %esi
4235df:	ff 75 1c             	push   0x1c(%ebp)
4235e2:	e8 e9 be ff ff       	call   0x41f4d0
4235e7:	ff 75 20             	push   0x20(%ebp)
4235ea:	8d 45 d8             	lea    -0x28(%ebp),%eax
4235ed:	50                   	push   %eax
4235ee:	ff 75 18             	push   0x18(%ebp)
4235f1:	ff 75 14             	push   0x14(%ebp)
4235f4:	ff 75 10             	push   0x10(%ebp)
4235f7:	ff 75 0c             	push   0xc(%ebp)
4235fa:	ff 75 08             	push   0x8(%ebp)
4235fd:	e8 8b c9 ff ff       	call   0x41ff8d
423602:	83 c4 1c             	add    $0x1c,%esp
423605:	8d 4d d8             	lea    -0x28(%ebp),%ecx
423608:	8b f0                	mov    %eax,%esi
42360a:	e8 21 bf ff ff       	call   0x41f530
42360f:	8b c6                	mov    %esi,%eax
423611:	5e                   	pop    %esi
423612:	c9                   	leave
423613:	c3                   	ret
423614:	6a 10                	push   $0x10
423616:	68 28 2f 45 00       	push   $0x452f28
42361b:	e8 f0 72 ff ff       	call   0x41a910
423620:	8b 75 08             	mov    0x8(%ebp),%esi
423623:	85 f6                	test   %esi,%esi
423625:	75 14                	jne    0x42363b
423627:	e8 04 04 00 00       	call   0x423a30
42362c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
423632:	e8 4c c3 ff ff       	call   0x41f983
423637:	33 c0                	xor    %eax,%eax
423639:	eb 65                	jmp    0x4236a0
42363b:	8b 7d 0c             	mov    0xc(%ebp),%edi
42363e:	85 ff                	test   %edi,%edi
423640:	74 e5                	je     0x423627
423642:	33 db                	xor    %ebx,%ebx
423644:	66 39 1f             	cmp    %bx,(%edi)
423647:	74 de                	je     0x423627
423649:	66 39 1e             	cmp    %bx,(%esi)
42364c:	75 0d                	jne    0x42365b
42364e:	e8 dd 03 00 00       	call   0x423a30
423653:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
423659:	eb dc                	jmp    0x423637
42365b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42365e:	50                   	push   %eax
42365f:	e8 08 83 00 00       	call   0x42b96c
423664:	59                   	pop    %ecx
423665:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
423668:	75 0d                	jne    0x423677
42366a:	e8 c1 03 00 00       	call   0x423a30
42366f:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
423675:	eb c0                	jmp    0x423637
423677:	89 5d e0             	mov    %ebx,-0x20(%ebp)
42367a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42367d:	ff 75 e4             	push   -0x1c(%ebp)
423680:	ff 75 10             	push   0x10(%ebp)
423683:	57                   	push   %edi
423684:	56                   	push   %esi
423685:	e8 4a 88 00 00       	call   0x42bed4
42368a:	83 c4 10             	add    $0x10,%esp
42368d:	8b f0                	mov    %eax,%esi
42368f:	89 75 e0             	mov    %esi,-0x20(%ebp)
423692:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
423699:	e8 15 00 00 00       	call   0x4236b3
42369e:	8b c6                	mov    %esi,%eax
4236a0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4236a3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4236aa:	59                   	pop    %ecx
4236ab:	5f                   	pop    %edi
4236ac:	5e                   	pop    %esi
4236ad:	5b                   	pop    %ebx
4236ae:	c9                   	leave
4236af:	c3                   	ret
4236b0:	8b 75 e0             	mov    -0x20(%ebp),%esi
4236b3:	85 f6                	test   %esi,%esi
4236b5:	75 09                	jne    0x4236c0
4236b7:	ff 75 e4             	push   -0x1c(%ebp)
4236ba:	e8 16 83 00 00       	call   0x42b9d5
4236bf:	59                   	pop    %ecx
4236c0:	ff 75 e4             	push   -0x1c(%ebp)
4236c3:	e8 38 09 00 00       	call   0x424000
4236c8:	59                   	pop    %ecx
4236c9:	c3                   	ret
4236ca:	8b ff                	mov    %edi,%edi
4236cc:	55                   	push   %ebp
4236cd:	8b ec                	mov    %esp,%ebp
4236cf:	56                   	push   %esi
4236d0:	8b 75 08             	mov    0x8(%ebp),%esi
4236d3:	85 f6                	test   %esi,%esi
4236d5:	75 11                	jne    0x4236e8
4236d7:	e8 54 03 00 00       	call   0x423a30
4236dc:	6a 16                	push   $0x16
4236de:	5e                   	pop    %esi
4236df:	89 30                	mov    %esi,(%eax)
4236e1:	e8 9d c2 ff ff       	call   0x41f983
4236e6:	eb 24                	jmp    0x42370c
4236e8:	68 80 00 00 00       	push   $0x80
4236ed:	ff 75 10             	push   0x10(%ebp)
4236f0:	ff 75 0c             	push   0xc(%ebp)
4236f3:	e8 1c ff ff ff       	call   0x423614