4295d5:	59                   	pop    %ecx
4295d6:	8b 8d 30 fd ff ff    	mov    -0x2d0(%ebp),%ecx
4295dc:	85 c0                	test   %eax,%eax
4295de:	74 4a                	je     0x42962a
4295e0:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
4295e6:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
4295e9:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
4295f0:	e8 c5 12 00 00       	call   0x42a8ba
4295f5:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
4295fb:	8b 85 1c fd ff ff    	mov    -0x2e4(%ebp),%eax
429601:	51                   	push   %ecx
429602:	89 84 9f a0 00 00 00 	mov    %eax,0xa0(%edi,%ebx,4)
429609:	e8 ac 12 00 00       	call   0x42a8ba
42960e:	8b 85 18 fd ff ff    	mov    -0x2e8(%ebp),%eax
429614:	59                   	pop    %ecx
429615:	59                   	pop    %ecx
429616:	89 47 08             	mov    %eax,0x8(%edi)
429619:	33 c0                	xor    %eax,%eax
42961b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42961e:	5f                   	pop    %edi
42961f:	5e                   	pop    %esi
429620:	33 cd                	xor    %ebp,%ecx
429622:	5b                   	pop    %ebx
429623:	e8 82 05 ff ff       	call   0x419baa
429628:	c9                   	leave
429629:	c3                   	ret
42962a:	81 f9 70 52 45 00    	cmp    $0x455270,%ecx
429630:	74 4a                	je     0x42967c
429632:	8b f3                	mov    %ebx,%esi
429634:	83 c9 ff             	or     $0xffffffff,%ecx
429637:	03 f6                	add    %esi,%esi
429639:	8b 44 f7 28          	mov    0x28(%edi,%esi,8),%eax
42963d:	f0 0f c1 08          	lock xadd %ecx,(%eax)
429641:	75 39                	jne    0x42967c
429643:	ff 74 f7 28          	push   0x28(%edi,%esi,8)
429647:	e8 6e 12 00 00       	call   0x42a8ba
42964c:	ff 74 f7 24          	push   0x24(%edi,%esi,8)
429650:	e8 65 12 00 00       	call   0x42a8ba
429655:	ff b4 9f a0 00 00 00 	push   0xa0(%edi,%ebx,4)
42965c:	e8 59 12 00 00       	call   0x42a8ba
429661:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
429667:	83 c4 0c             	add    $0xc,%esp
42966a:	8b 8d 44 fd ff ff    	mov    -0x2bc(%ebp),%ecx
429670:	89 0c 38             	mov    %ecx,(%eax,%edi,1)
429673:	89 8c 9f a0 00 00 00 	mov    %ecx,0xa0(%edi,%ebx,4)
42967a:	eb 06                	jmp    0x429682
42967c:	8b 85 38 fd ff ff    	mov    -0x2c8(%ebp),%eax
429682:	8b 8d 2c fd ff ff    	mov    -0x2d4(%ebp),%ecx
429688:	03 db                	add    %ebx,%ebx
42968a:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
429690:	8b 04 38             	mov    (%eax,%edi,1),%eax
429693:	89 4c df 28          	mov    %ecx,0x28(%edi,%ebx,8)
429697:	eb 82                	jmp    0x42961b
429699:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
42969f:	50                   	push   %eax
4296a0:	50                   	push   %eax
4296a1:	50                   	push   %eax
4296a2:	50                   	push   %eax
4296a3:	50                   	push   %eax
4296a4:	e8 07 63 ff ff       	call   0x41f9b0
4296a9:	cc                   	int3
4296aa:	8b ff                	mov    %edi,%edi
4296ac:	55                   	push   %ebp
4296ad:	8b ec                	mov    %esp,%ebp
4296af:	51                   	push   %ecx
4296b0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4296b4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4296b7:	6a 02                	push   $0x2
4296b9:	50                   	push   %eax
4296ba:	68 04 10 00 20       	push   $0x20001004
4296bf:	ff 75 08             	push   0x8(%ebp)
4296c2:	e8 49 40 00 00       	call   0x42d710
4296c7:	85 c0                	test   %eax,%eax
4296c9:	74 07                	je     0x4296d2
4296cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4296ce:	85 c0                	test   %eax,%eax
4296d0:	75 05                	jne    0x4296d7
4296d2:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
4296d7:	c9                   	leave
4296d8:	c3                   	ret
4296d9:	8b ff                	mov    %edi,%edi
4296db:	55                   	push   %ebp
4296dc:	8b ec                	mov    %esp,%ebp
4296de:	83 ec 44             	sub    $0x44,%esp
4296e1:	a1 14 50 45 00       	mov    0x455014,%eax
4296e6:	33 c5                	xor    %ebp,%eax
4296e8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4296eb:	8b 45 0c             	mov    0xc(%ebp),%eax
4296ee:	53                   	push   %ebx
4296ef:	56                   	push   %esi
4296f0:	8b 75 08             	mov    0x8(%ebp),%esi
4296f3:	33 db                	xor    %ebx,%ebx
4296f5:	57                   	push   %edi
4296f6:	68 ca 01 00 00       	push   $0x1ca
4296fb:	53                   	push   %ebx
4296fc:	56                   	push   %esi
4296fd:	89 75 bc             	mov    %esi,-0x44(%ebp)
429700:	89 45 c4             	mov    %eax,-0x3c(%ebp)
429703:	e8 08 25 ff ff       	call   0x41bc10
429708:	8b 55 c4             	mov    -0x3c(%ebp),%edx
42970b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42970e:	83 c4 0c             	add    $0xc,%esp
429711:	89 4d c8             	mov    %ecx,-0x38(%ebp)
429714:	8b fb                	mov    %ebx,%edi
429716:	8b c3                	mov    %ebx,%eax
429718:	89 45 c0             	mov    %eax,-0x40(%ebp)
42971b:	83 ff 04             	cmp    $0x4,%edi
42971e:	0f 83 7e 01 00 00    	jae    0x4298a2
429724:	83 f8 02             	cmp    $0x2,%eax
429727:	74 14                	je     0x42973d
429729:	68 d8 19 44 00       	push   $0x4419d8
42972e:	52                   	push   %edx
42972f:	e8 aa a8 00 00       	call   0x433fde
429734:	8b 55 c4             	mov    -0x3c(%ebp),%edx
429737:	59                   	pop    %ecx
429738:	59                   	pop    %ecx
429739:	8b c8                	mov    %eax,%ecx
42973b:	eb 14                	jmp    0x429751
42973d:	8b ca                	mov    %edx,%ecx
42973f:	8d 71 02             	lea    0x2(%ecx),%esi
429742:	66 8b 01             	mov    (%ecx),%ax
429745:	83 c1 02             	add    $0x2,%ecx
429748:	66 3b c3             	cmp    %bx,%ax
42974b:	75 f5                	jne    0x429742
42974d:	2b ce                	sub    %esi,%ecx
42974f:	d1 f9                	sar    $1,%ecx
429751:	8b 45 c8             	mov    -0x38(%ebp),%eax
429754:	47                   	inc    %edi
429755:	8b 75 c8             	mov    -0x38(%ebp),%esi
429758:	83 45 c8 0c          	addl   $0xc,-0x38(%ebp)
42975c:	89 50 fc             	mov    %edx,-0x4(%eax)
42975f:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
429762:	89 08                	mov    %ecx,(%eax)
429764:	8b 45 c0             	mov    -0x40(%ebp),%eax
429767:	89 46 04             	mov    %eax,0x4(%esi)
42976a:	0f b7 02             	movzwl (%edx),%eax
42976d:	83 c2 02             	add    $0x2,%edx
429770:	8b 75 bc             	mov    -0x44(%ebp),%esi
429773:	89 55 c4             	mov    %edx,-0x3c(%ebp)
429776:	2b c3                	sub    %ebx,%eax
429778:	74 0f                	je     0x429789
42977a:	83 e8 2d             	sub    $0x2d,%eax
42977d:	74 97                	je     0x429716
42977f:	83 e8 01             	sub    $0x1,%eax
429782:	74 69                	je     0x4297ed
429784:	83 e8 31             	sub    $0x31,%eax
429787:	74 8d                	je     0x429716
429789:	83 ef 01             	sub    $0x1,%edi
42978c:	0f 84 02 01 00 00    	je     0x429894
429792:	83 ef 01             	sub    $0x1,%edi
429795:	0f 84 b3 00 00 00    	je     0x42984e
42979b:	83 ef 01             	sub    $0x1,%edi
42979e:	74 55                	je     0x4297f5
4297a0:	83 ef 01             	sub    $0x1,%edi
4297a3:	0f 85 f9 00 00 00    	jne    0x4298a2
4297a9:	8d 45 cc             	lea    -0x34(%ebp),%eax
4297ac:	50                   	push   %eax
4297ad:	56                   	push   %esi
4297ae:	e8 3f 01 00 00       	call   0x4298f2
4297b3:	59                   	pop    %ecx
4297b4:	59                   	pop    %ecx
4297b5:	84 c0                	test   %al,%al
4297b7:	0f 84 d3 00 00 00    	je     0x429890
4297bd:	8d 45 d8             	lea    -0x28(%ebp),%eax
4297c0:	50                   	push   %eax
4297c1:	56                   	push   %esi
4297c2:	e8 5b 02 00 00       	call   0x429a22
4297c7:	59                   	pop    %ecx
4297c8:	59                   	pop    %ecx
4297c9:	84 c0                	test   %al,%al
4297cb:	0f 84 bf 00 00 00    	je     0x429890
4297d1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4297d4:	50                   	push   %eax
4297d5:	56                   	push   %esi
4297d6:	e8 89 01 00 00       	call   0x429964
4297db:	59                   	pop    %ecx
4297dc:	59                   	pop    %ecx
4297dd:	84 c0                	test   %al,%al
4297df:	0f 84 ab 00 00 00    	je     0x429890
4297e5:	8d 45 f0             	lea    -0x10(%ebp),%eax
4297e8:	e9 94 00 00 00       	jmp    0x429881
4297ed:	6a 02                	push   $0x2
4297ef:	58                   	pop    %eax
4297f0:	e9 23 ff ff ff       	jmp    0x429718
4297f5:	8d 45 cc             	lea    -0x34(%ebp),%eax
4297f8:	50                   	push   %eax
4297f9:	56                   	push   %esi
4297fa:	e8 f3 00 00 00       	call   0x4298f2
4297ff:	59                   	pop    %ecx
429800:	59                   	pop    %ecx
429801:	84 c0                	test   %al,%al
429803:	0f 84 87 00 00 00    	je     0x429890
429809:	8d 45 d8             	lea    -0x28(%ebp),%eax
42980c:	50                   	push   %eax
42980d:	56                   	push   %esi
42980e:	e8 0f 02 00 00       	call   0x429a22
429813:	59                   	pop    %ecx
429814:	59                   	pop    %ecx
429815:	84 c0                	test   %al,%al
429817:	74 20                	je     0x429839
429819:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42981c:	50                   	push   %eax
42981d:	56                   	push   %esi
42981e:	e8 41 01 00 00       	call   0x429964
429823:	59                   	pop    %ecx
429824:	59                   	pop    %ecx
429825:	84 c0                	test   %al,%al
429827:	75 65                	jne    0x42988e
429829:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42982c:	50                   	push   %eax
42982d:	56                   	push   %esi
42982e:	e8 80 00 00 00       	call   0x4298b3
429833:	59                   	pop    %ecx
429834:	59                   	pop    %ecx
429835:	84 c0                	test   %al,%al
429837:	75 55                	jne    0x42988e
429839:	8d 45 d8             	lea    -0x28(%ebp),%eax
42983c:	50                   	push   %eax
42983d:	56                   	push   %esi
42983e:	e8 21 01 00 00       	call   0x429964
429843:	59                   	pop    %ecx
429844:	59                   	pop    %ecx
429845:	84 c0                	test   %al,%al
429847:	74 47                	je     0x429890
429849:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42984c:	eb 33                	jmp    0x429881
42984e:	8d 45 cc             	lea    -0x34(%ebp),%eax
429851:	50                   	push   %eax
429852:	56                   	push   %esi
429853:	e8 9a 00 00 00       	call   0x4298f2
429858:	59                   	pop    %ecx
429859:	59                   	pop    %ecx
42985a:	84 c0                	test   %al,%al
42985c:	74 32                	je     0x429890
42985e:	8d 45 d8             	lea    -0x28(%ebp),%eax
429861:	50                   	push   %eax
429862:	56                   	push   %esi
429863:	e8 ba 01 00 00       	call   0x429a22
429868:	59                   	pop    %ecx
429869:	59                   	pop    %ecx
42986a:	84 c0                	test   %al,%al
42986c:	75 20                	jne    0x42988e
42986e:	8d 45 d8             	lea    -0x28(%ebp),%eax
429871:	50                   	push   %eax
429872:	56                   	push   %esi
429873:	e8 ec 00 00 00       	call   0x429964
429878:	59                   	pop    %ecx
429879:	59                   	pop    %ecx
42987a:	84 c0                	test   %al,%al
42987c:	75 10                	jne    0x42988e
42987e:	8d 45 d8             	lea    -0x28(%ebp),%eax
429881:	50                   	push   %eax
429882:	56                   	push   %esi
429883:	e8 2b 00 00 00       	call   0x4298b3
429888:	59                   	pop    %ecx
429889:	59                   	pop    %ecx
42988a:	84 c0                	test   %al,%al
42988c:	74 02                	je     0x429890
42988e:	b3 01                	mov    $0x1,%bl
429890:	8a c3                	mov    %bl,%al
429892:	eb 10                	jmp    0x4298a4
429894:	8d 45 cc             	lea    -0x34(%ebp),%eax
429897:	50                   	push   %eax
429898:	56                   	push   %esi
429899:	e8 54 00 00 00       	call   0x4298f2
42989e:	59                   	pop    %ecx
42989f:	59                   	pop    %ecx
4298a0:	eb 02                	jmp    0x4298a4
4298a2:	32 c0                	xor    %al,%al
4298a4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4298a7:	5f                   	pop    %edi
4298a8:	5e                   	pop    %esi
4298a9:	33 cd                	xor    %ebp,%ecx
4298ab:	5b                   	pop    %ebx
4298ac:	e8 f9 02 ff ff       	call   0x419baa
4298b1:	c9                   	leave
4298b2:	c3                   	ret
4298b3:	8b ff                	mov    %edi,%edi
4298b5:	55                   	push   %ebp
4298b6:	8b ec                	mov    %esp,%ebp
4298b8:	8b 45 0c             	mov    0xc(%ebp),%eax
4298bb:	83 78 08 02          	cmpl   $0x2,0x8(%eax)
4298bf:	74 04                	je     0x4298c5
4298c1:	32 c0                	xor    %al,%al
4298c3:	5d                   	pop    %ebp
4298c4:	c3                   	ret
4298c5:	ff 70 04             	push   0x4(%eax)
4298c8:	ff 30                	push   (%eax)
4298ca:	8b 45 08             	mov    0x8(%ebp),%eax
4298cd:	05 00 01 00 00       	add    $0x100,%eax
4298d2:	6a 10                	push   $0x10
4298d4:	50                   	push   %eax
4298d5:	e8 50 b2 ff ff       	call   0x424b2a
4298da:	83 c4 10             	add    $0x10,%esp
4298dd:	85 c0                	test   %eax,%eax
4298df:	75 04                	jne    0x4298e5
4298e1:	b0 01                	mov    $0x1,%al
4298e3:	5d                   	pop    %ebp
4298e4:	c3                   	ret
4298e5:	33 c0                	xor    %eax,%eax
4298e7:	50                   	push   %eax
4298e8:	50                   	push   %eax
4298e9:	50                   	push   %eax
4298ea:	50                   	push   %eax
4298eb:	50                   	push   %eax
4298ec:	e8 bf 60 ff ff       	call   0x41f9b0
4298f1:	cc                   	int3
4298f2:	8b ff                	mov    %edi,%edi
4298f4:	55                   	push   %ebp
4298f5:	8b ec                	mov    %esp,%ebp
4298f7:	53                   	push   %ebx
4298f8:	56                   	push   %esi
4298f9:	8b 75 0c             	mov    0xc(%ebp),%esi
4298fc:	33 db                	xor    %ebx,%ebx
4298fe:	39 5e 08             	cmp    %ebx,0x8(%esi)
429901:	75 50                	jne    0x429953
429903:	8b 4e 04             	mov    0x4(%esi),%ecx
429906:	8d 41 fe             	lea    -0x2(%ecx),%eax
429909:	83 f8 01             	cmp    $0x1,%eax
42990c:	77 45                	ja     0x429953
42990e:	51                   	push   %ecx
42990f:	ff 36                	push   (%esi)
429911:	e8 7c 01 00 00       	call   0x429a92
429916:	59                   	pop    %ecx
429917:	59                   	pop    %ecx
429918:	84 c0                	test   %al,%al
42991a:	74 37                	je     0x429953
42991c:	57                   	push   %edi
42991d:	ff 76 04             	push   0x4(%esi)
429920:	8b 7d 08             	mov    0x8(%ebp),%edi
429923:	ff 36                	push   (%esi)
429925:	6a 40                	push   $0x40
429927:	57                   	push   %edi
429928:	e8 fd b1 ff ff       	call   0x424b2a
42992d:	83 c4 10             	add    $0x10,%esp
429930:	85 c0                	test   %eax,%eax
429932:	75 25                	jne    0x429959
429934:	ff 76 04             	push   0x4(%esi)
429937:	8d 8f 20 01 00 00    	lea    0x120(%edi),%ecx
42993d:	ff 36                	push   (%esi)
42993f:	6a 55                	push   $0x55
429941:	51                   	push   %ecx
429942:	e8 e3 b1 ff ff       	call   0x424b2a
429947:	83 c4 10             	add    $0x10,%esp
42994a:	5f                   	pop    %edi
42994b:	85 c0                	test   %eax,%eax
42994d:	75 0a                	jne    0x429959
42994f:	b0 01                	mov    $0x1,%al
429951:	eb 02                	jmp    0x429955
429953:	32 c0                	xor    %al,%al