47aae7:	46                   	inc    %esi
47aae8:	3b 33                	cmp    (%ebx),%esi
47aaea:	7c f3                	jl     0x47aadf
47aaec:	8b 7d 0c             	mov    0xc(%ebp),%edi
47aaef:	6a 00                	push   $0x0
47aaf1:	51                   	push   %ecx
47aaf2:	e8 b9 e6 f8 ff       	call   0x4091b0
47aaf7:	59                   	pop    %ecx
47aaf8:	59                   	pop    %ecx
47aaf9:	84 c0                	test   %al,%al
47aafb:	75 15                	jne    0x47ab12
47aafd:	ff 75 fc             	push   -0x4(%ebp)
47ab00:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47ab03:	68 82 00 00 00       	push   $0x82
47ab08:	e8 a8 f5 fe ff       	call   0x46a0b5
47ab0d:	83 c8 ff             	or     $0xffffffff,%eax
47ab10:	eb 04                	jmp    0x47ab16
47ab12:	ff 07                	incl   (%edi)
47ab14:	33 c0                	xor    %eax,%eax
47ab16:	5f                   	pop    %edi
47ab17:	5e                   	pop    %esi
47ab18:	5b                   	pop    %ebx
47ab19:	8b e5                	mov    %ebp,%esp
47ab1b:	5d                   	pop    %ebp
47ab1c:	c2 14 00             	ret    $0x14
47ab1f:	55                   	push   %ebp
47ab20:	8b ec                	mov    %esp,%ebp
47ab22:	83 ec 20             	sub    $0x20,%esp
47ab25:	53                   	push   %ebx
47ab26:	8b 5d 0c             	mov    0xc(%ebp),%ebx
47ab29:	33 d2                	xor    %edx,%edx
47ab2b:	56                   	push   %esi
47ab2c:	8b 75 10             	mov    0x10(%ebp),%esi
47ab2f:	33 c9                	xor    %ecx,%ecx
47ab31:	57                   	push   %edi
47ab32:	8b 5b 04             	mov    0x4(%ebx),%ebx
47ab35:	6a 4e                	push   $0x4e
47ab37:	89 5d f8             	mov    %ebx,-0x8(%ebp)
47ab3a:	c7 45 f4 4f 00 00 00 	movl   $0x4f,-0xc(%ebp)
47ab41:	8d 3c b3             	lea    (%ebx,%esi,4),%edi
47ab44:	c7 45 f0 47 00 00 00 	movl   $0x47,-0x10(%ebp)
47ab4b:	8b 47 fc             	mov    -0x4(%edi),%eax
47ab4e:	5e                   	pop    %esi
47ab4f:	89 75 e0             	mov    %esi,-0x20(%ebp)
47ab52:	c7 45 ec 48 00 00 00 	movl   $0x48,-0x14(%ebp)
47ab59:	66 39 70 08          	cmp    %si,0x8(%eax)
47ab5d:	8b 75 10             	mov    0x10(%ebp),%esi
47ab60:	0f 94 c2             	sete   %dl
47ab63:	c7 45 e8 7f 00 00 00 	movl   $0x7f,-0x18(%ebp)
47ab6a:	8b 07                	mov    (%edi),%eax
47ab6c:	6a 4e                	push   $0x4e
47ab6e:	5b                   	pop    %ebx
47ab6f:	0f b7 40 08          	movzwl 0x8(%eax),%eax
47ab73:	66 3b c3             	cmp    %bx,%ax
47ab76:	8b 5d f8             	mov    -0x8(%ebp),%ebx
47ab79:	75 07                	jne    0x47ab82
47ab7b:	85 c9                	test   %ecx,%ecx
47ab7d:	75 36                	jne    0x47abb5
47ab7f:	42                   	inc    %edx
47ab80:	eb 3b                	jmp    0x47abbd
47ab82:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
47ab86:	75 07                	jne    0x47ab8f
47ab88:	85 c9                	test   %ecx,%ecx
47ab8a:	75 29                	jne    0x47abb5
47ab8c:	4a                   	dec    %edx
47ab8d:	eb 2e                	jmp    0x47abbd
47ab8f:	66 83 f8 41          	cmp    $0x41,%ax
47ab93:	75 04                	jne    0x47ab99
47ab95:	85 d2                	test   %edx,%edx
47ab97:	74 2a                	je     0x47abc3
47ab99:	66 3b 45 f0          	cmp    -0x10(%ebp),%ax
47ab9d:	75 03                	jne    0x47aba2
47ab9f:	41                   	inc    %ecx
47aba0:	eb 1b                	jmp    0x47abbd
47aba2:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
47aba6:	75 03                	jne    0x47abab
47aba8:	49                   	dec    %ecx
47aba9:	eb 12                	jmp    0x47abbd
47abab:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
47abaf:	0f 84 f5 00 00 00    	je     0x47acaa
47abb5:	85 d2                	test   %edx,%edx
47abb7:	0f 84 ed 00 00 00    	je     0x47acaa
47abbd:	46                   	inc    %esi
47abbe:	83 c7 04             	add    $0x4,%edi
47abc1:	eb a7                	jmp    0x47ab6a
47abc3:	8b 44 b3 04          	mov    0x4(%ebx,%esi,4),%eax
47abc7:	6a 4e                	push   $0x4e
47abc9:	5a                   	pop    %edx
47abca:	66 39 50 08          	cmp    %dx,0x8(%eax)
47abce:	74 07                	je     0x47abd7
47abd0:	33 c0                	xor    %eax,%eax
47abd2:	e9 d6 00 00 00       	jmp    0x47acad
47abd7:	8b 55 14             	mov    0x14(%ebp),%edx
47abda:	33 ff                	xor    %edi,%edi
47abdc:	33 c0                	xor    %eax,%eax
47abde:	33 db                	xor    %ebx,%ebx
47abe0:	83 c6 02             	add    $0x2,%esi
47abe3:	47                   	inc    %edi
47abe4:	40                   	inc    %eax
47abe5:	89 75 10             	mov    %esi,0x10(%ebp)
47abe8:	43                   	inc    %ebx
47abe9:	89 7d e4             	mov    %edi,-0x1c(%ebp)
47abec:	89 45 fc             	mov    %eax,-0x4(%ebp)
47abef:	89 5d f8             	mov    %ebx,-0x8(%ebp)
47abf2:	85 d2                	test   %edx,%edx
47abf4:	74 3c                	je     0x47ac32
47abf6:	8b 45 0c             	mov    0xc(%ebp),%eax
47abf9:	89 1a                	mov    %ebx,(%edx)
47abfb:	8b de                	mov    %esi,%ebx
47abfd:	c1 e3 02             	shl    $0x2,%ebx
47ac00:	6a 4e                	push   $0x4e
47ac02:	8b 40 04             	mov    0x4(%eax),%eax
47ac05:	5f                   	pop    %edi
47ac06:	6a 01                	push   $0x1
47ac08:	8b 04 03             	mov    (%ebx,%eax,1),%eax
47ac0b:	66 39 78 08          	cmp    %di,0x8(%eax)
47ac0f:	5f                   	pop    %edi
47ac10:	75 1d                	jne    0x47ac2f
47ac12:	8b 7d 0c             	mov    0xc(%ebp),%edi
47ac15:	6a 4e                	push   $0x4e
47ac17:	5e                   	pop    %esi
47ac18:	ff 02                	incl   (%edx)
47ac1a:	8d 5b 04             	lea    0x4(%ebx),%ebx
47ac1d:	8b 47 04             	mov    0x4(%edi),%eax
47ac20:	8b 04 03             	mov    (%ebx,%eax,1),%eax
47ac23:	66 39 70 08          	cmp    %si,0x8(%eax)
47ac27:	74 ef                	je     0x47ac18
47ac29:	8b 75 10             	mov    0x10(%ebp),%esi
47ac2c:	8b 7d e4             	mov    -0x1c(%ebp),%edi
47ac2f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
47ac32:	8b 45 0c             	mov    0xc(%ebp),%eax
47ac35:	8b 40 04             	mov    0x4(%eax),%eax
47ac38:	8d 14 b0             	lea    (%eax,%esi,4),%edx
47ac3b:	8b 75 08             	mov    0x8(%ebp),%esi
47ac3e:	8b 02                	mov    (%edx),%eax
47ac40:	0f b7 40 08          	movzwl 0x8(%eax),%eax
47ac44:	66 3b 45 e0          	cmp    -0x20(%ebp),%ax
47ac48:	75 07                	jne    0x47ac51
47ac4a:	85 c9                	test   %ecx,%ecx
47ac4c:	75 3c                	jne    0x47ac8a
47ac4e:	47                   	inc    %edi
47ac4f:	eb 3d                	jmp    0x47ac8e
47ac51:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
47ac55:	75 07                	jne    0x47ac5e
47ac57:	85 c9                	test   %ecx,%ecx
47ac59:	75 2f                	jne    0x47ac8a
47ac5b:	4f                   	dec    %edi
47ac5c:	eb 30                	jmp    0x47ac8e
47ac5e:	66 3b 45 f0          	cmp    -0x10(%ebp),%ax
47ac62:	75 03                	jne    0x47ac67
47ac64:	41                   	inc    %ecx
47ac65:	eb 27                	jmp    0x47ac8e
47ac67:	66 3b 45 ec          	cmp    -0x14(%ebp),%ax
47ac6b:	75 03                	jne    0x47ac70
47ac6d:	49                   	dec    %ecx
47ac6e:	eb 1e                	jmp    0x47ac8e
47ac70:	66 83 f8 40          	cmp    $0x40,%ax
47ac74:	75 0e                	jne    0x47ac84
47ac76:	8d 46 01             	lea    0x1(%esi),%eax
47ac79:	3b f8                	cmp    %eax,%edi
47ac7b:	75 0d                	jne    0x47ac8a
47ac7d:	85 c9                	test   %ecx,%ecx
47ac7f:	75 09                	jne    0x47ac8a
47ac81:	43                   	inc    %ebx
47ac82:	eb 0a                	jmp    0x47ac8e
47ac84:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
47ac88:	74 1b                	je     0x47aca5
47ac8a:	85 ff                	test   %edi,%edi
47ac8c:	74 17                	je     0x47aca5
47ac8e:	8d 46 01             	lea    0x1(%esi),%eax
47ac91:	3b f8                	cmp    %eax,%edi
47ac93:	7d 0b                	jge    0x47aca0
47ac95:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
47ac98:	7e 03                	jle    0x47ac9d
47ac9a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
47ac9d:	33 db                	xor    %ebx,%ebx
47ac9f:	43                   	inc    %ebx
47aca0:	83 c2 04             	add    $0x4,%edx
47aca3:	eb 99                	jmp    0x47ac3e
47aca5:	8b 45 fc             	mov    -0x4(%ebp),%eax
47aca8:	eb 03                	jmp    0x47acad
47acaa:	83 c8 ff             	or     $0xffffffff,%eax
47acad:	5f                   	pop    %edi
47acae:	5e                   	pop    %esi
47acaf:	5b                   	pop    %ebx
47acb0:	8b e5                	mov    %ebp,%esp
47acb2:	5d                   	pop    %ebp
47acb3:	c2 10 00             	ret    $0x10
47acb6:	55                   	push   %ebp
47acb7:	8b ec                	mov    %esp,%ebp
47acb9:	8b 45 08             	mov    0x8(%ebp),%eax
47acbc:	33 c9                	xor    %ecx,%ecx
47acbe:	53                   	push   %ebx
47acbf:	56                   	push   %esi
47acc0:	57                   	push   %edi
47acc1:	8b 7d 0c             	mov    0xc(%ebp),%edi
47acc4:	8b 70 04             	mov    0x4(%eax),%esi
47acc7:	6a 7f                	push   $0x7f
47acc9:	5b                   	pop    %ebx
47acca:	8b 07                	mov    (%edi),%eax
47accc:	8b 04 86             	mov    (%esi,%eax,4),%eax
47accf:	eb 31                	jmp    0x47ad02
47acd1:	8b 17                	mov    (%edi),%edx
47acd3:	8b 04 96             	mov    (%esi,%edx,4),%eax
47acd6:	0f bf 40 08          	movswl 0x8(%eax),%eax
47acda:	83 e8 47             	sub    $0x47,%eax
47acdd:	74 0e                	je     0x47aced
47acdf:	48                   	dec    %eax
47ace0:	74 08                	je     0x47acea
47ace2:	83 e8 06             	sub    $0x6,%eax
47ace5:	74 06                	je     0x47aced
47ace7:	48                   	dec    %eax
47ace8:	75 04                	jne    0x47acee
47acea:	49                   	dec    %ecx
47aceb:	eb 01                	jmp    0x47acee
47aced:	41                   	inc    %ecx
47acee:	42                   	inc    %edx
47acef:	89 17                	mov    %edx,(%edi)
47acf1:	85 c9                	test   %ecx,%ecx
47acf3:	75 0a                	jne    0x47acff
47acf5:	8b 04 96             	mov    (%esi,%edx,4),%eax
47acf8:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
47acfd:	74 09                	je     0x47ad08
47acff:	8b 04 96             	mov    (%esi,%edx,4),%eax
47ad02:	66 39 58 08          	cmp    %bx,0x8(%eax)
47ad06:	75 c9                	jne    0x47acd1
47ad08:	5f                   	pop    %edi
47ad09:	5e                   	pop    %esi
47ad0a:	5b                   	pop    %ebx
47ad0b:	5d                   	pop    %ebp
47ad0c:	c2 08 00             	ret    $0x8
47ad0f:	55                   	push   %ebp
47ad10:	8b ec                	mov    %esp,%ebp
47ad12:	83 ec 30             	sub    $0x30,%esp
47ad15:	53                   	push   %ebx
47ad16:	56                   	push   %esi
47ad17:	33 db                	xor    %ebx,%ebx
47ad19:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47ad1c:	33 f6                	xor    %esi,%esi
47ad1e:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
47ad21:	46                   	inc    %esi
47ad22:	89 5d dc             	mov    %ebx,-0x24(%ebp)
47ad25:	57                   	push   %edi
47ad26:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47ad29:	89 75 e0             	mov    %esi,-0x20(%ebp)
47ad2c:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
47ad2f:	89 5d ec             	mov    %ebx,-0x14(%ebp)
47ad32:	89 75 f0             	mov    %esi,-0x10(%ebp)
47ad35:	e8 e6 ec f8 ff       	call   0x409a20
47ad3a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
47ad3d:	89 75 e0             	mov    %esi,-0x20(%ebp)
47ad40:	89 75 d4             	mov    %esi,-0x2c(%ebp)
47ad43:	e8 d8 ec f8 ff       	call   0x409a20
47ad48:	8b 7d 0c             	mov    0xc(%ebp),%edi
47ad4b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
47ad4e:	8b 5d 08             	mov    0x8(%ebp),%ebx
47ad51:	89 75 f0             	mov    %esi,-0x10(%ebp)
47ad54:	33 f6                	xor    %esi,%esi
47ad56:	ff 07                	incl   (%edi)
47ad58:	8b 17                	mov    (%edi),%edx
47ad5a:	8b 4b 04             	mov    0x4(%ebx),%ecx
47ad5d:	c7 45 f8 0b 00 00 00 	movl   $0xb,-0x8(%ebp)
47ad64:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47ad67:	66 39 70 08          	cmp    %si,0x8(%eax)
47ad6b:	8b 75 f4             	mov    -0xc(%ebp),%esi
47ad6e:	75 5f                	jne    0x47adcf
47ad70:	83 38 10             	cmpl   $0x10,(%eax)
47ad73:	75 5a                	jne    0x47adcf
47ad75:	42                   	inc    %edx
47ad76:	89 17                	mov    %edx,(%edi)
47ad78:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47ad7b:	0f bf 40 08          	movswl 0x8(%eax),%eax
47ad7f:	83 e8 49             	sub    $0x49,%eax
47ad82:	74 14                	je     0x47ad98
47ad84:	48                   	dec    %eax
47ad85:	0f 84 f6 00 00 00    	je     0x47ae81
47ad8b:	48                   	dec    %eax
47ad8c:	48                   	dec    %eax
47ad8d:	0f 84 d1 00 00 00    	je     0x47ae64
47ad93:	8d 42 ff             	lea    -0x1(%edx),%eax
47ad96:	89 07                	mov    %eax,(%edi)
47ad98:	c7 45 f8 0b 00 00 00 	movl   $0xb,-0x8(%ebp)
47ad9f:	ff 07                	incl   (%edi)
47ada1:	8b 0f                	mov    (%edi),%ecx
47ada3:	8b 43 04             	mov    0x4(%ebx),%eax
47ada6:	8b 04 88             	mov    (%eax,%ecx,4),%eax
47ada9:	66 83 78 08 05       	cmpw   $0x5,0x8(%eax)
47adae:	0f 85 24 01 00 00    	jne    0x47aed8
47adb4:	8b 30                	mov    (%eax),%esi
47adb6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
47adb9:	e8 62 ec f8 ff       	call   0x409a20
47adbe:	ff 07                	incl   (%edi)
47adc0:	8b 17                	mov    (%edi),%edx
47adc2:	89 75 d4             	mov    %esi,-0x2c(%ebp)
47adc5:	8b 75 f4             	mov    -0xc(%ebp),%esi
47adc8:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
47adcf:	8b 43 04             	mov    0x4(%ebx),%eax
47add2:	6a 33                	push   $0x33
47add4:	59                   	pop    %ecx
47add5:	8b 04 90             	mov    (%eax,%edx,4),%eax
47add8:	66 39 48 08          	cmp    %cx,0x8(%eax)
47addc:	0f 85 f0 00 00 00    	jne    0x47aed2
47ade2:	c7 45 08 7f 00 00 00 	movl   $0x7f,0x8(%ebp)
47ade9:	8b 4b 04             	mov    0x4(%ebx),%ecx
47adec:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47adef:	42                   	inc    %edx
47adf0:	89 17                	mov    %edx,(%edi)
47adf2:	8b 00                	mov    (%eax),%eax
47adf4:	89 45 0c             	mov    %eax,0xc(%ebp)
47adf7:	8b 04 91             	mov    (%ecx,%edx,4),%eax
47adfa:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
47adff:	75 1c                	jne    0x47ae1d
47ae01:	8d 42 01             	lea    0x1(%edx),%eax
47ae04:	8b ce                	mov    %esi,%ecx
47ae06:	6a ff                	push   $0xffffffff
47ae08:	89 07                	mov    %eax,(%edi)
47ae0a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47ae0d:	50                   	push   %eax
47ae0e:	57                   	push   %edi
47ae0f:	53                   	push   %ebx
47ae10:	e8 eb f1 f8 ff       	call   0x40a000
47ae15:	85 c0                	test   %eax,%eax
47ae17:	0f 88 e5 00 00 00    	js     0x47af02
47ae1d:	ff 75 10             	push   0x10(%ebp)
47ae20:	8d 45 f4             	lea    -0xc(%ebp),%eax
47ae23:	50                   	push   %eax
47ae24:	ff 75 0c             	push   0xc(%ebp)
47ae27:	e8 6e d7 f8 ff       	call   0x40859a
47ae2c:	85 c0                	test   %eax,%eax
47ae2e:	0f 85 e7 00 00 00    	jne    0x47af1b
47ae34:	ff 75 10             	push   0x10(%ebp)
47ae37:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47ae3a:	68 00 01 00 00       	push   $0x100
47ae3f:	50                   	push   %eax
47ae40:	ff 75 0c             	push   0xc(%ebp)
47ae43:	e8 d8 d7 f8 ff       	call   0x408620
47ae48:	8b 45 f8             	mov    -0x8(%ebp),%eax
47ae4b:	83 e8 0b             	sub    $0xb,%eax
47ae4e:	74 4b                	je     0x47ae9b
47ae50:	48                   	dec    %eax
47ae51:	74 3a                	je     0x47ae8d
47ae53:	48                   	dec    %eax
47ae54:	75 51                	jne    0x47aea7
47ae56:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47ae59:	50                   	push   %eax
47ae5a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
47ae5d:	e8 da e7 f8 ff       	call   0x40963c
47ae62:	eb 43                	jmp    0x47aea7
47ae64:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
47ae67:	e8 b4 eb f8 ff       	call   0x409a20