44294f:	66 3b c1             	cmp    %cx,%ax
442952:	75 06                	jne    0x44295a
442954:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
442958:	eb 12                	jmp    0x44296c
44295a:	83 f8 3c             	cmp    $0x3c,%eax
44295d:	0f 85 22 01 00 00    	jne    0x442a85
442963:	6a 3e                	push   $0x3e
442965:	59                   	pop    %ecx
442966:	89 4d fc             	mov    %ecx,-0x4(%ebp)
442969:	88 5d 0b             	mov    %bl,0xb(%ebp)
44296c:	42                   	inc    %edx
44296d:	0f b7 f1             	movzwl %cx,%esi
442970:	0f b7 04 57          	movzwl (%edi,%edx,2),%eax
442974:	89 45 f0             	mov    %eax,-0x10(%ebp)
442977:	0f b7 c0             	movzwl %ax,%eax
44297a:	89 75 ec             	mov    %esi,-0x14(%ebp)
44297d:	3b c6                	cmp    %esi,%eax
44297f:	8b 75 0c             	mov    0xc(%ebp),%esi
442982:	89 5d f8             	mov    %ebx,-0x8(%ebp)
442985:	74 25                	je     0x4429ac
442987:	8b 5d f0             	mov    -0x10(%ebp),%ebx
44298a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44298d:	66 85 db             	test   %bx,%bx
442990:	74 12                	je     0x4429a4
442992:	66 89 1c 4e          	mov    %bx,(%esi,%ecx,2)
442996:	41                   	inc    %ecx
442997:	42                   	inc    %edx
442998:	0f b7 1c 57          	movzwl (%edi,%edx,2),%ebx
44299c:	0f b7 c3             	movzwl %bx,%eax
44299f:	3b 45 ec             	cmp    -0x14(%ebp),%eax
4429a2:	75 e9                	jne    0x44298d
4429a4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4429a7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4429aa:	33 db                	xor    %ebx,%ebx
4429ac:	66 39 0c 57          	cmp    %cx,(%edi,%edx,2)
4429b0:	0f 85 cf 00 00 00    	jne    0x442a85
4429b6:	6a 20                	push   $0x20
4429b8:	59                   	pop    %ecx
4429b9:	42                   	inc    %edx
4429ba:	0f b7 04 57          	movzwl (%edi,%edx,2),%eax
4429be:	66 3b c1             	cmp    %cx,%ax
4429c1:	74 f6                	je     0x4429b9
4429c3:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
4429c7:	74 f0                	je     0x4429b9
4429c9:	0f b7 04 57          	movzwl (%edi,%edx,2),%eax
4429cd:	66 85 c0             	test   %ax,%ax
4429d0:	74 09                	je     0x4429db
4429d2:	83 f8 3b             	cmp    $0x3b,%eax
4429d5:	0f 85 aa 00 00 00    	jne    0x442a85
4429db:	8b 45 f8             	mov    -0x8(%ebp),%eax
4429de:	33 c9                	xor    %ecx,%ecx
4429e0:	56                   	push   %esi
4429e1:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
4429e5:	e8 6e 98 fd ff       	call   0x41c258
4429ea:	56                   	push   %esi
4429eb:	e8 6a a1 fc ff       	call   0x40cb5a
4429f0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4429f3:	e8 ff ad fc ff       	call   0x40d7f7
4429f8:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
4429fc:	8b 45 f4             	mov    -0xc(%ebp),%eax
4429ff:	8b 78 40             	mov    0x40(%eax),%edi
442a02:	74 39                	je     0x442a3d
442a04:	8b ce                	mov    %esi,%ecx
442a06:	e8 19 3b 00 00       	call   0x446524
442a0b:	84 c0                	test   %al,%al
442a0d:	75 6a                	jne    0x442a79
442a0f:	4f                   	dec    %edi
442a10:	78 67                	js     0x442a79
442a12:	8b 5d f4             	mov    -0xc(%ebp),%ebx
442a15:	8b 43 3c             	mov    0x3c(%ebx),%eax
442a18:	8d 4d d8             	lea    -0x28(%ebp),%ecx
442a1b:	ff 34 b8             	push   (%eax,%edi,4)
442a1e:	e8 ca 44 fc ff       	call   0x406eed
442a23:	56                   	push   %esi
442a24:	8d 4d d8             	lea    -0x28(%ebp),%ecx
442a27:	e8 60 27 fc ff       	call   0x40518c
442a2c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
442a2f:	e8 e0 3a 00 00       	call   0x446514
442a34:	84 c0                	test   %al,%al
442a36:	75 36                	jne    0x442a6e
442a38:	4f                   	dec    %edi
442a39:	79 da                	jns    0x442a15
442a3b:	eb 3c                	jmp    0x442a79
442a3d:	85 ff                	test   %edi,%edi
442a3f:	7e 38                	jle    0x442a79
442a41:	8b 40 3c             	mov    0x3c(%eax),%eax
442a44:	8d 4d d8             	lea    -0x28(%ebp),%ecx
442a47:	ff 34 98             	push   (%eax,%ebx,4)
442a4a:	e8 9e 44 fc ff       	call   0x406eed
442a4f:	56                   	push   %esi
442a50:	8d 4d d8             	lea    -0x28(%ebp),%ecx
442a53:	e8 34 27 fc ff       	call   0x40518c
442a58:	8d 4d d8             	lea    -0x28(%ebp),%ecx
442a5b:	e8 b4 3a 00 00       	call   0x446514
442a60:	84 c0                	test   %al,%al
442a62:	75 0a                	jne    0x442a6e
442a64:	8b 45 f4             	mov    -0xc(%ebp),%eax
442a67:	43                   	inc    %ebx
442a68:	3b df                	cmp    %edi,%ebx
442a6a:	7c d5                	jl     0x442a41
442a6c:	eb 0b                	jmp    0x442a79
442a6e:	ff 75 d8             	push   -0x28(%ebp)
442a71:	56                   	push   %esi
442a72:	e8 ac e2 fd ff       	call   0x420d23
442a77:	59                   	pop    %ecx
442a78:	59                   	pop    %ecx
442a79:	8d 4d d8             	lea    -0x28(%ebp),%ecx
442a7c:	e8 b6 a0 fc ff       	call   0x40cb37
442a81:	b0 01                	mov    $0x1,%al
442a83:	eb 02                	jmp    0x442a87
442a85:	32 c0                	xor    %al,%al
442a87:	5f                   	pop    %edi
442a88:	5e                   	pop    %esi
442a89:	5b                   	pop    %ebx
442a8a:	c9                   	leave
442a8b:	c2 08 00             	ret    $0x8
442a8e:	56                   	push   %esi
442a8f:	8b f1                	mov    %ecx,%esi
442a91:	ff 4e 08             	decl   0x8(%esi)
442a94:	8b 56 08             	mov    0x8(%esi),%edx
442a97:	8b 46 04             	mov    0x4(%esi),%eax
442a9a:	8b 0c 90             	mov    (%eax,%edx,4),%ecx
442a9d:	85 c9                	test   %ecx,%ecx
442a9f:	74 06                	je     0x442aa7
442aa1:	51                   	push   %ecx
442aa2:	e8 4f f9 ff ff       	call   0x4423f6
442aa7:	8b 4e 08             	mov    0x8(%esi),%ecx
442aaa:	8b 46 04             	mov    0x4(%esi),%eax
442aad:	5e                   	pop    %esi
442aae:	83 24 88 00          	andl   $0x0,(%eax,%ecx,4)
442ab2:	c3                   	ret
442ab3:	33 d2                	xor    %edx,%edx
442ab5:	89 51 01             	mov    %edx,0x1(%ecx)
442ab8:	66 89 51 05          	mov    %dx,0x5(%ecx)
442abc:	33 c0                	xor    %eax,%eax
442abe:	89 41 06             	mov    %eax,0x6(%ecx)
442ac1:	c7 01 ff 00 00 00    	movl   $0xff,(%ecx)
442ac7:	66 89 51 04          	mov    %dx,0x4(%ecx)
442acb:	88 51 0a             	mov    %dl,0xa(%ecx)
442ace:	8b c1                	mov    %ecx,%eax
442ad0:	c3                   	ret
442ad1:	55                   	push   %ebp
442ad2:	8b ec                	mov    %esp,%ebp
442ad4:	8b 55 08             	mov    0x8(%ebp),%edx
442ad7:	3b ca                	cmp    %edx,%ecx
442ad9:	74 22                	je     0x442afd
442adb:	8a 02                	mov    (%edx),%al
442add:	88 01                	mov    %al,(%ecx)
442adf:	8a 42 01             	mov    0x1(%edx),%al
442ae2:	88 41 01             	mov    %al,0x1(%ecx)
442ae5:	8a 42 03             	mov    0x3(%edx),%al
442ae8:	88 41 03             	mov    %al,0x3(%ecx)
442aeb:	8a 42 02             	mov    0x2(%edx),%al
442aee:	88 41 02             	mov    %al,0x2(%ecx)
442af1:	8a 42 04             	mov    0x4(%edx),%al
442af4:	88 41 04             	mov    %al,0x4(%ecx)
442af7:	8a 42 05             	mov    0x5(%edx),%al
442afa:	88 41 05             	mov    %al,0x5(%ecx)
442afd:	8b c1                	mov    %ecx,%eax
442aff:	5d                   	pop    %ebp
442b00:	c2 04 00             	ret    $0x4
442b03:	33 c0                	xor    %eax,%eax
442b05:	39 41 20             	cmp    %eax,0x20(%ecx)
442b08:	74 03                	je     0x442b0d
442b0a:	6a 02                	push   $0x2
442b0c:	58                   	pop    %eax
442b0d:	39 01                	cmp    %eax,(%ecx)
442b0f:	7d 03                	jge    0x442b14
442b11:	50                   	push   %eax
442b12:	eb 02                	jmp    0x442b16
442b14:	ff 31                	push   (%ecx)
442b16:	e8 80 14 00 00       	call   0x443f9b
442b1b:	c3                   	ret
442b1c:	33 c0                	xor    %eax,%eax
442b1e:	39 41 20             	cmp    %eax,0x20(%ecx)
442b21:	74 03                	je     0x442b26
442b23:	6a 02                	push   $0x2
442b25:	58                   	pop    %eax
442b26:	39 41 04             	cmp    %eax,0x4(%ecx)
442b29:	7d 03                	jge    0x442b2e
442b2b:	50                   	push   %eax
442b2c:	eb 03                	jmp    0x442b31
442b2e:	ff 71 04             	push   0x4(%ecx)
442b31:	e8 65 14 00 00       	call   0x443f9b
442b36:	c3                   	ret
442b37:	55                   	push   %ebp
442b38:	8b ec                	mov    %esp,%ebp
442b3a:	81 ec 00 01 00 00    	sub    $0x100,%esp
442b40:	33 c0                	xor    %eax,%eax
442b42:	56                   	push   %esi
442b43:	8b 75 08             	mov    0x8(%ebp),%esi
442b46:	57                   	push   %edi
442b47:	8b f9                	mov    %ecx,%edi
442b49:	89 06                	mov    %eax,(%esi)
442b4b:	66 89 46 04          	mov    %ax,0x4(%esi)
442b4f:	39 47 20             	cmp    %eax,0x20(%edi)
442b52:	0f 84 82 00 00 00    	je     0x442bda
442b58:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
442b5e:	50                   	push   %eax
442b5f:	ff 15 e0 d5 48 00    	call   *0x48d5e0
442b65:	85 c0                	test   %eax,%eax
442b67:	0f 84 52 01 00 00    	je     0x442cbf
442b6d:	b8 80 00 00 00       	mov    $0x80,%eax
442b72:	38 45 a0             	cmp    %al,-0x60(%ebp)
442b75:	74 08                	je     0x442b7f
442b77:	38 85 10 ff ff ff    	cmp    %al,-0xf0(%ebp)
442b7d:	75 09                	jne    0x442b88
442b7f:	80 7f 1a 00          	cmpb   $0x0,0x1a(%edi)
442b83:	75 03                	jne    0x442b88
442b85:	c6 06 01             	movb   $0x1,(%esi)
442b88:	38 45 a1             	cmp    %al,-0x5f(%ebp)
442b8b:	75 0a                	jne    0x442b97
442b8d:	80 7f 1b 00          	cmpb   $0x0,0x1b(%edi)
442b91:	75 04                	jne    0x442b97
442b93:	c6 46 01 01          	movb   $0x1,0x1(%esi)
442b97:	38 85 11 ff ff ff    	cmp    %al,-0xef(%ebp)
442b9d:	75 0a                	jne    0x442ba9
442b9f:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
442ba3:	75 04                	jne    0x442ba9
442ba5:	c6 46 02 01          	movb   $0x1,0x2(%esi)
442ba9:	38 85 12 ff ff ff    	cmp    %al,-0xee(%ebp)
442baf:	75 0a                	jne    0x442bbb
442bb1:	80 7f 1d 00          	cmpb   $0x0,0x1d(%edi)
442bb5:	75 04                	jne    0x442bbb
442bb7:	c6 46 03 01          	movb   $0x1,0x3(%esi)
442bbb:	38 85 5b ff ff ff    	cmp    %al,-0xa5(%ebp)
442bc1:	0f 85 f8 00 00 00    	jne    0x442cbf
442bc7:	80 7f 1e 00          	cmpb   $0x0,0x1e(%edi)
442bcb:	0f 85 ee 00 00 00    	jne    0x442cbf
442bd1:	c6 46 04 01          	movb   $0x1,0x4(%esi)
442bd5:	e9 e5 00 00 00       	jmp    0x442cbf
442bda:	53                   	push   %ebx
442bdb:	68 a0 00 00 00       	push   $0xa0
442be0:	ff 15 d8 d5 48 00    	call   *0x48d5d8
442be6:	8b 1d e4 d5 48 00    	mov    0x48d5e4,%ebx
442bec:	b9 00 80 00 00       	mov    $0x8000,%ecx
442bf1:	66 85 c1             	test   %ax,%cx
442bf4:	75 11                	jne    0x442c07
442bf6:	68 a0 00 00 00       	push   $0xa0
442bfb:	ff d3                	call   *%ebx
442bfd:	b9 00 80 00 00       	mov    $0x8000,%ecx
442c02:	66 85 c1             	test   %ax,%cx
442c05:	74 09                	je     0x442c10
442c07:	80 7f 1a 00          	cmpb   $0x0,0x1a(%edi)
442c0b:	75 03                	jne    0x442c10
442c0d:	c6 06 01             	movb   $0x1,(%esi)
442c10:	68 a1 00 00 00       	push   $0xa1
442c15:	ff 15 d8 d5 48 00    	call   *0x48d5d8
442c1b:	b9 00 80 00 00       	mov    $0x8000,%ecx
442c20:	66 85 c1             	test   %ax,%cx
442c23:	75 11                	jne    0x442c36
442c25:	68 a1 00 00 00       	push   $0xa1
442c2a:	ff d3                	call   *%ebx
442c2c:	b9 00 80 00 00       	mov    $0x8000,%ecx
442c31:	66 85 c1             	test   %ax,%cx
442c34:	74 0a                	je     0x442c40
442c36:	80 7f 1b 00          	cmpb   $0x0,0x1b(%edi)
442c3a:	75 04                	jne    0x442c40
442c3c:	c6 46 01 01          	movb   $0x1,0x1(%esi)
442c40:	6a 11                	push   $0x11
442c42:	ff 15 d8 d5 48 00    	call   *0x48d5d8
442c48:	b9 00 80 00 00       	mov    $0x8000,%ecx
442c4d:	66 85 c1             	test   %ax,%cx
442c50:	75 0e                	jne    0x442c60
442c52:	6a 11                	push   $0x11
442c54:	ff d3                	call   *%ebx
442c56:	b9 00 80 00 00       	mov    $0x8000,%ecx
442c5b:	66 85 c1             	test   %ax,%cx
442c5e:	74 0a                	je     0x442c6a
442c60:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
442c64:	75 04                	jne    0x442c6a
442c66:	c6 46 02 01          	movb   $0x1,0x2(%esi)
442c6a:	6a 12                	push   $0x12
442c6c:	ff 15 d8 d5 48 00    	call   *0x48d5d8
442c72:	b9 00 80 00 00       	mov    $0x8000,%ecx
442c77:	66 85 c1             	test   %ax,%cx
442c7a:	75 0e                	jne    0x442c8a
442c7c:	6a 12                	push   $0x12
442c7e:	ff d3                	call   *%ebx
442c80:	b9 00 80 00 00       	mov    $0x8000,%ecx
442c85:	66 85 c1             	test   %ax,%cx
442c88:	74 0a                	je     0x442c94
442c8a:	80 7f 1d 00          	cmpb   $0x0,0x1d(%edi)
442c8e:	75 04                	jne    0x442c94
442c90:	c6 46 03 01          	movb   $0x1,0x3(%esi)
442c94:	6a 5b                	push   $0x5b
442c96:	ff 15 d8 d5 48 00    	call   *0x48d5d8
442c9c:	b9 00 80 00 00       	mov    $0x8000,%ecx
442ca1:	66 85 c1             	test   %ax,%cx
442ca4:	75 0e                	jne    0x442cb4
442ca6:	6a 5b                	push   $0x5b
442ca8:	ff d3                	call   *%ebx
442caa:	b9 00 80 00 00       	mov    $0x8000,%ecx
442caf:	66 85 c1             	test   %ax,%cx
442cb2:	74 0a                	je     0x442cbe
442cb4:	80 7f 1e 00          	cmpb   $0x0,0x1e(%edi)
442cb8:	75 04                	jne    0x442cbe
442cba:	c6 46 04 01          	movb   $0x1,0x4(%esi)
442cbe:	5b                   	pop    %ebx
442cbf:	5f                   	pop    %edi
442cc0:	8b c6                	mov    %esi,%eax
442cc2:	5e                   	pop    %esi
442cc3:	c9                   	leave
442cc4:	c2 04 00             	ret    $0x4
442cc7:	55                   	push   %ebp
442cc8:	8b ec                	mov    %esp,%ebp
442cca:	8b 45 08             	mov    0x8(%ebp),%eax
442ccd:	53                   	push   %ebx
442cce:	56                   	push   %esi
442ccf:	8b 75 0c             	mov    0xc(%ebp),%esi
442cd2:	57                   	push   %edi
442cd3:	8b 78 04             	mov    0x4(%eax),%edi
442cd6:	83 26 00             	andl   $0x0,(%esi)
442cd9:	33 db                	xor    %ebx,%ebx
442cdb:	4f                   	dec    %edi
442cdc:	43                   	inc    %ebx
442cdd:	83 65 0c 00          	andl   $0x0,0xc(%ebp)
442ce1:	85 ff                	test   %edi,%edi
442ce3:	78 50                	js     0x442d35
442ce5:	57                   	push   %edi
442ce6:	8b c8                	mov    %eax,%ecx
442ce8:	e8 99 f3 fb ff       	call   0x402086
442ced:	0f b7 00             	movzwl (%eax),%eax
442cf0:	6a 30                	push   $0x30
442cf2:	59                   	pop    %ecx
442cf3:	66 3b c1             	cmp    %cx,%ax
442cf6:	72 09                	jb     0x442d01
442cf8:	83 f8 39             	cmp    $0x39,%eax
442cfb:	77 04                	ja     0x442d01
442cfd:	2b c1                	sub    %ecx,%eax
442cff:	eb 1c                	jmp    0x442d1d
442d01:	83 f8 41             	cmp    $0x41,%eax
442d04:	72 0a                	jb     0x442d10
442d06:	83 f8 46             	cmp    $0x46,%eax
442d09:	77 05                	ja     0x442d10
442d0b:	83 e8 37             	sub    $0x37,%eax
442d0e:	eb 0d                	jmp    0x442d1d
442d10:	83 f8 61             	cmp    $0x61,%eax
442d13:	72 2e                	jb     0x442d43
442d15:	83 f8 66             	cmp    $0x66,%eax
442d18:	77 29                	ja     0x442d43
442d1a:	83 e8 57             	sub    $0x57,%eax
442d1d:	0f af c3             	imul   %ebx,%eax
442d20:	01 06                	add    %eax,(%esi)
442d22:	8b 45 0c             	mov    0xc(%ebp),%eax
442d25:	4f                   	dec    %edi
442d26:	c1 e3 04             	shl    $0x4,%ebx
442d29:	40                   	inc    %eax
442d2a:	89 45 0c             	mov    %eax,0xc(%ebp)
442d2d:	83 f8 08             	cmp    $0x8,%eax