429652:	85 db                	test   %ebx,%ebx
429654:	0f 45 c1             	cmovne %ecx,%eax
429657:	50                   	push   %eax
429658:	6a 02                	push   $0x2
42965a:	e8 b0 be fd ff       	call   0x40550f
42965f:	83 c4 14             	add    $0x14,%esp
429662:	8d 45 2c             	lea    0x2c(%ebp),%eax
429665:	50                   	push   %eax
429666:	8d 45 e8             	lea    -0x18(%ebp),%eax
429669:	50                   	push   %eax
42966a:	57                   	push   %edi
42966b:	ff 75 10             	push   0x10(%ebp)
42966e:	ff 75 fc             	push   -0x4(%ebp)
429671:	56                   	push   %esi
429672:	ff 75 08             	push   0x8(%ebp)
429675:	e8 b2 1b 00 00       	call   0x42b22c
42967a:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
42967d:	8b f0                	mov    %eax,%esi
42967f:	85 c9                	test   %ecx,%ecx
429681:	74 21                	je     0x4296a4
429683:	85 db                	test   %ebx,%ebx
429685:	74 05                	je     0x42968c
429687:	8b 7b 2c             	mov    0x2c(%ebx),%edi
42968a:	eb 06                	jmp    0x429692
42968c:	8b 7d 18             	mov    0x18(%ebp),%edi
42968f:	8b 7f 40             	mov    0x40(%edi),%edi
429692:	33 d2                	xor    %edx,%edx
429694:	85 ff                	test   %edi,%edi
429696:	74 05                	je     0x42969d
429698:	66 39 17             	cmp    %dx,(%edi)
42969b:	75 09                	jne    0x4296a6
42969d:	be 57 00 07 80       	mov    $0x80070057,%esi
4296a2:	eb 02                	jmp    0x4296a6
4296a4:	33 d2                	xor    %edx,%edx
4296a6:	85 f6                	test   %esi,%esi
4296a8:	0f 88 5b 01 00 00    	js     0x429809
4296ae:	8b 45 e8             	mov    -0x18(%ebp),%eax
4296b1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4296b4:	8b 45 24             	mov    0x24(%ebp),%eax
4296b7:	85 c0                	test   %eax,%eax
4296b9:	74 54                	je     0x42970f
4296bb:	ff 75 10             	push   0x10(%ebp)
4296be:	8b 75 08             	mov    0x8(%ebp),%esi
4296c1:	52                   	push   %edx
4296c2:	ff 75 fc             	push   -0x4(%ebp)
4296c5:	8b 46 10             	mov    0x10(%esi),%eax
4296c8:	ff 75 f8             	push   -0x8(%ebp)
4296cb:	50                   	push   %eax
4296cc:	8b 08                	mov    (%eax),%ecx
4296ce:	ff 91 90 00 00 00    	call   *0x90(%ecx)
4296d4:	50                   	push   %eax
4296d5:	6a 01                	push   $0x1
4296d7:	33 c0                	xor    %eax,%eax
4296d9:	50                   	push   %eax
4296da:	56                   	push   %esi
4296db:	e8 62 3e fe ff       	call   0x40d542
4296e0:	8b f0                	mov    %eax,%esi
4296e2:	85 f6                	test   %esi,%esi
4296e4:	0f 88 cc 00 00 00    	js     0x4297b6
4296ea:	ff 75 1c             	push   0x1c(%ebp)
4296ed:	8d 45 bc             	lea    -0x44(%ebp),%eax
4296f0:	ff 75 10             	push   0x10(%ebp)
4296f3:	50                   	push   %eax
4296f4:	e8 5e 03 00 00       	call   0x429a57
4296f9:	8b f0                	mov    %eax,%esi
4296fb:	85 f6                	test   %esi,%esi
4296fd:	78 54                	js     0x429753
4296ff:	ff 75 e4             	push   -0x1c(%ebp)
429702:	ff 75 10             	push   0x10(%ebp)
429705:	ff 75 0c             	push   0xc(%ebp)
429708:	e8 ed 10 ff ff       	call   0x41a7fa
42970d:	eb 44                	jmp    0x429753
42970f:	85 c9                	test   %ecx,%ecx
429711:	0f 84 86 00 00 00    	je     0x42979d
429717:	8b 75 08             	mov    0x8(%ebp),%esi
42971a:	57                   	push   %edi
42971b:	6a 01                	push   $0x1
42971d:	ff 75 fc             	push   -0x4(%ebp)
429720:	8b 46 10             	mov    0x10(%esi),%eax
429723:	ff 75 f8             	push   -0x8(%ebp)
429726:	50                   	push   %eax
429727:	8b 08                	mov    (%eax),%ecx
429729:	ff 91 90 00 00 00    	call   *0x90(%ecx)
42972f:	50                   	push   %eax
429730:	6a 01                	push   $0x1
429732:	33 c0                	xor    %eax,%eax
429734:	50                   	push   %eax
429735:	56                   	push   %esi
429736:	e8 07 3e fe ff       	call   0x40d542
42973b:	8b f0                	mov    %eax,%esi
42973d:	85 f6                	test   %esi,%esi
42973f:	0f 88 88 00 00 00    	js     0x4297cd
429745:	ff 75 1c             	push   0x1c(%ebp)
429748:	8d 45 bc             	lea    -0x44(%ebp),%eax
42974b:	50                   	push   %eax
42974c:	e8 d3 08 00 00       	call   0x42a024
429751:	8b f0                	mov    %eax,%esi
429753:	8b 45 24             	mov    0x24(%ebp),%eax
429756:	85 c0                	test   %eax,%eax
429758:	75 05                	jne    0x42975f
42975a:	39 45 2c             	cmp    %eax,0x2c(%ebp)
42975d:	74 3e                	je     0x42979d
42975f:	8b 45 08             	mov    0x8(%ebp),%eax
429762:	33 d2                	xor    %edx,%edx
429764:	52                   	push   %edx
429765:	56                   	push   %esi
429766:	ff 75 fc             	push   -0x4(%ebp)
429769:	8b 40 10             	mov    0x10(%eax),%eax
42976c:	ff 75 f8             	push   -0x8(%ebp)
42976f:	50                   	push   %eax
429770:	8b 08                	mov    (%eax),%ecx
429772:	ff 91 9c 00 00 00    	call   *0x9c(%ecx)
429778:	50                   	push   %eax
429779:	6a 05                	push   $0x5
42977b:	33 c0                	xor    %eax,%eax
42977d:	50                   	push   %eax
42977e:	ff 75 08             	push   0x8(%ebp)
429781:	e8 83 3c fe ff       	call   0x40d409
429786:	85 f6                	test   %esi,%esi
429788:	79 17                	jns    0x4297a1
42978a:	83 f8 04             	cmp    $0x4,%eax
42978d:	75 0b                	jne    0x42979a
42978f:	33 c0                	xor    %eax,%eax
429791:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
429798:	8b f0                	mov    %eax,%esi
42979a:	8b 45 24             	mov    0x24(%ebp),%eax
42979d:	85 f6                	test   %esi,%esi
42979f:	78 4e                	js     0x4297ef
4297a1:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4297a5:	74 3d                	je     0x4297e4
4297a7:	8b 55 18             	mov    0x18(%ebp),%edx
4297aa:	e9 eb fd ff ff       	jmp    0x42959a
4297af:	68 68 ee 45 00       	push   $0x45ee68
4297b4:	eb 7e                	jmp    0x429834
4297b6:	56                   	push   %esi
4297b7:	68 64 04 00 00       	push   $0x464
4297bc:	68 74 e9 45 00       	push   $0x45e974
4297c1:	e8 0d a0 fd ff       	call   0x4037d3
4297c6:	68 a4 ed 45 00       	push   $0x45eda4
4297cb:	eb 67                	jmp    0x429834
4297cd:	56                   	push   %esi
4297ce:	68 73 04 00 00       	push   $0x473
4297d3:	68 74 e9 45 00       	push   $0x45e974
4297d8:	e8 f6 9f fd ff       	call   0x4037d3
4297dd:	68 f8 ee 45 00       	push   $0x45eef8
4297e2:	eb 50                	jmp    0x429834
4297e4:	85 f6                	test   %esi,%esi
4297e6:	79 54                	jns    0x42983c
4297e8:	68 64 ef 45 00       	push   $0x45ef64
4297ed:	eb 45                	jmp    0x429834
4297ef:	ff 75 1c             	push   0x1c(%ebp)
4297f2:	85 c0                	test   %eax,%eax
4297f4:	0f 45 7d 10          	cmovne 0x10(%ebp),%edi
4297f8:	57                   	push   %edi
4297f9:	68 24 ef 45 00       	push   $0x45ef24
4297fe:	56                   	push   %esi
4297ff:	e8 2b 69 01 00       	call   0x44012f
429804:	83 c4 10             	add    $0x10,%esp
429807:	eb 33                	jmp    0x42983c
429809:	33 c0                	xor    %eax,%eax
42980b:	50                   	push   %eax
42980c:	50                   	push   %eax
42980d:	ff 75 10             	push   0x10(%ebp)
429810:	50                   	push   %eax
429811:	68 36 00 00 e0       	push   $0xe0000036
429816:	56                   	push   %esi
429817:	e8 b3 68 01 00       	call   0x4400cf
42981c:	ff 75 10             	push   0x10(%ebp)
42981f:	68 bc ee 45 00       	push   $0x45eebc
429824:	56                   	push   %esi
429825:	e8 05 69 01 00       	call   0x44012f
42982a:	83 c4 0c             	add    $0xc,%esp
42982d:	eb 0d                	jmp    0x42983c
42982f:	68 48 ee 45 00       	push   $0x45ee48
429834:	56                   	push   %esi
429835:	e8 f5 68 01 00       	call   0x44012f
42983a:	59                   	pop    %ecx
42983b:	59                   	pop    %ecx
42983c:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
429840:	74 08                	je     0x42984a
429842:	ff 75 10             	push   0x10(%ebp)
429845:	e8 a5 bc 01 00       	call   0x4454ef
42984a:	5f                   	pop    %edi
42984b:	8b c6                	mov    %esi,%eax
42984d:	5e                   	pop    %esi
42984e:	5b                   	pop    %ebx
42984f:	8b e5                	mov    %ebp,%esp
429851:	5d                   	pop    %ebp
429852:	c2 28 00             	ret    $0x28
429855:	55                   	push   %ebp
429856:	8b ec                	mov    %esp,%ebp
429858:	51                   	push   %ecx
429859:	53                   	push   %ebx
42985a:	8b 5d 14             	mov    0x14(%ebp),%ebx
42985d:	33 c0                	xor    %eax,%eax
42985f:	56                   	push   %esi
429860:	57                   	push   %edi
429861:	8b 7d 18             	mov    0x18(%ebp),%edi
429864:	50                   	push   %eax
429865:	89 03                	mov    %eax,(%ebx)
429867:	89 45 fc             	mov    %eax,-0x4(%ebp)
42986a:	89 07                	mov    %eax,(%edi)
42986c:	8d 45 fc             	lea    -0x4(%ebp),%eax
42986f:	68 05 00 07 80       	push   $0x80070005
429874:	50                   	push   %eax
429875:	e8 fe 86 fd ff       	call   0x401f78
42987a:	8b f0                	mov    %eax,%esi
42987c:	83 c4 0c             	add    $0xc,%esp
42987f:	85 f6                	test   %esi,%esi
429881:	79 12                	jns    0x429895
429883:	68 bc e7 45 00       	push   $0x45e7bc
429888:	56                   	push   %esi
429889:	e8 a1 68 01 00       	call   0x44012f
42988e:	59                   	pop    %ecx
42988f:	59                   	pop    %ecx
429890:	e9 8e 00 00 00       	jmp    0x429923
429895:	8b 75 08             	mov    0x8(%ebp),%esi
429898:	8b 06                	mov    (%esi),%eax
42989a:	8b 48 10             	mov    0x10(%eax),%ecx
42989d:	33 c0                	xor    %eax,%eax
42989f:	81 7d 10 91 01 00 00 	cmpl   $0x191,0x10(%ebp)
4298a6:	50                   	push   %eax
4298a7:	50                   	push   %eax
4298a8:	8b 11                	mov    (%ecx),%edx
4298aa:	50                   	push   %eax
4298ab:	6a 0f                	push   $0xf
4298ad:	ff 75 fc             	push   -0x4(%ebp)
4298b0:	0f 95 c0             	setne  %al
4298b3:	6a 05                	push   $0x5
4298b5:	ff 76 04             	push   0x4(%esi)
4298b8:	83 c0 03             	add    $0x3,%eax
4298bb:	50                   	push   %eax
4298bc:	51                   	push   %ecx
4298bd:	ff 52 7c             	call   *0x7c(%edx)
4298c0:	50                   	push   %eax
4298c1:	6a 0f                	push   $0xf
4298c3:	6a 00                	push   $0x0
4298c5:	ff 36                	push   (%esi)
4298c7:	e8 3d 3b fe ff       	call   0x40d409
4298cc:	83 f8 0a             	cmp    $0xa,%eax
4298cf:	75 3e                	jne    0x42990f
4298d1:	8b 06                	mov    (%esi),%eax
4298d3:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
4298d7:	74 45                	je     0x42991e
4298d9:	6a 00                	push   $0x0
4298db:	6a 07                	push   $0x7
4298dd:	68 ee 2e 00 00       	push   $0x2eee
4298e2:	ff 75 0c             	push   0xc(%ebp)
4298e5:	ff 70 38             	push   0x38(%eax)
4298e8:	ff 15 7c a9 46 00    	call   *0x46a97c
4298ee:	85 c0                	test   %eax,%eax
4298f0:	74 16                	je     0x429908
4298f2:	3d c7 04 00 00       	cmp    $0x4c7,%eax
4298f7:	74 0f                	je     0x429908
4298f9:	3d 00 2f 00 00       	cmp    $0x2f00,%eax
4298fe:	75 1e                	jne    0x42991e
429900:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
429906:	eb 12                	jmp    0x42991a
429908:	be 42 06 07 80       	mov    $0x80070642,%esi
42990d:	eb 14                	jmp    0x429923
42990f:	83 f8 04             	cmp    $0x4,%eax
429912:	75 0a                	jne    0x42991e
429914:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
42991a:	33 f6                	xor    %esi,%esi
42991c:	eb 05                	jmp    0x429923
42991e:	be 05 00 07 80       	mov    $0x80070005,%esi
429923:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
429927:	74 08                	je     0x429931
429929:	ff 75 fc             	push   -0x4(%ebp)
42992c:	e8 be bb 01 00       	call   0x4454ef
429931:	5f                   	pop    %edi
429932:	8b c6                	mov    %esi,%eax
429934:	5e                   	pop    %esi
429935:	5b                   	pop    %ebx
429936:	8b e5                	mov    %ebp,%esp
429938:	5d                   	pop    %ebp
429939:	c2 14 00             	ret    $0x14
42993c:	55                   	push   %ebp
42993d:	8b ec                	mov    %esp,%ebp
42993f:	53                   	push   %ebx
429940:	56                   	push   %esi
429941:	8b 75 38             	mov    0x38(%ebp),%esi
429944:	57                   	push   %edi
429945:	33 ff                	xor    %edi,%edi
429947:	8b 46 04             	mov    0x4(%esi),%eax
42994a:	85 c0                	test   %eax,%eax
42994c:	75 07                	jne    0x429955
42994e:	8b 46 08             	mov    0x8(%esi),%eax
429951:	85 c0                	test   %eax,%eax
429953:	74 04                	je     0x429959
429955:	8b 18                	mov    (%eax),%ebx
429957:	eb 02                	jmp    0x42995b
429959:	8b df                	mov    %edi,%ebx
42995b:	8b 46 0c             	mov    0xc(%esi),%eax
42995e:	85 c0                	test   %eax,%eax
429960:	74 07                	je     0x429969
429962:	8b 00                	mov    (%eax),%eax
429964:	89 45 38             	mov    %eax,0x38(%ebp)
429967:	eb 03                	jmp    0x42996c
429969:	89 7d 38             	mov    %edi,0x38(%ebp)
42996c:	8b 4e 10             	mov    0x10(%esi),%ecx
42996f:	03 4d 10             	add    0x10(%ebp),%ecx
429972:	8b 56 14             	mov    0x14(%esi),%edx
429975:	13 55 14             	adc    0x14(%ebp),%edx
429978:	3b 56 1c             	cmp    0x1c(%esi),%edx
42997b:	72 0d                	jb     0x42998a
42997d:	77 05                	ja     0x429984
42997f:	3b 4e 18             	cmp    0x18(%esi),%ecx
429982:	76 06                	jbe    0x42998a
429984:	8b 4e 18             	mov    0x18(%esi),%ecx
429987:	8b 56 1c             	mov    0x1c(%esi),%edx
42998a:	8b 46 18             	mov    0x18(%esi),%eax
42998d:	0b 46 1c             	or     0x1c(%esi),%eax
429990:	74 1b                	je     0x4299ad
429992:	57                   	push   %edi
429993:	6a 64                	push   $0x64
429995:	52                   	push   %edx
429996:	51                   	push   %ecx
429997:	e8 e4 46 00 00       	call   0x42e080
42999c:	ff 76 1c             	push   0x1c(%esi)
42999f:	ff 76 18             	push   0x18(%esi)
4299a2:	52                   	push   %edx
4299a3:	50                   	push   %eax
4299a4:	e8 77 47 00 00       	call   0x42e120
4299a9:	8b d0                	mov    %eax,%edx
4299ab:	eb 02                	jmp    0x4299af
4299ad:	8b d7                	mov    %edi,%edx
4299af:	8b 06                	mov    (%esi),%eax
4299b1:	52                   	push   %edx
4299b2:	ff 75 0c             	push   0xc(%ebp)
4299b5:	ff 75 08             	push   0x8(%ebp)
4299b8:	8b 40 10             	mov    0x10(%eax),%eax
4299bb:	ff 75 14             	push   0x14(%ebp)
4299be:	ff 75 10             	push   0x10(%ebp)
4299c1:	8b 08                	mov    (%eax),%ecx
4299c3:	ff 75 38             	push   0x38(%ebp)
4299c6:	53                   	push   %ebx
4299c7:	50                   	push   %eax
4299c8:	ff 91 94 00 00 00    	call   *0x94(%ecx)
4299ce:	50                   	push   %eax
4299cf:	33 db                	xor    %ebx,%ebx
4299d1:	43                   	inc    %ebx
4299d2:	53                   	push   %ebx
4299d3:	57                   	push   %edi
4299d4:	ff 36                	push   (%esi)
4299d6:	e8 2e 3a fe ff       	call   0x40d409
4299db:	40                   	inc    %eax
4299dc:	83 f8 0c             	cmp    $0xc,%eax
4299df:	77 0c                	ja     0x4299ed
4299e1:	ff 24 85 fc 99 42 00 	jmp    *0x4299fc(,%eax,4)