417a08:	8d 45 fc             	lea    -0x4(%ebp),%eax
417a0b:	ff 75 c8             	push   -0x38(%ebp)
417a0e:	51                   	push   %ecx
417a0f:	ff 75 0c             	push   0xc(%ebp)
417a12:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
417a15:	50                   	push   %eax
417a16:	e8 9d f3 ff ff       	call   0x416db8
417a1b:	83 c4 34             	add    $0x34,%esp
417a1e:	85 c0                	test   %eax,%eax
417a20:	0f 84 d7 08 00 00    	je     0x4182fd
417a26:	8b 45 28             	mov    0x28(%ebp),%eax
417a29:	b9 81 00 00 00       	mov    $0x81,%ecx
417a2e:	ff 48 58             	decl   0x58(%eax)
417a31:	3b d9                	cmp    %ecx,%ebx
417a33:	0f 84 53 bc 03 00    	je     0x45368c
417a39:	8b 75 f8             	mov    -0x8(%ebp),%esi
417a3c:	6a 7d                	push   $0x7d
417a3e:	59                   	pop    %ecx
417a3f:	3b d9                	cmp    %ecx,%ebx
417a41:	7c 0b                	jl     0x417a4e
417a43:	83 c1 03             	add    $0x3,%ecx
417a46:	3b d9                	cmp    %ecx,%ebx
417a48:	0f 8e 58 08 00 00    	jle    0x4182a6
417a4e:	b8 87 00 00 00       	mov    $0x87,%eax
417a53:	3b d8                	cmp    %eax,%ebx
417a55:	0f 84 4a bc 03 00    	je     0x4536a5
417a5b:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
417a61:	8b 75 fc             	mov    -0x4(%ebp),%esi
417a64:	6a 29                	push   $0x29
417a66:	5a                   	pop    %edx
417a67:	66 39 16             	cmp    %dx,(%esi)
417a6a:	0f 85 cb cb 03 00    	jne    0x45463b
417a70:	8b 55 2c             	mov    0x2c(%ebp),%edx
417a73:	85 d2                	test   %edx,%edx
417a75:	0f 85 2b 05 00 00    	jne    0x417fa6
417a7b:	8b 55 bc             	mov    -0x44(%ebp),%edx
417a7e:	89 55 f8             	mov    %edx,-0x8(%ebp)
417a81:	81 fb 91 00 00 00    	cmp    $0x91,%ebx
417a87:	0f 84 e8 fd ff ff    	je     0x417875
417a8d:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
417a90:	89 4d d8             	mov    %ecx,-0x28(%ebp)
417a93:	8b 4d ac             	mov    -0x54(%ebp),%ecx
417a96:	89 4d a8             	mov    %ecx,-0x58(%ebp)
417a99:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
417a9c:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
417a9f:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
417aa2:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
417aa5:	33 c9                	xor    %ecx,%ecx
417aa7:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
417aad:	b9 81 00 00 00       	mov    $0x81,%ecx
417ab2:	3b d9                	cmp    %ecx,%ebx
417ab4:	8b 8d 5c ff ff ff    	mov    -0xa4(%ebp),%ecx
417aba:	0f 8c 75 bc 03 00    	jl     0x453735
417ac0:	83 7d d4 fe          	cmpl   $0xfffffffe,-0x2c(%ebp)
417ac4:	0f 84 43 bc 03 00    	je     0x45370d
417aca:	85 c9                	test   %ecx,%ecx
417acc:	0f 89 55 07 00 00    	jns    0x418227
417ad2:	85 c0                	test   %eax,%eax
417ad4:	0f 88 9b fd ff ff    	js     0x417875
417ada:	8b bd 54 ff ff ff    	mov    -0xac(%ebp),%edi
417ae0:	89 7d a4             	mov    %edi,-0x5c(%ebp)
417ae3:	89 45 ac             	mov    %eax,-0x54(%ebp)
417ae6:	e9 8a fd ff ff       	jmp    0x417875
417aeb:	6a 5d                	push   $0x5d
417aed:	58                   	pop    %eax
417aee:	66 39 46 02          	cmp    %ax,0x2(%esi)
417af2:	0f 85 75 fc ff ff    	jne    0x41776d
417af8:	e9 3a c8 03 00       	jmp    0x454337
417afd:	8b 55 f4             	mov    -0xc(%ebp),%edx
417b00:	33 c0                	xor    %eax,%eax
417b02:	8b f8                	mov    %eax,%edi
417b04:	8b 45 0c             	mov    0xc(%ebp),%eax
417b07:	89 7d b0             	mov    %edi,-0x50(%ebp)
417b0a:	89 55 c0             	mov    %edx,-0x40(%ebp)
417b0d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417b10:	85 c9                	test   %ecx,%ecx
417b12:	0f 84 d4 07 00 00    	je     0x4182ec
417b18:	85 ff                	test   %edi,%edi
417b1a:	75 18                	jne    0x417b34
417b1c:	8b 45 84             	mov    -0x7c(%ebp),%eax
417b1f:	89 45 9c             	mov    %eax,-0x64(%ebp)
417b22:	8b 45 94             	mov    -0x6c(%ebp),%eax
417b25:	89 45 d4             	mov    %eax,-0x2c(%ebp)
417b28:	8b 45 d8             	mov    -0x28(%ebp),%eax
417b2b:	89 45 a4             	mov    %eax,-0x5c(%ebp)
417b2e:	8b 45 a8             	mov    -0x58(%ebp),%eax
417b31:	89 45 ac             	mov    %eax,-0x54(%ebp)
417b34:	8b c7                	mov    %edi,%eax
417b36:	89 4d bc             	mov    %ecx,-0x44(%ebp)
417b39:	2b c2                	sub    %edx,%eax
417b3b:	f7 d8                	neg    %eax
417b3d:	1b c0                	sbb    %eax,%eax
417b3f:	83 e0 02             	and    $0x2,%eax
417b42:	89 45 8c             	mov    %eax,-0x74(%ebp)
417b45:	33 c0                	xor    %eax,%eax
417b47:	89 45 e0             	mov    %eax,-0x20(%ebp)
417b4a:	85 db                	test   %ebx,%ebx
417b4c:	0f 85 28 07 00 00    	jne    0x41827a
417b52:	8d 4e 02             	lea    0x2(%esi),%ecx
417b55:	0f b7 01             	movzwl (%ecx),%eax
417b58:	6a 2b                	push   $0x2b
417b5a:	5b                   	pop    %ebx
417b5b:	66 3b c3             	cmp    %bx,%ax
417b5e:	0f 84 a7 ae 03 00    	je     0x452a0b
417b64:	6a 3f                	push   $0x3f
417b66:	5b                   	pop    %ebx
417b67:	66 3b c3             	cmp    %bx,%ax
417b6a:	0f 84 90 05 00 00    	je     0x418100
417b70:	8b 9d 24 ff ff ff    	mov    -0xdc(%ebp),%ebx
417b76:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
417b79:	8b 45 f0             	mov    -0x10(%ebp),%eax
417b7c:	6a 75                	push   $0x75
417b7e:	59                   	pop    %ecx
417b7f:	66 39 08             	cmp    %cx,(%eax)
417b82:	0f 84 9a ae 03 00    	je     0x452a22
417b88:	0f b7 08             	movzwl (%eax),%ecx
417b8b:	66 3b 8d fc fe ff ff 	cmp    -0x104(%ebp),%cx
417b92:	0f 84 43 b4 03 00    	je     0x452fdb
417b98:	66 3b 8d cc fe ff ff 	cmp    -0x134(%ebp),%cx
417b9f:	0f 84 36 b4 03 00    	je     0x452fdb
417ba5:	66 3b 8d f4 fe ff ff 	cmp    -0x10c(%ebp),%cx
417bac:	0f 84 29 b4 03 00    	je     0x452fdb
417bb2:	66 3b 8d b4 fe ff ff 	cmp    -0x14c(%ebp),%cx
417bb9:	0f 84 1c b4 03 00    	je     0x452fdb
417bbf:	66 3b 8d ec fe ff ff 	cmp    -0x114(%ebp),%cx
417bc6:	0f 82 44 05 00 00    	jb     0x418110
417bcc:	66 3b 8d c4 fe ff ff 	cmp    -0x13c(%ebp),%cx
417bd3:	0f 85 9a 01 00 00    	jne    0x417d73
417bd9:	85 d2                	test   %edx,%edx
417bdb:	0f 84 a1 06 00 00    	je     0x418282
417be1:	85 ff                	test   %edi,%edi
417be3:	0f 85 a3 b3 03 00    	jne    0x452f8c
417be9:	83 fa ff             	cmp    $0xffffffff,%edx
417bec:	0f 85 ca 02 00 00    	jne    0x417ebc
417bf2:	8d 43 62             	lea    0x62(%ebx),%eax
417bf5:	8b 7d f8             	mov    -0x8(%ebp),%edi
417bf8:	6a 02                	push   $0x2
417bfa:	5b                   	pop    %ebx
417bfb:	66 89 07             	mov    %ax,(%edi)
417bfe:	03 fb                	add    %ebx,%edi
417c00:	8b 75 fc             	mov    -0x4(%ebp),%esi
417c03:	33 d2                	xor    %edx,%edx
417c05:	89 7d f8             	mov    %edi,-0x8(%ebp)
417c08:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
417c0c:	0f 85 22 b6 03 00    	jne    0x453234
417c12:	8b 4d 28             	mov    0x28(%ebp),%ecx
417c15:	33 c0                	xor    %eax,%eax
417c17:	8b d8                	mov    %eax,%ebx
417c19:	8b 45 8c             	mov    -0x74(%ebp),%eax
417c1c:	89 5d f0             	mov    %ebx,-0x10(%ebp)
417c1f:	09 41 68             	or     %eax,0x68(%ecx)
417c22:	e9 f4 f8 ff ff       	jmp    0x41751b
417c27:	8b 45 a0             	mov    -0x60(%ebp),%eax
417c2a:	85 c0                	test   %eax,%eax
417c2c:	0f 84 90 f6 ff ff    	je     0x4172c2
417c32:	e9 cd 9f 03 00       	jmp    0x451c04
417c37:	85 c9                	test   %ecx,%ecx
417c39:	0f 85 a3 06 00 00    	jne    0x4182e2
417c3f:	6a 20                	push   $0x20
417c41:	58                   	pop    %eax
417c42:	50                   	push   %eax
417c43:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
417c49:	50                   	push   %eax
417c4a:	57                   	push   %edi
417c4b:	e8 30 94 00 00       	call   0x421080
417c50:	83 c4 0c             	add    $0xc,%esp
417c53:	e9 cf fb ff ff       	jmp    0x417827
417c58:	8b f9                	mov    %ecx,%edi
417c5a:	83 ca ff             	or     $0xffffffff,%edx
417c5d:	e9 a2 fe ff ff       	jmp    0x417b04
417c62:	6a 23                	push   $0x23
417c64:	58                   	pop    %eax
417c65:	66 39 46 02          	cmp    %ax,0x2(%esi)
417c69:	0f 85 93 fc ff ff    	jne    0x417902
417c6f:	e9 b9 a1 03 00       	jmp    0x451e2d
417c74:	6a 02                	push   $0x2
417c76:	5a                   	pop    %edx
417c77:	03 f2                	add    %edx,%esi
417c79:	89 75 fc             	mov    %esi,-0x4(%ebp)
417c7c:	0f b7 3e             	movzwl (%esi),%edi
417c7f:	8b c7                	mov    %edi,%eax
417c81:	83 f8 3a             	cmp    $0x3a,%eax
417c84:	0f 8e 34 a4 03 00    	jle    0x4520be
417c8a:	83 e8 3c             	sub    $0x3c,%eax
417c8d:	0f 84 59 aa 03 00    	je     0x4526ec
417c93:	48                   	dec    %eax
417c94:	0f 84 8c a9 03 00    	je     0x452626
417c9a:	48                   	dec    %eax
417c9b:	0f 84 7c a9 03 00    	je     0x45261d
417ca1:	83 e8 05             	sub    $0x5,%eax
417ca4:	0f 84 ce a9 03 00    	je     0x452678
417caa:	83 e8 0d             	sub    $0xd,%eax
417cad:	0f 84 8b a9 03 00    	je     0x45263e
417cb3:	2b c2                	sub    %edx,%eax
417cb5:	0f 84 ab 05 00 00    	je     0x418266
417cbb:	83 e8 2a             	sub    $0x2a,%eax
417cbe:	0f 84 4c a9 03 00    	je     0x452610
417cc4:	8b c1                	mov    %ecx,%eax
417cc6:	8b d1                	mov    %ecx,%edx
417cc8:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
417ccb:	89 45 dc             	mov    %eax,-0x24(%ebp)
417cce:	89 55 b4             	mov    %edx,-0x4c(%ebp)
417cd1:	66 3b bd e8 fe ff ff 	cmp    -0x118(%ebp),%di
417cd8:	74 38                	je     0x417d12
417cda:	6a 02                	push   $0x2
417cdc:	5a                   	pop    %edx
417cdd:	6a 3a                	push   $0x3a
417cdf:	58                   	pop    %eax
417ce0:	66 3b f8             	cmp    %ax,%di
417ce3:	74 27                	je     0x417d0c
417ce5:	0f b7 c7             	movzwl %di,%eax
417ce8:	03 f2                	add    %edx,%esi
417cea:	89 75 fc             	mov    %esi,-0x4(%ebp)
417ced:	83 f8 69             	cmp    $0x69,%eax
417cf0:	0f 8f 2f b9 03 00    	jg     0x453625
417cf6:	0f 85 e2 b8 03 00    	jne    0x4535de
417cfc:	8b 45 f4             	mov    -0xc(%ebp),%eax
417cff:	09 01                	or     %eax,(%ecx)
417d01:	0f b7 3e             	movzwl (%esi),%edi
417d04:	6a 29                	push   $0x29
417d06:	58                   	pop    %eax
417d07:	66 3b f8             	cmp    %ax,%di
417d0a:	75 d1                	jne    0x417cdd
417d0c:	8b 55 b4             	mov    -0x4c(%ebp),%edx
417d0f:	8b 45 dc             	mov    -0x24(%ebp),%eax
417d12:	0b 55 cc             	or     -0x34(%ebp),%edx
417d15:	f7 d0                	not    %eax
417d17:	23 d0                	and    %eax,%edx
417d19:	6a 29                	push   $0x29
417d1b:	58                   	pop    %eax
417d1c:	89 55 b4             	mov    %edx,-0x4c(%ebp)
417d1f:	66 39 06             	cmp    %ax,(%esi)
417d22:	0f 85 62 05 00 00    	jne    0x41828a
417d28:	8b 43 14             	mov    0x14(%ebx),%eax
417d2b:	6a 04                	push   $0x4
417d2d:	59                   	pop    %ecx
417d2e:	03 c1                	add    %ecx,%eax
417d30:	39 45 f8             	cmp    %eax,-0x8(%ebp)
417d33:	0f 84 1a b9 03 00    	je     0x453653
417d39:	8b 4d f4             	mov    -0xc(%ebp),%ecx
417d3c:	8b c2                	mov    %edx,%eax
417d3e:	c1 e8 09             	shr    $0x9,%eax
417d41:	23 c1                	and    %ecx,%eax
417d43:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
417d49:	33 c1                	xor    %ecx,%eax
417d4b:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
417d51:	0f be c2             	movsbl %dl,%eax
417d54:	23 c1                	and    %ecx,%eax
417d56:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
417d5c:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
417d62:	89 55 cc             	mov    %edx,-0x34(%ebp)
417d65:	89 10                	mov    %edx,(%eax)
417d67:	33 c0                	xor    %eax,%eax
417d69:	8b d8                	mov    %eax,%ebx
417d6b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
417d6e:	e9 a8 f7 ff ff       	jmp    0x41751b
417d73:	66 3b 8d e4 fe ff ff 	cmp    -0x11c(%ebp),%cx
417d7a:	0f 84 59 fe ff ff    	je     0x417bd9
417d80:	66 3b 8d b0 fe ff ff 	cmp    -0x150(%ebp),%cx
417d87:	0f 84 4c fe ff ff    	je     0x417bd9
417d8d:	66 3b 8d dc fe ff ff 	cmp    -0x124(%ebp),%cx
417d94:	0f 84 3f fe ff ff    	je     0x417bd9
417d9a:	83 f9 72             	cmp    $0x72,%ecx
417d9d:	0f 84 36 fe ff ff    	je     0x417bd9
417da3:	66 3b 8d 04 ff ff ff 	cmp    -0xfc(%ebp),%cx
417daa:	0f 84 29 fe ff ff    	je     0x417bd9
417db0:	83 f9 74             	cmp    $0x74,%ecx
417db3:	0f 84 20 fe ff ff    	je     0x417bd9
417db9:	6a 7d                	push   $0x7d
417dbb:	5f                   	pop    %edi
417dbc:	66 3b cf             	cmp    %di,%cx
417dbf:	0f 82 ab b1 03 00    	jb     0x452f70
417dc5:	83 c7 0a             	add    $0xa,%edi
417dc8:	66 3b cf             	cmp    %di,%cx
417dcb:	0f 87 9f b1 03 00    	ja     0x452f70
417dd1:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
417dd7:	8b 7d f8             	mov    -0x8(%ebp),%edi
417dda:	89 5d ec             	mov    %ebx,-0x14(%ebp)
417ddd:	2b f8                	sub    %eax,%edi
417ddf:	33 db                	xor    %ebx,%ebx
417de1:	d1 ff                	sar    $1,%edi
417de3:	89 5d dc             	mov    %ebx,-0x24(%ebp)
417de6:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
417de9:	bb 87 00 00 00       	mov    $0x87,%ebx
417dee:	66 3b cb             	cmp    %bx,%cx
417df1:	89 7d e8             	mov    %edi,-0x18(%ebp)
417df4:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
417df7:	0f 84 a5 ac 03 00    	je     0x452aa2
417dfd:	b8 81 00 00 00       	mov    $0x81,%eax
417e02:	66 3b c8             	cmp    %ax,%cx
417e05:	8b 45 b0             	mov    -0x50(%ebp),%eax
417e08:	0f 82 ab ac 03 00    	jb     0x452ab9
417e0e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
417e11:	85 c0                	test   %eax,%eax
417e13:	0f 85 25 ad 03 00    	jne    0x452b3e
417e19:	8b 45 f8             	mov    -0x8(%ebp),%eax
417e1c:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
417e22:	ff 75 28             	push   0x28(%ebp)
417e25:	ff 75 c4             	push   -0x3c(%ebp)
417e28:	3b d1                	cmp    %ecx,%edx
417e2a:	0f 8f ba ac 03 00    	jg     0x452aea
417e30:	8b 55 f4             	mov    -0xc(%ebp),%edx
417e33:	33 c9                	xor    %ecx,%ecx
417e35:	66 89 08             	mov    %cx,(%eax)
417e38:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417e3b:	e8 61 08 00 00       	call   0x4186a1
417e40:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417e43:	8d 04 3f             	lea    (%edi,%edi,1),%eax
417e46:	83 c4 0c             	add    $0xc,%esp
417e49:	8d 71 02             	lea    0x2(%ecx),%esi
417e4c:	50                   	push   %eax
417e4d:	51                   	push   %ecx
417e4e:	56                   	push   %esi
417e4f:	e8 cc 01 01 00       	call   0x428020
417e54:	8b 55 c0             	mov    -0x40(%ebp),%edx
417e57:	83 c4 0c             	add    $0xc,%esp
417e5a:	6a 02                	push   $0x2
417e5c:	58                   	pop    %eax
417e5d:	01 45 f8             	add    %eax,-0x8(%ebp)
417e60:	85 d2                	test   %edx,%edx
417e62:	0f 84 72 ac 03 00    	je     0x452ada
417e68:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417e6b:	8d 83 92 00 00 00    	lea    0x92(%ebx),%eax
417e71:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
417e74:	66 89 01             	mov    %ax,(%ecx)
417e77:	89 75 f0             	mov    %esi,-0x10(%ebp)
417e7a:	4a                   	dec    %edx
417e7b:	8b 75 fc             	mov    -0x4(%ebp),%esi
417e7e:	89 55 c0             	mov    %edx,-0x40(%ebp)
417e81:	85 d2                	test   %edx,%edx
417e83:	0f 88 a2 af 03 00    	js     0x452e2b
417e89:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
417e8c:	85 db                	test   %ebx,%ebx
417e8e:	0f 85 12 03 00 00    	jne    0x4181a6
417e94:	8d 5a ff             	lea    -0x1(%edx),%ebx
417e97:	85 db                	test   %ebx,%ebx
417e99:	0f 89 2c ae 03 00    	jns    0x452ccb
417e9f:	33 ff                	xor    %edi,%edi
417ea1:	8b 55 f8             	mov    -0x8(%ebp),%edx
417ea4:	8b 5d dc             	mov    -0x24(%ebp),%ebx
417ea7:	85 db                	test   %ebx,%ebx
417ea9:	0f 85 2c af 03 00    	jne    0x452ddb
417eaf:	8b 7d f8             	mov    -0x8(%ebp),%edi
417eb2:	33 d2                	xor    %edx,%edx
417eb4:	6a 02                	push   $0x2
417eb6:	5b                   	pop    %ebx
417eb7:	e9 4c fd ff ff       	jmp    0x417c08
417ebc:	3b 55 f4             	cmp    -0xc(%ebp),%edx
417ebf:	0f 85 d9 b0 03 00    	jne    0x452f9e
417ec5:	8d 43 66             	lea    0x66(%ebx),%eax