42f816:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42f81a:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
42f81e:	74 0c                	je     0x42f82c
42f820:	57                   	push   %edi
42f821:	8b cf                	mov    %edi,%ecx
42f823:	e8 fe e9 fd ff       	call   0x40e226
42f828:	85 c0                	test   %eax,%eax
42f82a:	75 d5                	jne    0x42f801
42f82c:	e8 ab b5 fe ff       	call   0x41addc
42f831:	c3                   	ret
42f832:	8b ff                	mov    %edi,%edi
42f834:	55                   	push   %ebp
42f835:	8b ec                	mov    %esp,%ebp
42f837:	b8 04 10 00 00       	mov    $0x1004,%eax
42f83c:	e8 ef e7 fe ff       	call   0x41e030
42f841:	a1 08 85 43 00       	mov    0x438508,%eax
42f846:	33 c5                	xor    %ebp,%eax
42f848:	89 45 fc             	mov    %eax,-0x4(%ebp)
42f84b:	8b 45 14             	mov    0x14(%ebp),%eax
42f84e:	56                   	push   %esi
42f84f:	8b 75 08             	mov    0x8(%ebp),%esi
42f852:	57                   	push   %edi
42f853:	51                   	push   %ecx
42f854:	51                   	push   %ecx
42f855:	33 ff                	xor    %edi,%edi
42f857:	66 89 bd fc ef ff ff 	mov    %di,-0x1004(%ebp)
42f85e:	8d bd fc ef ff ff    	lea    -0x1004(%ebp),%edi
42f864:	57                   	push   %edi
42f865:	51                   	push   %ecx
42f866:	50                   	push   %eax
42f867:	51                   	push   %ecx
42f868:	51                   	push   %ecx
42f869:	56                   	push   %esi
42f86a:	e8 10 00 00 00       	call   0x42f87f
42f86f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42f872:	5f                   	pop    %edi
42f873:	33 cd                	xor    %ebp,%ecx
42f875:	5e                   	pop    %esi
42f876:	e8 45 af fe ff       	call   0x41a7c0
42f87b:	c9                   	leave
42f87c:	c2 18 00             	ret    $0x18
42f87f:	8b ff                	mov    %edi,%edi
42f881:	55                   	push   %ebp
42f882:	8b ec                	mov    %esp,%ebp
42f884:	83 ec 10             	sub    $0x10,%esp
42f887:	53                   	push   %ebx
42f888:	56                   	push   %esi
42f889:	57                   	push   %edi
42f88a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42f88d:	33 ff                	xor    %edi,%edi
42f88f:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
42f892:	47                   	inc    %edi
42f893:	8b f1                	mov    %ecx,%esi
42f895:	89 55 f4             	mov    %edx,-0xc(%ebp)
42f898:	33 db                	xor    %ebx,%ebx
42f89a:	88 5d ff             	mov    %bl,-0x1(%ebp)
42f89d:	8d 56 02             	lea    0x2(%esi),%edx
42f8a0:	66 8b 06             	mov    (%esi),%ax
42f8a3:	83 c6 02             	add    $0x2,%esi
42f8a6:	66 3b c3             	cmp    %bx,%ax
42f8a9:	75 f5                	jne    0x42f8a0
42f8ab:	8b 1d 00 8a 43 00    	mov    0x438a00,%ebx
42f8b1:	2b f2                	sub    %edx,%esi
42f8b3:	d1 fe                	sar    $1,%esi
42f8b5:	85 db                	test   %ebx,%ebx
42f8b7:	74 20                	je     0x42f8d9
42f8b9:	8d 45 ff             	lea    -0x1(%ebp),%eax
42f8bc:	50                   	push   %eax
42f8bd:	b8 00 08 00 00       	mov    $0x800,%eax
42f8c2:	2b c6                	sub    %esi,%eax
42f8c4:	50                   	push   %eax
42f8c5:	8d 04 71             	lea    (%ecx,%esi,2),%eax
42f8c8:	8b cb                	mov    %ebx,%ecx
42f8ca:	50                   	push   %eax
42f8cb:	ff 15 20 a5 43 00    	call   *0x43a520
42f8d1:	ff d3                	call   *%ebx
42f8d3:	8b f0                	mov    %eax,%esi
42f8d5:	85 f6                	test   %esi,%esi
42f8d7:	78 0a                	js     0x42f8e3
42f8d9:	6a 03                	push   $0x3
42f8db:	be 3e 02 07 80       	mov    $0x8007023e,%esi
42f8e0:	58                   	pop    %eax
42f8e1:	eb 02                	jmp    0x42f8e5
42f8e3:	8b c7                	mov    %edi,%eax
42f8e5:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
42f8e9:	74 03                	je     0x42f8ee
42f8eb:	6a 05                	push   $0x5
42f8ed:	5f                   	pop    %edi
42f8ee:	8b 55 f4             	mov    -0xc(%ebp),%edx
42f8f1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42f8f4:	57                   	push   %edi
42f8f5:	ff 75 1c             	push   0x1c(%ebp)
42f8f8:	56                   	push   %esi
42f8f9:	50                   	push   %eax
42f8fa:	ff 75 14             	push   0x14(%ebp)
42f8fd:	6a 00                	push   $0x0
42f8ff:	6a 00                	push   $0x0
42f901:	ff 75 08             	push   0x8(%ebp)
42f904:	e8 cb c0 ff ff       	call   0x42b9d4
42f909:	5f                   	pop    %edi
42f90a:	8b c6                	mov    %esi,%eax
42f90c:	5e                   	pop    %esi
42f90d:	5b                   	pop    %ebx
42f90e:	c9                   	leave
42f90f:	c2 20 00             	ret    $0x20
42f912:	8b ff                	mov    %edi,%edi
42f914:	55                   	push   %ebp
42f915:	8b ec                	mov    %esp,%ebp
42f917:	51                   	push   %ecx
42f918:	51                   	push   %ecx
42f919:	ff 75 04             	push   0x4(%ebp)
42f91c:	51                   	push   %ecx
42f91d:	51                   	push   %ecx
42f91e:	ff 75 08             	push   0x8(%ebp)
42f921:	e8 0c ff ff ff       	call   0x42f832
42f926:	5d                   	pop    %ebp
42f927:	c2 04 00             	ret    $0x4
42f92a:	cc                   	int3
42f92b:	cc                   	int3
42f92c:	cc                   	int3
42f92d:	cc                   	int3
42f92e:	cc                   	int3
42f92f:	cc                   	int3
42f930:	8b ff                	mov    %edi,%edi
42f932:	55                   	push   %ebp
42f933:	8b ec                	mov    %esp,%ebp
42f935:	8b 45 08             	mov    0x8(%ebp),%eax
42f938:	8b 48 18             	mov    0x18(%eax),%ecx
42f93b:	85 c9                	test   %ecx,%ecx
42f93d:	74 1a                	je     0x42f959
42f93f:	8b 01                	mov    (%ecx),%eax
42f941:	56                   	push   %esi
42f942:	ff 75 10             	push   0x10(%ebp)
42f945:	ff 75 0c             	push   0xc(%ebp)
42f948:	8b 70 18             	mov    0x18(%eax),%esi
42f94b:	51                   	push   %ecx
42f94c:	8b ce                	mov    %esi,%ecx
42f94e:	ff 15 20 a5 43 00    	call   *0x43a520
42f954:	ff d6                	call   *%esi
42f956:	5e                   	pop    %esi
42f957:	eb 05                	jmp    0x42f95e
42f959:	b8 01 40 00 80       	mov    $0x80004001,%eax
42f95e:	5d                   	pop    %ebp
42f95f:	c2 0c 00             	ret    $0xc
42f962:	8b ff                	mov    %edi,%edi
42f964:	55                   	push   %ebp
42f965:	8b ec                	mov    %esp,%ebp
42f967:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
42f96b:	8b 45 08             	mov    0x8(%ebp),%eax
42f96e:	89 41 10             	mov    %eax,0x10(%ecx)
42f971:	72 02                	jb     0x42f975
42f973:	8b 09                	mov    (%ecx),%ecx
42f975:	33 d2                	xor    %edx,%edx
42f977:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
42f97b:	5d                   	pop    %ebp
42f97c:	c2 04 00             	ret    $0x4
42f97f:	8b ff                	mov    %edi,%edi
42f981:	55                   	push   %ebp
42f982:	8b ec                	mov    %esp,%ebp
42f984:	8b 45 0c             	mov    0xc(%ebp),%eax
42f987:	53                   	push   %ebx
42f988:	8b 5d 08             	mov    0x8(%ebp),%ebx
42f98b:	56                   	push   %esi
42f98c:	57                   	push   %edi
42f98d:	8b f1                	mov    %ecx,%esi
42f98f:	8b 7b 10             	mov    0x10(%ebx),%edi
42f992:	3b f8                	cmp    %eax,%edi
42f994:	73 05                	jae    0x42f99b
42f996:	e8 cd e7 ff ff       	call   0x42e168
42f99b:	2b f8                	sub    %eax,%edi
42f99d:	39 7d 10             	cmp    %edi,0x10(%ebp)
42f9a0:	73 03                	jae    0x42f9a5
42f9a2:	8b 7d 10             	mov    0x10(%ebp),%edi
42f9a5:	3b f3                	cmp    %ebx,%esi
42f9a7:	75 16                	jne    0x42f9bf
42f9a9:	03 c7                	add    %edi,%eax
42f9ab:	50                   	push   %eax
42f9ac:	e8 58 00 00 00       	call   0x42fa09
42f9b1:	8b 45 0c             	mov    0xc(%ebp),%eax
42f9b4:	50                   	push   %eax
42f9b5:	51                   	push   %ecx
42f9b6:	8b ce                	mov    %esi,%ecx
42f9b8:	e8 7b 00 00 00       	call   0x42fa38
42f9bd:	eb 41                	jmp    0x42fa00
42f9bf:	51                   	push   %ecx
42f9c0:	57                   	push   %edi
42f9c1:	e8 4a b8 fd ff       	call   0x40b210
42f9c6:	84 c0                	test   %al,%al
42f9c8:	74 36                	je     0x42fa00
42f9ca:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
42f9ce:	72 02                	jb     0x42f9d2
42f9d0:	8b 1b                	mov    (%ebx),%ebx
42f9d2:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
42f9d6:	72 04                	jb     0x42f9dc
42f9d8:	8b 0e                	mov    (%esi),%ecx
42f9da:	eb 02                	jmp    0x42f9de
42f9dc:	8b ce                	mov    %esi,%ecx
42f9de:	8b 45 0c             	mov    0xc(%ebp),%eax
42f9e1:	57                   	push   %edi
42f9e2:	8d 14 43             	lea    (%ebx,%eax,2),%edx
42f9e5:	e8 07 b8 fd ff       	call   0x40b1f1
42f9ea:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
42f9ee:	59                   	pop    %ecx
42f9ef:	89 7e 10             	mov    %edi,0x10(%esi)
42f9f2:	72 04                	jb     0x42f9f8
42f9f4:	8b 06                	mov    (%esi),%eax
42f9f6:	eb 02                	jmp    0x42f9fa
42f9f8:	8b c6                	mov    %esi,%eax
42f9fa:	33 c9                	xor    %ecx,%ecx
42f9fc:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
42fa00:	5f                   	pop    %edi
42fa01:	8b c6                	mov    %esi,%eax
42fa03:	5e                   	pop    %esi
42fa04:	5b                   	pop    %ebx
42fa05:	5d                   	pop    %ebp
42fa06:	c2 0c 00             	ret    $0xc
42fa09:	8b ff                	mov    %edi,%edi
42fa0b:	55                   	push   %ebp
42fa0c:	8b ec                	mov    %esp,%ebp
42fa0e:	8b 45 08             	mov    0x8(%ebp),%eax
42fa11:	39 41 10             	cmp    %eax,0x10(%ecx)
42fa14:	73 05                	jae    0x42fa1b
42fa16:	e8 4d e7 ff ff       	call   0x42e168
42fa1b:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
42fa1f:	89 41 10             	mov    %eax,0x10(%ecx)
42fa22:	72 04                	jb     0x42fa28
42fa24:	8b 11                	mov    (%ecx),%edx
42fa26:	eb 02                	jmp    0x42fa2a
42fa28:	8b d1                	mov    %ecx,%edx
42fa2a:	56                   	push   %esi
42fa2b:	33 f6                	xor    %esi,%esi
42fa2d:	66 89 34 42          	mov    %si,(%edx,%eax,2)
42fa31:	8b c1                	mov    %ecx,%eax
42fa33:	5e                   	pop    %esi
42fa34:	5d                   	pop    %ebp
42fa35:	c2 04 00             	ret    $0x4
42fa38:	8b ff                	mov    %edi,%edi
42fa3a:	55                   	push   %ebp
42fa3b:	8b ec                	mov    %esp,%ebp
42fa3d:	56                   	push   %esi
42fa3e:	8b f1                	mov    %ecx,%esi
42fa40:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42fa43:	57                   	push   %edi
42fa44:	8b 7e 10             	mov    0x10(%esi),%edi
42fa47:	3b f9                	cmp    %ecx,%edi
42fa49:	77 17                	ja     0x42fa62
42fa4b:	83 66 10 00          	andl   $0x0,0x10(%esi)
42fa4f:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
42fa53:	72 04                	jb     0x42fa59
42fa55:	8b 06                	mov    (%esi),%eax
42fa57:	eb 02                	jmp    0x42fa5b
42fa59:	8b c6                	mov    %esi,%eax
42fa5b:	33 c9                	xor    %ecx,%ecx
42fa5d:	66 89 08             	mov    %cx,(%eax)
42fa60:	eb 3e                	jmp    0x42faa0
42fa62:	85 c9                	test   %ecx,%ecx
42fa64:	74 3a                	je     0x42faa0
42fa66:	8b 46 14             	mov    0x14(%esi),%eax
42fa69:	83 f8 08             	cmp    $0x8,%eax
42fa6c:	72 04                	jb     0x42fa72
42fa6e:	8b 16                	mov    (%esi),%edx
42fa70:	eb 02                	jmp    0x42fa74
42fa72:	8b d6                	mov    %esi,%edx
42fa74:	2b f9                	sub    %ecx,%edi
42fa76:	74 14                	je     0x42fa8c
42fa78:	8d 04 3f             	lea    (%edi,%edi,1),%eax
42fa7b:	50                   	push   %eax
42fa7c:	8d 04 4a             	lea    (%edx,%ecx,2),%eax
42fa7f:	50                   	push   %eax
42fa80:	52                   	push   %edx
42fa81:	e8 66 b4 fe ff       	call   0x41aeec
42fa86:	8b 46 14             	mov    0x14(%esi),%eax
42fa89:	83 c4 0c             	add    $0xc,%esp
42fa8c:	89 7e 10             	mov    %edi,0x10(%esi)
42fa8f:	83 f8 08             	cmp    $0x8,%eax
42fa92:	72 04                	jb     0x42fa98
42fa94:	8b 06                	mov    (%esi),%eax
42fa96:	eb 02                	jmp    0x42fa9a
42fa98:	8b c6                	mov    %esi,%eax
42fa9a:	33 c9                	xor    %ecx,%ecx
42fa9c:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
42faa0:	5f                   	pop    %edi
42faa1:	8b c6                	mov    %esi,%eax
42faa3:	5e                   	pop    %esi
42faa4:	5d                   	pop    %ebp
42faa5:	c2 08 00             	ret    $0x8
42faa8:	8b ff                	mov    %edi,%edi
42faaa:	55                   	push   %ebp
42faab:	8b ec                	mov    %esp,%ebp
42faad:	83 e4 f8             	and    $0xfffffff8,%esp
42fab0:	83 ec 5c             	sub    $0x5c,%esp
42fab3:	a1 08 85 43 00       	mov    0x438508,%eax
42fab8:	33 c4                	xor    %esp,%eax
42faba:	89 44 24 58          	mov    %eax,0x58(%esp)
42fabe:	53                   	push   %ebx
42fabf:	56                   	push   %esi
42fac0:	57                   	push   %edi
42fac1:	8b da                	mov    %edx,%ebx
42fac3:	8b f1                	mov    %ecx,%esi
42fac5:	e8 4b bf fe ff       	call   0x41ba15
42faca:	8b 78 04             	mov    0x4(%eax),%edi
42facd:	83 3f 05             	cmpl   $0x5,(%edi)
42fad0:	76 63                	jbe    0x42fb35
42fad2:	68 00 40 00 00       	push   $0x4000
42fad7:	6a 00                	push   $0x0
42fad9:	8b cf                	mov    %edi,%ecx
42fadb:	e8 1c 82 fe ff       	call   0x417cfc
42fae0:	84 c0                	test   %al,%al
42fae2:	74 51                	je     0x42fb35
42fae4:	8b 45 08             	mov    0x8(%ebp),%eax
42fae7:	8d 4c 24 40          	lea    0x40(%esp),%ecx
42faeb:	8b 13                	mov    (%ebx),%edx
42faed:	8b 36                	mov    (%esi),%esi
42faef:	83 64 24 54 00       	andl   $0x0,0x54(%esp)
42faf4:	8b 00                	mov    (%eax),%eax
42faf6:	83 64 24 5c 00       	andl   $0x0,0x5c(%esp)
42fafb:	89 44 24 0c          	mov    %eax,0xc(%esp)
42faff:	8d 44 24 0c          	lea    0xc(%esp),%eax
42fb03:	89 44 24 50          	mov    %eax,0x50(%esp)
42fb07:	c7 44 24 58 04 00 00 	movl   $0x4,0x58(%esp)
42fb0e:	00
42fb0f:	e8 8f 4e ff ff       	call   0x4249a3
42fb14:	8b d6                	mov    %esi,%edx
42fb16:	8d 4c 24 30          	lea    0x30(%esp),%ecx
42fb1a:	e8 84 4e ff ff       	call   0x4249a3
42fb1f:	8d 44 24 10          	lea    0x10(%esp),%eax
42fb23:	50                   	push   %eax
42fb24:	6a 05                	push   $0x5
42fb26:	6a 00                	push   $0x0
42fb28:	6a 00                	push   $0x0
42fb2a:	68 04 6e 40 00       	push   $0x406e04
42fb2f:	57                   	push   %edi
42fb30:	e8 5a f3 ff ff       	call   0x42ee8f
42fb35:	8b 4c 24 64          	mov    0x64(%esp),%ecx
42fb39:	5f                   	pop    %edi
42fb3a:	5e                   	pop    %esi
42fb3b:	5b                   	pop    %ebx
42fb3c:	33 cc                	xor    %esp,%ecx
42fb3e:	e8 7d ac fe ff       	call   0x41a7c0
42fb43:	8b e5                	mov    %ebp,%esp
42fb45:	5d                   	pop    %ebp
42fb46:	c2 04 00             	ret    $0x4
42fb49:	6a 08                	push   $0x8
42fb4b:	b8 1e f5 41 00       	mov    $0x41f51e,%eax
42fb50:	e8 b9 b2 fe ff       	call   0x41ae0e
42fb55:	8b f9                	mov    %ecx,%edi
42fb57:	89 7d f0             	mov    %edi,-0x10(%ebp)
42fb5a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42fb5e:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
42fb62:	8b 35 3c 1a 40 00    	mov    0x401a3c,%esi