4296d7:	8b 46 0c             	mov    0xc(%esi),%eax
4296da:	85 c0                	test   %eax,%eax
4296dc:	74 13                	je     0x4296f1
4296de:	e8 a1 ea ff ff       	call   0x428184
4296e3:	8b 46 0c             	mov    0xc(%esi),%eax
4296e6:	50                   	push   %eax
4296e7:	e8 50 ce fd ff       	call   0x40653c
4296ec:	33 c0                	xor    %eax,%eax
4296ee:	89 46 0c             	mov    %eax,0xc(%esi)
4296f1:	8b c3                	mov    %ebx,%eax
4296f3:	e8 1c ff ff ff       	call   0x429614
4296f8:	8b c3                	mov    %ebx,%eax
4296fa:	e8 25 ff ff ff       	call   0x429624
4296ff:	8b 73 28             	mov    0x28(%ebx),%esi
429702:	8b c3                	mov    %ebx,%eax
429704:	e8 47 fe ff ff       	call   0x429550
429709:	8b c8                	mov    %eax,%ecx
42970b:	8b 56 10             	mov    0x10(%esi),%edx
42970e:	8b 46 08             	mov    0x8(%esi),%eax
429711:	e8 7a f5 ff ff       	call   0x428c90
429716:	89 46 0c             	mov    %eax,0xc(%esi)
429719:	c6 43 32 01          	movb   $0x1,0x32(%ebx)
42971d:	c6 43 31 01          	movb   $0x1,0x31(%ebx)
429721:	5e                   	pop    %esi
429722:	5b                   	pop    %ebx
429723:	c3                   	ret
429724:	53                   	push   %ebx
429725:	56                   	push   %esi
429726:	57                   	push   %edi
429727:	55                   	push   %ebp
429728:	8b f8                	mov    %eax,%edi
42972a:	8b 6f 28             	mov    0x28(%edi),%ebp
42972d:	80 7f 30 00          	cmpb   $0x0,0x30(%edi)
429731:	0f 85 a0 00 00 00    	jne    0x4297d7
429737:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42973b:	0f 85 96 00 00 00    	jne    0x4297d7
429741:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
429745:	0f 84 8c 00 00 00    	je     0x4297d7
42974b:	8b 45 14             	mov    0x14(%ebp),%eax
42974e:	3b 45 08             	cmp    0x8(%ebp),%eax
429751:	75 05                	jne    0x429758
429753:	e8 2c ea ff ff       	call   0x428184
429758:	66 8b 4d 3e          	mov    0x3e(%ebp),%cx
42975c:	b8 01 00 00 00       	mov    $0x1,%eax
429761:	d3 e0                	shl    %cl,%eax
429763:	8b c8                	mov    %eax,%ecx
429765:	33 d2                	xor    %edx,%edx
429767:	8b 45 14             	mov    0x14(%ebp),%eax
42976a:	e8 95 c0 ff ff       	call   0x425804
42976f:	8b f0                	mov    %eax,%esi
429771:	89 75 10             	mov    %esi,0x10(%ebp)
429774:	85 f6                	test   %esi,%esi
429776:	75 5f                	jne    0x4297d7
429778:	6a 00                	push   $0x0
42977a:	e8 cd d0 fd ff       	call   0x40684c
42977f:	e8 90 b9 ff ff       	call   0x425114
429784:	8b f0                	mov    %eax,%esi
429786:	80 7d 71 00          	cmpb   $0x0,0x71(%ebp)
42978a:	75 27                	jne    0x4297b3
42978c:	6a 0c                	push   $0xc
42978e:	56                   	push   %esi
42978f:	e8 f0 cd fd ff       	call   0x406584
429794:	8b d8                	mov    %eax,%ebx
429796:	6a 0e                	push   $0xe
429798:	56                   	push   %esi
429799:	e8 e6 cd fd ff       	call   0x406584
42979e:	0f af d8             	imul   %eax,%ebx
4297a1:	0f b7 45 2a          	movzwl 0x2a(%ebp),%eax
4297a5:	0f b7 55 28          	movzwl 0x28(%ebp),%edx
4297a9:	f7 ea                	imul   %edx
4297ab:	3b d8                	cmp    %eax,%ebx
4297ad:	7c 04                	jl     0x4297b3
4297af:	33 db                	xor    %ebx,%ebx
4297b1:	eb 02                	jmp    0x4297b5
4297b3:	b3 01                	mov    $0x1,%bl
4297b5:	88 5d 71             	mov    %bl,0x71(%ebp)
4297b8:	84 db                	test   %bl,%bl
4297ba:	74 09                	je     0x4297c5
4297bc:	56                   	push   %esi
4297bd:	e8 4a cd fd ff       	call   0x40650c
4297c2:	89 45 10             	mov    %eax,0x10(%ebp)
4297c5:	56                   	push   %esi
4297c6:	6a 00                	push   $0x0
4297c8:	e8 c7 d2 fd ff       	call   0x406a94
4297cd:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4297d1:	75 04                	jne    0x4297d7
4297d3:	c6 47 30 01          	movb   $0x1,0x30(%edi)
4297d7:	5d                   	pop    %ebp
4297d8:	5f                   	pop    %edi
4297d9:	5e                   	pop    %esi
4297da:	5b                   	pop    %ebx
4297db:	c3                   	ret
4297dc:	55                   	push   %ebp
4297dd:	8b ec                	mov    %esp,%ebp
4297df:	83 c4 ac             	add    $0xffffffac,%esp
4297e2:	53                   	push   %ebx
4297e3:	56                   	push   %esi
4297e4:	8b d9                	mov    %ecx,%ebx
4297e6:	8b f0                	mov    %eax,%esi
4297e8:	66 83 fa 02          	cmp    $0x2,%dx
4297ec:	75 04                	jne    0x4297f2
4297ee:	85 db                	test   %ebx,%ebx
4297f0:	75 0a                	jne    0x4297fc
4297f2:	a1 80 47 47 00       	mov    0x474780,%eax
4297f7:	e8 e0 b7 ff ff       	call   0x424fdc
4297fc:	8b c6                	mov    %esi,%eax
4297fe:	e8 11 fe ff ff       	call   0x429614
429803:	8d 45 ac             	lea    -0x54(%ebp),%eax
429806:	33 c9                	xor    %ecx,%ecx
429808:	ba 54 00 00 00       	mov    $0x54,%edx
42980d:	e8 ba 94 fd ff       	call   0x402ccc
429812:	8d 45 ac             	lea    -0x54(%ebp),%eax
429815:	50                   	push   %eax
429816:	6a 54                	push   $0x54
429818:	53                   	push   %ebx
429819:	e8 86 cd fd ff       	call   0x4065a4
42981e:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
429822:	75 05                	jne    0x429829
429824:	33 c0                	xor    %eax,%eax
429826:	89 45 c4             	mov    %eax,-0x3c(%ebp)
429829:	8d 45 ac             	lea    -0x54(%ebp),%eax
42982c:	50                   	push   %eax
42982d:	8b 4d 08             	mov    0x8(%ebp),%ecx
429830:	8b d3                	mov    %ebx,%edx
429832:	8b c6                	mov    %esi,%eax
429834:	e8 f7 f7 ff ff       	call   0x429030
429839:	8b 46 28             	mov    0x28(%esi),%eax
42983c:	c6 40 70 00          	movb   $0x0,0x70(%eax)
429840:	8b c6                	mov    %esi,%eax
429842:	8b 10                	mov    (%eax),%edx
429844:	ff 52 24             	call   *0x24(%edx)
429847:	85 c0                	test   %eax,%eax
429849:	0f 95 c0             	setne  %al
42984c:	88 46 22             	mov    %al,0x22(%esi)
42984f:	8b d6                	mov    %esi,%edx
429851:	8b c6                	mov    %esi,%eax
429853:	8b 08                	mov    (%eax),%ecx
429855:	ff 51 10             	call   *0x10(%ecx)
429858:	5e                   	pop    %esi
429859:	5b                   	pop    %ebx
42985a:	8b e5                	mov    %ebp,%esp
42985c:	5d                   	pop    %ebp
42985d:	c2 04 00             	ret    $0x4
429860:	53                   	push   %ebx
429861:	56                   	push   %esi
429862:	8b da                	mov    %edx,%ebx
429864:	8b f0                	mov    %eax,%esi
429866:	8b c3                	mov    %ebx,%eax
429868:	8b 10                	mov    (%eax),%edx
42986a:	ff 12                	call   *(%edx)
42986c:	50                   	push   %eax
42986d:	8b c3                	mov    %ebx,%eax
42986f:	e8 40 13 ff ff       	call   0x41abb4
429874:	59                   	pop    %ecx
429875:	2b c8                	sub    %eax,%ecx
429877:	8b d3                	mov    %ebx,%edx
429879:	8b c6                	mov    %esi,%eax
42987b:	e8 f4 06 00 00       	call   0x429f74
429880:	5e                   	pop    %esi
429881:	5b                   	pop    %ebx
429882:	c3                   	ret
429883:	90                   	nop
429884:	55                   	push   %ebp
429885:	8b ec                	mov    %esp,%ebp
429887:	51                   	push   %ecx
429888:	53                   	push   %ebx
429889:	8b d8                	mov    %eax,%ebx
42988b:	51                   	push   %ecx
42988c:	6a 02                	push   $0x2
42988e:	a1 ec 68 41 00       	mov    0x4168ec,%eax
429893:	b1 01                	mov    $0x1,%cl
429895:	87 ca                	xchg   %ecx,%edx
429897:	e8 a8 1b ff ff       	call   0x41b444
42989c:	89 45 fc             	mov    %eax,-0x4(%ebp)
42989f:	33 c0                	xor    %eax,%eax
4298a1:	55                   	push   %ebp
4298a2:	68 d8 98 42 00       	push   $0x4298d8
4298a7:	64 ff 30             	push   %fs:(%eax)
4298aa:	64 89 20             	mov    %esp,%fs:(%eax)
4298ad:	6a 00                	push   $0x0
4298af:	8b 45 fc             	mov    -0x4(%ebp),%eax
4298b2:	8b 10                	mov    (%eax),%edx
4298b4:	ff 12                	call   *(%edx)
4298b6:	8b c8                	mov    %eax,%ecx
4298b8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4298bb:	8b c3                	mov    %ebx,%eax
4298bd:	e8 4a 01 00 00       	call   0x429a0c
4298c2:	33 c0                	xor    %eax,%eax
4298c4:	5a                   	pop    %edx
4298c5:	59                   	pop    %ecx
4298c6:	59                   	pop    %ecx
4298c7:	64 89 10             	mov    %edx,%fs:(%eax)
4298ca:	68 df 98 42 00       	push   $0x4298df
4298cf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4298d2:	e8 e9 99 fd ff       	call   0x4032c0
4298d7:	c3                   	ret
4298d8:	e9 77 a1 fd ff       	jmp    0x403a54
4298dd:	eb f0                	jmp    0x4298cf
4298df:	5b                   	pop    %ebx
4298e0:	59                   	pop    %ecx
4298e1:	5d                   	pop    %ebp
4298e2:	c3                   	ret
4298e3:	90                   	nop
4298e4:	55                   	push   %ebp
4298e5:	8b ec                	mov    %esp,%ebp
4298e7:	83 c4 f8             	add    $0xfffffff8,%esp
4298ea:	53                   	push   %ebx
4298eb:	56                   	push   %esi
4298ec:	57                   	push   %edi
4298ed:	8b f1                	mov    %ecx,%esi
4298ef:	8b da                	mov    %edx,%ebx
4298f1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4298f4:	b2 01                	mov    $0x1,%dl
4298f6:	a1 38 2e 42 00       	mov    0x422e38,%eax
4298fb:	e8 90 99 fd ff       	call   0x403290
429900:	89 45 f8             	mov    %eax,-0x8(%ebp)
429903:	33 c0                	xor    %eax,%eax
429905:	55                   	push   %ebp
429906:	68 6b 99 42 00       	push   $0x42996b
42990b:	64 ff 30             	push   %fs:(%eax)
42990e:	64 89 20             	mov    %esp,%fs:(%eax)
429911:	8b 45 f8             	mov    -0x8(%ebp),%eax
429914:	89 58 08             	mov    %ebx,0x8(%eax)
429917:	8b 45 f8             	mov    -0x8(%ebp),%eax
42991a:	89 70 10             	mov    %esi,0x10(%eax)
42991d:	8b 45 10             	mov    0x10(%ebp),%eax
429920:	8b 55 f8             	mov    -0x8(%ebp),%edx
429923:	8b f0                	mov    %eax,%esi
429925:	8d 7a 18             	lea    0x18(%edx),%edi
429928:	b9 15 00 00 00       	mov    $0x15,%ecx
42992d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42992f:	8b 45 f8             	mov    -0x8(%ebp),%eax
429932:	8a 55 0c             	mov    0xc(%ebp),%dl
429935:	88 50 70             	mov    %dl,0x70(%eax)
429938:	8b 45 f8             	mov    -0x8(%ebp),%eax
42993b:	83 78 2c 00          	cmpl   $0x0,0x2c(%eax)
42993f:	74 0c                	je     0x42994d
429941:	8b 45 f8             	mov    -0x8(%ebp),%eax
429944:	8b 40 08             	mov    0x8(%eax),%eax
429947:	8b 55 f8             	mov    -0x8(%ebp),%edx
42994a:	89 42 14             	mov    %eax,0x14(%edx)
42994d:	8b 45 08             	mov    0x8(%ebp),%eax
429950:	8b 15 70 68 41 00    	mov    0x416870,%edx
429956:	e8 15 9b fd ff       	call   0x403470
42995b:	8b 55 f8             	mov    -0x8(%ebp),%edx
42995e:	89 42 6c             	mov    %eax,0x6c(%edx)
429961:	33 c0                	xor    %eax,%eax
429963:	5a                   	pop    %edx
429964:	59                   	pop    %ecx
429965:	59                   	pop    %ecx
429966:	64 89 10             	mov    %edx,%fs:(%eax)
429969:	eb 17                	jmp    0x429982
42996b:	e9 30 9e fd ff       	jmp    0x4037a0
429970:	8b 45 f8             	mov    -0x8(%ebp),%eax
429973:	e8 48 99 fd ff       	call   0x4032c0
429978:	e8 37 a1 fd ff       	call   0x403ab4
42997d:	e8 86 a1 fd ff       	call   0x403b08
429982:	68 a8 58 47 00       	push   $0x4758a8
429987:	e8 18 c9 fd ff       	call   0x4062a4
42998c:	33 d2                	xor    %edx,%edx
42998e:	55                   	push   %ebp
42998f:	68 cb 99 42 00       	push   $0x4299cb
429994:	64 ff 32             	push   %fs:(%edx)
429997:	64 89 22             	mov    %esp,%fs:(%edx)
42999a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42999d:	8b 40 28             	mov    0x28(%eax),%eax
4299a0:	e8 53 ea ff ff       	call   0x4283f8
4299a5:	8b 55 fc             	mov    -0x4(%ebp),%edx
4299a8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4299ab:	89 42 28             	mov    %eax,0x28(%edx)
4299ae:	e8 41 ea ff ff       	call   0x4283f4
4299b3:	33 c0                	xor    %eax,%eax
4299b5:	5a                   	pop    %edx
4299b6:	59                   	pop    %ecx
4299b7:	59                   	pop    %ecx
4299b8:	64 89 10             	mov    %edx,%fs:(%eax)
4299bb:	68 d2 99 42 00       	push   $0x4299d2
4299c0:	68 a8 58 47 00       	push   $0x4758a8
4299c5:	e8 42 ca fd ff       	call   0x40640c
4299ca:	c3                   	ret
4299cb:	e9 84 a0 fd ff       	jmp    0x403a54
4299d0:	eb ee                	jmp    0x4299c0
4299d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4299d5:	c6 40 32 00          	movb   $0x0,0x32(%eax)
4299d9:	5f                   	pop    %edi
4299da:	5e                   	pop    %esi
4299db:	5b                   	pop    %ebx
4299dc:	59                   	pop    %ecx
4299dd:	59                   	pop    %ecx
4299de:	5d                   	pop    %ebp
4299df:	c2 0c 00             	ret    $0xc
4299e2:	8b c0                	mov    %eax,%eax
4299e4:	53                   	push   %ebx
4299e5:	56                   	push   %esi
4299e6:	57                   	push   %edi
4299e7:	51                   	push   %ecx
4299e8:	8b f2                	mov    %edx,%esi
4299ea:	8b d8                	mov    %eax,%ebx
4299ec:	8b d4                	mov    %esp,%edx
4299ee:	b9 04 00 00 00       	mov    $0x4,%ecx
4299f3:	8b c6                	mov    %esi,%eax
4299f5:	8b 38                	mov    (%eax),%edi
4299f7:	ff 57 0c             	call   *0xc(%edi)
4299fa:	8b 0c 24             	mov    (%esp),%ecx
4299fd:	8b d6                	mov    %esi,%edx
4299ff:	8b c3                	mov    %ebx,%eax
429a01:	e8 6e 05 00 00       	call   0x429f74
429a06:	5a                   	pop    %edx
429a07:	5f                   	pop    %edi
429a08:	5e                   	pop    %esi
429a09:	5b                   	pop    %ebx
429a0a:	c3                   	ret
429a0b:	90                   	nop
429a0c:	55                   	push   %ebp
429a0d:	8b ec                	mov    %esp,%ebp
429a0f:	81 c4 54 ff ff ff    	add    $0xffffff54,%esp
429a15:	53                   	push   %ebx
429a16:	56                   	push   %esi
429a17:	57                   	push   %edi
429a18:	8b f1                	mov    %ecx,%esi
429a1a:	89 55 f8             	mov    %edx,-0x8(%ebp)
429a1d:	89 45 fc             	mov    %eax,-0x4(%ebp)
429a20:	33 c0                	xor    %eax,%eax
429a22:	89 45 d0             	mov    %eax,-0x30(%ebp)
429a25:	33 c0                	xor    %eax,%eax
429a27:	89 45 d8             	mov    %eax,-0x28(%ebp)
429a2a:	33 c0                	xor    %eax,%eax
429a2c:	89 45 c8             	mov    %eax,-0x38(%ebp)
429a2f:	8d 55 e0             	lea    -0x20(%ebp),%edx
429a32:	b9 04 00 00 00       	mov    $0x4,%ecx
429a37:	8b 45 f8             	mov    -0x8(%ebp),%eax
429a3a:	8b 18                	mov    (%eax),%ebx
429a3c:	ff 53 0c             	call   *0xc(%ebx)
429a3f:	83 7d e0 0c          	cmpl   $0xc,-0x20(%ebp)
429a43:	0f 94 45 df          	sete   -0x21(%ebp)
429a47:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
429a4b:	74 07                	je     0x429a54
429a4d:	c7 45 e0 28 00 00 00 	movl   $0x28,-0x20(%ebp)
429a54:	8b 45 e0             	mov    -0x20(%ebp),%eax
429a57:	83 c0 0c             	add    $0xc,%eax
429a5a:	05 00 04 00 00       	add    $0x400,%eax
429a5f:	e8 90 8c fd ff       	call   0x4026f4
429a64:	89 45 e8             	mov    %eax,-0x18(%ebp)
429a67:	8b 45 e8             	mov    -0x18(%ebp),%eax
429a6a:	89 45 c4             	mov    %eax,-0x3c(%ebp)
429a6d:	33 d2                	xor    %edx,%edx
429a6f:	55                   	push   %ebp
429a70:	68 29 9f 42 00       	push   $0x429f29
429a75:	64 ff 32             	push   %fs:(%edx)
429a78:	64 89 22             	mov    %esp,%fs:(%edx)