443b95:	83 c4 04             	add    $0x4,%esp
443b98:	8b 45 e4             	mov    -0x1c(%ebp),%eax
443b9b:	85 c0                	test   %eax,%eax
443b9d:	74 20                	je     0x443bbf
443b9f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
443ba2:	85 c9                	test   %ecx,%ecx
443ba4:	74 19                	je     0x443bbf
443ba6:	c1 e1 02             	shl    $0x2,%ecx
443ba9:	51                   	push   %ecx
443baa:	50                   	push   %eax
443bab:	56                   	push   %esi
443bac:	e8 cf d4 fd ff       	call   0x421080
443bb1:	83 c4 0c             	add    $0xc,%esp
443bb4:	ff 75 e4             	push   -0x1c(%ebp)
443bb7:	e8 b0 d4 fd ff       	call   0x42106c
443bbc:	83 c4 04             	add    $0x4,%esp
443bbf:	89 75 e4             	mov    %esi,-0x1c(%ebp)
443bc2:	e9 95 a6 fc ff       	jmp    0x40e25c
443bc7:	66 83 f8 30          	cmp    $0x30,%ax
443bcb:	0f 8c bd a6 fc ff    	jl     0x40e28e
443bd1:	6a 10                	push   $0x10
443bd3:	e8 1e d4 fd ff       	call   0x420ff6
443bd8:	8b d0                	mov    %eax,%edx
443bda:	83 c4 04             	add    $0x4,%esp
443bdd:	85 d2                	test   %edx,%edx
443bdf:	74 1c                	je     0x443bfd
443be1:	8b 07                	mov    (%edi),%eax
443be3:	8b 08                	mov    (%eax),%ecx
443be5:	89 0a                	mov    %ecx,(%edx)
443be7:	8b 48 04             	mov    0x4(%eax),%ecx
443bea:	89 4a 04             	mov    %ecx,0x4(%edx)
443bed:	8b 48 08             	mov    0x8(%eax),%ecx
443bf0:	89 4a 08             	mov    %ecx,0x8(%edx)
443bf3:	8b 40 0c             	mov    0xc(%eax),%eax
443bf6:	89 42 0c             	mov    %eax,0xc(%edx)
443bf9:	ff 00                	incl   (%eax)
443bfb:	eb 02                	jmp    0x443bff
443bfd:	33 d2                	xor    %edx,%edx
443bff:	89 16                	mov    %edx,(%esi)
443c01:	e9 a0 a6 fc ff       	jmp    0x40e2a6
443c06:	8b 07                	mov    (%edi),%eax
443c08:	89 06                	mov    %eax,(%esi)
443c0a:	8b 47 04             	mov    0x4(%edi),%eax
443c0d:	89 46 04             	mov    %eax,0x4(%esi)
443c10:	e9 91 a6 fc ff       	jmp    0x40e2a6
443c15:	ff 33                	push   (%ebx)
443c17:	e8 50 d4 fd ff       	call   0x42106c
443c1c:	83 c4 04             	add    $0x4,%esp
443c1f:	ff 73 0c             	push   0xc(%ebx)
443c22:	e8 45 d4 fd ff       	call   0x42106c
443c27:	83 c4 04             	add    $0x4,%esp
443c2a:	e9 06 a7 fc ff       	jmp    0x40e335
443c2f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
443c33:	0f 85 57 a7 fc ff    	jne    0x40e390
443c39:	80 7d 0b 01          	cmpb   $0x1,0xb(%ebp)
443c3d:	0f 84 b3 00 00 00    	je     0x443cf6
443c43:	84 db                	test   %bl,%bl
443c45:	0f 85 45 a7 fc ff    	jne    0x40e390
443c4b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
443c4e:	8d 42 ff             	lea    -0x1(%edx),%eax
443c51:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
443c58:	89 81 f4 00 00 00    	mov    %eax,0xf4(%ecx)
443c5e:	8d 45 ff             	lea    -0x1(%ebp),%eax
443c61:	50                   	push   %eax
443c62:	8d 45 f0             	lea    -0x10(%ebp),%eax
443c65:	50                   	push   %eax
443c66:	56                   	push   %esi
443c67:	e8 ff 62 fc ff       	call   0x409f6b
443c6c:	85 c0                	test   %eax,%eax
443c6e:	0f 88 f2 a7 fc ff    	js     0x40e466
443c74:	8b 56 04             	mov    0x4(%esi),%edx
443c77:	8b 4d f0             	mov    -0x10(%ebp),%ecx
443c7a:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
443c7d:	66 83 78 08 00       	cmpw   $0x0,0x8(%eax)
443c82:	75 4a                	jne    0x443cce
443c84:	83 38 05             	cmpl   $0x5,(%eax)
443c87:	75 45                	jne    0x443cce
443c89:	8b 44 8a 04          	mov    0x4(%edx,%ecx,4),%eax
443c8d:	66 83 78 08 7f       	cmpw   $0x7f,0x8(%eax)
443c92:	75 15                	jne    0x443ca9
443c94:	8a 5d ff             	mov    -0x1(%ebp),%bl
443c97:	84 db                	test   %bl,%bl
443c99:	0f 84 f1 a6 fc ff    	je     0x40e390
443c9f:	8b 17                	mov    (%edi),%edx
443ca1:	89 55 f8             	mov    %edx,-0x8(%ebp)
443ca4:	e9 e7 a6 fc ff       	jmp    0x40e390
443ca9:	8b 55 f4             	mov    -0xc(%ebp),%edx
443cac:	8b 07                	mov    (%edi),%eax
443cae:	48                   	dec    %eax
443caf:	89 82 f4 00 00 00    	mov    %eax,0xf4(%edx)
443cb5:	8b 46 04             	mov    0x4(%esi),%eax
443cb8:	8b 04 88             	mov    (%eax,%ecx,4),%eax
443cbb:	8b ca                	mov    %edx,%ecx
443cbd:	0f bf 40 0a          	movswl 0xa(%eax),%eax
443cc1:	50                   	push   %eax
443cc2:	6a 72                	push   $0x72
443cc4:	e8 ec 63 02 00       	call   0x46a0b5
443cc9:	e9 98 a7 fc ff       	jmp    0x40e466
443cce:	8b 55 f4             	mov    -0xc(%ebp),%edx
443cd1:	8b 07                	mov    (%edi),%eax
443cd3:	48                   	dec    %eax
443cd4:	89 82 f4 00 00 00    	mov    %eax,0xf4(%edx)
443cda:	8b 46 04             	mov    0x4(%esi),%eax
443cdd:	8b 04 88             	mov    (%eax,%ecx,4),%eax
443ce0:	8b ca                	mov    %edx,%ecx
443ce2:	0f bf 40 0a          	movswl 0xa(%eax),%eax
443ce6:	50                   	push   %eax
443ce7:	68 a1 00 00 00       	push   $0xa1
443cec:	e8 c4 63 02 00       	call   0x46a0b5
443cf1:	e9 70 a7 fc ff       	jmp    0x40e466
443cf6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
443cf9:	6a ff                	push   $0xffffffff
443cfb:	6a 76                	push   $0x76
443cfd:	e8 b3 63 02 00       	call   0x46a0b5
443d02:	e9 5f a7 fc ff       	jmp    0x40e466
443d07:	8b 8b 60 01 00 00    	mov    0x160(%ebx),%ecx
443d0d:	8d 45 b0             	lea    -0x50(%ebp),%eax
443d10:	50                   	push   %eax
443d11:	e8 98 68 03 00       	call   0x47a5ae
443d16:	c6 83 65 01 00 00 00 	movb   $0x0,0x165(%ebx)
443d1d:	e9 3e a7 fc ff       	jmp    0x40e460
443d22:	0f bf 40 0a          	movswl 0xa(%eax),%eax
443d26:	8b 4d f4             	mov    -0xc(%ebp),%ecx
443d29:	50                   	push   %eax
443d2a:	68 a1 00 00 00       	push   $0xa1
443d2f:	e8 81 63 02 00       	call   0x46a0b5
443d34:	e9 ca a3 fc ff       	jmp    0x40e103
443d39:	8b ff                	mov    %edi,%edi
443d3b:	f1                   	int1
443d3c:	3a 44 00 d2          	cmp    -0x2e(%eax,%eax,1),%al
443d40:	e0 40                	loopne 0x443d82
443d42:	00 d2                	add    %dl,%dl
443d44:	e0 40                	loopne 0x443d86
443d46:	00 d0                	add    %dl,%al
443d48:	3a 44 00 d2          	cmp    -0x2e(%eax,%eax,1),%al
443d4c:	e0 40                	loopne 0x443d8e
443d4e:	00 e4                	add    %ah,%ah
443d50:	3a 44 00 06          	cmp    0x6(%eax,%eax,1),%al
443d54:	3b 44 00 16          	cmp    0x16(%eax,%eax,1),%eax
443d58:	3b 44 00 40          	cmp    0x40(%eax,%eax,1),%eax
443d5c:	3b 44 00 40          	cmp    0x40(%eax,%eax,1),%eax
443d60:	3b 44 00 2b          	cmp    0x2b(%eax,%eax,1),%eax
443d64:	3b 44 00 8b          	cmp    -0x75(%eax,%eax,1),%eax
443d68:	41                   	inc    %ecx
443d69:	04 8b                	add    $0x8b,%al
443d6b:	50                   	push   %eax
443d6c:	30 e9                	xor    %ch,%cl
443d6e:	32 a9 fc ff 8b 8e    	xor    -0x71740004(%ecx),%ch
443d74:	60                   	pusha
443d75:	01 00                	add    %eax,(%eax)
443d77:	00 8b 79 30 85 c9    	add    %cl,-0x367acf87(%ebx)
443d7d:	74 06                	je     0x443d85
443d7f:	51                   	push   %ecx
443d80:	e8 09 2e 01 00       	call   0x456b8e
443d85:	89 be 60 01 00 00    	mov    %edi,0x160(%esi)
443d8b:	c6 86 65 01 00 00 00 	movb   $0x0,0x165(%esi)
443d92:	e9 94 a8 fc ff       	jmp    0x40e62b
443d97:	c6 86 65 01 00 00 01 	movb   $0x1,0x165(%esi)
443d9e:	e9 c8 a8 fc ff       	jmp    0x40e66b
443da3:	ff 75 0c             	push   0xc(%ebp)
443da6:	8b ce                	mov    %esi,%ecx
443da8:	52                   	push   %edx
443da9:	e8 82 71 03 00       	call   0x47af30
443dae:	e9 f5 a7 fc ff       	jmp    0x40e5a8
443db3:	ff 75 0c             	push   0xc(%ebp)
443db6:	51                   	push   %ecx
443db7:	8b ce                	mov    %esi,%ecx
443db9:	e8 67 72 03 00       	call   0x47b025
443dbe:	e9 e5 a7 fc ff       	jmp    0x40e5a8
443dc3:	8d 8e 5c 01 00 00    	lea    0x15c(%esi),%ecx
443dc9:	e8 4a c0 fd ff       	call   0x41fe18
443dce:	8b 48 08             	mov    0x8(%eax),%ecx
443dd1:	8b 45 0c             	mov    0xc(%ebp),%eax
443dd4:	89 08                	mov    %ecx,(%eax)
443dd6:	e9 cd a7 fc ff       	jmp    0x40e5a8
443ddb:	8d 8e 5c 01 00 00    	lea    0x15c(%esi),%ecx
443de1:	e8 e9 bf fd ff       	call   0x41fdcf
443de6:	e9 bd a7 fc ff       	jmp    0x40e5a8
443deb:	ff 75 0c             	push   0xc(%ebp)
443dee:	8b ce                	mov    %esi,%ecx
443df0:	52                   	push   %edx
443df1:	e8 2c 77 03 00       	call   0x47b522
443df6:	e9 ad a7 fc ff       	jmp    0x40e5a8
443dfb:	ff 75 0c             	push   0xc(%ebp)
443dfe:	8d 45 fc             	lea    -0x4(%ebp),%eax
443e01:	8b ce                	mov    %esi,%ecx
443e03:	50                   	push   %eax
443e04:	52                   	push   %edx
443e05:	e8 53 6b 03 00       	call   0x47a95d
443e0a:	e9 99 a7 fc ff       	jmp    0x40e5a8
443e0f:	6a 00                	push   $0x0
443e11:	8d 45 fc             	lea    -0x4(%ebp),%eax
443e14:	8b ce                	mov    %esi,%ecx
443e16:	50                   	push   %eax
443e17:	52                   	push   %edx
443e18:	e8 f2 6e 03 00       	call   0x47ad0f
443e1d:	e9 86 a7 fc ff       	jmp    0x40e5a8
443e22:	6a 00                	push   $0x0
443e24:	8d 45 fc             	lea    -0x4(%ebp),%eax
443e27:	8b ce                	mov    %esi,%ecx
443e29:	50                   	push   %eax
443e2a:	52                   	push   %edx
443e2b:	e8 cb 68 03 00       	call   0x47a6fb
443e30:	e9 73 a7 fc ff       	jmp    0x40e5a8
443e35:	6a 04                	push   $0x4
443e37:	8d 45 fc             	lea    -0x4(%ebp),%eax
443e3a:	8b ce                	mov    %esi,%ecx
443e3c:	50                   	push   %eax
443e3d:	52                   	push   %edx
443e3e:	e8 1d 94 fc ff       	call   0x40d260
443e43:	e9 60 a7 fc ff       	jmp    0x40e5a8
443e48:	6a 00                	push   $0x0
443e4a:	8d 45 fc             	lea    -0x4(%ebp),%eax
443e4d:	8b ce                	mov    %esi,%ecx
443e4f:	50                   	push   %eax
443e50:	52                   	push   %edx
443e51:	e8 61 73 03 00       	call   0x47b1b7
443e56:	e9 4d a7 fc ff       	jmp    0x40e5a8
443e5b:	83 7a 08 01          	cmpl   $0x1,0x8(%edx)
443e5f:	76 2e                	jbe    0x443e8f
443e61:	8b 47 04             	mov    0x4(%edi),%eax
443e64:	66 39 48 08          	cmp    %cx,0x8(%eax)
443e68:	75 25                	jne    0x443e8f
443e6a:	83 38 20             	cmpl   $0x20,(%eax)
443e6d:	75 20                	jne    0x443e8f
443e6f:	b9 01 00 00 00       	mov    $0x1,%ecx
443e74:	8b 44 8f 04          	mov    0x4(%edi,%ecx,4),%eax
443e78:	8b ce                	mov    %esi,%ecx
443e7a:	ff 30                	push   (%eax)
443e7c:	e8 3c 61 fc ff       	call   0x409fbd
443e81:	8b 48 1c             	mov    0x1c(%eax),%ecx
443e84:	8b 45 0c             	mov    0xc(%ebp),%eax
443e87:	41                   	inc    %ecx
443e88:	89 08                	mov    %ecx,(%eax)
443e8a:	e9 19 a7 fc ff       	jmp    0x40e5a8
443e8f:	6a ff                	push   $0xffffffff
443e91:	6a 69                	push   $0x69
443e93:	8b ce                	mov    %esi,%ecx
443e95:	e8 1b 62 02 00       	call   0x46a0b5
443e9a:	e9 09 a7 fc ff       	jmp    0x40e5a8
443e9f:	8d 45 fc             	lea    -0x4(%ebp),%eax
443ea2:	8b ce                	mov    %esi,%ecx
443ea4:	50                   	push   %eax
443ea5:	52                   	push   %edx
443ea6:	e8 09 79 03 00       	call   0x47b7b4
443eab:	e9 f8 a6 fc ff       	jmp    0x40e5a8
443eb0:	8d 8e 68 01 00 00    	lea    0x168(%esi),%ecx
443eb6:	e8 9b 65 03 00       	call   0x47a456
443ebb:	e9 e8 a6 fc ff       	jmp    0x40e5a8
443ec0:	6a ff                	push   $0xffffffff
443ec2:	68 81 00 00 00       	push   $0x81
443ec7:	8b ce                	mov    %esi,%ecx
443ec9:	e8 e7 61 02 00       	call   0x46a0b5
443ece:	e9 d5 a6 fc ff       	jmp    0x40e5a8
443ed3:	8b 75 f0             	mov    -0x10(%ebp),%esi
443ed6:	8d 45 9c             	lea    -0x64(%ebp),%eax
443ed9:	6a ff                	push   $0xffffffff
443edb:	50                   	push   %eax
443edc:	8d 45 f4             	lea    -0xc(%ebp),%eax
443edf:	8b ce                	mov    %esi,%ecx
443ee1:	50                   	push   %eax
443ee2:	53                   	push   %ebx
443ee3:	e8 18 61 fc ff       	call   0x40a000
443ee8:	8b 4b 04             	mov    0x4(%ebx),%ecx
443eeb:	8b 45 f4             	mov    -0xc(%ebp),%eax
443eee:	8b 04 81             	mov    (%ecx,%eax,4),%eax
443ef1:	66 83 78 08 7f       	cmpw   $0x7f,0x8(%eax)
443ef6:	0f 84 c5 ac fc ff    	je     0x40ebc1
443efc:	0f bf 40 0a          	movswl 0xa(%eax),%eax
443f00:	8b ce                	mov    %esi,%ecx
443f02:	50                   	push   %eax
443f03:	6a 72                	push   $0x72
443f05:	e8 ab 61 02 00       	call   0x46a0b5
443f0a:	e9 b2 ac fc ff       	jmp    0x40ebc1
443f0f:	a1 84 72 4c 00       	mov    0x4c7284,%eax
443f14:	8b 70 08             	mov    0x8(%eax),%esi
443f17:	e9 c3 a9 fc ff       	jmp    0x40e8df
443f1c:	83 c8 01             	or     $0x1,%eax
443f1f:	b9 44 74 4c 00       	mov    $0x4c7444,%ecx
443f24:	a3 40 74 4c 00       	mov    %eax,0x4c7440
443f29:	e8 99 38 fc ff       	call   0x4077c7
443f2e:	68 0a b8 43 00       	push   $0x43b80a
443f33:	e8 48 f0 fd ff       	call   0x422f80
443f38:	83 c4 04             	add    $0x4,%esp
443f3b:	e9 b9 a9 fc ff       	jmp    0x40e8f9
443f40:	85 c9                	test   %ecx,%ecx
443f42:	0f 85 cd aa fc ff    	jne    0x40ea15
443f48:	85 d2                	test   %edx,%edx
443f4a:	0f 85 38 aa fc ff    	jne    0x40e988
443f50:	e9 e9 a9 fc ff       	jmp    0x40e93e
443f55:	83 c8 01             	or     $0x1,%eax
443f58:	b9 44 74 4c 00       	mov    $0x4c7444,%ecx
443f5d:	a3 40 74 4c 00       	mov    %eax,0x4c7440
443f62:	e8 60 38 fc ff       	call   0x4077c7
443f67:	68 0a b8 43 00       	push   $0x43b80a
443f6c:	e8 0f f0 fd ff       	call   0x422f80
443f71:	8b 1d 70 72 4c 00    	mov    0x4c7270,%ebx
443f77:	83 c4 04             	add    $0x4,%esp
443f7a:	89 5d e0             	mov    %ebx,-0x20(%ebp)
443f7d:	e9 84 ac fc ff       	jmp    0x40ec06
443f82:	85 c9                	test   %ecx,%ecx
443f84:	0f 85 7c b0 fc ff    	jne    0x40f006
443f8a:	85 ff                	test   %edi,%edi
443f8c:	0f 85 11 b1 fc ff    	jne    0x40f0a3
443f92:	e9 a7 ac fc ff       	jmp    0x40ec3e
443f97:	8b 4d 08             	mov    0x8(%ebp),%ecx
443f9a:	8b 41 04             	mov    0x4(%ecx),%eax
443f9d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
443fa0:	8b 00                	mov    (%eax),%eax
443fa2:	0f bf 40 0a          	movswl 0xa(%eax),%eax
443fa6:	50                   	push   %eax
443fa7:	68 a3 00 00 00       	push   $0xa3
443fac:	e8 04 61 02 00       	call   0x46a0b5
443fb1:	e9 0b ac fc ff       	jmp    0x40ebc1
443fb6:	8d 47 fe             	lea    -0x2(%edi),%eax
443fb9:	83 f8 09             	cmp    $0x9,%eax
443fbc:	0f 87 8a 00 00 00    	ja     0x44404c
443fc2:	ff 24 85 af 46 44 00 	jmp    *0x4446af(,%eax,4)
443fc9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
443fcc:	8d 4d cc             	lea    -0x34(%ebp),%ecx
443fcf:	8b 10                	mov    (%eax),%edx
443fd1:	e8 eb 55 fc ff       	call   0x4095c1
443fd6:	84 c0                	test   %al,%al
443fd8:	74 1e                	je     0x443ff8
443fda:	8d 4a 04             	lea    0x4(%edx),%ecx
443fdd:	6a 10                	push   $0x10
443fdf:	8d 55 8c             	lea    -0x74(%ebp),%edx
443fe2:	e8 14 bc fd ff       	call   0x41fbfb
443fe7:	8b 45 8c             	mov    -0x74(%ebp),%eax
443fea:	83 c4 04             	add    $0x4,%esp
443fed:	8b 7d d8             	mov    -0x28(%ebp),%edi
443ff0:	8b 5d cc             	mov    -0x34(%ebp),%ebx
443ff3:	e9 ca ad fc ff       	jmp    0x40edc2
443ff8:	52                   	push   %edx
443ff9:	e8 cc f7 fd ff       	call   0x4237ca
443ffe:	8b 7d d8             	mov    -0x28(%ebp),%edi
444001:	83 c4 04             	add    $0x4,%esp
444004:	8b 5d cc             	mov    -0x34(%ebp),%ebx
444007:	e9 b6 ad fc ff       	jmp    0x40edc2
44400c:	dd 45 cc             	fldl   -0x34(%ebp)
44400f:	e8 bc 75 ff ff       	call   0x43b5d0
444014:	8b 5d cc             	mov    -0x34(%ebp),%ebx
444017:	e9 a6 ad fc ff       	jmp    0x40edc2
44401c:	8b 5d cc             	mov    -0x34(%ebp),%ebx
44401f:	8b 43 04             	mov    0x4(%ebx),%eax
444022:	e9 9b ad fc ff       	jmp    0x40edc2
444027:	8b 5d cc             	mov    -0x34(%ebp),%ebx
44402a:	8b 13                	mov    (%ebx),%edx
44402c:	83 fa 08             	cmp    $0x8,%edx
44402f:	0f 8f 95 ad fc ff    	jg     0x40edca