436acf:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
436ad3:	7f e6                	jg     0x436abb
436ad5:	5e                   	pop    %esi
436ad6:	5d                   	pop    %ebp
436ad7:	c3                   	ret
436ad8:	8b ff                	mov    %edi,%edi
436ada:	55                   	push   %ebp
436adb:	8b ec                	mov    %esp,%ebp
436add:	51                   	push   %ecx
436ade:	f6 43 0c 40          	testb  $0x40,0xc(%ebx)
436ae2:	56                   	push   %esi
436ae3:	8b f0                	mov    %eax,%esi
436ae5:	8b 07                	mov    (%edi),%eax
436ae7:	89 45 fc             	mov    %eax,-0x4(%ebp)
436aea:	74 0d                	je     0x436af9
436aec:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
436af0:	75 07                	jne    0x436af9
436af2:	8b 45 0c             	mov    0xc(%ebp),%eax
436af5:	01 06                	add    %eax,(%esi)
436af7:	eb 43                	jmp    0x436b3c
436af9:	83 27 00             	andl   $0x0,(%edi)
436afc:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
436b00:	7e 35                	jle    0x436b37
436b02:	8b 45 08             	mov    0x8(%ebp),%eax
436b05:	0f b7 00             	movzwl (%eax),%eax
436b08:	ff 4d 0c             	decl   0xc(%ebp)
436b0b:	50                   	push   %eax
436b0c:	8b c3                	mov    %ebx,%eax
436b0e:	e8 6f ff ff ff       	call   0x436a82
436b13:	83 45 08 02          	addl   $0x2,0x8(%ebp)
436b17:	83 3e ff             	cmpl   $0xffffffff,(%esi)
436b1a:	59                   	pop    %ecx
436b1b:	75 0f                	jne    0x436b2c
436b1d:	83 3f 2a             	cmpl   $0x2a,(%edi)
436b20:	75 10                	jne    0x436b32
436b22:	6a 3f                	push   $0x3f
436b24:	8b c3                	mov    %ebx,%eax
436b26:	e8 57 ff ff ff       	call   0x436a82
436b2b:	59                   	pop    %ecx
436b2c:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
436b30:	7f d0                	jg     0x436b02
436b32:	83 3f 00             	cmpl   $0x0,(%edi)
436b35:	75 05                	jne    0x436b3c
436b37:	8b 45 fc             	mov    -0x4(%ebp),%eax
436b3a:	89 07                	mov    %eax,(%edi)
436b3c:	5e                   	pop    %esi
436b3d:	c9                   	leave
436b3e:	c3                   	ret
436b3f:	8b ff                	mov    %edi,%edi
436b41:	55                   	push   %ebp
436b42:	8b ec                	mov    %esp,%ebp
436b44:	81 ec 78 04 00 00    	sub    $0x478,%esp
436b4a:	a1 a8 f6 46 00       	mov    0x46f6a8,%eax
436b4f:	33 c5                	xor    %ebp,%eax
436b51:	89 45 fc             	mov    %eax,-0x4(%ebp)
436b54:	8b 45 08             	mov    0x8(%ebp),%eax
436b57:	53                   	push   %ebx
436b58:	56                   	push   %esi
436b59:	8b 75 0c             	mov    0xc(%ebp),%esi
436b5c:	33 db                	xor    %ebx,%ebx
436b5e:	57                   	push   %edi
436b5f:	8b 7d 14             	mov    0x14(%ebp),%edi
436b62:	ff 75 10             	push   0x10(%ebp)
436b65:	8d 8d a8 fb ff ff    	lea    -0x458(%ebp),%ecx
436b6b:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
436b71:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
436b77:	89 9d bc fb ff ff    	mov    %ebx,-0x444(%ebp)
436b7d:	89 9d f8 fb ff ff    	mov    %ebx,-0x408(%ebp)
436b83:	89 9d d0 fb ff ff    	mov    %ebx,-0x430(%ebp)
436b89:	89 9d f4 fb ff ff    	mov    %ebx,-0x40c(%ebp)
436b8f:	89 9d d8 fb ff ff    	mov    %ebx,-0x428(%ebp)
436b95:	89 9d b8 fb ff ff    	mov    %ebx,-0x448(%ebp)
436b9b:	89 9d d4 fb ff ff    	mov    %ebx,-0x42c(%ebp)
436ba1:	e8 44 a0 ff ff       	call   0x430bea
436ba6:	e8 fd dd ff ff       	call   0x4349a8
436bab:	89 85 9c fb ff ff    	mov    %eax,-0x464(%ebp)
436bb1:	39 9d dc fb ff ff    	cmp    %ebx,-0x424(%ebp)
436bb7:	75 2a                	jne    0x436be3
436bb9:	e8 ea dd ff ff       	call   0x4349a8
436bbe:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
436bc4:	e8 a5 d7 ff ff       	call   0x43436e
436bc9:	38 9d b4 fb ff ff    	cmp    %bl,-0x44c(%ebp)
436bcf:	74 0a                	je     0x436bdb
436bd1:	8b 85 b0 fb ff ff    	mov    -0x450(%ebp),%eax
436bd7:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
436bdb:	83 c8 ff             	or     $0xffffffff,%eax
436bde:	e9 f4 0a 00 00       	jmp    0x4376d7
436be3:	3b f3                	cmp    %ebx,%esi
436be5:	74 d2                	je     0x436bb9
436be7:	0f b7 0e             	movzwl (%esi),%ecx
436bea:	33 d2                	xor    %edx,%edx
436bec:	89 9d e8 fb ff ff    	mov    %ebx,-0x418(%ebp)
436bf2:	89 9d ec fb ff ff    	mov    %ebx,-0x414(%ebp)
436bf8:	89 9d c4 fb ff ff    	mov    %ebx,-0x43c(%ebp)
436bfe:	89 8d e4 fb ff ff    	mov    %ecx,-0x41c(%ebp)
436c04:	66 3b cb             	cmp    %bx,%cx
436c07:	0f 84 b1 0a 00 00    	je     0x4376be
436c0d:	6a 02                	push   $0x2
436c0f:	5b                   	pop    %ebx
436c10:	03 f3                	add    %ebx,%esi
436c12:	83 bd e8 fb ff ff 00 	cmpl   $0x0,-0x418(%ebp)
436c19:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
436c1f:	0f 8c 99 0a 00 00    	jl     0x4376be
436c25:	8d 41 e0             	lea    -0x20(%ecx),%eax
436c28:	66 83 f8 58          	cmp    $0x58,%ax
436c2c:	77 0f                	ja     0x436c3d
436c2e:	0f b7 c1             	movzwl %cx,%eax
436c31:	0f be 80 68 8e 46 00 	movsbl 0x468e68(%eax),%eax
436c38:	83 e0 0f             	and    $0xf,%eax
436c3b:	eb 02                	jmp    0x436c3f
436c3d:	33 c0                	xor    %eax,%eax
436c3f:	0f be 84 c2 88 8e 46 	movsbl 0x468e88(%edx,%eax,8),%eax
436c46:	00
436c47:	6a 07                	push   $0x7
436c49:	c1 f8 04             	sar    $0x4,%eax
436c4c:	5a                   	pop    %edx
436c4d:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
436c53:	3b c2                	cmp    %edx,%eax
436c55:	0f 87 20 0a 00 00    	ja     0x43767b
436c5b:	ff 24 85 e7 76 43 00 	jmp    *0x4376e7(,%eax,4)
436c62:	33 c0                	xor    %eax,%eax
436c64:	83 8d f4 fb ff ff ff 	orl    $0xffffffff,-0x40c(%ebp)
436c6b:	89 85 98 fb ff ff    	mov    %eax,-0x468(%ebp)
436c71:	89 85 b8 fb ff ff    	mov    %eax,-0x448(%ebp)
436c77:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
436c7d:	89 85 d8 fb ff ff    	mov    %eax,-0x428(%ebp)
436c83:	89 85 f8 fb ff ff    	mov    %eax,-0x408(%ebp)
436c89:	89 85 d4 fb ff ff    	mov    %eax,-0x42c(%ebp)
436c8f:	e9 e7 09 00 00       	jmp    0x43767b
436c94:	0f b7 c1             	movzwl %cx,%eax
436c97:	83 e8 20             	sub    $0x20,%eax
436c9a:	74 4a                	je     0x436ce6
436c9c:	83 e8 03             	sub    $0x3,%eax
436c9f:	74 36                	je     0x436cd7
436ca1:	83 e8 08             	sub    $0x8,%eax
436ca4:	74 25                	je     0x436ccb
436ca6:	2b c3                	sub    %ebx,%eax
436ca8:	74 15                	je     0x436cbf
436caa:	83 e8 03             	sub    $0x3,%eax
436cad:	0f 85 c8 09 00 00    	jne    0x43767b
436cb3:	83 8d f8 fb ff ff 08 	orl    $0x8,-0x408(%ebp)
436cba:	e9 bc 09 00 00       	jmp    0x43767b
436cbf:	83 8d f8 fb ff ff 04 	orl    $0x4,-0x408(%ebp)
436cc6:	e9 b0 09 00 00       	jmp    0x43767b
436ccb:	83 8d f8 fb ff ff 01 	orl    $0x1,-0x408(%ebp)
436cd2:	e9 a4 09 00 00       	jmp    0x43767b
436cd7:	81 8d f8 fb ff ff 80 	orl    $0x80,-0x408(%ebp)
436cde:	00 00 00
436ce1:	e9 95 09 00 00       	jmp    0x43767b
436ce6:	09 9d f8 fb ff ff    	or     %ebx,-0x408(%ebp)
436cec:	e9 8a 09 00 00       	jmp    0x43767b
436cf1:	66 83 f9 2a          	cmp    $0x2a,%cx
436cf5:	75 2c                	jne    0x436d23
436cf7:	83 c7 04             	add    $0x4,%edi
436cfa:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
436d00:	8b 7f fc             	mov    -0x4(%edi),%edi
436d03:	89 bd d0 fb ff ff    	mov    %edi,-0x430(%ebp)
436d09:	85 ff                	test   %edi,%edi
436d0b:	0f 89 6a 09 00 00    	jns    0x43767b
436d11:	83 8d f8 fb ff ff 04 	orl    $0x4,-0x408(%ebp)
436d18:	f7 9d d0 fb ff ff    	negl   -0x430(%ebp)
436d1e:	e9 58 09 00 00       	jmp    0x43767b
436d23:	8b 85 d0 fb ff ff    	mov    -0x430(%ebp),%eax
436d29:	6b c0 0a             	imul   $0xa,%eax,%eax
436d2c:	0f b7 c9             	movzwl %cx,%ecx
436d2f:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
436d33:	89 85 d0 fb ff ff    	mov    %eax,-0x430(%ebp)
436d39:	e9 3d 09 00 00       	jmp    0x43767b
436d3e:	83 a5 f4 fb ff ff 00 	andl   $0x0,-0x40c(%ebp)
436d45:	e9 31 09 00 00       	jmp    0x43767b
436d4a:	66 83 f9 2a          	cmp    $0x2a,%cx
436d4e:	75 26                	jne    0x436d76
436d50:	83 c7 04             	add    $0x4,%edi
436d53:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
436d59:	8b 7f fc             	mov    -0x4(%edi),%edi
436d5c:	89 bd f4 fb ff ff    	mov    %edi,-0x40c(%ebp)
436d62:	85 ff                	test   %edi,%edi
436d64:	0f 89 11 09 00 00    	jns    0x43767b
436d6a:	83 8d f4 fb ff ff ff 	orl    $0xffffffff,-0x40c(%ebp)
436d71:	e9 05 09 00 00       	jmp    0x43767b
436d76:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
436d7c:	6b c0 0a             	imul   $0xa,%eax,%eax
436d7f:	0f b7 c9             	movzwl %cx,%ecx
436d82:	8d 44 08 d0          	lea    -0x30(%eax,%ecx,1),%eax
436d86:	89 85 f4 fb ff ff    	mov    %eax,-0x40c(%ebp)
436d8c:	e9 ea 08 00 00       	jmp    0x43767b
436d91:	0f b7 c1             	movzwl %cx,%eax
436d94:	83 f8 49             	cmp    $0x49,%eax
436d97:	74 57                	je     0x436df0
436d99:	83 f8 68             	cmp    $0x68,%eax
436d9c:	74 46                	je     0x436de4
436d9e:	83 f8 6c             	cmp    $0x6c,%eax
436da1:	74 18                	je     0x436dbb
436da3:	83 f8 77             	cmp    $0x77,%eax
436da6:	0f 85 cf 08 00 00    	jne    0x43767b
436dac:	81 8d f8 fb ff ff 00 	orl    $0x800,-0x408(%ebp)
436db3:	08 00 00
436db6:	e9 c0 08 00 00       	jmp    0x43767b
436dbb:	66 83 3e 6c          	cmpw   $0x6c,(%esi)
436dbf:	75 17                	jne    0x436dd8
436dc1:	03 f3                	add    %ebx,%esi
436dc3:	81 8d f8 fb ff ff 00 	orl    $0x1000,-0x408(%ebp)
436dca:	10 00 00
436dcd:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
436dd3:	e9 a3 08 00 00       	jmp    0x43767b
436dd8:	83 8d f8 fb ff ff 10 	orl    $0x10,-0x408(%ebp)
436ddf:	e9 97 08 00 00       	jmp    0x43767b
436de4:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
436deb:	e9 8b 08 00 00       	jmp    0x43767b
436df0:	0f b7 06             	movzwl (%esi),%eax
436df3:	83 f8 36             	cmp    $0x36,%eax
436df6:	75 1f                	jne    0x436e17
436df8:	66 83 7e 02 34       	cmpw   $0x34,0x2(%esi)
436dfd:	75 18                	jne    0x436e17
436dff:	83 c6 04             	add    $0x4,%esi
436e02:	81 8d f8 fb ff ff 00 	orl    $0x8000,-0x408(%ebp)
436e09:	80 00 00
436e0c:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
436e12:	e9 64 08 00 00       	jmp    0x43767b
436e17:	83 f8 33             	cmp    $0x33,%eax
436e1a:	75 1f                	jne    0x436e3b
436e1c:	66 83 7e 02 32       	cmpw   $0x32,0x2(%esi)
436e21:	75 18                	jne    0x436e3b
436e23:	83 c6 04             	add    $0x4,%esi
436e26:	81 a5 f8 fb ff ff ff 	andl   $0xffff7fff,-0x408(%ebp)
436e2d:	7f ff ff
436e30:	89 b5 c0 fb ff ff    	mov    %esi,-0x440(%ebp)
436e36:	e9 40 08 00 00       	jmp    0x43767b
436e3b:	83 f8 64             	cmp    $0x64,%eax
436e3e:	0f 84 37 08 00 00    	je     0x43767b
436e44:	83 f8 69             	cmp    $0x69,%eax
436e47:	0f 84 2e 08 00 00    	je     0x43767b
436e4d:	83 f8 6f             	cmp    $0x6f,%eax
436e50:	0f 84 25 08 00 00    	je     0x43767b
436e56:	83 f8 75             	cmp    $0x75,%eax
436e59:	0f 84 1c 08 00 00    	je     0x43767b
436e5f:	83 f8 78             	cmp    $0x78,%eax
436e62:	0f 84 13 08 00 00    	je     0x43767b
436e68:	83 f8 58             	cmp    $0x58,%eax
436e6b:	0f 84 0a 08 00 00    	je     0x43767b
436e71:	83 a5 a0 fb ff ff 00 	andl   $0x0,-0x460(%ebp)
436e78:	8b 85 dc fb ff ff    	mov    -0x424(%ebp),%eax
436e7e:	51                   	push   %ecx
436e7f:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
436e85:	c7 85 d4 fb ff ff 01 	movl   $0x1,-0x42c(%ebp)
436e8c:	00 00 00
436e8f:	e8 ee fb ff ff       	call   0x436a82
436e94:	e9 e1 07 00 00       	jmp    0x43767a
436e99:	0f b7 c1             	movzwl %cx,%eax
436e9c:	83 f8 64             	cmp    $0x64,%eax
436e9f:	0f 8f 2f 02 00 00    	jg     0x4370d4
436ea5:	0f 84 c0 02 00 00    	je     0x43716b
436eab:	83 f8 53             	cmp    $0x53,%eax
436eae:	0f 8f 1b 01 00 00    	jg     0x436fcf
436eb4:	74 7e                	je     0x436f34
436eb6:	83 e8 41             	sub    $0x41,%eax
436eb9:	74 10                	je     0x436ecb
436ebb:	2b c3                	sub    %ebx,%eax
436ebd:	74 59                	je     0x436f18
436ebf:	2b c3                	sub    %ebx,%eax
436ec1:	74 08                	je     0x436ecb
436ec3:	2b c3                	sub    %ebx,%eax
436ec5:	0f 85 df 05 00 00    	jne    0x4374aa
436ecb:	83 c1 20             	add    $0x20,%ecx
436ece:	c7 85 98 fb ff ff 01 	movl   $0x1,-0x468(%ebp)
436ed5:	00 00 00
436ed8:	89 8d e4 fb ff ff    	mov    %ecx,-0x41c(%ebp)
436ede:	83 8d f8 fb ff ff 40 	orl    $0x40,-0x408(%ebp)
436ee5:	83 bd f4 fb ff ff 00 	cmpl   $0x0,-0x40c(%ebp)
436eec:	8d 9d fc fb ff ff    	lea    -0x404(%ebp),%ebx
436ef2:	b8 00 02 00 00       	mov    $0x200,%eax
436ef7:	89 9d f0 fb ff ff    	mov    %ebx,-0x410(%ebp)
436efd:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
436f03:	0f 8d 92 02 00 00    	jge    0x43719b
436f09:	c7 85 f4 fb ff ff 06 	movl   $0x6,-0x40c(%ebp)
436f10:	00 00 00
436f13:	e9 ec 02 00 00       	jmp    0x437204
436f18:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
436f1f:	08 00 00
436f22:	0f 85 c8 00 00 00    	jne    0x436ff0
436f28:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
436f2f:	e9 bc 00 00 00       	jmp    0x436ff0
436f34:	f7 85 f8 fb ff ff 30 	testl  $0x830,-0x408(%ebp)
436f3b:	08 00 00
436f3e:	75 07                	jne    0x436f47
436f40:	83 8d f8 fb ff ff 20 	orl    $0x20,-0x408(%ebp)
436f47:	8b 9d f4 fb ff ff    	mov    -0x40c(%ebp),%ebx
436f4d:	83 fb ff             	cmp    $0xffffffff,%ebx
436f50:	75 05                	jne    0x436f57
436f52:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
436f57:	83 c7 04             	add    $0x4,%edi
436f5a:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
436f61:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
436f67:	8b 7f fc             	mov    -0x4(%edi),%edi
436f6a:	89 bd f0 fb ff ff    	mov    %edi,-0x410(%ebp)
436f70:	0f 84 f7 04 00 00    	je     0x43746d
436f76:	85 ff                	test   %edi,%edi
436f78:	75 0b                	jne    0x436f85
436f7a:	a1 60 f6 46 00       	mov    0x46f660,%eax
436f7f:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
436f85:	83 a5 ec fb ff ff 00 	andl   $0x0,-0x414(%ebp)
436f8c:	8b b5 f0 fb ff ff    	mov    -0x410(%ebp),%esi
436f92:	85 db                	test   %ebx,%ebx
436f94:	0f 8e 10 05 00 00    	jle    0x4374aa
436f9a:	8a 06                	mov    (%esi),%al
436f9c:	84 c0                	test   %al,%al
436f9e:	0f 84 06 05 00 00    	je     0x4374aa
436fa4:	8d 8d a8 fb ff ff    	lea    -0x458(%ebp),%ecx
436faa:	0f b6 c0             	movzbl %al,%eax
436fad:	51                   	push   %ecx
436fae:	50                   	push   %eax
436faf:	e8 f5 7f 00 00       	call   0x43efa9
436fb4:	59                   	pop    %ecx
436fb5:	59                   	pop    %ecx
436fb6:	85 c0                	test   %eax,%eax
436fb8:	74 01                	je     0x436fbb
436fba:	46                   	inc    %esi
436fbb:	46                   	inc    %esi
436fbc:	ff 85 ec fb ff ff    	incl   -0x414(%ebp)
436fc2:	39 9d ec fb ff ff    	cmp    %ebx,-0x414(%ebp)
436fc8:	7c d0                	jl     0x436f9a
436fca:	e9 db 04 00 00       	jmp    0x4374aa
436fcf:	83 e8 58             	sub    $0x58,%eax
436fd2:	0f 84 f5 02 00 00    	je     0x4372cd
436fd8:	2b c3                	sub    %ebx,%eax
436fda:	0f 84 94 00 00 00    	je     0x437074
436fe0:	2b c2                	sub    %edx,%eax
436fe2:	0f 84 f6 fe ff ff    	je     0x436ede
436fe8:	2b c3                	sub    %ebx,%eax
436fea:	0f 85 ba 04 00 00    	jne    0x4374aa
436ff0:	0f b7 07             	movzwl (%edi),%eax
436ff3:	83 c7 04             	add    $0x4,%edi
436ff6:	33 f6                	xor    %esi,%esi
436ff8:	46                   	inc    %esi
436ff9:	f6 85 f8 fb ff ff 20 	testb  $0x20,-0x408(%ebp)
437000:	89 b5 d4 fb ff ff    	mov    %esi,-0x42c(%ebp)
437006:	89 bd e0 fb ff ff    	mov    %edi,-0x420(%ebp)
43700c:	89 85 a4 fb ff ff    	mov    %eax,-0x45c(%ebp)
437012:	74 42                	je     0x437056
437014:	88 85 c8 fb ff ff    	mov    %al,-0x438(%ebp)
43701a:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
437020:	50                   	push   %eax
437021:	8b 85 a8 fb ff ff    	mov    -0x458(%ebp),%eax
437027:	c6 85 c9 fb ff ff 00 	movb   $0x0,-0x437(%ebp)
43702e:	ff b0 ac 00 00 00    	push   0xac(%eax)
437034:	8d 85 c8 fb ff ff    	lea    -0x438(%ebp),%eax
43703a:	50                   	push   %eax
43703b:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
437041:	50                   	push   %eax
437042:	e8 7d a9 00 00       	call   0x4419c4