41eb22:	8b 4d 90             	mov    -0x70(%ebp),%ecx
41eb25:	66 3b f1             	cmp    %cx,%si
41eb28:	72 48                	jb     0x41eb72
41eb2a:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
41eb2e:	0f 82 e1 fe ff ff    	jb     0x41ea15
41eb34:	8b 4d 88             	mov    -0x78(%ebp),%ecx
41eb37:	66 3b f1             	cmp    %cx,%si
41eb3a:	72 36                	jb     0x41eb72
41eb3c:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
41eb40:	0f 82 cf fe ff ff    	jb     0x41ea15
41eb46:	8b 4d 80             	mov    -0x80(%ebp),%ecx
41eb49:	66 3b f1             	cmp    %cx,%si
41eb4c:	72 24                	jb     0x41eb72
41eb4e:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
41eb55:	73 1b                	jae    0x41eb72
41eb57:	e9 b9 fe ff ff       	jmp    0x41ea15
41eb5c:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
41eb63:	73 0d                	jae    0x41eb72
41eb65:	0f b7 c6             	movzwl %si,%eax
41eb68:	2d 10 ff 00 00       	sub    $0xff10,%eax
41eb6d:	83 f8 ff             	cmp    $0xffffffff,%eax
41eb70:	75 25                	jne    0x41eb97
41eb72:	0f b7 c6             	movzwl %si,%eax
41eb75:	83 f8 41             	cmp    $0x41,%eax
41eb78:	72 0a                	jb     0x41eb84
41eb7a:	83 f8 5a             	cmp    $0x5a,%eax
41eb7d:	77 05                	ja     0x41eb84
41eb7f:	8d 48 9f             	lea    -0x61(%eax),%ecx
41eb82:	eb 08                	jmp    0x41eb8c
41eb84:	8d 48 9f             	lea    -0x61(%eax),%ecx
41eb87:	83 f9 19             	cmp    $0x19,%ecx
41eb8a:	77 4c                	ja     0x41ebd8
41eb8c:	83 f9 19             	cmp    $0x19,%ecx
41eb8f:	77 03                	ja     0x41eb94
41eb91:	83 c0 e0             	add    $0xffffffe0,%eax
41eb94:	83 c0 c9             	add    $0xffffffc9,%eax
41eb97:	85 c0                	test   %eax,%eax
41eb99:	75 3d                	jne    0x41ebd8
41eb9b:	0f b7 02             	movzwl (%edx),%eax
41eb9e:	8d 4a 02             	lea    0x2(%edx),%ecx
41eba1:	89 4d 0c             	mov    %ecx,0xc(%ebp)
41eba4:	83 f8 78             	cmp    $0x78,%eax
41eba7:	74 1a                	je     0x41ebc3
41eba9:	83 f8 58             	cmp    $0x58,%eax
41ebac:	74 15                	je     0x41ebc3
41ebae:	85 ff                	test   %edi,%edi
41ebb0:	75 06                	jne    0x41ebb8
41ebb2:	6a 08                	push   $0x8
41ebb4:	5f                   	pop    %edi
41ebb5:	89 7d 14             	mov    %edi,0x14(%ebp)
41ebb8:	50                   	push   %eax
41ebb9:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41ebbc:	e8 84 0a 00 00       	call   0x41f645
41ebc1:	eb 1f                	jmp    0x41ebe2
41ebc3:	85 ff                	test   %edi,%edi
41ebc5:	75 06                	jne    0x41ebcd
41ebc7:	6a 10                	push   $0x10
41ebc9:	5f                   	pop    %edi
41ebca:	89 7d 14             	mov    %edi,0x14(%ebp)
41ebcd:	0f b7 31             	movzwl (%ecx),%esi
41ebd0:	8d 51 02             	lea    0x2(%ecx),%edx
41ebd3:	89 55 0c             	mov    %edx,0xc(%ebp)
41ebd6:	eb 0a                	jmp    0x41ebe2
41ebd8:	85 ff                	test   %edi,%edi
41ebda:	75 06                	jne    0x41ebe2
41ebdc:	6a 0a                	push   $0xa
41ebde:	5f                   	pop    %edi
41ebdf:	89 7d 14             	mov    %edi,0x14(%ebp)
41ebe2:	6a 30                	push   $0x30
41ebe4:	59                   	pop    %ecx
41ebe5:	83 c8 ff             	or     $0xffffffff,%eax
41ebe8:	33 d2                	xor    %edx,%edx
41ebea:	f7 f7                	div    %edi
41ebec:	8b f8                	mov    %eax,%edi
41ebee:	66 3b f1             	cmp    %cx,%si
41ebf1:	0f 82 53 01 00 00    	jb     0x41ed4a
41ebf7:	6a 3a                	push   $0x3a
41ebf9:	58                   	pop    %eax
41ebfa:	66 3b f0             	cmp    %ax,%si
41ebfd:	73 0b                	jae    0x41ec0a
41ebff:	0f b7 ce             	movzwl %si,%ecx
41ec02:	83 e9 30             	sub    $0x30,%ecx
41ec05:	e9 3b 01 00 00       	jmp    0x41ed45
41ec0a:	b8 10 ff 00 00       	mov    $0xff10,%eax
41ec0f:	66 3b f0             	cmp    %ax,%si
41ec12:	0f 83 1f 01 00 00    	jae    0x41ed37
41ec18:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ec1b:	66 3b f0             	cmp    %ax,%si
41ec1e:	0f 82 26 01 00 00    	jb     0x41ed4a
41ec24:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
41ec28:	0f 82 12 01 00 00    	jb     0x41ed40
41ec2e:	8b 45 f0             	mov    -0x10(%ebp),%eax
41ec31:	66 3b f0             	cmp    %ax,%si
41ec34:	0f 82 10 01 00 00    	jb     0x41ed4a
41ec3a:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
41ec3e:	0f 82 fc 00 00 00    	jb     0x41ed40
41ec44:	8b 45 e8             	mov    -0x18(%ebp),%eax
41ec47:	66 3b f0             	cmp    %ax,%si
41ec4a:	0f 82 fa 00 00 00    	jb     0x41ed4a
41ec50:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
41ec54:	0f 82 e6 00 00 00    	jb     0x41ed40
41ec5a:	8b 45 e0             	mov    -0x20(%ebp),%eax
41ec5d:	66 3b f0             	cmp    %ax,%si
41ec60:	0f 82 e4 00 00 00    	jb     0x41ed4a
41ec66:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
41ec6a:	0f 82 d0 00 00 00    	jb     0x41ed40
41ec70:	8b 45 d8             	mov    -0x28(%ebp),%eax
41ec73:	66 3b f0             	cmp    %ax,%si
41ec76:	0f 82 ce 00 00 00    	jb     0x41ed4a
41ec7c:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
41ec80:	0f 82 ba 00 00 00    	jb     0x41ed40
41ec86:	8b 45 d0             	mov    -0x30(%ebp),%eax
41ec89:	66 3b f0             	cmp    %ax,%si
41ec8c:	0f 82 b8 00 00 00    	jb     0x41ed4a
41ec92:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
41ec96:	0f 82 a4 00 00 00    	jb     0x41ed40
41ec9c:	8b 45 c8             	mov    -0x38(%ebp),%eax
41ec9f:	66 3b f0             	cmp    %ax,%si
41eca2:	0f 82 a2 00 00 00    	jb     0x41ed4a
41eca8:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
41ecac:	0f 82 8e 00 00 00    	jb     0x41ed40
41ecb2:	8b 45 c0             	mov    -0x40(%ebp),%eax
41ecb5:	66 3b f0             	cmp    %ax,%si
41ecb8:	0f 82 8c 00 00 00    	jb     0x41ed4a
41ecbe:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
41ecc2:	72 7c                	jb     0x41ed40
41ecc4:	8b 45 b8             	mov    -0x48(%ebp),%eax
41ecc7:	66 3b f0             	cmp    %ax,%si
41ecca:	72 7e                	jb     0x41ed4a
41eccc:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
41ecd0:	72 6e                	jb     0x41ed40
41ecd2:	8b 45 b0             	mov    -0x50(%ebp),%eax
41ecd5:	66 3b f0             	cmp    %ax,%si
41ecd8:	72 70                	jb     0x41ed4a
41ecda:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
41ecde:	72 60                	jb     0x41ed40
41ece0:	8b 45 a8             	mov    -0x58(%ebp),%eax
41ece3:	66 3b f0             	cmp    %ax,%si
41ece6:	72 62                	jb     0x41ed4a
41ece8:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
41ecec:	72 52                	jb     0x41ed40
41ecee:	8b 45 a0             	mov    -0x60(%ebp),%eax
41ecf1:	66 3b f0             	cmp    %ax,%si
41ecf4:	72 54                	jb     0x41ed4a
41ecf6:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
41ecfa:	72 44                	jb     0x41ed40
41ecfc:	8b 45 98             	mov    -0x68(%ebp),%eax
41ecff:	66 3b f0             	cmp    %ax,%si
41ed02:	72 46                	jb     0x41ed4a
41ed04:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
41ed08:	72 36                	jb     0x41ed40
41ed0a:	8b 45 90             	mov    -0x70(%ebp),%eax
41ed0d:	66 3b f0             	cmp    %ax,%si
41ed10:	72 38                	jb     0x41ed4a
41ed12:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
41ed16:	72 28                	jb     0x41ed40
41ed18:	8b 45 88             	mov    -0x78(%ebp),%eax
41ed1b:	66 3b f0             	cmp    %ax,%si
41ed1e:	72 2a                	jb     0x41ed4a
41ed20:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
41ed24:	72 1a                	jb     0x41ed40
41ed26:	8b 45 80             	mov    -0x80(%ebp),%eax
41ed29:	66 3b f0             	cmp    %ax,%si
41ed2c:	72 1c                	jb     0x41ed4a
41ed2e:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si
41ed35:	eb 07                	jmp    0x41ed3e
41ed37:	66 3b b5 78 ff ff ff 	cmp    -0x88(%ebp),%si
41ed3e:	73 0a                	jae    0x41ed4a
41ed40:	0f b7 ce             	movzwl %si,%ecx
41ed43:	2b c8                	sub    %eax,%ecx
41ed45:	83 f9 ff             	cmp    $0xffffffff,%ecx
41ed48:	75 2e                	jne    0x41ed78
41ed4a:	0f b7 ce             	movzwl %si,%ecx
41ed4d:	83 f9 41             	cmp    $0x41,%ecx
41ed50:	72 05                	jb     0x41ed57
41ed52:	83 f9 5a             	cmp    $0x5a,%ecx
41ed55:	76 0b                	jbe    0x41ed62
41ed57:	83 f9 61             	cmp    $0x61,%ecx
41ed5a:	72 19                	jb     0x41ed75
41ed5c:	66 83 fe 7a          	cmp    $0x7a,%si
41ed60:	77 13                	ja     0x41ed75
41ed62:	6a 19                	push   $0x19
41ed64:	8d 46 9f             	lea    -0x61(%esi),%eax
41ed67:	5a                   	pop    %edx
41ed68:	66 3b c2             	cmp    %dx,%ax
41ed6b:	77 03                	ja     0x41ed70
41ed6d:	83 c1 e0             	add    $0xffffffe0,%ecx
41ed70:	83 c1 c9             	add    $0xffffffc9,%ecx
41ed73:	eb 03                	jmp    0x41ed78
41ed75:	83 c9 ff             	or     $0xffffffff,%ecx
41ed78:	8b 55 14             	mov    0x14(%ebp),%edx
41ed7b:	3b ca                	cmp    %edx,%ecx
41ed7d:	73 37                	jae    0x41edb6
41ed7f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ed82:	0f af c2             	imul   %edx,%eax
41ed85:	6a 30                	push   $0x30
41ed87:	8d 14 08             	lea    (%eax,%ecx,1),%edx
41ed8a:	3b d0                	cmp    %eax,%edx
41ed8c:	1b c9                	sbb    %ecx,%ecx
41ed8e:	f7 d9                	neg    %ecx
41ed90:	3b 7d fc             	cmp    -0x4(%ebp),%edi
41ed93:	89 55 fc             	mov    %edx,-0x4(%ebp)
41ed96:	1b c0                	sbb    %eax,%eax
41ed98:	f7 d8                	neg    %eax
41ed9a:	0b c8                	or     %eax,%ecx
41ed9c:	c1 e1 02             	shl    $0x2,%ecx
41ed9f:	83 c9 08             	or     $0x8,%ecx
41eda2:	0b d9                	or     %ecx,%ebx
41eda4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41eda7:	0f b7 31             	movzwl (%ecx),%esi
41edaa:	83 c1 02             	add    $0x2,%ecx
41edad:	89 4d 0c             	mov    %ecx,0xc(%ebp)
41edb0:	59                   	pop    %ecx
41edb1:	e9 38 fe ff ff       	jmp    0x41ebee
41edb6:	56                   	push   %esi
41edb7:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41edba:	e8 86 08 00 00       	call   0x41f645
41edbf:	f6 c3 08             	test   $0x8,%bl
41edc2:	75 13                	jne    0x41edd7
41edc4:	8b 45 10             	mov    0x10(%ebp),%eax
41edc7:	85 c0                	test   %eax,%eax
41edc9:	74 08                	je     0x41edd3
41edcb:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
41edd1:	89 08                	mov    %ecx,(%eax)
41edd3:	33 c0                	xor    %eax,%eax
41edd5:	eb 65                	jmp    0x41ee3c
41edd7:	8b 75 fc             	mov    -0x4(%ebp),%esi
41edda:	56                   	push   %esi
41eddb:	53                   	push   %ebx
41eddc:	e8 c2 f9 ff ff       	call   0x41e7a3
41ede1:	59                   	pop    %ecx
41ede2:	59                   	pop    %ecx
41ede3:	84 c0                	test   %al,%al
41ede5:	74 40                	je     0x41ee27
41ede7:	8b 45 08             	mov    0x8(%ebp),%eax
41edea:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41edee:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
41edf5:	f6 c3 01             	test   $0x1,%bl
41edf8:	75 05                	jne    0x41edff
41edfa:	83 ce ff             	or     $0xffffffff,%esi
41edfd:	eb 2f                	jmp    0x41ee2e
41edff:	8b 4d 10             	mov    0x10(%ebp),%ecx
41ee02:	f6 c3 02             	test   $0x2,%bl
41ee05:	74 10                	je     0x41ee17
41ee07:	85 c9                	test   %ecx,%ecx
41ee09:	74 05                	je     0x41ee10
41ee0b:	8b 45 0c             	mov    0xc(%ebp),%eax
41ee0e:	89 01                	mov    %eax,(%ecx)
41ee10:	b8 00 00 00 80       	mov    $0x80000000,%eax
41ee15:	eb 25                	jmp    0x41ee3c
41ee17:	85 c9                	test   %ecx,%ecx
41ee19:	74 05                	je     0x41ee20
41ee1b:	8b 45 0c             	mov    0xc(%ebp),%eax
41ee1e:	89 01                	mov    %eax,(%ecx)
41ee20:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
41ee25:	eb 15                	jmp    0x41ee3c
41ee27:	f6 c3 02             	test   $0x2,%bl
41ee2a:	74 02                	je     0x41ee2e
41ee2c:	f7 de                	neg    %esi
41ee2e:	8b 55 10             	mov    0x10(%ebp),%edx
41ee31:	85 d2                	test   %edx,%edx
41ee33:	74 05                	je     0x41ee3a
41ee35:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41ee38:	89 0a                	mov    %ecx,(%edx)
41ee3a:	8b c6                	mov    %esi,%eax
41ee3c:	5f                   	pop    %edi
41ee3d:	5e                   	pop    %esi
41ee3e:	5b                   	pop    %ebx
41ee3f:	c9                   	leave
41ee40:	c3                   	ret
41ee41:	8b ff                	mov    %edi,%edi
41ee43:	55                   	push   %ebp
41ee44:	8b ec                	mov    %esp,%ebp
41ee46:	81 ec a0 00 00 00    	sub    $0xa0,%esp
41ee4c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
41ee4f:	53                   	push   %ebx
41ee50:	56                   	push   %esi
41ee51:	57                   	push   %edi
41ee52:	e8 84 08 00 00       	call   0x41f6db
41ee57:	84 c0                	test   %al,%al
41ee59:	74 2f                	je     0x41ee8a
41ee5b:	8b 7d 14             	mov    0x14(%ebp),%edi
41ee5e:	85 ff                	test   %edi,%edi
41ee60:	74 3d                	je     0x41ee9f
41ee62:	83 ff 02             	cmp    $0x2,%edi
41ee65:	7c 05                	jl     0x41ee6c
41ee67:	83 ff 24             	cmp    $0x24,%edi
41ee6a:	7e 33                	jle    0x41ee9f
41ee6c:	8b 45 08             	mov    0x8(%ebp),%eax
41ee6f:	50                   	push   %eax
41ee70:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
41ee74:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
41ee7b:	33 c0                	xor    %eax,%eax
41ee7d:	50                   	push   %eax
41ee7e:	50                   	push   %eax
41ee7f:	50                   	push   %eax
41ee80:	50                   	push   %eax
41ee81:	50                   	push   %eax
41ee82:	e8 7f 0a 00 00       	call   0x41f906
41ee87:	83 c4 18             	add    $0x18,%esp
41ee8a:	8b 4d 10             	mov    0x10(%ebp),%ecx
41ee8d:	85 c9                	test   %ecx,%ecx
41ee8f:	0f 84 af 05 00 00    	je     0x41f444
41ee95:	8b 45 0c             	mov    0xc(%ebp),%eax
41ee98:	89 01                	mov    %eax,(%ecx)
41ee9a:	e9 a5 05 00 00       	jmp    0x41f444
41ee9f:	8b 45 0c             	mov    0xc(%ebp),%eax
41eea2:	33 db                	xor    %ebx,%ebx
41eea4:	8b 4d 08             	mov    0x8(%ebp),%ecx
41eea7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41eeab:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
41eeb1:	0f b7 30             	movzwl (%eax),%esi
41eeb4:	83 c0 02             	add    $0x2,%eax
41eeb7:	89 45 0c             	mov    %eax,0xc(%ebp)
41eeba:	38 59 14             	cmp    %bl,0x14(%ecx)
41eebd:	75 13                	jne    0x41eed2
41eebf:	e8 bc 07 00 00       	call   0x41f680
41eec4:	eb 0c                	jmp    0x41eed2
41eec6:	8b 45 0c             	mov    0xc(%ebp),%eax
41eec9:	0f b7 30             	movzwl (%eax),%esi
41eecc:	83 c0 02             	add    $0x2,%eax
41eecf:	89 45 0c             	mov    %eax,0xc(%ebp)
41eed2:	6a 08                	push   $0x8
41eed4:	56                   	push   %esi
41eed5:	e8 7e b2 00 00       	call   0x42a158
41eeda:	59                   	pop    %ecx
41eedb:	59                   	pop    %ecx
41eedc:	85 c0                	test   %eax,%eax
41eede:	75 e6                	jne    0x41eec6
41eee0:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
41eee4:	89 45 fc             	mov    %eax,-0x4(%ebp)
41eee7:	66 83 fe 2d          	cmp    $0x2d,%si
41eeeb:	75 08                	jne    0x41eef5
41eeed:	83 c8 02             	or     $0x2,%eax
41eef0:	89 45 fc             	mov    %eax,-0x4(%ebp)
41eef3:	eb 06                	jmp    0x41eefb
41eef5:	66 83 fe 2b          	cmp    $0x2b,%si
41eef9:	75 0e                	jne    0x41ef09
41eefb:	8b 55 0c             	mov    0xc(%ebp),%edx
41eefe:	0f b7 32             	movzwl (%edx),%esi
41ef01:	83 c2 02             	add    $0x2,%edx
41ef04:	89 55 0c             	mov    %edx,0xc(%ebp)
41ef07:	eb 03                	jmp    0x41ef0c
41ef09:	8b 55 0c             	mov    0xc(%ebp),%edx
41ef0c:	c7 45 f4 3a 00 00 00 	movl   $0x3a,-0xc(%ebp)
41ef13:	b8 10 ff 00 00       	mov    $0xff10,%eax
41ef18:	c7 85 70 ff ff ff 60 	movl   $0x660,-0x90(%ebp)
41ef1f:	06 00 00
41ef22:	c7 45 f0 6a 06 00 00 	movl   $0x66a,-0x10(%ebp)
41ef29:	c7 45 ec f0 06 00 00 	movl   $0x6f0,-0x14(%ebp)