422529:	e8 b2 3d fe ff       	call   0x4062e0
42252e:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
422532:	75 05                	jne    0x422539
422534:	33 c0                	xor    %eax,%eax
422536:	89 45 c4             	mov    %eax,-0x3c(%ebp)
422539:	8d 45 ac             	lea    -0x54(%ebp),%eax
42253c:	50                   	push   %eax
42253d:	8b 4d 08             	mov    0x8(%ebp),%ecx
422540:	8b d3                	mov    %ebx,%edx
422542:	8b c6                	mov    %esi,%eax
422544:	e8 f7 f7 ff ff       	call   0x421d40
422549:	8b 46 28             	mov    0x28(%esi),%eax
42254c:	c6 40 70 00          	movb   $0x0,0x70(%eax)
422550:	8b c6                	mov    %esi,%eax
422552:	8b 10                	mov    (%eax),%edx
422554:	ff 52 24             	call   *0x24(%edx)
422557:	85 c0                	test   %eax,%eax
422559:	0f 95 c0             	setne  %al
42255c:	88 46 22             	mov    %al,0x22(%esi)
42255f:	8b d6                	mov    %esi,%edx
422561:	8b c6                	mov    %esi,%eax
422563:	8b 08                	mov    (%eax),%ecx
422565:	ff 51 10             	call   *0x10(%ecx)
422568:	5e                   	pop    %esi
422569:	5b                   	pop    %ebx
42256a:	8b e5                	mov    %ebp,%esp
42256c:	5d                   	pop    %ebp
42256d:	c2 04 00             	ret    $0x4
422570:	53                   	push   %ebx
422571:	56                   	push   %esi
422572:	8b da                	mov    %edx,%ebx
422574:	8b f0                	mov    %eax,%esi
422576:	8b c3                	mov    %ebx,%eax
422578:	8b 10                	mov    (%eax),%edx
42257a:	ff 12                	call   *(%edx)
42257c:	50                   	push   %eax
42257d:	8b c3                	mov    %ebx,%eax
42257f:	e8 60 34 ff ff       	call   0x4159e4
422584:	59                   	pop    %ecx
422585:	2b c8                	sub    %eax,%ecx
422587:	8b d3                	mov    %ebx,%edx
422589:	8b c6                	mov    %esi,%eax
42258b:	e8 f4 06 00 00       	call   0x422c84
422590:	5e                   	pop    %esi
422591:	5b                   	pop    %ebx
422592:	c3                   	ret
422593:	90                   	nop
422594:	55                   	push   %ebp
422595:	8b ec                	mov    %esp,%ebp
422597:	51                   	push   %ecx
422598:	53                   	push   %ebx
422599:	8b d8                	mov    %eax,%ebx
42259b:	51                   	push   %ecx
42259c:	6a 02                	push   $0x2
42259e:	a1 ac 21 41 00       	mov    0x4121ac,%eax
4225a3:	b1 01                	mov    $0x1,%cl
4225a5:	87 ca                	xchg   %ecx,%edx
4225a7:	e8 c8 3c ff ff       	call   0x416274
4225ac:	89 45 fc             	mov    %eax,-0x4(%ebp)
4225af:	33 c0                	xor    %eax,%eax
4225b1:	55                   	push   %ebp
4225b2:	68 e8 25 42 00       	push   $0x4225e8
4225b7:	64 ff 30             	push   %fs:(%eax)
4225ba:	64 89 20             	mov    %esp,%fs:(%eax)
4225bd:	6a 00                	push   $0x0
4225bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4225c2:	8b 10                	mov    (%eax),%edx
4225c4:	ff 12                	call   *(%edx)
4225c6:	8b c8                	mov    %eax,%ecx
4225c8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4225cb:	8b c3                	mov    %ebx,%eax
4225cd:	e8 4a 01 00 00       	call   0x42271c
4225d2:	33 c0                	xor    %eax,%eax
4225d4:	5a                   	pop    %edx
4225d5:	59                   	pop    %ecx
4225d6:	59                   	pop    %ecx
4225d7:	64 89 10             	mov    %edx,%fs:(%eax)
4225da:	68 ef 25 42 00       	push   $0x4225ef
4225df:	8b 45 fc             	mov    -0x4(%ebp),%eax
4225e2:	e8 85 0c fe ff       	call   0x40326c
4225e7:	c3                   	ret
4225e8:	e9 d3 13 fe ff       	jmp    0x4039c0
4225ed:	eb f0                	jmp    0x4225df
4225ef:	5b                   	pop    %ebx
4225f0:	59                   	pop    %ecx
4225f1:	5d                   	pop    %ebp
4225f2:	c3                   	ret
4225f3:	90                   	nop
4225f4:	55                   	push   %ebp
4225f5:	8b ec                	mov    %esp,%ebp
4225f7:	83 c4 f8             	add    $0xfffffff8,%esp
4225fa:	53                   	push   %ebx
4225fb:	56                   	push   %esi
4225fc:	57                   	push   %edi
4225fd:	8b f1                	mov    %ecx,%esi
4225ff:	8b da                	mov    %edx,%ebx
422601:	89 45 fc             	mov    %eax,-0x4(%ebp)
422604:	b2 01                	mov    $0x1,%dl
422606:	a1 0c bb 41 00       	mov    0x41bb0c,%eax
42260b:	e8 2c 0c fe ff       	call   0x40323c
422610:	89 45 f8             	mov    %eax,-0x8(%ebp)
422613:	33 c0                	xor    %eax,%eax
422615:	55                   	push   %ebp
422616:	68 7b 26 42 00       	push   $0x42267b
42261b:	64 ff 30             	push   %fs:(%eax)
42261e:	64 89 20             	mov    %esp,%fs:(%eax)
422621:	8b 45 f8             	mov    -0x8(%ebp),%eax
422624:	89 58 08             	mov    %ebx,0x8(%eax)
422627:	8b 45 f8             	mov    -0x8(%ebp),%eax
42262a:	89 70 10             	mov    %esi,0x10(%eax)
42262d:	8b 45 10             	mov    0x10(%ebp),%eax
422630:	8b 55 f8             	mov    -0x8(%ebp),%edx
422633:	8b f0                	mov    %eax,%esi
422635:	8d 7a 18             	lea    0x18(%edx),%edi
422638:	b9 15 00 00 00       	mov    $0x15,%ecx
42263d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42263f:	8b 45 f8             	mov    -0x8(%ebp),%eax
422642:	8a 55 0c             	mov    0xc(%ebp),%dl
422645:	88 50 70             	mov    %dl,0x70(%eax)
422648:	8b 45 f8             	mov    -0x8(%ebp),%eax
42264b:	83 78 2c 00          	cmpl   $0x0,0x2c(%eax)
42264f:	74 0c                	je     0x42265d
422651:	8b 45 f8             	mov    -0x8(%ebp),%eax
422654:	8b 40 08             	mov    0x8(%eax),%eax
422657:	8b 55 f8             	mov    -0x8(%ebp),%edx
42265a:	89 42 14             	mov    %eax,0x14(%edx)
42265d:	8b 45 08             	mov    0x8(%ebp),%eax
422660:	8b 15 30 21 41 00    	mov    0x412130,%edx
422666:	e8 b1 0d fe ff       	call   0x40341c
42266b:	8b 55 f8             	mov    -0x8(%ebp),%edx
42266e:	89 42 6c             	mov    %eax,0x6c(%edx)
422671:	33 c0                	xor    %eax,%eax
422673:	5a                   	pop    %edx
422674:	59                   	pop    %ecx
422675:	59                   	pop    %ecx
422676:	64 89 10             	mov    %edx,%fs:(%eax)
422679:	eb 17                	jmp    0x422692
42267b:	e9 8c 10 fe ff       	jmp    0x40370c
422680:	8b 45 f8             	mov    -0x8(%ebp),%eax
422683:	e8 e4 0b fe ff       	call   0x40326c
422688:	e8 93 13 fe ff       	call   0x403a20
42268d:	e8 e2 13 fe ff       	call   0x403a74
422692:	68 a8 98 46 00       	push   $0x4698a8
422697:	e8 44 39 fe ff       	call   0x405fe0
42269c:	33 d2                	xor    %edx,%edx
42269e:	55                   	push   %ebp
42269f:	68 db 26 42 00       	push   $0x4226db
4226a4:	64 ff 32             	push   %fs:(%edx)
4226a7:	64 89 22             	mov    %esp,%fs:(%edx)
4226aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4226ad:	8b 40 28             	mov    0x28(%eax),%eax
4226b0:	e8 53 ea ff ff       	call   0x421108
4226b5:	8b 55 fc             	mov    -0x4(%ebp),%edx
4226b8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4226bb:	89 42 28             	mov    %eax,0x28(%edx)
4226be:	e8 41 ea ff ff       	call   0x421104
4226c3:	33 c0                	xor    %eax,%eax
4226c5:	5a                   	pop    %edx
4226c6:	59                   	pop    %ecx
4226c7:	59                   	pop    %ecx
4226c8:	64 89 10             	mov    %edx,%fs:(%eax)
4226cb:	68 e2 26 42 00       	push   $0x4226e2
4226d0:	68 a8 98 46 00       	push   $0x4698a8
4226d5:	e8 6e 3a fe ff       	call   0x406148
4226da:	c3                   	ret
4226db:	e9 e0 12 fe ff       	jmp    0x4039c0
4226e0:	eb ee                	jmp    0x4226d0
4226e2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4226e5:	c6 40 32 00          	movb   $0x0,0x32(%eax)
4226e9:	5f                   	pop    %edi
4226ea:	5e                   	pop    %esi
4226eb:	5b                   	pop    %ebx
4226ec:	59                   	pop    %ecx
4226ed:	59                   	pop    %ecx
4226ee:	5d                   	pop    %ebp
4226ef:	c2 0c 00             	ret    $0xc
4226f2:	8b c0                	mov    %eax,%eax
4226f4:	53                   	push   %ebx
4226f5:	56                   	push   %esi
4226f6:	57                   	push   %edi
4226f7:	51                   	push   %ecx
4226f8:	8b f2                	mov    %edx,%esi
4226fa:	8b d8                	mov    %eax,%ebx
4226fc:	8b d4                	mov    %esp,%edx
4226fe:	b9 04 00 00 00       	mov    $0x4,%ecx
422703:	8b c6                	mov    %esi,%eax
422705:	8b 38                	mov    (%eax),%edi
422707:	ff 57 0c             	call   *0xc(%edi)
42270a:	8b 0c 24             	mov    (%esp),%ecx
42270d:	8b d6                	mov    %esi,%edx
42270f:	8b c3                	mov    %ebx,%eax
422711:	e8 6e 05 00 00       	call   0x422c84
422716:	5a                   	pop    %edx
422717:	5f                   	pop    %edi
422718:	5e                   	pop    %esi
422719:	5b                   	pop    %ebx
42271a:	c3                   	ret
42271b:	90                   	nop
42271c:	55                   	push   %ebp
42271d:	8b ec                	mov    %esp,%ebp
42271f:	81 c4 54 ff ff ff    	add    $0xffffff54,%esp
422725:	53                   	push   %ebx
422726:	56                   	push   %esi
422727:	57                   	push   %edi
422728:	8b f1                	mov    %ecx,%esi
42272a:	89 55 f8             	mov    %edx,-0x8(%ebp)
42272d:	89 45 fc             	mov    %eax,-0x4(%ebp)
422730:	33 c0                	xor    %eax,%eax
422732:	89 45 d0             	mov    %eax,-0x30(%ebp)
422735:	33 c0                	xor    %eax,%eax
422737:	89 45 d8             	mov    %eax,-0x28(%ebp)
42273a:	33 c0                	xor    %eax,%eax
42273c:	89 45 c8             	mov    %eax,-0x38(%ebp)
42273f:	8d 55 e0             	lea    -0x20(%ebp),%edx
422742:	b9 04 00 00 00       	mov    $0x4,%ecx
422747:	8b 45 f8             	mov    -0x8(%ebp),%eax
42274a:	8b 18                	mov    (%eax),%ebx
42274c:	ff 53 0c             	call   *0xc(%ebx)
42274f:	83 7d e0 0c          	cmpl   $0xc,-0x20(%ebp)
422753:	0f 94 45 df          	sete   -0x21(%ebp)
422757:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
42275b:	74 07                	je     0x422764
42275d:	c7 45 e0 28 00 00 00 	movl   $0x28,-0x20(%ebp)
422764:	8b 45 e0             	mov    -0x20(%ebp),%eax
422767:	83 c0 0c             	add    $0xc,%eax
42276a:	05 00 04 00 00       	add    $0x400,%eax
42276f:	e8 48 ff fd ff       	call   0x4026bc
422774:	89 45 e8             	mov    %eax,-0x18(%ebp)
422777:	8b 45 e8             	mov    -0x18(%ebp),%eax
42277a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
42277d:	33 d2                	xor    %edx,%edx
42277f:	55                   	push   %ebp
422780:	68 39 2c 42 00       	push   $0x422c39
422785:	64 ff 32             	push   %fs:(%edx)
422788:	64 89 22             	mov    %esp,%fs:(%edx)
42278b:	33 d2                	xor    %edx,%edx
42278d:	55                   	push   %ebp
42278e:	68 0c 2c 42 00       	push   $0x422c0c
422793:	64 ff 32             	push   %fs:(%edx)
422796:	64 89 22             	mov    %esp,%fs:(%edx)
422799:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
42279d:	74 4c                	je     0x4227eb
42279f:	8d 55 b8             	lea    -0x48(%ebp),%edx
4227a2:	83 c2 04             	add    $0x4,%edx
4227a5:	b9 08 00 00 00       	mov    $0x8,%ecx
4227aa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4227ad:	8b 18                	mov    (%eax),%ebx
4227af:	ff 53 0c             	call   *0xc(%ebx)
4227b2:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
4227b5:	8b c3                	mov    %ebx,%eax
4227b7:	33 c9                	xor    %ecx,%ecx
4227b9:	ba 28 00 00 00       	mov    $0x28,%edx
4227be:	e8 c5 04 fe ff       	call   0x402c88
4227c3:	8b c3                	mov    %ebx,%eax
4227c5:	0f b7 55 bc          	movzwl -0x44(%ebp),%edx
4227c9:	89 50 04             	mov    %edx,0x4(%eax)
4227cc:	0f b7 55 be          	movzwl -0x42(%ebp),%edx
4227d0:	89 50 08             	mov    %edx,0x8(%eax)
4227d3:	66 8b 55 c0          	mov    -0x40(%ebp),%dx
4227d7:	66 89 50 0c          	mov    %dx,0xc(%eax)
4227db:	66 8b 55 c2          	mov    -0x3e(%ebp),%dx
4227df:	66 89 50 0e          	mov    %dx,0xe(%eax)
4227e3:	83 ee 0c             	sub    $0xc,%esi
4227e6:	e9 cd 00 00 00       	jmp    0x4228b8
4227eb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4227ee:	83 e9 04             	sub    $0x4,%ecx
4227f1:	8b 55 e8             	mov    -0x18(%ebp),%edx
4227f4:	83 c2 04             	add    $0x4,%edx
4227f7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4227fa:	8b 18                	mov    (%eax),%ebx
4227fc:	ff 53 0c             	call   *0xc(%ebx)
4227ff:	2b 75 e0             	sub    -0x20(%ebp),%esi
422802:	8b 45 c4             	mov    -0x3c(%ebp),%eax
422805:	8b 40 10             	mov    0x10(%eax),%eax
422808:	83 f8 03             	cmp    $0x3,%eax
42280b:	0f 84 a7 00 00 00    	je     0x4228b8
422811:	85 c0                	test   %eax,%eax
422813:	0f 84 9f 00 00 00    	je     0x4228b8
422819:	b2 01                	mov    $0x1,%dl
42281b:	a1 30 21 41 00       	mov    0x412130,%eax
422820:	e8 17 0a fe ff       	call   0x40323c
422825:	89 45 c8             	mov    %eax,-0x38(%ebp)
422828:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42282c:	75 2f                	jne    0x42285d
42282e:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
422834:	33 c9                	xor    %ecx,%ecx
422836:	ba 0e 00 00 00       	mov    $0xe,%edx
42283b:	e8 48 04 fe ff       	call   0x402c88
422840:	66 c7 85 56 ff ff ff 	movw   $0x4d42,-0xaa(%ebp)
422847:	42 4d
422849:	8b 45 e0             	mov    -0x20(%ebp),%eax
42284c:	03 c6                	add    %esi,%eax
42284e:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
422854:	8d 85 56 ff ff ff    	lea    -0xaa(%ebp),%eax
42285a:	89 45 08             	mov    %eax,0x8(%ebp)
42285d:	8b 55 08             	mov    0x8(%ebp),%edx
422860:	b9 0e 00 00 00       	mov    $0xe,%ecx
422865:	8b 45 c8             	mov    -0x38(%ebp),%eax
422868:	8b 18                	mov    (%eax),%ebx
42286a:	ff 53 10             	call   *0x10(%ebx)
42286d:	8d 55 e0             	lea    -0x20(%ebp),%edx
422870:	b9 04 00 00 00       	mov    $0x4,%ecx
422875:	8b 45 c8             	mov    -0x38(%ebp),%eax
422878:	8b 18                	mov    (%eax),%ebx
42287a:	ff 53 10             	call   *0x10(%ebx)
42287d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
422880:	83 e9 04             	sub    $0x4,%ecx
422883:	8b 55 e8             	mov    -0x18(%ebp),%edx
422886:	83 c2 04             	add    $0x4,%edx
422889:	8b 45 c8             	mov    -0x38(%ebp),%eax
42288c:	8b 18                	mov    (%eax),%ebx
42288e:	ff 53 10             	call   *0x10(%ebx)
422891:	8b c6                	mov    %esi,%eax
422893:	33 d2                	xor    %edx,%edx
422895:	52                   	push   %edx
422896:	50                   	push   %eax
422897:	8b 55 f8             	mov    -0x8(%ebp),%edx
42289a:	8b 45 c8             	mov    -0x38(%ebp),%eax
42289d:	e8 de 33 ff ff       	call   0x415c80
4228a2:	8b d6                	mov    %esi,%edx
4228a4:	f7 da                	neg    %edx
4228a6:	66 b9 02 00          	mov    $0x2,%cx
4228aa:	8b 45 c8             	mov    -0x38(%ebp),%eax
4228ad:	8b 18                	mov    (%eax),%ebx
4228af:	ff 53 14             	call   *0x14(%ebx)
4228b2:	8b 45 c8             	mov    -0x38(%ebp),%eax
4228b5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4228b8:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
4228bb:	8b 45 e0             	mov    -0x20(%ebp),%eax
4228be:	89 03                	mov    %eax,(%ebx)
4228c0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4228c3:	03 45 e0             	add    -0x20(%ebp),%eax
4228c6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4228c9:	66 83 7b 0c 01       	cmpw   $0x1,0xc(%ebx)
4228ce:	74 05                	je     0x4228d5
4228d0:	e8 2f b4 ff ff       	call   0x41dd04
4228d5:	83 7d e0 28          	cmpl   $0x28,-0x20(%ebp)
4228d9:	75 2d                	jne    0x422908
4228db:	66 8b 43 0e          	mov    0xe(%ebx),%ax
4228df:	66 83 f8 10          	cmp    $0x10,%ax
4228e3:	74 06                	je     0x4228eb
4228e5:	66 83 f8 20          	cmp    $0x20,%ax
4228e9:	75 1d                	jne    0x422908
4228eb:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
4228ef:	75 17                	jne    0x422908
4228f1:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4228f4:	b9 0c 00 00 00       	mov    $0xc,%ecx
4228f9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4228fc:	e8 0f 33 ff ff       	call   0x415c10
422901:	83 45 e4 0c          	addl   $0xc,-0x1c(%ebp)