4296a4:	c7 47 34 00 00 00 20 	movl   $0x20000000,0x34(%edi)
4296ab:	b2 01                	mov    $0x1,%dl
4296ad:	a1 74 2f 42 00       	mov    0x422f74,%eax
4296b2:	e8 35 a2 fd ff       	call   0x4038ec
4296b7:	8b f0                	mov    %eax,%esi
4296b9:	89 77 28             	mov    %esi,0x28(%edi)
4296bc:	8b c6                	mov    %esi,%eax
4296be:	e8 1d f5 ff ff       	call   0x428be0
4296c3:	80 3d 5c bb 49 00 00 	cmpb   $0x0,0x49bb5c
4296ca:	74 09                	je     0x4296d5
4296cc:	b2 01                	mov    $0x1,%dl
4296ce:	8b c7                	mov    %edi,%eax
4296d0:	8b 08                	mov    (%eax),%ecx
4296d2:	ff 51 70             	call   *0x70(%ecx)
4296d5:	8b c7                	mov    %edi,%eax
4296d7:	84 db                	test   %bl,%bl
4296d9:	74 0f                	je     0x4296ea
4296db:	e8 b8 a5 fd ff       	call   0x403c98
4296e0:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4296e7:	83 c4 0c             	add    $0xc,%esp
4296ea:	8b c7                	mov    %edi,%eax
4296ec:	5f                   	pop    %edi
4296ed:	5e                   	pop    %esi
4296ee:	5b                   	pop    %ebx
4296ef:	c3                   	ret
4296f0:	53                   	push   %ebx
4296f1:	56                   	push   %esi
4296f2:	e8 f1 a5 fd ff       	call   0x403ce8
4296f7:	8b da                	mov    %edx,%ebx
4296f9:	8b f0                	mov    %eax,%esi
4296fb:	8b c6                	mov    %esi,%eax
4296fd:	e8 0a 07 00 00       	call   0x429e0c
429702:	8b 46 28             	mov    0x28(%esi),%eax
429705:	e8 da f4 ff ff       	call   0x428be4
42970a:	8b 46 2c             	mov    0x2c(%esi),%eax
42970d:	e8 0a a2 fd ff       	call   0x40391c
429712:	8b d3                	mov    %ebx,%edx
429714:	80 e2 fc             	and    $0xfc,%dl
429717:	8b c6                	mov    %esi,%eax
429719:	e8 8e f0 fe ff       	call   0x4187ac
42971e:	84 db                	test   %bl,%bl
429720:	7e 07                	jle    0x429729
429722:	8b c6                	mov    %esi,%eax
429724:	e8 67 a5 fd ff       	call   0x403c90
429729:	5e                   	pop    %esi
42972a:	5b                   	pop    %ebx
42972b:	c3                   	ret
42972c:	55                   	push   %ebp
42972d:	8b ec                	mov    %esp,%ebp
42972f:	83 c4 a8             	add    $0xffffffa8,%esp
429732:	53                   	push   %ebx
429733:	56                   	push   %esi
429734:	8b da                	mov    %edx,%ebx
429736:	89 45 fc             	mov    %eax,-0x4(%ebp)
429739:	85 db                	test   %ebx,%ebx
42973b:	74 15                	je     0x429752
42973d:	8b c3                	mov    %ebx,%eax
42973f:	8b 15 d4 2f 42 00    	mov    0x422fd4,%edx
429745:	e8 5e a3 fd ff       	call   0x403aa8
42974a:	84 c0                	test   %al,%al
42974c:	0f 84 c3 00 00 00    	je     0x429815
429752:	8b 45 fc             	mov    -0x4(%ebp),%eax
429755:	e8 b2 06 00 00       	call   0x429e0c
42975a:	68 68 b3 4a 00       	push   $0x4ab368
42975f:	e8 4c d2 fd ff       	call   0x4069b0
429764:	33 c0                	xor    %eax,%eax
429766:	55                   	push   %ebp
429767:	68 ee 97 42 00       	push   $0x4297ee
42976c:	64 ff 30             	push   %fs:(%eax)
42976f:	64 89 20             	mov    %esp,%fs:(%eax)
429772:	85 db                	test   %ebx,%ebx
429774:	74 3d                	je     0x4297b3
429776:	8b f3                	mov    %ebx,%esi
429778:	8b 46 28             	mov    0x28(%esi),%eax
42977b:	e8 60 f4 ff ff       	call   0x428be0
429780:	8b 45 fc             	mov    -0x4(%ebp),%eax
429783:	8b 40 28             	mov    0x28(%eax),%eax
429786:	e8 59 f4 ff ff       	call   0x428be4
42978b:	8b 46 28             	mov    0x28(%esi),%eax
42978e:	8b 55 fc             	mov    -0x4(%ebp),%edx
429791:	89 42 28             	mov    %eax,0x28(%edx)
429794:	0f b6 46 21          	movzbl 0x21(%esi),%eax
429798:	8b 55 fc             	mov    -0x4(%ebp),%edx
42979b:	88 42 21             	mov    %al,0x21(%edx)
42979e:	8b 46 34             	mov    0x34(%esi),%eax
4297a1:	8b 55 fc             	mov    -0x4(%ebp),%edx
4297a4:	89 42 34             	mov    %eax,0x34(%edx)
4297a7:	0f b6 46 38          	movzbl 0x38(%esi),%eax
4297ab:	8b 55 fc             	mov    -0x4(%ebp),%edx
4297ae:	88 42 38             	mov    %al,0x38(%edx)
4297b1:	eb 23                	jmp    0x4297d6
4297b3:	8d 45 a8             	lea    -0x58(%ebp),%eax
4297b6:	33 c9                	xor    %ecx,%ecx
4297b8:	ba 54 00 00 00       	mov    $0x54,%edx
4297bd:	e8 96 9a fd ff       	call   0x403258
4297c2:	8d 45 a8             	lea    -0x58(%ebp),%eax
4297c5:	50                   	push   %eax
4297c6:	6a 00                	push   $0x0
4297c8:	6a 00                	push   $0x0
4297ca:	33 c9                	xor    %ecx,%ecx
4297cc:	33 d2                	xor    %edx,%edx
4297ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
4297d1:	e8 a6 08 00 00       	call   0x42a07c
4297d6:	33 c0                	xor    %eax,%eax
4297d8:	5a                   	pop    %edx
4297d9:	59                   	pop    %ecx
4297da:	59                   	pop    %ecx
4297db:	64 89 10             	mov    %edx,%fs:(%eax)
4297de:	68 f5 97 42 00       	push   $0x4297f5
4297e3:	68 68 b3 4a 00       	push   $0x4ab368
4297e8:	e8 db d2 fd ff       	call   0x406ac8
4297ed:	c3                   	ret
4297ee:	e9 bd a8 fd ff       	jmp    0x4040b0
4297f3:	eb ee                	jmp    0x4297e3
4297f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4297f8:	8b 10                	mov    (%eax),%edx
4297fa:	ff 52 24             	call   *0x24(%edx)
4297fd:	85 c0                	test   %eax,%eax
4297ff:	0f 95 c0             	setne  %al
429802:	8b 55 fc             	mov    -0x4(%ebp),%edx
429805:	88 42 22             	mov    %al,0x22(%edx)
429808:	8b 55 fc             	mov    -0x4(%ebp),%edx
42980b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42980e:	8b 08                	mov    (%eax),%ecx
429810:	ff 51 10             	call   *0x10(%ecx)
429813:	eb 0a                	jmp    0x42981f
429815:	8b d3                	mov    %ebx,%edx
429817:	8b 45 fc             	mov    -0x4(%ebp),%eax
42981a:	e8 b9 ef fe ff       	call   0x4187d8
42981f:	5e                   	pop    %esi
429820:	5b                   	pop    %ebx
429821:	8b e5                	mov    %ebp,%esp
429823:	5d                   	pop    %ebp
429824:	c3                   	ret
429825:	8d 40 00             	lea    0x0(%eax),%eax
429828:	55                   	push   %ebp
429829:	8b ec                	mov    %esp,%ebp
42982b:	83 c4 a4             	add    $0xffffffa4,%esp
42982e:	53                   	push   %ebx
42982f:	56                   	push   %esi
429830:	57                   	push   %edi
429831:	8b 75 08             	mov    0x8(%ebp),%esi
429834:	8d 7d a4             	lea    -0x5c(%ebp),%edi
429837:	51                   	push   %ecx
429838:	b9 15 00 00 00       	mov    $0x15,%ecx
42983d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42983f:	59                   	pop    %ecx
429840:	8b f1                	mov    %ecx,%esi
429842:	8b fa                	mov    %edx,%edi
429844:	8b d8                	mov    %eax,%ebx
429846:	8b c3                	mov    %ebx,%eax
429848:	e8 bf 05 00 00       	call   0x429e0c
42984d:	33 c0                	xor    %eax,%eax
42984f:	89 45 fc             	mov    %eax,-0x4(%ebp)
429852:	33 c0                	xor    %eax,%eax
429854:	89 45 f8             	mov    %eax,-0x8(%ebp)
429857:	33 c0                	xor    %eax,%eax
429859:	55                   	push   %ebp
42985a:	68 b8 98 42 00       	push   $0x4298b8
42985f:	64 ff 30             	push   %fs:(%eax)
429862:	64 89 20             	mov    %esp,%fs:(%eax)
429865:	3b 35 4c b3 4a 00    	cmp    0x4ab34c,%esi
42986b:	75 05                	jne    0x429872
42986d:	89 75 f8             	mov    %esi,-0x8(%ebp)
429870:	eb 0a                	jmp    0x42987c
429872:	8b c6                	mov    %esi,%eax
429874:	e8 9f fb ff ff       	call   0x429418
429879:	89 45 f8             	mov    %eax,-0x8(%ebp)
42987c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
42987f:	50                   	push   %eax
429880:	8b 43 2c             	mov    0x2c(%ebx),%eax
429883:	50                   	push   %eax
429884:	8b 4d f8             	mov    -0x8(%ebp),%ecx
429887:	8b d6                	mov    %esi,%edx
429889:	8b c7                	mov    %edi,%eax
42988b:	e8 24 f5 ff ff       	call   0x428db4
429890:	89 45 fc             	mov    %eax,-0x4(%ebp)
429893:	8d 45 a4             	lea    -0x5c(%ebp),%eax
429896:	50                   	push   %eax
429897:	8b 43 28             	mov    0x28(%ebx),%eax
42989a:	0f b6 40 70          	movzbl 0x70(%eax),%eax
42989e:	50                   	push   %eax
42989f:	6a 00                	push   $0x0
4298a1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4298a4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4298a7:	8b c3                	mov    %ebx,%eax
4298a9:	e8 ce 07 00 00       	call   0x42a07c
4298ae:	33 c0                	xor    %eax,%eax
4298b0:	5a                   	pop    %edx
4298b1:	59                   	pop    %ecx
4298b2:	59                   	pop    %ecx
4298b3:	64 89 10             	mov    %edx,%fs:(%eax)
4298b6:	eb 26                	jmp    0x4298de
4298b8:	e9 3f a5 fd ff       	jmp    0x403dfc
4298bd:	8b 45 f8             	mov    -0x8(%ebp),%eax
4298c0:	e8 33 99 ff ff       	call   0x4231f8
4298c5:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4298c9:	74 09                	je     0x4298d4
4298cb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4298ce:	50                   	push   %eax
4298cf:	e8 3c d3 fd ff       	call   0x406c10
4298d4:	e8 df a8 fd ff       	call   0x4041b8
4298d9:	e8 2e a9 fd ff       	call   0x40420c
4298de:	5f                   	pop    %edi
4298df:	5e                   	pop    %esi
4298e0:	5b                   	pop    %ebx
4298e1:	8b e5                	mov    %ebp,%esp
4298e3:	5d                   	pop    %ebp
4298e4:	c2 04 00             	ret    $0x4
4298e7:	90                   	nop
4298e8:	53                   	push   %ebx
4298e9:	8b d8                	mov    %eax,%ebx
4298eb:	8b c3                	mov    %ebx,%eax
4298ed:	e8 ea 02 00 00       	call   0x429bdc
4298f2:	8b 43 28             	mov    0x28(%ebx),%eax
4298f5:	33 d2                	xor    %edx,%edx
4298f7:	89 50 50             	mov    %edx,0x50(%eax)
4298fa:	33 d2                	xor    %edx,%edx
4298fc:	89 50 54             	mov    %edx,0x54(%eax)
4298ff:	83 c0 6c             	add    $0x6c,%eax
429902:	e8 21 48 fe ff       	call   0x40e128
429907:	5b                   	pop    %ebx
429908:	c3                   	ret
429909:	8d 40 00             	lea    0x0(%eax),%eax
42990c:	c6 40 31 00          	movb   $0x0,0x31(%eax)
429910:	e8 cf cd ff ff       	call   0x4266e4
429915:	c3                   	ret
429916:	8b c0                	mov    %eax,%eax
429918:	53                   	push   %ebx
429919:	56                   	push   %esi
42991a:	57                   	push   %edi
42991b:	83 c4 ac             	add    $0xffffffac,%esp
42991e:	8b d8                	mov    %eax,%ebx
429920:	b2 01                	mov    $0x1,%dl
429922:	a1 54 65 41 00       	mov    0x416554,%eax
429927:	e8 c0 9f fd ff       	call   0x4038ec
42992c:	8b f0                	mov    %eax,%esi
42992e:	8b d6                	mov    %esi,%edx
429930:	8b c3                	mov    %ebx,%eax
429932:	8b 08                	mov    (%eax),%ecx
429934:	ff 51 58             	call   *0x58(%ecx)
429937:	8b c6                	mov    %esi,%eax
429939:	8b 10                	mov    (%eax),%edx
42993b:	ff 12                	call   *(%edx)
42993d:	52                   	push   %edx
42993e:	50                   	push   %eax
42993f:	8b c6                	mov    %esi,%eax
429941:	e8 72 0f ff ff       	call   0x41a8b8
429946:	8b 43 28             	mov    0x28(%ebx),%eax
429949:	56                   	push   %esi
42994a:	8d 70 18             	lea    0x18(%eax),%esi
42994d:	8d 7c 24 04          	lea    0x4(%esp),%edi
429951:	b9 15 00 00 00       	mov    $0x15,%ecx
429956:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
429958:	5e                   	pop    %esi
429959:	33 c0                	xor    %eax,%eax
42995b:	89 44 24 14          	mov    %eax,0x14(%esp)
42995f:	8b c3                	mov    %ebx,%eax
429961:	e8 a6 04 00 00       	call   0x429e0c
429966:	8d 43 2c             	lea    0x2c(%ebx),%eax
429969:	e8 ba 47 fe ff       	call   0x40e128
42996e:	54                   	push   %esp
42996f:	8b 43 28             	mov    0x28(%ebx),%eax
429972:	0f b6 40 70          	movzbl 0x70(%eax),%eax
429976:	50                   	push   %eax
429977:	56                   	push   %esi
429978:	33 c9                	xor    %ecx,%ecx
42997a:	33 d2                	xor    %edx,%edx
42997c:	8b c3                	mov    %ebx,%eax
42997e:	e8 f9 06 00 00       	call   0x42a07c
429983:	83 c4 54             	add    $0x54,%esp
429986:	5f                   	pop    %edi
429987:	5e                   	pop    %esi
429988:	5b                   	pop    %ebx
429989:	c3                   	ret
42998a:	8b c0                	mov    %eax,%eax
42998c:	55                   	push   %ebp
42998d:	8b ec                	mov    %esp,%ebp
42998f:	83 c4 e4             	add    $0xffffffe4,%esp
429992:	53                   	push   %ebx
429993:	56                   	push   %esi
429994:	57                   	push   %edi
429995:	8b f9                	mov    %ecx,%edi
429997:	89 55 fc             	mov    %edx,-0x4(%ebp)
42999a:	8b d8                	mov    %eax,%ebx
42999c:	8b 73 28             	mov    0x28(%ebx),%esi
42999f:	0f b6 15 d8 9b 42 00 	movzbl 0x429bd8,%edx
4299a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4299a9:	e8 3a b8 ff ff       	call   0x4251e8
4299ae:	8b c3                	mov    %ebx,%eax
4299b0:	e8 67 05 00 00       	call   0x429f1c
4299b5:	33 c0                	xor    %eax,%eax
4299b7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4299ba:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
4299be:	8b 46 10             	mov    0x10(%esi),%eax
4299c1:	85 c0                	test   %eax,%eax
4299c3:	74 22                	je     0x4299e7
4299c5:	6a ff                	push   $0xffffffff
4299c7:	50                   	push   %eax
4299c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4299cb:	8b 40 04             	mov    0x4(%eax),%eax
4299ce:	50                   	push   %eax
4299cf:	e8 7c d3 fd ff       	call   0x406d50
4299d4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4299d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4299da:	8b 40 04             	mov    0x4(%eax),%eax
4299dd:	50                   	push   %eax
4299de:	e8 3d d3 fd ff       	call   0x406d20
4299e3:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
4299e7:	6a 0c                	push   $0xc
4299e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4299ec:	8b 40 04             	mov    0x4(%eax),%eax
4299ef:	50                   	push   %eax
4299f0:	e8 6b d2 fd ff       	call   0x406c60
4299f5:	50                   	push   %eax
4299f6:	6a 0e                	push   $0xe
4299f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4299fb:	8b 40 04             	mov    0x4(%eax),%eax
4299fe:	50                   	push   %eax
4299ff:	e8 5c d2 fd ff       	call   0x406c60
429a04:	8b d0                	mov    %eax,%edx
429a06:	58                   	pop    %eax
429a07:	f7 ea                	imul   %edx
429a09:	83 f8 08             	cmp    $0x8,%eax
429a0c:	7f 0f                	jg     0x429a1d
429a0e:	0f b7 56 2a          	movzwl 0x2a(%esi),%edx
429a12:	0f b7 4e 28          	movzwl 0x28(%esi),%ecx
429a16:	0f af d1             	imul   %ecx,%edx
429a19:	3b c2                	cmp    %edx,%eax
429a1b:	7c 04                	jl     0x429a21
429a1d:	33 c0                	xor    %eax,%eax
429a1f:	eb 02                	jmp    0x429a23
429a21:	b0 01                	mov    $0x1,%al
429a23:	84 c0                	test   %al,%al
429a25:	74 38                	je     0x429a5f
429a27:	8d 45 ef             	lea    -0x11(%ebp),%eax
429a2a:	50                   	push   %eax
429a2b:	8b 45 fc             	mov    -0x4(%ebp),%eax
429a2e:	8b 40 04             	mov    0x4(%eax),%eax
429a31:	50                   	push   %eax
429a32:	e8 f9 d1 fd ff       	call   0x406c30
429a37:	6a 04                	push   $0x4
429a39:	8b 45 fc             	mov    -0x4(%ebp),%eax
429a3c:	8b 40 04             	mov    0x4(%eax),%eax
429a3f:	50                   	push   %eax
429a40:	e8 53 d3 fd ff       	call   0x406d98
429a45:	8d 45 ef             	lea    -0x11(%ebp),%eax
429a48:	50                   	push   %eax
429a49:	8b 45 f3             	mov    -0xd(%ebp),%eax
429a4c:	50                   	push   %eax