522e54:	33 c5                	xor    %ebp,%eax
522e56:	89 85 04 04 00 00    	mov    %eax,0x404(%ebp)
522e5c:	53                   	push   %ebx
522e5d:	56                   	push   %esi
522e5e:	57                   	push   %edi
522e5f:	50                   	push   %eax
522e60:	8d 45 f4             	lea    -0xc(%ebp),%eax
522e63:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
522e69:	8b f9                	mov    %ecx,%edi
522e6b:	89 7d dc             	mov    %edi,-0x24(%ebp)
522e6e:	8b 9d 10 04 00 00    	mov    0x410(%ebp),%ebx
522e74:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
522e77:	e8 9d 57 f0 ff       	call   0x428619
522e7c:	8b b7 bc 05 00 00    	mov    0x5bc(%edi),%esi
522e82:	3b b7 c0 05 00 00    	cmp    0x5c0(%edi),%esi
522e88:	0f 84 f2 05 00 00    	je     0x523480
522e8e:	8b 43 10             	mov    0x10(%ebx),%eax
522e91:	89 45 f0             	mov    %eax,-0x10(%ebp)
522e94:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
522e98:	72 04                	jb     0x522e9e
522e9a:	8b 3b                	mov    (%ebx),%edi
522e9c:	eb 02                	jmp    0x522ea0
522e9e:	8b fb                	mov    %ebx,%edi
522ea0:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
522ea4:	72 04                	jb     0x522eaa
522ea6:	8b 16                	mov    (%esi),%edx
522ea8:	eb 02                	jmp    0x522eac
522eaa:	8b d6                	mov    %esi,%edx
522eac:	8b 5e 10             	mov    0x10(%esi),%ebx
522eaf:	8b c8                	mov    %eax,%ecx
522eb1:	3b d8                	cmp    %eax,%ebx
522eb3:	0f 42 cb             	cmovb  %ebx,%ecx
522eb6:	85 c9                	test   %ecx,%ecx
522eb8:	74 59                	je     0x522f13
522eba:	83 e9 04             	sub    $0x4,%ecx
522ebd:	72 12                	jb     0x522ed1
522ebf:	90                   	nop
522ec0:	8b 02                	mov    (%edx),%eax
522ec2:	3b 07                	cmp    (%edi),%eax
522ec4:	75 10                	jne    0x522ed6
522ec6:	83 c2 04             	add    $0x4,%edx
522ec9:	83 c7 04             	add    $0x4,%edi
522ecc:	83 e9 04             	sub    $0x4,%ecx
522ecf:	73 ef                	jae    0x522ec0
522ed1:	83 f9 fc             	cmp    $0xfffffffc,%ecx
522ed4:	74 34                	je     0x522f0a
522ed6:	8a 02                	mov    (%edx),%al
522ed8:	3a 07                	cmp    (%edi),%al
522eda:	75 27                	jne    0x522f03
522edc:	83 f9 fd             	cmp    $0xfffffffd,%ecx
522edf:	74 29                	je     0x522f0a
522ee1:	8a 42 01             	mov    0x1(%edx),%al
522ee4:	3a 47 01             	cmp    0x1(%edi),%al
522ee7:	75 1a                	jne    0x522f03
522ee9:	83 f9 fe             	cmp    $0xfffffffe,%ecx
522eec:	74 1c                	je     0x522f0a
522eee:	8a 42 02             	mov    0x2(%edx),%al
522ef1:	3a 47 02             	cmp    0x2(%edi),%al
522ef4:	75 0d                	jne    0x522f03
522ef6:	83 f9 ff             	cmp    $0xffffffff,%ecx
522ef9:	74 0f                	je     0x522f0a
522efb:	8a 42 03             	mov    0x3(%edx),%al
522efe:	3a 47 03             	cmp    0x3(%edi),%al
522f01:	74 07                	je     0x522f0a
522f03:	1b c0                	sbb    %eax,%eax
522f05:	83 c8 01             	or     $0x1,%eax
522f08:	eb 02                	jmp    0x522f0c
522f0a:	33 c0                	xor    %eax,%eax
522f0c:	85 c0                	test   %eax,%eax
522f0e:	8b 45 f0             	mov    -0x10(%ebp),%eax
522f11:	75 06                	jne    0x522f19
522f13:	3b d8                	cmp    %eax,%ebx
522f15:	72 02                	jb     0x522f19
522f17:	76 1d                	jbe    0x522f36
522f19:	8b 7d dc             	mov    -0x24(%ebp),%edi
522f1c:	81 c6 ac 01 00 00    	add    $0x1ac,%esi
522f22:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
522f25:	3b b7 c0 05 00 00    	cmp    0x5c0(%edi),%esi
522f2b:	0f 84 4f 05 00 00    	je     0x523480
522f31:	e9 5e ff ff ff       	jmp    0x522e94
522f36:	8a 86 99 00 00 00    	mov    0x99(%esi),%al
522f3c:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
522f3f:	88 45 ee             	mov    %al,-0x12(%ebp)
522f42:	84 c0                	test   %al,%al
522f44:	0f 85 9e 03 00 00    	jne    0x5232e8
522f4a:	38 83 99 00 00 00    	cmp    %al,0x99(%ebx)
522f50:	8d 56 18             	lea    0x18(%esi),%edx
522f53:	8d 4b 18             	lea    0x18(%ebx),%ecx
522f56:	0f 95 45 ef          	setne  -0x11(%ebp)
522f5a:	8d 7a 10             	lea    0x10(%edx),%edi
522f5d:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
522f61:	72 02                	jb     0x522f65
522f63:	8b 12                	mov    (%edx),%edx
522f65:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
522f69:	8d 41 10             	lea    0x10(%ecx),%eax
522f6c:	89 45 f0             	mov    %eax,-0x10(%ebp)
522f6f:	72 02                	jb     0x522f73
522f71:	8b 09                	mov    (%ecx),%ecx
522f73:	8b 5d f0             	mov    -0x10(%ebp),%ebx
522f76:	8b 3f                	mov    (%edi),%edi
522f78:	8b c7                	mov    %edi,%eax
522f7a:	39 3b                	cmp    %edi,(%ebx)
522f7c:	0f 42 03             	cmovb  (%ebx),%eax
522f7f:	50                   	push   %eax
522f80:	52                   	push   %edx
522f81:	51                   	push   %ecx
522f82:	e8 76 f4 f0 ff       	call   0x4323fd
522f87:	83 c4 0c             	add    $0xc,%esp
522f8a:	85 c0                	test   %eax,%eax
522f8c:	75 10                	jne    0x522f9e
522f8e:	8b cb                	mov    %ebx,%ecx
522f90:	8b 01                	mov    (%ecx),%eax
522f92:	3b c7                	cmp    %edi,%eax
522f94:	72 08                	jb     0x522f9e
522f96:	77 06                	ja     0x522f9e
522f98:	33 c0                	xor    %eax,%eax
522f9a:	85 c0                	test   %eax,%eax
522f9c:	74 04                	je     0x522fa2
522f9e:	c6 45 ef 01          	movb   $0x1,-0x11(%ebp)
522fa2:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
522fa5:	8d 56 30             	lea    0x30(%esi),%edx
522fa8:	83 c1 30             	add    $0x30,%ecx
522fab:	8d 7a 10             	lea    0x10(%edx),%edi
522fae:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
522fb2:	72 02                	jb     0x522fb6
522fb4:	8b 12                	mov    (%edx),%edx
522fb6:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
522fba:	8d 41 10             	lea    0x10(%ecx),%eax
522fbd:	89 45 f0             	mov    %eax,-0x10(%ebp)
522fc0:	72 02                	jb     0x522fc4
522fc2:	8b 09                	mov    (%ecx),%ecx
522fc4:	8b 5d f0             	mov    -0x10(%ebp),%ebx
522fc7:	8b 3f                	mov    (%edi),%edi
522fc9:	8b c7                	mov    %edi,%eax
522fcb:	39 3b                	cmp    %edi,(%ebx)
522fcd:	0f 42 03             	cmovb  (%ebx),%eax
522fd0:	50                   	push   %eax
522fd1:	52                   	push   %edx
522fd2:	51                   	push   %ecx
522fd3:	e8 25 f4 f0 ff       	call   0x4323fd
522fd8:	8b c8                	mov    %eax,%ecx
522fda:	83 c4 0c             	add    $0xc,%esp
522fdd:	85 c9                	test   %ecx,%ecx
522fdf:	75 11                	jne    0x522ff2
522fe1:	8b cb                	mov    %ebx,%ecx
522fe3:	8b 01                	mov    (%ecx),%eax
522fe5:	3b f8                	cmp    %eax,%edi
522fe7:	76 05                	jbe    0x522fee
522fe9:	83 c9 ff             	or     $0xffffffff,%ecx
522fec:	eb 04                	jmp    0x522ff2
522fee:	1b c9                	sbb    %ecx,%ecx
522ff0:	f7 d9                	neg    %ecx
522ff2:	0f b6 45 ef          	movzbl -0x11(%ebp),%eax
522ff6:	85 c9                	test   %ecx,%ecx
522ff8:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
522ffb:	ba 01 00 00 00       	mov    $0x1,%edx
523000:	0f 44 d0             	cmove  %eax,%edx
523003:	8d 46 48             	lea    0x48(%esi),%eax
523006:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
52300a:	8d 78 10             	lea    0x10(%eax),%edi
52300d:	89 55 e0             	mov    %edx,-0x20(%ebp)
523010:	89 45 f0             	mov    %eax,-0x10(%ebp)
523013:	8d 4b 48             	lea    0x48(%ebx),%ecx
523016:	72 05                	jb     0x52301d
523018:	8b 00                	mov    (%eax),%eax
52301a:	89 45 f0             	mov    %eax,-0x10(%ebp)
52301d:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
523021:	8d 41 10             	lea    0x10(%ecx),%eax
523024:	89 45 e8             	mov    %eax,-0x18(%ebp)
523027:	72 02                	jb     0x52302b
523029:	8b 09                	mov    (%ecx),%ecx
52302b:	8b 10                	mov    (%eax),%edx
52302d:	8b 3f                	mov    (%edi),%edi
52302f:	3b d7                	cmp    %edi,%edx
523031:	8b c7                	mov    %edi,%eax
523033:	0f 42 c2             	cmovb  %edx,%eax
523036:	50                   	push   %eax
523037:	ff 75 f0             	push   -0x10(%ebp)
52303a:	51                   	push   %ecx
52303b:	e8 bd f3 f0 ff       	call   0x4323fd
523040:	83 c4 0c             	add    $0xc,%esp
523043:	85 c0                	test   %eax,%eax
523045:	75 11                	jne    0x523058
523047:	8b 4d e8             	mov    -0x18(%ebp),%ecx
52304a:	8b 01                	mov    (%ecx),%eax
52304c:	3b c7                	cmp    %edi,%eax
52304e:	72 08                	jb     0x523058
523050:	77 06                	ja     0x523058
523052:	33 c0                	xor    %eax,%eax
523054:	85 c0                	test   %eax,%eax
523056:	74 04                	je     0x52305c
523058:	c6 45 e0 01          	movb   $0x1,-0x20(%ebp)
52305c:	83 7e 74 10          	cmpl   $0x10,0x74(%esi)
523060:	8d 56 60             	lea    0x60(%esi),%edx
523063:	8d 4b 60             	lea    0x60(%ebx),%ecx
523066:	8d 7a 10             	lea    0x10(%edx),%edi
523069:	72 02                	jb     0x52306d
52306b:	8b 12                	mov    (%edx),%edx
52306d:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
523071:	8d 41 10             	lea    0x10(%ecx),%eax
523074:	89 45 f0             	mov    %eax,-0x10(%ebp)
523077:	72 02                	jb     0x52307b
523079:	8b 09                	mov    (%ecx),%ecx
52307b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
52307e:	8b 3f                	mov    (%edi),%edi
523080:	8b c7                	mov    %edi,%eax
523082:	39 3b                	cmp    %edi,(%ebx)
523084:	0f 42 03             	cmovb  (%ebx),%eax
523087:	50                   	push   %eax
523088:	52                   	push   %edx
523089:	51                   	push   %ecx
52308a:	e8 6e f3 f0 ff       	call   0x4323fd
52308f:	8b c8                	mov    %eax,%ecx
523091:	83 c4 0c             	add    $0xc,%esp
523094:	85 c9                	test   %ecx,%ecx
523096:	75 11                	jne    0x5230a9
523098:	8b cb                	mov    %ebx,%ecx
52309a:	8b 01                	mov    (%ecx),%eax
52309c:	3b f8                	cmp    %eax,%edi
52309e:	76 05                	jbe    0x5230a5
5230a0:	83 c9 ff             	or     $0xffffffff,%ecx
5230a3:	eb 04                	jmp    0x5230a9
5230a5:	1b c9                	sbb    %ecx,%ecx
5230a7:	f7 d9                	neg    %ecx
5230a9:	8b 45 e0             	mov    -0x20(%ebp),%eax
5230ac:	85 c9                	test   %ecx,%ecx
5230ae:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5230b1:	ba 01 00 00 00       	mov    $0x1,%edx
5230b6:	0f b6 c0             	movzbl %al,%eax
5230b9:	0f 44 d0             	cmove  %eax,%edx
5230bc:	8d 46 78             	lea    0x78(%esi),%eax
5230bf:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
5230c3:	8d 78 10             	lea    0x10(%eax),%edi
5230c6:	89 55 f0             	mov    %edx,-0x10(%ebp)
5230c9:	8d 4b 78             	lea    0x78(%ebx),%ecx
5230cc:	89 45 e0             	mov    %eax,-0x20(%ebp)
5230cf:	72 05                	jb     0x5230d6
5230d1:	8b 00                	mov    (%eax),%eax
5230d3:	89 45 e0             	mov    %eax,-0x20(%ebp)
5230d6:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5230da:	8d 41 10             	lea    0x10(%ecx),%eax
5230dd:	89 45 e8             	mov    %eax,-0x18(%ebp)
5230e0:	72 02                	jb     0x5230e4
5230e2:	8b 09                	mov    (%ecx),%ecx
5230e4:	8b 10                	mov    (%eax),%edx
5230e6:	8b 3f                	mov    (%edi),%edi
5230e8:	3b d7                	cmp    %edi,%edx
5230ea:	8b c7                	mov    %edi,%eax
5230ec:	0f 42 c2             	cmovb  %edx,%eax
5230ef:	50                   	push   %eax
5230f0:	ff 75 e0             	push   -0x20(%ebp)
5230f3:	51                   	push   %ecx
5230f4:	e8 04 f3 f0 ff       	call   0x4323fd
5230f9:	83 c4 0c             	add    $0xc,%esp
5230fc:	85 c0                	test   %eax,%eax
5230fe:	75 11                	jne    0x523111
523100:	8b 4d e8             	mov    -0x18(%ebp),%ecx
523103:	8b 01                	mov    (%ecx),%eax
523105:	3b c7                	cmp    %edi,%eax
523107:	72 08                	jb     0x523111
523109:	77 06                	ja     0x523111
52310b:	33 c0                	xor    %eax,%eax
52310d:	85 c0                	test   %eax,%eax
52310f:	74 04                	je     0x523115
523111:	b0 01                	mov    $0x1,%al
523113:	eb 03                	jmp    0x523118
523115:	8b 45 f0             	mov    -0x10(%ebp),%eax
523118:	8b 8b 90 00 00 00    	mov    0x90(%ebx),%ecx
52311e:	3b 8e 90 00 00 00    	cmp    0x90(%esi),%ecx
523124:	b9 01 00 00 00       	mov    $0x1,%ecx
523129:	0f b6 c0             	movzbl %al,%eax
52312c:	0f 44 c8             	cmove  %eax,%ecx
52312f:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
523135:	3b 86 94 00 00 00    	cmp    0x94(%esi),%eax
52313b:	75 08                	jne    0x523145
52313d:	84 c9                	test   %cl,%cl
52313f:	0f 84 a3 01 00 00    	je     0x5232e8
523145:	6a 5a                	push   $0x5a
523147:	68 70 d2 bd 00       	push   $0xbdd270
52314c:	8d 8d d4 03 00 00    	lea    0x3d4(%ebp),%ecx
523152:	c7 85 e8 03 00 00 0f 	movl   $0xf,0x3e8(%ebp)
523159:	00 00 00
52315c:	c7 85 e4 03 00 00 00 	movl   $0x0,0x3e4(%ebp)
523163:	00 00 00
523166:	c6 85 d4 03 00 00 00 	movb   $0x0,0x3d4(%ebp)
52316d:	e8 1f 15 ef ff       	call   0x414691
523172:	6a 0f                	push   $0xf
523174:	68 38 d3 bd 00       	push   $0xbdd338
523179:	8d 8d bc 03 00 00    	lea    0x3bc(%ebp),%ecx
52317f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
523186:	c7 85 d0 03 00 00 0f 	movl   $0xf,0x3d0(%ebp)
52318d:	00 00 00
523190:	c7 85 cc 03 00 00 00 	movl   $0x0,0x3cc(%ebp)
523197:	00 00 00
52319a:	c6 85 bc 03 00 00 00 	movb   $0x0,0x3bc(%ebp)
5231a1:	e8 eb 14 ef ff       	call   0x414691
5231a6:	6a 03                	push   $0x3
5231a8:	68 4c d3 bd 00       	push   $0xbdd34c
5231ad:	8d 8d a4 03 00 00    	lea    0x3a4(%ebp),%ecx
5231b3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5231b7:	c7 85 b8 03 00 00 0f 	movl   $0xf,0x3b8(%ebp)
5231be:	00 00 00
5231c1:	c7 85 b4 03 00 00 00 	movl   $0x0,0x3b4(%ebp)
5231c8:	00 00 00
5231cb:	c6 85 a4 03 00 00 00 	movb   $0x0,0x3a4(%ebp)
5231d2:	e8 ba 14 ef ff       	call   0x414691
5231d7:	6a 31                	push   $0x31
5231d9:	68 50 d3 bd 00       	push   $0xbdd350
5231de:	8d 8d ec 03 00 00    	lea    0x3ec(%ebp),%ecx
5231e4:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5231e8:	c7 85 00 04 00 00 0f 	movl   $0xf,0x400(%ebp)
5231ef:	00 00 00
5231f2:	c7 85 fc 03 00 00 00 	movl   $0x0,0x3fc(%ebp)
5231f9:	00 00 00
5231fc:	c6 85 ec 03 00 00 00 	movb   $0x0,0x3ec(%ebp)
523203:	e8 89 14 ef ff       	call   0x414691
523208:	68 e6 00 00 00       	push   $0xe6
52320d:	8d 85 d4 03 00 00    	lea    0x3d4(%ebp),%eax
523213:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
523217:	50                   	push   %eax
523218:	8d 85 bc 03 00 00    	lea    0x3bc(%ebp),%eax
52321e:	50                   	push   %eax
52321f:	8d 8d 58 03 00 00    	lea    0x358(%ebp),%ecx
523225:	e8 73 98 f0 ff       	call   0x42ca9d
52322a:	8b f0                	mov    %eax,%esi
52322c:	6a 00                	push   $0x0
52322e:	6a 00                	push   $0x0
523230:	8d 4d bc             	lea    -0x44(%ebp),%ecx
523233:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
523237:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
52323e:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
523245:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
52324c:	e8 31 be ef ff       	call   0x41f082
523251:	89 45 bc             	mov    %eax,-0x44(%ebp)
523254:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
52325b:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
523262:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
523269:	6a 08                	push   $0x8
52326b:	8d 4d b8             	lea    -0x48(%ebp),%ecx
52326e:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
523272:	c7 45 b8 00 00 80 3f 	movl   $0x3f800000,-0x48(%ebp)
523279:	e8 d1 55 ef ff       	call   0x41884f
52327e:	8d 85 a4 03 00 00    	lea    0x3a4(%ebp),%eax
523284:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
523288:	50                   	push   %eax
523289:	8d 45 e8             	lea    -0x18(%ebp),%eax
52328c:	50                   	push   %eax
52328d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
523290:	e8 99 ac f0 ff       	call   0x42df2e
523295:	8b 45 e8             	mov    -0x18(%ebp),%eax