42c7a1:	8b 55 0c             	mov    0xc(%ebp),%edx
42c7a4:	53                   	push   %ebx
42c7a5:	56                   	push   %esi
42c7a6:	8b f1                	mov    %ecx,%esi
42c7a8:	57                   	push   %edi
42c7a9:	85 d2                	test   %edx,%edx
42c7ab:	75 0a                	jne    0x42c7b7
42c7ad:	b9 05 40 00 80       	mov    $0x80004005,%ecx
42c7b2:	e8 e6 a9 ff ff       	call   0x42719d
42c7b7:	8b ca                	mov    %edx,%ecx
42c7b9:	33 db                	xor    %ebx,%ebx
42c7bb:	8d 79 02             	lea    0x2(%ecx),%edi
42c7be:	66 8b 01             	mov    (%ecx),%ax
42c7c1:	83 c1 02             	add    $0x2,%ecx
42c7c4:	66 3b c3             	cmp    %bx,%ax
42c7c7:	75 f5                	jne    0x42c7be
42c7c9:	2b cf                	sub    %edi,%ecx
42c7cb:	d1 f9                	sar    $1,%ecx
42c7cd:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
42c7d4:	50                   	push   %eax
42c7d5:	52                   	push   %edx
42c7d6:	6a 01                	push   $0x1
42c7d8:	53                   	push   %ebx
42c7d9:	ff 75 08             	push   0x8(%ebp)
42c7dc:	ff 36                	push   (%esi)
42c7de:	ff 15 48 a2 43 00    	call   *0x43a248
42c7e4:	5f                   	pop    %edi
42c7e5:	5e                   	pop    %esi
42c7e6:	5b                   	pop    %ebx
42c7e7:	5d                   	pop    %ebp
42c7e8:	c2 0c 00             	ret    $0xc
42c7eb:	8b ff                	mov    %edi,%edi
42c7ed:	55                   	push   %ebp
42c7ee:	8b ec                	mov    %esp,%ebp
42c7f0:	51                   	push   %ecx
42c7f1:	8b 41 44             	mov    0x44(%ecx),%eax
42c7f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c7f7:	85 c0                	test   %eax,%eax
42c7f9:	78 05                	js     0x42c800
42c7fb:	b8 3e 02 07 80       	mov    $0x8007023e,%eax
42c800:	8d 55 fc             	lea    -0x4(%ebp),%edx
42c803:	52                   	push   %edx
42c804:	50                   	push   %eax
42c805:	e8 3c ff ff ff       	call   0x42c746
42c80a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42c80d:	c9                   	leave
42c80e:	c3                   	ret
42c80f:	83 79 04 ff          	cmpl   $0xffffffff,0x4(%ecx)
42c813:	75 1d                	jne    0x42c832
42c815:	83 39 08             	cmpl   $0x8,(%ecx)
42c818:	72 18                	jb     0x42c832
42c81a:	8b 41 08             	mov    0x8(%ecx),%eax
42c81d:	8b 00                	mov    (%eax),%eax
42c81f:	83 e8 01             	sub    $0x1,%eax
42c822:	74 0a                	je     0x42c82e
42c824:	83 e8 06             	sub    $0x6,%eax
42c827:	74 05                	je     0x42c82e
42c829:	83 e8 06             	sub    $0x6,%eax
42c82c:	75 04                	jne    0x42c832
42c82e:	33 c0                	xor    %eax,%eax
42c830:	40                   	inc    %eax
42c831:	c3                   	ret
42c832:	33 c0                	xor    %eax,%eax
42c834:	c3                   	ret
42c835:	8b ff                	mov    %edi,%edi
42c837:	55                   	push   %ebp
42c838:	8b ec                	mov    %esp,%ebp
42c83a:	b8 04 20 00 00       	mov    $0x2004,%eax
42c83f:	e8 ec 17 ff ff       	call   0x41e030
42c844:	a1 08 85 43 00       	mov    0x438508,%eax
42c849:	33 c5                	xor    %ebp,%eax
42c84b:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c84e:	56                   	push   %esi
42c84f:	57                   	push   %edi
42c850:	8b 7d 08             	mov    0x8(%ebp),%edi
42c853:	8b f1                	mov    %ecx,%esi
42c855:	66 83 3f 3d          	cmpw   $0x3d,(%edi)
42c859:	75 2f                	jne    0x42c88a
42c85b:	57                   	push   %edi
42c85c:	e8 39 c8 ff ff       	call   0x42909a
42c861:	85 c0                	test   %eax,%eax
42c863:	78 27                	js     0x42c88c
42c865:	8b ce                	mov    %esi,%ecx
42c867:	e8 bf 00 00 00       	call   0x42c92b
42c86c:	8d 85 fc df ff ff    	lea    -0x2004(%ebp),%eax
42c872:	8b ce                	mov    %esi,%ecx
42c874:	50                   	push   %eax
42c875:	e8 20 c8 ff ff       	call   0x42909a
42c87a:	85 c0                	test   %eax,%eax
42c87c:	78 0e                	js     0x42c88c
42c87e:	57                   	push   %edi
42c87f:	8b ce                	mov    %esi,%ecx
42c881:	e8 14 c8 ff ff       	call   0x42909a
42c886:	85 c0                	test   %eax,%eax
42c888:	78 02                	js     0x42c88c
42c88a:	33 c0                	xor    %eax,%eax
42c88c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42c88f:	5f                   	pop    %edi
42c890:	33 cd                	xor    %ebp,%ecx
42c892:	5e                   	pop    %esi
42c893:	e8 28 df fe ff       	call   0x41a7c0
42c898:	c9                   	leave
42c899:	c2 04 00             	ret    $0x4
42c89c:	8b ff                	mov    %edi,%edi
42c89e:	55                   	push   %ebp
42c89f:	8b ec                	mov    %esp,%ebp
42c8a1:	83 ec 14             	sub    $0x14,%esp
42c8a4:	53                   	push   %ebx
42c8a5:	8b d9                	mov    %ecx,%ebx
42c8a7:	56                   	push   %esi
42c8a8:	57                   	push   %edi
42c8a9:	8b 7d 08             	mov    0x8(%ebp),%edi
42c8ac:	8b 73 0c             	mov    0xc(%ebx),%esi
42c8af:	85 f6                	test   %esi,%esi
42c8b1:	74 29                	je     0x42c8dc
42c8b3:	8b 43 14             	mov    0x14(%ebx),%eax
42c8b6:	33 d2                	xor    %edx,%edx
42c8b8:	2b 43 10             	sub    0x10(%ebx),%eax
42c8bb:	f7 f6                	div    %esi
42c8bd:	8b 4f 04             	mov    0x4(%edi),%ecx
42c8c0:	3b c8                	cmp    %eax,%ecx
42c8c2:	76 0e                	jbe    0x42c8d2
42c8c4:	50                   	push   %eax
42c8c5:	8b cf                	mov    %edi,%ecx
42c8c7:	e8 b5 0c 00 00       	call   0x42d581
42c8cc:	8b 4f 04             	mov    0x4(%edi),%ecx
42c8cf:	8b 73 0c             	mov    0xc(%ebx),%esi
42c8d2:	8b 45 0c             	mov    0xc(%ebp),%eax
42c8d5:	0f af f1             	imul   %ecx,%esi
42c8d8:	03 c6                	add    %esi,%eax
42c8da:	eb 48                	jmp    0x42c924
42c8dc:	66 8b 43 06          	mov    0x6(%ebx),%ax
42c8e0:	33 f6                	xor    %esi,%esi
42c8e2:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
42c8e6:	8a 43 08             	mov    0x8(%ebx),%al
42c8e9:	88 45 ee             	mov    %al,-0x12(%ebp)
42c8ec:	33 c0                	xor    %eax,%eax
42c8ee:	89 75 f0             	mov    %esi,-0x10(%ebp)
42c8f1:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
42c8f5:	89 75 f8             	mov    %esi,-0x8(%ebp)
42c8f8:	89 75 fc             	mov    %esi,-0x4(%ebp)
42c8fb:	39 77 04             	cmp    %esi,0x4(%edi)
42c8fe:	76 19                	jbe    0x42c919
42c900:	ff 73 14             	push   0x14(%ebx)
42c903:	8d 45 0c             	lea    0xc(%ebp),%eax
42c906:	50                   	push   %eax
42c907:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42c90a:	e8 58 d9 ff ff       	call   0x42a267
42c90f:	84 c0                	test   %al,%al
42c911:	74 06                	je     0x42c919
42c913:	46                   	inc    %esi
42c914:	3b 77 04             	cmp    0x4(%edi),%esi
42c917:	72 e7                	jb     0x42c900
42c919:	56                   	push   %esi
42c91a:	8b cf                	mov    %edi,%ecx
42c91c:	e8 60 0c 00 00       	call   0x42d581
42c921:	8b 45 0c             	mov    0xc(%ebp),%eax
42c924:	5f                   	pop    %edi
42c925:	5e                   	pop    %esi
42c926:	5b                   	pop    %ebx
42c927:	c9                   	leave
42c928:	c2 08 00             	ret    $0x8
42c92b:	8b ff                	mov    %edi,%edi
42c92d:	56                   	push   %esi
42c92e:	8b f1                	mov    %ecx,%esi
42c930:	8b 16                	mov    (%esi),%edx
42c932:	0f b7 02             	movzwl (%edx),%eax
42c935:	50                   	push   %eax
42c936:	e8 0e c1 ff ff       	call   0x428a49
42c93b:	85 c0                	test   %eax,%eax
42c93d:	74 0b                	je     0x42c94a
42c93f:	52                   	push   %edx
42c940:	ff 15 70 a2 43 00    	call   *0x43a270
42c946:	89 06                	mov    %eax,(%esi)
42c948:	eb e6                	jmp    0x42c930
42c94a:	5e                   	pop    %esi
42c94b:	c3                   	ret
42c94c:	8b ff                	mov    %edi,%edi
42c94e:	56                   	push   %esi
42c94f:	8b f1                	mov    %ecx,%esi
42c951:	c6 06 01             	movb   $0x1,(%esi)
42c954:	e8 d2 cc fe ff       	call   0x41962b
42c959:	89 46 08             	mov    %eax,0x8(%esi)
42c95c:	89 56 0c             	mov    %edx,0xc(%esi)
42c95f:	5e                   	pop    %esi
42c960:	c3                   	ret
42c961:	8b ff                	mov    %edi,%edi
42c963:	55                   	push   %ebp
42c964:	8b ec                	mov    %esp,%ebp
42c966:	83 e4 f8             	and    $0xfffffff8,%esp
42c969:	81 ec cc 00 00 00    	sub    $0xcc,%esp
42c96f:	a1 08 85 43 00       	mov    0x438508,%eax
42c974:	33 c4                	xor    %esp,%eax
42c976:	89 84 24 c8 00 00 00 	mov    %eax,0xc8(%esp)
42c97d:	53                   	push   %ebx
42c97e:	56                   	push   %esi
42c97f:	57                   	push   %edi
42c980:	8b f9                	mov    %ecx,%edi
42c982:	8b 77 18             	mov    0x18(%edi),%esi
42c985:	8b 46 3c             	mov    0x3c(%esi),%eax
42c988:	85 c0                	test   %eax,%eax
42c98a:	79 0a                	jns    0x42c996
42c98c:	3b 46 44             	cmp    0x44(%esi),%eax
42c98f:	75 05                	jne    0x42c996
42c991:	83 c6 40             	add    $0x40,%esi
42c994:	eb 02                	jmp    0x42c998
42c996:	33 f6                	xor    %esi,%esi
42c998:	e8 21 22 00 00       	call   0x42ebbe
42c99d:	e8 73 f0 fe ff       	call   0x41ba15
42c9a2:	85 f6                	test   %esi,%esi
42c9a4:	0f 84 24 01 00 00    	je     0x42cace
42c9aa:	8b 48 04             	mov    0x4(%eax),%ecx
42c9ad:	83 39 05             	cmpl   $0x5,(%ecx)
42c9b0:	0f 86 1d 02 00 00    	jbe    0x42cbd3
42c9b6:	68 00 40 00 00       	push   $0x4000
42c9bb:	6a 00                	push   $0x0
42c9bd:	e8 3a b3 fe ff       	call   0x417cfc
42c9c2:	84 c0                	test   %al,%al
42c9c4:	0f 84 09 02 00 00    	je     0x42cbd3
42c9ca:	8b 45 08             	mov    0x8(%ebp),%eax
42c9cd:	ba c3 69 40 00       	mov    $0x4069c3,%edx
42c9d2:	89 44 24 20          	mov    %eax,0x20(%esp)
42c9d6:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
42c9da:	89 44 24 24          	mov    %eax,0x24(%esp)
42c9de:	8b 46 40             	mov    0x40(%esi),%eax
42c9e1:	89 44 24 28          	mov    %eax,0x28(%esp)
42c9e5:	8b 46 3c             	mov    0x3c(%esi),%eax
42c9e8:	89 44 24 2c          	mov    %eax,0x2c(%esp)
42c9ec:	8b 46 38             	mov    0x38(%esi),%eax
42c9ef:	89 44 24 30          	mov    %eax,0x30(%esp)
42c9f3:	8b 46 34             	mov    0x34(%esi),%eax
42c9f6:	89 44 24 34          	mov    %eax,0x34(%esp)
42c9fa:	8b 46 30             	mov    0x30(%esi),%eax
42c9fd:	89 44 24 38          	mov    %eax,0x38(%esp)
42ca01:	8b 46 2c             	mov    0x2c(%esi),%eax
42ca04:	89 44 24 3c          	mov    %eax,0x3c(%esp)
42ca08:	8b 46 28             	mov    0x28(%esi),%eax
42ca0b:	89 44 24 40          	mov    %eax,0x40(%esp)
42ca0f:	8b 46 10             	mov    0x10(%esi),%eax
42ca12:	89 44 24 44          	mov    %eax,0x44(%esp)
42ca16:	8b 46 0c             	mov    0xc(%esi),%eax
42ca19:	89 44 24 48          	mov    %eax,0x48(%esp)
42ca1d:	8b 06                	mov    (%esi),%eax
42ca1f:	89 44 24 4c          	mov    %eax,0x4c(%esp)
42ca23:	8b 46 44             	mov    0x44(%esi),%eax
42ca26:	89 44 24 50          	mov    %eax,0x50(%esp)
42ca2a:	8b 46 20             	mov    0x20(%esi),%eax
42ca2d:	89 44 24 54          	mov    %eax,0x54(%esp)
42ca31:	8b 46 1c             	mov    0x1c(%esi),%eax
42ca34:	89 44 24 10          	mov    %eax,0x10(%esp)
42ca38:	8b 46 04             	mov    0x4(%esi),%eax
42ca3b:	89 44 24 14          	mov    %eax,0x14(%esp)
42ca3f:	8d 44 24 58          	lea    0x58(%esp),%eax
42ca43:	89 44 24 18          	mov    %eax,0x18(%esp)
42ca47:	8d 44 24 20          	lea    0x20(%esp),%eax
42ca4b:	50                   	push   %eax
42ca4c:	8d 44 24 28          	lea    0x28(%esp),%eax
42ca50:	83 64 24 60 00       	andl   $0x0,0x60(%esp)
42ca55:	50                   	push   %eax
42ca56:	8d 44 24 30          	lea    0x30(%esp),%eax
42ca5a:	c7 44 24 60 00 00 00 	movl   $0x1000000,0x60(%esp)
42ca61:	01
42ca62:	50                   	push   %eax
42ca63:	8d 44 24 38          	lea    0x38(%esp),%eax
42ca67:	c7 44 24 28 a0 78 40 	movl   $0x4078a0,0x28(%esp)
42ca6e:	00
42ca6f:	50                   	push   %eax
42ca70:	8d 44 24 40          	lea    0x40(%esp),%eax
42ca74:	50                   	push   %eax
42ca75:	8d 44 24 48          	lea    0x48(%esp),%eax
42ca79:	50                   	push   %eax
42ca7a:	8d 44 24 50          	lea    0x50(%esp),%eax
42ca7e:	50                   	push   %eax
42ca7f:	8d 44 24 58          	lea    0x58(%esp),%eax
42ca83:	50                   	push   %eax
42ca84:	8d 44 24 60          	lea    0x60(%esp),%eax
42ca88:	50                   	push   %eax
42ca89:	8d 44 24 68          	lea    0x68(%esp),%eax
42ca8d:	50                   	push   %eax
42ca8e:	8d 44 24 70          	lea    0x70(%esp),%eax
42ca92:	50                   	push   %eax
42ca93:	8d 44 24 78          	lea    0x78(%esp),%eax
42ca97:	50                   	push   %eax
42ca98:	8d 84 24 80 00 00 00 	lea    0x80(%esp),%eax
42ca9f:	50                   	push   %eax
42caa0:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
42caa7:	50                   	push   %eax
42caa8:	8d 44 24 48          	lea    0x48(%esp),%eax
42caac:	50                   	push   %eax
42caad:	8d 44 24 50          	lea    0x50(%esp),%eax
42cab1:	50                   	push   %eax
42cab2:	8d 44 24 58          	lea    0x58(%esp),%eax
42cab6:	50                   	push   %eax
42cab7:	8d 44 24 60          	lea    0x60(%esp),%eax
42cabb:	50                   	push   %eax
42cabc:	8b 47 18             	mov    0x18(%edi),%eax
42cabf:	51                   	push   %ecx
42cac0:	83 c0 08             	add    $0x8,%eax
42cac3:	50                   	push   %eax
42cac4:	e8 5c 76 ff ff       	call   0x424125
42cac9:	e9 05 01 00 00       	jmp    0x42cbd3
42cace:	8b 58 04             	mov    0x4(%eax),%ebx
42cad1:	83 3b 05             	cmpl   $0x5,(%ebx)
42cad4:	0f 86 f9 00 00 00    	jbe    0x42cbd3
42cada:	68 00 40 00 00       	push   $0x4000
42cadf:	6a 00                	push   $0x0
42cae1:	8b cb                	mov    %ebx,%ecx
42cae3:	e8 14 b2 fe ff       	call   0x417cfc
42cae8:	84 c0                	test   %al,%al
42caea:	0f 84 e3 00 00 00    	je     0x42cbd3
42caf0:	ff 15 f8 a1 43 00    	call   *0x43a1f8
42caf6:	8b 77 18             	mov    0x18(%edi),%esi
42caf9:	8b 4d 08             	mov    0x8(%ebp),%ecx
42cafc:	6a 04                	push   $0x4
42cafe:	c7 84 24 84 00 00 00 	movl   $0x4078a0,0x84(%esp)
42cb05:	a0 78 40 00
42cb09:	8b 56 3c             	mov    0x3c(%esi),%edx
42cb0c:	89 44 24 18          	mov    %eax,0x18(%esp)
42cb10:	8d 44 24 20          	lea    0x20(%esp),%eax
42cb14:	89 84 24 c4 00 00 00 	mov    %eax,0xc4(%esp)
42cb1b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
42cb1f:	89 84 24 b4 00 00 00 	mov    %eax,0xb4(%esp)
42cb26:	8d 44 24 18          	lea    0x18(%esp),%eax
42cb2a:	89 84 24 a4 00 00 00 	mov    %eax,0xa4(%esp)
42cb31:	8d 44 24 14          	lea    0x14(%esp),%eax
42cb35:	89 4c 24 20          	mov    %ecx,0x20(%esp)
42cb39:	0f b6 4d 0c          	movzbl 0xc(%ebp),%ecx
42cb3d:	89 84 24 94 00 00 00 	mov    %eax,0x94(%esp)
42cb44:	8d 44 24 64          	lea    0x64(%esp),%eax
42cb48:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
42cb4c:	59                   	pop    %ecx
42cb4d:	50                   	push   %eax
42cb4e:	6a 07                	push   $0x7
42cb50:	89 54 24 18          	mov    %edx,0x18(%esp)
42cb54:	8d 46 08             	lea    0x8(%esi),%eax
42cb57:	33 d2                	xor    %edx,%edx
42cb59:	89 8c 24 d0 00 00 00 	mov    %ecx,0xd0(%esp)
42cb60:	52                   	push   %edx
42cb61:	50                   	push   %eax
42cb62:	68 36 64 40 00       	push   $0x406436
42cb67:	53                   	push   %ebx
42cb68:	89 94 24 dc 00 00 00 	mov    %edx,0xdc(%esp)
42cb6f:	89 94 24 e4 00 00 00 	mov    %edx,0xe4(%esp)
42cb76:	89 94 24 cc 00 00 00 	mov    %edx,0xcc(%esp)
42cb7d:	89 8c 24 d0 00 00 00 	mov    %ecx,0xd0(%esp)
42cb84:	89 94 24 d4 00 00 00 	mov    %edx,0xd4(%esp)
42cb8b:	89 94 24 bc 00 00 00 	mov    %edx,0xbc(%esp)
42cb92:	89 8c 24 c0 00 00 00 	mov    %ecx,0xc0(%esp)
42cb99:	89 94 24 c4 00 00 00 	mov    %edx,0xc4(%esp)
42cba0:	89 94 24 ac 00 00 00 	mov    %edx,0xac(%esp)