42b9f4:	8b 45 1c             	mov    0x1c(%ebp),%eax
42b9f7:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
42b9fa:	8b 75 08             	mov    0x8(%ebp),%esi
42b9fd:	8b 7d 20             	mov    0x20(%ebp),%edi
42ba00:	8b 5d 24             	mov    0x24(%ebp),%ebx
42ba03:	f7 40 14 00 40 00 00 	testl  $0x4000,0x14(%eax)
42ba0a:	ff 70 30             	push   0x30(%eax)
42ba0d:	89 75 94             	mov    %esi,-0x6c(%ebp)
42ba10:	89 45 9c             	mov    %eax,-0x64(%ebp)
42ba13:	0f 84 1b 01 00 00    	je     0x42bb34
42ba19:	e8 1e d4 ff ff       	call   0x428e3c
42ba1e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42ba22:	8d 45 8c             	lea    -0x74(%ebp),%eax
42ba25:	50                   	push   %eax
42ba26:	e8 aa d2 ff ff       	call   0x428cd5
42ba2b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42ba2f:	8b f0                	mov    %eax,%esi
42ba31:	59                   	pop    %ecx
42ba32:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
42ba35:	89 75 9c             	mov    %esi,-0x64(%ebp)
42ba38:	e8 aa 39 fe ff       	call   0x40f3e7
42ba3d:	33 c0                	xor    %eax,%eax
42ba3f:	c7 45 b4 0f 00 00 00 	movl   $0xf,-0x4c(%ebp)
42ba46:	50                   	push   %eax
42ba47:	6a 01                	push   $0x1
42ba49:	8d 4d a0             	lea    -0x60(%ebp),%ecx
42ba4c:	89 45 b0             	mov    %eax,-0x50(%ebp)
42ba4f:	88 45 a0             	mov    %al,-0x60(%ebp)
42ba52:	e8 e7 3c ff ff       	call   0x41f73e
42ba57:	8b 06                	mov    (%esi),%eax
42ba59:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
42ba60:	8b 70 18             	mov    0x18(%eax),%esi
42ba63:	8d 45 b8             	lea    -0x48(%ebp),%eax
42ba66:	50                   	push   %eax
42ba67:	8b ce                	mov    %esi,%ecx
42ba69:	ff 15 54 43 49 00    	call   *0x494354
42ba6f:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
42ba72:	ff d6                	call   *%esi
42ba74:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
42ba78:	8d 45 b8             	lea    -0x48(%ebp),%eax
42ba7b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
42ba7f:	72 03                	jb     0x42ba84
42ba81:	8b 45 b8             	mov    -0x48(%ebp),%eax
42ba84:	ff 75 c8             	push   -0x38(%ebp)
42ba87:	8d 4d a0             	lea    -0x60(%ebp),%ecx
42ba8a:	50                   	push   %eax
42ba8b:	e8 1c 3b ff ff       	call   0x41f5ac
42ba90:	8d 4d b8             	lea    -0x48(%ebp),%ecx
42ba93:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42ba97:	e8 38 18 ff ff       	call   0x41d2d4
42ba9c:	6a 00                	push   $0x0
42ba9e:	8d 4d a0             	lea    -0x60(%ebp),%ecx
42baa1:	e8 ec 6b ff ff       	call   0x422692
42baa6:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
42baa9:	8b 01                	mov    (%ecx),%eax
42baab:	8b 70 1c             	mov    0x1c(%eax),%esi
42baae:	8d 45 b8             	lea    -0x48(%ebp),%eax
42bab1:	50                   	push   %eax
42bab2:	8b ce                	mov    %esi,%ecx
42bab4:	ff 15 54 43 49 00    	call   *0x494354
42baba:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
42babd:	ff d6                	call   *%esi
42babf:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
42bac3:	8d 45 b8             	lea    -0x48(%ebp),%eax
42bac6:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
42baca:	72 03                	jb     0x42bacf
42bacc:	8b 45 b8             	mov    -0x48(%ebp),%eax
42bacf:	ff 75 c8             	push   -0x38(%ebp)
42bad2:	8d 4d a0             	lea    -0x60(%ebp),%ecx
42bad5:	50                   	push   %eax
42bad6:	e8 d1 3a ff ff       	call   0x41f5ac
42badb:	8d 4d b8             	lea    -0x48(%ebp),%ecx
42bade:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42bae2:	e8 ed 17 ff ff       	call   0x41d2d4
42bae7:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
42baeb:	8d 45 a0             	lea    -0x60(%ebp),%eax
42baee:	72 03                	jb     0x42baf3
42baf0:	8b 45 a0             	mov    -0x60(%ebp),%eax
42baf3:	50                   	push   %eax
42baf4:	6a 02                	push   $0x2
42baf6:	5e                   	pop    %esi
42baf7:	56                   	push   %esi
42baf8:	8d 45 14             	lea    0x14(%ebp),%eax
42bafb:	50                   	push   %eax
42bafc:	8d 45 0c             	lea    0xc(%ebp),%eax
42baff:	50                   	push   %eax
42bb00:	e8 be ca ff ff       	call   0x4285c3
42bb05:	33 c9                	xor    %ecx,%ecx
42bb07:	83 c4 10             	add    $0x10,%esp
42bb0a:	2b c1                	sub    %ecx,%eax
42bb0c:	74 10                	je     0x42bb1e
42bb0e:	83 e8 01             	sub    $0x1,%eax
42bb11:	74 06                	je     0x42bb19
42bb13:	88 0b                	mov    %cl,(%ebx)
42bb15:	89 37                	mov    %esi,(%edi)
42bb17:	eb 07                	jmp    0x42bb20
42bb19:	c6 03 01             	movb   $0x1,(%ebx)
42bb1c:	eb 02                	jmp    0x42bb20
42bb1e:	88 0b                	mov    %cl,(%ebx)
42bb20:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42bb24:	8d 4d a0             	lea    -0x60(%ebp),%ecx
42bb27:	e8 a8 17 ff ff       	call   0x41d2d4
42bb2c:	8b 75 94             	mov    -0x6c(%ebp),%esi
42bb2f:	e9 89 00 00 00       	jmp    0x42bbbd
42bb34:	e8 03 d3 ff ff       	call   0x428e3c
42bb39:	8d 45 8c             	lea    -0x74(%ebp),%eax
42bb3c:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
42bb43:	50                   	push   %eax
42bb44:	8b 45 9c             	mov    -0x64(%ebp),%eax
42bb47:	ff 70 14             	push   0x14(%eax)
42bb4a:	8d 45 14             	lea    0x14(%ebp),%eax
42bb4d:	50                   	push   %eax
42bb4e:	8d 45 0c             	lea    0xc(%ebp),%eax
42bb51:	50                   	push   %eax
42bb52:	8d 45 d0             	lea    -0x30(%ebp),%eax
42bb55:	50                   	push   %eax
42bb56:	ff 75 98             	push   -0x68(%ebp)
42bb59:	e8 b7 e9 ff ff       	call   0x42a515
42bb5e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42bb62:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
42bb65:	83 c4 18             	add    $0x18,%esp
42bb68:	89 45 98             	mov    %eax,-0x68(%ebp)
42bb6b:	e8 77 38 fe ff       	call   0x40f3e7
42bb70:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
42bb74:	75 05                	jne    0x42bb7b
42bb76:	c6 03 00             	movb   $0x0,(%ebx)
42bb79:	eb 3c                	jmp    0x42bbb7
42bb7b:	8d 45 94             	lea    -0x6c(%ebp),%eax
42bb7e:	50                   	push   %eax
42bb7f:	ff 75 98             	push   -0x68(%ebp)
42bb82:	8d 45 98             	lea    -0x68(%ebp),%eax
42bb85:	50                   	push   %eax
42bb86:	8d 45 d0             	lea    -0x30(%ebp),%eax
42bb89:	50                   	push   %eax
42bb8a:	e8 51 bc ff ff       	call   0x4277e0
42bb8f:	8b c8                	mov    %eax,%ecx
42bb91:	83 c4 10             	add    $0x10,%esp
42bb94:	8d 45 d0             	lea    -0x30(%ebp),%eax
42bb97:	39 45 98             	cmp    %eax,-0x68(%ebp)
42bb9a:	74 18                	je     0x42bbb4
42bb9c:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
42bba0:	75 12                	jne    0x42bbb4
42bba2:	85 c9                	test   %ecx,%ecx
42bba4:	0f 95 c0             	setne  %al
42bba7:	88 03                	mov    %al,(%ebx)
42bba9:	85 c9                	test   %ecx,%ecx
42bbab:	74 10                	je     0x42bbbd
42bbad:	83 f9 01             	cmp    $0x1,%ecx
42bbb0:	74 0b                	je     0x42bbbd
42bbb2:	eb 03                	jmp    0x42bbb7
42bbb4:	c6 03 01             	movb   $0x1,(%ebx)
42bbb7:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
42bbbd:	8d 45 14             	lea    0x14(%ebp),%eax
42bbc0:	50                   	push   %eax
42bbc1:	8d 4d 0c             	lea    0xc(%ebp),%ecx
42bbc4:	e8 6c 06 00 00       	call   0x42c235
42bbc9:	84 c0                	test   %al,%al
42bbcb:	74 03                	je     0x42bbd0
42bbcd:	83 0f 01             	orl    $0x1,(%edi)
42bbd0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42bbd3:	8b c6                	mov    %esi,%eax
42bbd5:	89 0e                	mov    %ecx,(%esi)
42bbd7:	8b 4d 10             	mov    0x10(%ebp),%ecx
42bbda:	89 4e 04             	mov    %ecx,0x4(%esi)
42bbdd:	e8 46 3e 01 00       	call   0x43fa28
42bbe2:	c2 20 00             	ret    $0x20
42bbe5:	55                   	push   %ebp
42bbe6:	8b ec                	mov    %esp,%ebp
42bbe8:	ff 71 08             	push   0x8(%ecx)
42bbeb:	8b 4d 08             	mov    0x8(%ebp),%ecx
42bbee:	e8 d3 f6 fd ff       	call   0x40b2c6
42bbf3:	8b 45 08             	mov    0x8(%ebp),%eax
42bbf6:	5d                   	pop    %ebp
42bbf7:	c2 04 00             	ret    $0x4
42bbfa:	55                   	push   %ebp
42bbfb:	8b ec                	mov    %esp,%ebp
42bbfd:	8b 4d 14             	mov    0x14(%ebp),%ecx
42bc00:	8b 45 0c             	mov    0xc(%ebp),%eax
42bc03:	6a 03                	push   $0x3
42bc05:	89 01                	mov    %eax,(%ecx)
42bc07:	8b 4d 20             	mov    0x20(%ebp),%ecx
42bc0a:	8b 45 18             	mov    0x18(%ebp),%eax
42bc0d:	89 01                	mov    %eax,(%ecx)
42bc0f:	58                   	pop    %eax
42bc10:	5d                   	pop    %ebp
42bc11:	c2 1c 00             	ret    $0x1c
42bc14:	55                   	push   %ebp
42bc15:	8b ec                	mov    %esp,%ebp
42bc17:	8b 45 10             	mov    0x10(%ebp),%eax
42bc1a:	2b 45 0c             	sub    0xc(%ebp),%eax
42bc1d:	3b 45 14             	cmp    0x14(%ebp),%eax
42bc20:	72 03                	jb     0x42bc25
42bc22:	8b 45 14             	mov    0x14(%ebp),%eax
42bc25:	5d                   	pop    %ebp
42bc26:	c2 10 00             	ret    $0x10
42bc29:	33 c0                	xor    %eax,%eax
42bc2b:	40                   	inc    %eax
42bc2c:	c3                   	ret
42bc2d:	55                   	push   %ebp
42bc2e:	8b ec                	mov    %esp,%ebp
42bc30:	8b 4d 14             	mov    0x14(%ebp),%ecx
42bc33:	8b 45 0c             	mov    0xc(%ebp),%eax
42bc36:	6a 03                	push   $0x3
42bc38:	89 01                	mov    %eax,(%ecx)
42bc3a:	8b 4d 20             	mov    0x20(%ebp),%ecx
42bc3d:	8b 45 18             	mov    0x18(%ebp),%eax
42bc40:	89 01                	mov    %eax,(%ecx)
42bc42:	58                   	pop    %eax
42bc43:	5d                   	pop    %ebp
42bc44:	c2 1c 00             	ret    $0x1c
42bc47:	55                   	push   %ebp
42bc48:	8b ec                	mov    %esp,%ebp
42bc4a:	83 ec 4c             	sub    $0x4c,%esp
42bc4d:	a1 94 80 4b 00       	mov    0x4b8094,%eax
42bc52:	33 c5                	xor    %ebp,%eax
42bc54:	89 45 fc             	mov    %eax,-0x4(%ebp)
42bc57:	53                   	push   %ebx
42bc58:	8b 5d 08             	mov    0x8(%ebp),%ebx
42bc5b:	8d 45 f4             	lea    -0xc(%ebp),%eax
42bc5e:	56                   	push   %esi
42bc5f:	8b 75 14             	mov    0x14(%ebp),%esi
42bc62:	57                   	push   %edi
42bc63:	ff 75 1c             	push   0x1c(%ebp)
42bc66:	8b f9                	mov    %ecx,%edi
42bc68:	ff 76 14             	push   0x14(%esi)
42bc6b:	68 78 7e 49 00       	push   $0x497e78
42bc70:	50                   	push   %eax
42bc71:	57                   	push   %edi
42bc72:	e8 69 ec ff ff       	call   0x42a8e0
42bc77:	83 c4 10             	add    $0x10,%esp
42bc7a:	50                   	push   %eax
42bc7b:	8d 45 b4             	lea    -0x4c(%ebp),%eax
42bc7e:	6a 40                	push   $0x40
42bc80:	50                   	push   %eax
42bc81:	e8 8e 09 00 00       	call   0x42c614
42bc86:	50                   	push   %eax
42bc87:	8d 45 b4             	lea    -0x4c(%ebp),%eax
42bc8a:	50                   	push   %eax
42bc8b:	ff 75 18             	push   0x18(%ebp)
42bc8e:	56                   	push   %esi
42bc8f:	ff 75 10             	push   0x10(%ebp)
42bc92:	ff 75 0c             	push   0xc(%ebp)
42bc95:	53                   	push   %ebx
42bc96:	57                   	push   %edi
42bc97:	e8 c8 ed ff ff       	call   0x42aa64
42bc9c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42bc9f:	83 c4 30             	add    $0x30,%esp
42bca2:	8b c3                	mov    %ebx,%eax
42bca4:	33 cd                	xor    %ebp,%ecx
42bca6:	5f                   	pop    %edi
42bca7:	5e                   	pop    %esi
42bca8:	5b                   	pop    %ebx
42bca9:	e8 54 3d 01 00       	call   0x43fa02
42bcae:	c9                   	leave
42bcaf:	c2 18 00             	ret    $0x18
42bcb2:	55                   	push   %ebp
42bcb3:	8b ec                	mov    %esp,%ebp
42bcb5:	83 ec 4c             	sub    $0x4c,%esp
42bcb8:	a1 94 80 4b 00       	mov    0x4b8094,%eax
42bcbd:	33 c5                	xor    %ebp,%eax
42bcbf:	89 45 fc             	mov    %eax,-0x4(%ebp)
42bcc2:	53                   	push   %ebx
42bcc3:	8b 5d 08             	mov    0x8(%ebp),%ebx
42bcc6:	8d 45 f4             	lea    -0xc(%ebp),%eax
42bcc9:	56                   	push   %esi
42bcca:	8b 75 14             	mov    0x14(%ebp),%esi
42bccd:	57                   	push   %edi
42bcce:	ff 75 1c             	push   0x1c(%ebp)
42bcd1:	8b f9                	mov    %ecx,%edi
42bcd3:	ff 76 14             	push   0x14(%esi)
42bcd6:	68 74 7e 49 00       	push   $0x497e74
42bcdb:	50                   	push   %eax
42bcdc:	57                   	push   %edi
42bcdd:	e8 fe eb ff ff       	call   0x42a8e0
42bce2:	83 c4 10             	add    $0x10,%esp
42bce5:	50                   	push   %eax
42bce6:	8d 45 b4             	lea    -0x4c(%ebp),%eax
42bce9:	6a 40                	push   $0x40
42bceb:	50                   	push   %eax
42bcec:	e8 23 09 00 00       	call   0x42c614
42bcf1:	50                   	push   %eax
42bcf2:	8d 45 b4             	lea    -0x4c(%ebp),%eax
42bcf5:	50                   	push   %eax
42bcf6:	ff 75 18             	push   0x18(%ebp)
42bcf9:	56                   	push   %esi
42bcfa:	ff 75 10             	push   0x10(%ebp)
42bcfd:	ff 75 0c             	push   0xc(%ebp)
42bd00:	53                   	push   %ebx
42bd01:	57                   	push   %edi
42bd02:	e8 5d ed ff ff       	call   0x42aa64
42bd07:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42bd0a:	83 c4 30             	add    $0x30,%esp
42bd0d:	8b c3                	mov    %ebx,%eax
42bd0f:	33 cd                	xor    %ebp,%ecx
42bd11:	5f                   	pop    %edi
42bd12:	5e                   	pop    %esi
42bd13:	5b                   	pop    %ebx
42bd14:	e8 e9 3c 01 00       	call   0x43fa02
42bd19:	c9                   	leave
42bd1a:	c2 18 00             	ret    $0x18
42bd1d:	6a 34                	push   $0x34
42bd1f:	b8 b1 12 49 00       	mov    $0x4912b1,%eax
42bd24:	e8 55 3d 01 00       	call   0x43fa7e
42bd29:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
42bd2c:	8b 45 08             	mov    0x8(%ebp),%eax
42bd2f:	8b 75 14             	mov    0x14(%ebp),%esi
42bd32:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
42bd36:	89 45 c0             	mov    %eax,-0x40(%ebp)
42bd39:	c7 45 e4 0f 00 00 00 	movl   $0xf,-0x1c(%ebp)
42bd40:	c6 45 d0 00          	movb   $0x0,-0x30(%ebp)
42bd44:	8b 46 14             	mov    0x14(%esi),%eax
42bd47:	ba 00 20 00 00       	mov    $0x2000,%edx
42bd4c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42bd50:	25 00 30 00 00       	and    $0x3000,%eax
42bd55:	8b 4e 1c             	mov    0x1c(%esi),%ecx
42bd58:	8b 7e 18             	mov    0x18(%esi),%edi
42bd5b:	85 c9                	test   %ecx,%ecx
42bd5d:	7f 0f                	jg     0x42bd6e
42bd5f:	7c 04                	jl     0x42bd65
42bd61:	85 ff                	test   %edi,%edi
42bd63:	75 09                	jne    0x42bd6e
42bd65:	3b c2                	cmp    %edx,%eax
42bd67:	74 05                	je     0x42bd6e
42bd69:	6a 06                	push   $0x6
42bd6b:	5f                   	pop    %edi
42bd6c:	33 c9                	xor    %ecx,%ecx
42bd6e:	dd 45 1c             	fldl   0x1c(%ebp)
42bd71:	8b df                	mov    %edi,%ebx
42bd73:	89 4d cc             	mov    %ecx,-0x34(%ebp)
42bd76:	3b c2                	cmp    %edx,%eax
42bd78:	75 3a                	jne    0x42bdb4
42bd7a:	d9 c0                	fld    %st(0)
42bd7c:	d9 e1                	fabs
42bd7e:	dc 1d e0 7e 49 00    	fcompl 0x497ee0
42bd84:	df e0                	fnstsw %ax
42bd86:	f6 c4 41             	test   $0x41,%ah
42bd89:	75 29                	jne    0x42bdb4
42bd8b:	8d 45 cc             	lea    -0x34(%ebp),%eax
42bd8e:	50                   	push   %eax
42bd8f:	51                   	push   %ecx
42bd90:	51                   	push   %ecx
42bd91:	dd 1c 24             	fstpl  (%esp)
42bd94:	e8 1d db 03 00       	call   0x4698b6
42bd99:	8b 45 cc             	mov    -0x34(%ebp),%eax
42bd9c:	b9 a0 86 01 00       	mov    $0x186a0,%ecx
42bda1:	99                   	cltd
42bda2:	83 c4 0c             	add    $0xc,%esp
42bda5:	33 c2                	xor    %edx,%eax
42bda7:	2b c2                	sub    %edx,%eax
42bda9:	69 c0 97 75 00 00    	imul   $0x7597,%eax,%eax