41ace8:	57                   	push   %edi
41ace9:	8a d8                	mov    %al,%bl
41aceb:	e8 3b 00 00 00       	call   0x41ad2b
41acf0:	84 db                	test   %bl,%bl
41acf2:	75 2e                	jne    0x41ad22
41acf4:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
41acf8:	8b 36                	mov    (%esi),%esi
41acfa:	e9 33 ff ff ff       	jmp    0x41ac32
41acff:	8d 44 24 28          	lea    0x28(%esp),%eax
41ad03:	50                   	push   %eax
41ad04:	ff 33                	push   (%ebx)
41ad06:	ff 15 14 d6 48 00    	call   *0x48d614
41ad0c:	5f                   	pop    %edi
41ad0d:	5e                   	pop    %esi
41ad0e:	5b                   	pop    %ebx
41ad0f:	8b e5                	mov    %ebp,%esp
41ad11:	5d                   	pop    %ebp
41ad12:	c2 04 00             	ret    $0x4
41ad15:	83 f8 ff             	cmp    $0xffffffff,%eax
41ad18:	0f 85 31 39 06 00    	jne    0x47e64f
41ad1e:	8b c3                	mov    %ebx,%eax
41ad20:	eb ad                	jmp    0x41accf
41ad22:	56                   	push   %esi
41ad23:	57                   	push   %edi
41ad24:	e8 9b 3d 05 00       	call   0x46eac4
41ad29:	eb c9                	jmp    0x41acf4
41ad2b:	55                   	push   %ebp
41ad2c:	8b ec                	mov    %esp,%ebp
41ad2e:	83 ec 10             	sub    $0x10,%esp
41ad31:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
41ad35:	53                   	push   %ebx
41ad36:	56                   	push   %esi
41ad37:	57                   	push   %edi
41ad38:	8b 7d 08             	mov    0x8(%ebp),%edi
41ad3b:	33 db                	xor    %ebx,%ebx
41ad3d:	43                   	inc    %ebx
41ad3e:	57                   	push   %edi
41ad3f:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41ad46:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41ad49:	ff 15 00 d1 48 00    	call   *0x48d100
41ad4f:	8b 75 0c             	mov    0xc(%ebp),%esi
41ad52:	88 1d e4 16 4c 00    	mov    %bl,0x4c16e4
41ad58:	eb 6f                	jmp    0x41adc9
41ad5a:	ff 75 f0             	push   -0x10(%ebp)
41ad5d:	33 db                	xor    %ebx,%ebx
41ad5f:	53                   	push   %ebx
41ad60:	ff 75 fc             	push   -0x4(%ebp)
41ad63:	ff 75 f8             	push   -0x8(%ebp)
41ad66:	57                   	push   %edi
41ad67:	e8 17 02 00 00       	call   0x41af83
41ad6c:	39 5e 0c             	cmp    %ebx,0xc(%esi)
41ad6f:	7e 34                	jle    0x41ada5
41ad71:	8b ce                	mov    %esi,%ecx
41ad73:	8d 86 10 08 00 00    	lea    0x810(%esi),%eax
41ad79:	8d 56 10             	lea    0x10(%esi),%edx
41ad7c:	f7 d9                	neg    %ecx
41ad7e:	89 45 f4             	mov    %eax,-0xc(%ebp)
41ad81:	89 55 0c             	mov    %edx,0xc(%ebp)
41ad84:	89 4d 08             	mov    %ecx,0x8(%ebp)
41ad87:	80 38 08             	cmpb   $0x8,(%eax)
41ad8a:	73 51                	jae    0x41addd
41ad8c:	83 c2 08             	add    $0x8,%edx
41ad8f:	40                   	inc    %eax
41ad90:	89 45 f4             	mov    %eax,-0xc(%ebp)
41ad93:	05 f0 f7 ff ff       	add    $0xfffff7f0,%eax
41ad98:	03 c1                	add    %ecx,%eax
41ad9a:	3b 46 0c             	cmp    0xc(%esi),%eax
41ad9d:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ada0:	89 55 0c             	mov    %edx,0xc(%ebp)
41ada3:	7c e2                	jl     0x41ad87
41ada5:	8b 46 0c             	mov    0xc(%esi),%eax
41ada8:	3b d8                	cmp    %eax,%ebx
41adaa:	74 1a                	je     0x41adc6
41adac:	2b c3                	sub    %ebx,%eax
41adae:	50                   	push   %eax
41adaf:	8d 86 10 08 00 00    	lea    0x810(%esi),%eax
41adb5:	03 c3                	add    %ebx,%eax
41adb7:	50                   	push   %eax
41adb8:	8d 43 02             	lea    0x2(%ebx),%eax
41adbb:	8d 04 c6             	lea    (%esi,%eax,8),%eax
41adbe:	50                   	push   %eax
41adbf:	57                   	push   %edi
41adc0:	ff 15 fc d0 48 00    	call   *0x48d0fc
41adc6:	8b 76 04             	mov    0x4(%esi),%esi
41adc9:	85 f6                	test   %esi,%esi
41adcb:	75 8d                	jne    0x41ad5a
41adcd:	ff 75 fc             	push   -0x4(%ebp)
41add0:	57                   	push   %edi
41add1:	e8 d5 02 00 00       	call   0x41b0ab
41add6:	5f                   	pop    %edi
41add7:	5e                   	pop    %esi
41add8:	5b                   	pop    %ebx
41add9:	c9                   	leave
41adda:	c2 08 00             	ret    $0x8
41addd:	81 c1 f0 f7 ff ff    	add    $0xfffff7f0,%ecx
41ade3:	03 c8                	add    %eax,%ecx
41ade5:	3b d9                	cmp    %ecx,%ebx
41ade7:	74 20                	je     0x41ae09
41ade9:	2b cb                	sub    %ebx,%ecx
41adeb:	51                   	push   %ecx
41adec:	8d 83 10 08 00 00    	lea    0x810(%ebx),%eax
41adf2:	03 c6                	add    %esi,%eax
41adf4:	50                   	push   %eax
41adf5:	8d 43 02             	lea    0x2(%ebx),%eax
41adf8:	8d 04 c6             	lea    (%esi,%eax,8),%eax
41adfb:	50                   	push   %eax
41adfc:	57                   	push   %edi
41adfd:	ff 15 fc d0 48 00    	call   *0x48d0fc
41ae03:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ae06:	8b 55 0c             	mov    0xc(%ebp),%edx
41ae09:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ae0c:	8d 99 f1 f7 ff ff    	lea    -0x80f(%ecx),%ebx
41ae12:	8a 08                	mov    (%eax),%cl
41ae14:	03 d8                	add    %eax,%ebx
41ae16:	80 f9 14             	cmp    $0x14,%cl
41ae19:	74 44                	je     0x41ae5f
41ae1b:	80 f9 08             	cmp    $0x8,%cl
41ae1e:	75 4c                	jne    0x41ae6c
41ae20:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41ae23:	83 f9 ff             	cmp    $0xffffffff,%ecx
41ae26:	74 0c                	je     0x41ae34
41ae28:	ff 75 fc             	push   -0x4(%ebp)
41ae2b:	57                   	push   %edi
41ae2c:	e8 7a 02 00 00       	call   0x41b0ab
41ae31:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41ae34:	8b 45 0c             	mov    0xc(%ebp),%eax
41ae37:	83 38 ff             	cmpl   $0xffffffff,(%eax)
41ae3a:	74 05                	je     0x41ae41
41ae3c:	8b 08                	mov    (%eax),%ecx
41ae3e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41ae41:	8b 40 04             	mov    0x4(%eax),%eax
41ae44:	83 f8 ff             	cmp    $0xffffffff,%eax
41ae47:	74 1e                	je     0x41ae67
41ae49:	89 45 fc             	mov    %eax,-0x4(%ebp)
41ae4c:	ff 75 f0             	push   -0x10(%ebp)
41ae4f:	6a 00                	push   $0x0
41ae51:	50                   	push   %eax
41ae52:	51                   	push   %ecx
41ae53:	57                   	push   %edi
41ae54:	e8 2a 01 00 00       	call   0x41af83
41ae59:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ae5c:	8b 55 0c             	mov    0xc(%ebp),%edx
41ae5f:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ae62:	e9 25 ff ff ff       	jmp    0x41ad8c
41ae67:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ae6a:	eb e0                	jmp    0x41ae4c
41ae6c:	80 f9 18             	cmp    $0x18,%cl
41ae6f:	75 ee                	jne    0x41ae5f
41ae71:	8b 0a                	mov    (%edx),%ecx
41ae73:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41ae76:	eb e7                	jmp    0x41ae5f
41ae78:	55                   	push   %ebp
41ae79:	8b ec                	mov    %esp,%ebp
41ae7b:	83 ec 20             	sub    $0x20,%esp
41ae7e:	53                   	push   %ebx
41ae7f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41ae82:	56                   	push   %esi
41ae83:	8b 75 08             	mov    0x8(%ebp),%esi
41ae86:	57                   	push   %edi
41ae87:	33 c9                	xor    %ecx,%ecx
41ae89:	6a fe                	push   $0xfffffffe
41ae8b:	33 c0                	xor    %eax,%eax
41ae8d:	5f                   	pop    %edi
41ae8e:	40                   	inc    %eax
41ae8f:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
41ae93:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41ae96:	89 7d f8             	mov    %edi,-0x8(%ebp)
41ae99:	89 45 ec             	mov    %eax,-0x14(%ebp)
41ae9c:	e9 88 00 00 00       	jmp    0x41af29
41aea1:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
41aea5:	50                   	push   %eax
41aea6:	6a 00                	push   $0x0
41aea8:	57                   	push   %edi
41aea9:	51                   	push   %ecx
41aeaa:	56                   	push   %esi
41aeab:	e8 d3 00 00 00       	call   0x41af83
41aeb0:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
41aeb4:	7e 6a                	jle    0x41af20
41aeb6:	8b 55 f4             	mov    -0xc(%ebp),%edx
41aeb9:	8d 4b 14             	lea    0x14(%ebx),%ecx
41aebc:	8d 43 10             	lea    0x10(%ebx),%eax
41aebf:	89 4d 08             	mov    %ecx,0x8(%ebp)
41aec2:	89 45 0c             	mov    %eax,0xc(%ebp)
41aec5:	8b 38                	mov    (%eax),%edi
41aec7:	0f b6 84 13 10 08 00 	movzbl 0x810(%ebx,%edx,1),%eax
41aece:	00
41aecf:	8b 09                	mov    (%ecx),%ecx
41aed1:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41aed4:	83 f8 10             	cmp    $0x10,%eax
41aed7:	0f 8f 3f 34 06 00    	jg     0x47e31c
41aedd:	0f 84 18 34 06 00    	je     0x47e2fb
41aee3:	83 e8 08             	sub    $0x8,%eax
41aee6:	74 5a                	je     0x41af42
41aee8:	48                   	dec    %eax
41aee9:	48                   	dec    %eax
41aeea:	0f 84 d1 33 06 00    	je     0x47e2c1
41aef0:	48                   	dec    %eax
41aef1:	48                   	dec    %eax
41aef2:	0f 84 82 33 06 00    	je     0x47e27a
41aef8:	48                   	dec    %eax
41aef9:	48                   	dec    %eax
41aefa:	0f 84 17 33 06 00    	je     0x47e217
41af00:	8b 7d f8             	mov    -0x8(%ebp),%edi
41af03:	ff 45 f4             	incl   -0xc(%ebp)
41af06:	8b 45 0c             	mov    0xc(%ebp),%eax
41af09:	8b 4d 08             	mov    0x8(%ebp),%ecx
41af0c:	8b 55 f4             	mov    -0xc(%ebp),%edx
41af0f:	83 c0 08             	add    $0x8,%eax
41af12:	83 c1 08             	add    $0x8,%ecx
41af15:	89 45 0c             	mov    %eax,0xc(%ebp)
41af18:	89 4d 08             	mov    %ecx,0x8(%ebp)
41af1b:	3b 53 0c             	cmp    0xc(%ebx),%edx
41af1e:	7c a5                	jl     0x41aec5
41af20:	8b 5b 04             	mov    0x4(%ebx),%ebx
41af23:	8b 45 ec             	mov    -0x14(%ebp),%eax
41af26:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41af29:	85 db                	test   %ebx,%ebx
41af2b:	0f 85 70 ff ff ff    	jne    0x41aea1
41af31:	57                   	push   %edi
41af32:	56                   	push   %esi
41af33:	e8 73 01 00 00       	call   0x41b0ab
41af38:	8a 45 ff             	mov    -0x1(%ebp),%al
41af3b:	5f                   	pop    %edi
41af3c:	5e                   	pop    %esi
41af3d:	5b                   	pop    %ebx
41af3e:	c9                   	leave
41af3f:	c2 08 00             	ret    $0x8
41af42:	83 7d f0 ff          	cmpl   $0xffffffff,-0x10(%ebp)
41af46:	8b 7d f8             	mov    -0x8(%ebp),%edi
41af49:	74 07                	je     0x41af52
41af4b:	57                   	push   %edi
41af4c:	56                   	push   %esi
41af4d:	e8 59 01 00 00       	call   0x41b0ab
41af52:	8b 45 0c             	mov    0xc(%ebp),%eax
41af55:	83 38 ff             	cmpl   $0xffffffff,(%eax)
41af58:	74 21                	je     0x41af7b
41af5a:	8b 00                	mov    (%eax),%eax
41af5c:	89 45 f0             	mov    %eax,-0x10(%ebp)
41af5f:	8b 4d 08             	mov    0x8(%ebp),%ecx
41af62:	83 39 ff             	cmpl   $0xffffffff,(%ecx)
41af65:	74 05                	je     0x41af6c
41af67:	8b 39                	mov    (%ecx),%edi
41af69:	89 7d f8             	mov    %edi,-0x8(%ebp)
41af6c:	ff 75 ec             	push   -0x14(%ebp)
41af6f:	6a 00                	push   $0x0
41af71:	57                   	push   %edi
41af72:	50                   	push   %eax
41af73:	56                   	push   %esi
41af74:	e8 0a 00 00 00       	call   0x41af83
41af79:	eb 88                	jmp    0x41af03
41af7b:	8b 45 f0             	mov    -0x10(%ebp),%eax
41af7e:	eb df                	jmp    0x41af5f
41af80:	cc                   	int3
41af81:	cc                   	int3
41af82:	cc                   	int3
41af83:	55                   	push   %ebp
41af84:	8b ec                	mov    %esp,%ebp
41af86:	83 ec 0c             	sub    $0xc,%esp
41af89:	57                   	push   %edi
41af8a:	8b 7d 0c             	mov    0xc(%ebp),%edi
41af8d:	83 ff ff             	cmp    $0xffffffff,%edi
41af90:	0f 84 82 00 00 00    	je     0x41b018
41af96:	53                   	push   %ebx
41af97:	8b 5d 18             	mov    0x18(%ebp),%ebx
41af9a:	56                   	push   %esi
41af9b:	8b 75 14             	mov    0x14(%ebp),%esi
41af9e:	39 3d ec 16 4c 00    	cmp    %edi,0x4c16ec
41afa4:	0f 84 ae 33 06 00    	je     0x47e358
41afaa:	a1 dc 16 4c 00       	mov    0x4c16dc,%eax
41afaf:	85 c0                	test   %eax,%eax
41afb1:	0f 85 be 33 06 00    	jne    0x47e375
41afb7:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
41afbb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41afbf:	89 1d e8 16 4c 00    	mov    %ebx,0x4c16e8
41afc5:	89 3d ec 16 4c 00    	mov    %edi,0x4c16ec
41afcb:	89 35 f0 16 4c 00    	mov    %esi,0x4c16f0
41afd1:	89 7d f8             	mov    %edi,-0x8(%ebp)
41afd4:	83 fb 01             	cmp    $0x1,%ebx
41afd7:	75 64                	jne    0x41b03d
41afd9:	6a 00                	push   $0x0
41afdb:	6a 00                	push   $0x0
41afdd:	8d 45 f4             	lea    -0xc(%ebp),%eax
41afe0:	50                   	push   %eax
41afe1:	53                   	push   %ebx
41afe2:	56                   	push   %esi
41afe3:	ff 15 d0 d0 48 00    	call   *0x48d0d0
41afe9:	50                   	push   %eax
41afea:	ff 75 08             	push   0x8(%ebp)
41afed:	a3 dc 16 4c 00       	mov    %eax,0x4c16dc
41aff2:	ff 15 04 d1 48 00    	call   *0x48d104
41aff8:	80 3d e4 16 4c 00 00 	cmpb   $0x0,0x4c16e4
41afff:	a3 e0 16 4c 00       	mov    %eax,0x4c16e0
41b004:	75 10                	jne    0x41b016
41b006:	ff 75 08             	push   0x8(%ebp)
41b009:	ff 15 00 d1 48 00    	call   *0x48d100
41b00f:	c6 05 e4 16 4c 00 01 	movb   $0x1,0x4c16e4
41b016:	5e                   	pop    %esi
41b017:	5b                   	pop    %ebx
41b018:	83 7d 10 fe          	cmpl   $0xfffffffe,0x10(%ebp)
41b01c:	5f                   	pop    %edi
41b01d:	74 1a                	je     0x41b039
41b01f:	83 7d 10 ff          	cmpl   $0xffffffff,0x10(%ebp)
41b023:	74 14                	je     0x41b039
41b025:	6a 00                	push   $0x0
41b027:	ff 75 10             	push   0x10(%ebp)
41b02a:	e8 21 00 00 00       	call   0x41b050
41b02f:	50                   	push   %eax
41b030:	ff 75 08             	push   0x8(%ebp)
41b033:	ff 15 04 d1 48 00    	call   *0x48d104
41b039:	c9                   	leave
41b03a:	c2 14 00             	ret    $0x14
41b03d:	81 ce 00 00 01 00    	or     $0x10000,%esi
41b043:	eb 94                	jmp    0x41afd9
41b045:	cc                   	int3
41b046:	cc                   	int3
41b047:	cc                   	int3
41b048:	cc                   	int3
41b049:	cc                   	int3
41b04a:	cc                   	int3
41b04b:	cc                   	int3
41b04c:	cc                   	int3
41b04d:	cc                   	int3
41b04e:	cc                   	int3
41b04f:	cc                   	int3
41b050:	55                   	push   %ebp
41b051:	8b ec                	mov    %esp,%ebp
41b053:	a1 b0 16 4c 00       	mov    0x4c16b0,%eax
41b058:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b05b:	83 ec 0c             	sub    $0xc,%esp
41b05e:	8b ff                	mov    %edi,%edi
41b060:	85 c0                	test   %eax,%eax
41b062:	74 1c                	je     0x41b080
41b064:	8b 10                	mov    (%eax),%edx
41b066:	39 0a                	cmp    %ecx,(%edx)
41b068:	74 05                	je     0x41b06f
41b06a:	8b 40 04             	mov    0x4(%eax),%eax
41b06d:	eb f1                	jmp    0x41b060
41b06f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41b072:	01 4a 04             	add    %ecx,0x4(%edx)
41b075:	8b 00                	mov    (%eax),%eax
41b077:	8b 40 08             	mov    0x8(%eax),%eax
41b07a:	8b e5                	mov    %ebp,%esp
41b07c:	5d                   	pop    %ebp
41b07d:	c2 08 00             	ret    $0x8
41b080:	51                   	push   %ecx
41b081:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41b084:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
41b08b:	ff 15 3c d1 48 00    	call   *0x48d13c
41b091:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b094:	8d 45 f4             	lea    -0xc(%ebp),%eax