481887:	0f 8e 80 00 00 00    	jle    0x48190d
48188d:	8b 55 9c             	mov    -0x64(%ebp),%edx
481890:	3b 50 04             	cmp    0x4(%eax),%edx
481893:	8b 55 d4             	mov    -0x2c(%ebp),%edx
481896:	75 4f                	jne    0x4818e7
481898:	ff 75 9c             	push   -0x64(%ebp)
48189b:	8b 10                	mov    (%eax),%edx
48189d:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4818a0:	e8 82 fa fe ff       	call   0x471327
4818a5:	83 c4 04             	add    $0x4,%esp
4818a8:	85 c0                	test   %eax,%eax
4818aa:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4818ad:	75 35                	jne    0x4818e4
4818af:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4818b2:	39 48 08             	cmp    %ecx,0x8(%eax)
4818b5:	74 50                	je     0x481907
4818b7:	f7 45 f4 00 00 08 00 	testl  $0x80000,-0xc(%ebp)
4818be:	0f 84 19 09 00 00    	je     0x4821dd
4818c4:	8b 4d 28             	mov    0x28(%ebp),%ecx
4818c7:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4818ca:	c7 41 78 01 00 00 00 	movl   $0x1,0x78(%ecx)
4818d1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4818d4:	42                   	inc    %edx
4818d5:	83 c0 0c             	add    $0xc,%eax
4818d8:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4818db:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4818de:	3b d1                	cmp    %ecx,%edx
4818e0:	7c ab                	jl     0x48188d
4818e2:	eb 29                	jmp    0x48190d
4818e4:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4818e7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4818ea:	39 48 08             	cmp    %ecx,0x8(%eax)
4818ed:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4818f0:	75 e2                	jne    0x4818d4
4818f2:	8b 45 0c             	mov    0xc(%ebp),%eax
4818f5:	c7 00 41 00 00 00    	movl   $0x41,(%eax)
4818fb:	8b 45 08             	mov    0x8(%ebp),%eax
4818fe:	89 38                	mov    %edi,(%eax)
481900:	33 c0                	xor    %eax,%eax
481902:	e9 2b 61 f8 ff       	jmp    0x407a32
481907:	8b 4d f0             	mov    -0x10(%ebp),%ecx
48190a:	8b 55 d4             	mov    -0x2c(%ebp),%edx
48190d:	3b d1                	cmp    %ecx,%edx
48190f:	0f 8c a9 00 00 00    	jl     0x4819be
481915:	8b 55 28             	mov    0x28(%ebp),%edx
481918:	8b 42 38             	mov    0x38(%edx),%eax
48191b:	3b c8                	cmp    %eax,%ecx
48191d:	7c 59                	jl     0x481978
48191f:	03 c0                	add    %eax,%eax
481921:	89 45 bc             	mov    %eax,-0x44(%ebp)
481924:	8d 04 40             	lea    (%eax,%eax,2),%eax
481927:	c1 e0 02             	shl    $0x2,%eax
48192a:	50                   	push   %eax
48192b:	ff 15 dc bd 4b 00    	call   *0x4bbddc
481931:	8b f8                	mov    %eax,%edi
481933:	83 c4 04             	add    $0x4,%esp
481936:	85 ff                	test   %edi,%edi
481938:	0f 84 b4 08 00 00    	je     0x4821f2
48193e:	8b 45 28             	mov    0x28(%ebp),%eax
481941:	8b 48 38             	mov    0x38(%eax),%ecx
481944:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
481947:	c1 e1 02             	shl    $0x2,%ecx
48194a:	51                   	push   %ecx
48194b:	ff 70 28             	push   0x28(%eax)
48194e:	57                   	push   %edi
48194f:	e8 2c d5 f9 ff       	call   0x41ee80
481954:	8b 55 28             	mov    0x28(%ebp),%edx
481957:	83 c4 0c             	add    $0xc,%esp
48195a:	83 7a 38 14          	cmpl   $0x14,0x38(%edx)
48195e:	7e 0f                	jle    0x48196f
481960:	ff 72 28             	push   0x28(%edx)
481963:	ff 15 0c b8 4b 00    	call   *0x4bb80c
481969:	8b 55 28             	mov    0x28(%ebp),%edx
48196c:	83 c4 04             	add    $0x4,%esp
48196f:	8b 45 bc             	mov    -0x44(%ebp),%eax
481972:	89 7a 28             	mov    %edi,0x28(%edx)
481975:	89 42 38             	mov    %eax,0x38(%edx)
481978:	8b 42 30             	mov    0x30(%edx),%eax
48197b:	8b 7d 94             	mov    -0x6c(%ebp),%edi
48197e:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
481981:	8b 42 28             	mov    0x28(%edx),%eax
481984:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
481987:	8b 42 30             	mov    0x30(%edx),%eax
48198a:	8b 7d 9c             	mov    -0x64(%ebp),%edi
48198d:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
481990:	8b 42 28             	mov    0x28(%edx),%eax
481993:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
481997:	8b 42 30             	mov    0x30(%edx),%eax
48199a:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
48199d:	8b 42 28             	mov    0x28(%edx),%eax
4819a0:	8b 55 ec             	mov    -0x14(%ebp),%edx
4819a3:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
4819a7:	8b 45 28             	mov    0x28(%ebp),%eax
4819aa:	8b 7d fc             	mov    -0x4(%ebp),%edi
4819ad:	ff 40 30             	incl   0x30(%eax)
4819b0:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4819b3:	83 c7 02             	add    $0x2,%edi
4819b6:	89 7d fc             	mov    %edi,-0x4(%ebp)
4819b9:	e9 86 68 f8 ff       	jmp    0x408244
4819be:	8b 45 28             	mov    0x28(%ebp),%eax
4819c1:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
4819c4:	83 c7 02             	add    $0x2,%edi
4819c7:	89 7d fc             	mov    %edi,-0x4(%ebp)
4819ca:	e9 75 68 f8 ff       	jmp    0x408244
4819cf:	bb 29 00 00 00       	mov    $0x29,%ebx
4819d4:	ba 01 00 00 00       	mov    $0x1,%edx
4819d9:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4819dc:	83 c7 02             	add    $0x2,%edi
4819df:	89 7d fc             	mov    %edi,-0x4(%ebp)
4819e2:	0f b7 07             	movzwl (%edi),%eax
4819e5:	8b f7                	mov    %edi,%esi
4819e7:	89 7d e8             	mov    %edi,-0x18(%ebp)
4819ea:	89 75 94             	mov    %esi,-0x6c(%ebp)
4819ed:	83 f8 30             	cmp    $0x30,%eax
4819f0:	72 09                	jb     0x4819fb
4819f2:	83 f8 39             	cmp    $0x39,%eax
4819f5:	0f 86 34 07 00 00    	jbe    0x48212f
4819fb:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
481a02:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
481a06:	77 28                	ja     0x481a30
481a08:	8b 49 0c             	mov    0xc(%ecx),%ecx
481a0b:	0f b7 c0             	movzwl %ax,%eax
481a0e:	f6 04 08 10          	testb  $0x10,(%eax,%ecx,1)
481a12:	74 16                	je     0x481a2a
481a14:	83 c7 02             	add    $0x2,%edi
481a17:	89 7d fc             	mov    %edi,-0x4(%ebp)
481a1a:	0f b7 07             	movzwl (%edi),%eax
481a1d:	c7 45 bc ff 00 00 00 	movl   $0xff,-0x44(%ebp)
481a24:	66 3b 45 bc          	cmp    -0x44(%ebp),%ax
481a28:	76 e1                	jbe    0x481a0b
481a2a:	8b 4d 28             	mov    0x28(%ebp),%ecx
481a2d:	89 7d e8             	mov    %edi,-0x18(%ebp)
481a30:	8b c7                	mov    %edi,%eax
481a32:	2b c6                	sub    %esi,%eax
481a34:	d1 f8                	sar    $1,%eax
481a36:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
481a3a:	89 45 9c             	mov    %eax,-0x64(%ebp)
481a3d:	74 6f                	je     0x481aae
481a3f:	85 c0                	test   %eax,%eax
481a41:	0f 84 ed 07 00 00    	je     0x482234
481a47:	66 39 1f             	cmp    %bx,(%edi)
481a4a:	0f 85 cf 07 00 00    	jne    0x48221f
481a50:	83 f8 20             	cmp    $0x20,%eax
481a53:	0f 8f 6f 07 00 00    	jg     0x4821c8
481a59:	8b 59 30             	mov    0x30(%ecx),%ebx
481a5c:	8b 71 28             	mov    0x28(%ecx),%esi
481a5f:	33 ff                	xor    %edi,%edi
481a61:	85 db                	test   %ebx,%ebx
481a63:	7e 28                	jle    0x481a8d
481a65:	3b 46 04             	cmp    0x4(%esi),%eax
481a68:	75 15                	jne    0x481a7f
481a6a:	8b 16                	mov    (%esi),%edx
481a6c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
481a6f:	50                   	push   %eax
481a70:	e8 b2 f8 fe ff       	call   0x471327
481a75:	83 c4 04             	add    $0x4,%esp
481a78:	85 c0                	test   %eax,%eax
481a7a:	74 0b                	je     0x481a87
481a7c:	8b 45 9c             	mov    -0x64(%ebp),%eax
481a7f:	47                   	inc    %edi
481a80:	83 c6 0c             	add    $0xc,%esi
481a83:	3b fb                	cmp    %ebx,%edi
481a85:	7c de                	jl     0x481a65
481a87:	8b 55 e4             	mov    -0x1c(%ebp),%edx
481a8a:	8b 4d 28             	mov    0x28(%ebp),%ecx
481a8d:	3b fb                	cmp    %ebx,%edi
481a8f:	7d 05                	jge    0x481a96
481a91:	8b 7e 08             	mov    0x8(%esi),%edi
481a94:	eb 02                	jmp    0x481a98
481a96:	33 ff                	xor    %edi,%edi
481a98:	89 7d c8             	mov    %edi,-0x38(%ebp)
481a9b:	85 d2                	test   %edx,%edx
481a9d:	0f 85 e6 02 00 00    	jne    0x481d89
481aa3:	ff 41 54             	incl   0x54(%ecx)
481aa6:	8b 5d f4             	mov    -0xc(%ebp),%ebx
481aa9:	e9 71 01 00 00       	jmp    0x481c1f
481aae:	8b 41 30             	mov    0x30(%ecx),%eax
481ab1:	8b 59 2c             	mov    0x2c(%ecx),%ebx
481ab4:	33 f6                	xor    %esi,%esi
481ab6:	89 5d 88             	mov    %ebx,-0x78(%ebp)
481ab9:	89 45 bc             	mov    %eax,-0x44(%ebp)
481abc:	85 c0                	test   %eax,%eax
481abe:	7e 42                	jle    0x481b02
481ac0:	8b 7d 28             	mov    0x28(%ebp),%edi
481ac3:	ff 75 9c             	push   -0x64(%ebp)
481ac6:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
481ac9:	8d 53 02             	lea    0x2(%ebx),%edx
481acc:	e8 56 f8 fe ff       	call   0x471327
481ad1:	83 c4 04             	add    $0x4,%esp
481ad4:	85 c0                	test   %eax,%eax
481ad6:	75 10                	jne    0x481ae8
481ad8:	8b 45 9c             	mov    -0x64(%ebp),%eax
481adb:	66 83 7c 43 02 00    	cmpw   $0x0,0x2(%ebx,%eax,2)
481ae1:	75 05                	jne    0x481ae8
481ae3:	8b 45 bc             	mov    -0x44(%ebp),%eax
481ae6:	eb 0e                	jmp    0x481af6
481ae8:	8b 47 34             	mov    0x34(%edi),%eax
481aeb:	46                   	inc    %esi
481aec:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
481aef:	8b 45 bc             	mov    -0x44(%ebp),%eax
481af2:	3b f0                	cmp    %eax,%esi
481af4:	7c cd                	jl     0x481ac3
481af6:	8b 7d e8             	mov    -0x18(%ebp),%edi
481af9:	8b 55 e4             	mov    -0x1c(%ebp),%edx
481afc:	8b 4d 28             	mov    0x28(%ebp),%ecx
481aff:	89 5d 88             	mov    %ebx,-0x78(%ebp)
481b02:	3b f0                	cmp    %eax,%esi
481b04:	0f 8d 4f 02 00 00    	jge    0x481d59
481b0a:	0f b7 3b             	movzwl (%ebx),%edi
481b0d:	89 7d c8             	mov    %edi,-0x38(%ebp)
481b10:	85 d2                	test   %edx,%edx
481b12:	0f 85 71 02 00 00    	jne    0x481d89
481b18:	39 51 78             	cmp    %edx,0x78(%ecx)
481b1b:	74 89                	je     0x481aa6
481b1d:	b9 01 00 00 00       	mov    $0x1,%ecx
481b22:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
481b25:	8b 4d 28             	mov    0x28(%ebp),%ecx
481b28:	89 75 b0             	mov    %esi,-0x50(%ebp)
481b2b:	8b 79 34             	mov    0x34(%ecx),%edi
481b2e:	03 ff                	add    %edi,%edi
481b30:	46                   	inc    %esi
481b31:	8d 0c 3b             	lea    (%ebx,%edi,1),%ecx
481b34:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
481b37:	3b f0                	cmp    %eax,%esi
481b39:	0f 8d d7 00 00 00    	jge    0x481c16
481b3f:	8d 43 02             	lea    0x2(%ebx),%eax
481b42:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
481b45:	89 45 bc             	mov    %eax,-0x44(%ebp)
481b48:	8d 51 02             	lea    0x2(%ecx),%edx
481b4b:	8b c8                	mov    %eax,%ecx
481b4d:	e8 a5 f7 fe ff       	call   0x4712f7
481b52:	85 c0                	test   %eax,%eax
481b54:	75 15                	jne    0x481b6b
481b56:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
481b59:	8b 45 28             	mov    0x28(%ebp),%eax
481b5c:	03 cf                	add    %edi,%ecx
481b5e:	46                   	inc    %esi
481b5f:	43                   	inc    %ebx
481b60:	3b 70 30             	cmp    0x30(%eax),%esi
481b63:	8b 45 bc             	mov    -0x44(%ebp),%eax
481b66:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
481b69:	7c dd                	jl     0x481b48
481b6b:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
481b6e:	83 fb 01             	cmp    $0x1,%ebx
481b71:	8b 5d 88             	mov    -0x78(%ebp),%ebx
481b74:	0f 8e 9c 00 00 00    	jle    0x481c16
481b7a:	83 7d d0 fe          	cmpl   $0xfffffffe,-0x30(%ebp)
481b7e:	75 07                	jne    0x481b87
481b80:	c7 45 d0 ff ff ff ff 	movl   $0xffffffff,-0x30(%ebp)
481b87:	f6 45 f4 01          	testb  $0x1,-0xc(%ebp)
481b8b:	8b 55 f8             	mov    -0x8(%ebp),%edx
481b8e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
481b91:	8b 75 e4             	mov    -0x1c(%ebp),%esi
481b94:	b8 00 00 00 00       	mov    $0x0,%eax
481b99:	0f 95 c0             	setne  %al
481b9c:	89 55 e0             	mov    %edx,-0x20(%ebp)
481b9f:	83 c2 06             	add    $0x6,%edx
481ba2:	89 55 f8             	mov    %edx,-0x8(%ebp)
481ba5:	83 c0 73             	add    $0x73,%eax
481ba8:	66 89 42 fa          	mov    %ax,-0x6(%edx)
481bac:	8b 45 b0             	mov    -0x50(%ebp),%eax
481baf:	66 89 42 fc          	mov    %ax,-0x4(%edx)
481bb3:	66 89 4a fe          	mov    %cx,-0x2(%edx)
481bb7:	3b de                	cmp    %esi,%ebx
481bb9:	0f 83 59 f3 ff ff    	jae    0x480f18
481bbf:	8b 7d 28             	mov    0x28(%ebp),%edi
481bc2:	0f b7 13             	movzwl (%ebx),%edx
481bc5:	89 55 c8             	mov    %edx,-0x38(%ebp)
481bc8:	b8 01 00 00 00       	mov    $0x1,%eax
481bcd:	83 fa 20             	cmp    $0x20,%edx
481bd0:	7d 04                	jge    0x481bd6
481bd2:	8b ca                	mov    %edx,%ecx
481bd4:	d3 e0                	shl    %cl,%eax
481bd6:	09 47 50             	or     %eax,0x50(%edi)
481bd9:	3b 57 4c             	cmp    0x4c(%edi),%edx
481bdc:	7e 03                	jle    0x481be1
481bde:	89 57 4c             	mov    %edx,0x4c(%edi)
481be1:	8b 4f 24             	mov    0x24(%edi),%ecx
481be4:	85 c9                	test   %ecx,%ecx
481be6:	74 19                	je     0x481c01
481be8:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
481bec:	3b c2                	cmp    %edx,%eax
481bee:	74 08                	je     0x481bf8
481bf0:	8b 09                	mov    (%ecx),%ecx
481bf2:	85 c9                	test   %ecx,%ecx
481bf4:	75 f2                	jne    0x481be8
481bf6:	eb 09                	jmp    0x481c01
481bf8:	b8 01 00 00 00       	mov    $0x1,%eax
481bfd:	66 89 41 06          	mov    %ax,0x6(%ecx)
481c01:	8b 47 34             	mov    0x34(%edi),%eax
481c04:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
481c07:	3b de                	cmp    %esi,%ebx
481c09:	72 b7                	jb     0x481bc2
481c0b:	8b 7d fc             	mov    -0x4(%ebp),%edi
481c0e:	8b 55 f8             	mov    -0x8(%ebp),%edx
481c11:	e9 6a 5f f8 ff       	jmp    0x407b80
481c16:	8b 7d c8             	mov    -0x38(%ebp),%edi
481c19:	8b 5d f4             	mov    -0xc(%ebp),%ebx
481c1c:	8b 4d 28             	mov    0x28(%ebp),%ecx
481c1f:	83 7d d0 fe          	cmpl   $0xfffffffe,-0x30(%ebp)
481c23:	75 07                	jne    0x481c2c
481c25:	c7 45 d0 ff ff ff ff 	movl   $0xffffffff,-0x30(%ebp)
481c2c:	8b 55 f8             	mov    -0x8(%ebp),%edx
481c2f:	f6 c3 01             	test   $0x1,%bl
481c32:	b8 00 00 00 00       	mov    $0x0,%eax
481c37:	0f 95 c0             	setne  %al
481c3a:	89 55 e0             	mov    %edx,-0x20(%ebp)
481c3d:	83 c2 04             	add    $0x4,%edx
481c40:	89 55 f8             	mov    %edx,-0x8(%ebp)
481c43:	83 c0 71             	add    $0x71,%eax
481c46:	66 89 42 fc          	mov    %ax,-0x4(%edx)
481c4a:	66 89 7a fe          	mov    %di,-0x2(%edx)
481c4e:	83 ff 20             	cmp    $0x20,%edi
481c51:	7d 10                	jge    0x481c63
481c53:	be 01 00 00 00       	mov    $0x1,%esi
481c58:	8b cf                	mov    %edi,%ecx
481c5a:	8b c6                	mov    %esi,%eax
481c5c:	d3 e0                	shl    %cl,%eax
481c5e:	8b 4d 28             	mov    0x28(%ebp),%ecx
481c61:	eb 07                	jmp    0x481c6a
481c63:	b8 01 00 00 00       	mov    $0x1,%eax
481c68:	8b f0                	mov    %eax,%esi
481c6a:	09 41 50             	or     %eax,0x50(%ecx)
481c6d:	3b 79 4c             	cmp    0x4c(%ecx),%edi
481c70:	7e 03                	jle    0x481c75
481c72:	89 79 4c             	mov    %edi,0x4c(%ecx)
481c75:	8b 49 24             	mov    0x24(%ecx),%ecx
481c78:	85 c9                	test   %ecx,%ecx
481c7a:	0f 84 7e 60 f8 ff    	je     0x407cfe
481c80:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
481c84:	3b c7                	cmp    %edi,%eax
481c86:	74 0e                	je     0x481c96
481c88:	8b 09                	mov    (%ecx),%ecx
481c8a:	85 c9                	test   %ecx,%ecx
481c8c:	75 f2                	jne    0x481c80
481c8e:	8b 7d fc             	mov    -0x4(%ebp),%edi
481c91:	e9 ed 5e f8 ff       	jmp    0x407b83
481c96:	66 89 71 06          	mov    %si,0x6(%ecx)
481c9a:	8b 7d fc             	mov    -0x4(%ebp),%edi
481c9d:	e9 e1 5e f8 ff       	jmp    0x407b83
481ca2:	83 c7 02             	add    $0x2,%edi
481ca5:	89 7d fc             	mov    %edi,-0x4(%ebp)
481ca8:	bb 29 00 00 00       	mov    $0x29,%ebx
481cad:	0f b7 17             	movzwl (%edi),%edx
481cb0:	8b f2                	mov    %edx,%esi
481cb2:	83 fe 2b             	cmp    $0x2b,%esi
481cb5:	75 28                	jne    0x481cdf
481cb7:	83 c7 02             	add    $0x2,%edi
481cba:	89 7d fc             	mov    %edi,-0x4(%ebp)
481cbd:	0f b7 07             	movzwl (%edi),%eax