521f11:	74 3b                	je     0x521f4e
521f13:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
521f19:	8a 49 01             	mov    0x1(%ecx),%cl
521f1c:	3a 48 01             	cmp    0x1(%eax),%cl
521f1f:	75 26                	jne    0x521f47
521f21:	83 fa fe             	cmp    $0xfffffffe,%edx
521f24:	74 28                	je     0x521f4e
521f26:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
521f2c:	8a 49 02             	mov    0x2(%ecx),%cl
521f2f:	3a 48 02             	cmp    0x2(%eax),%cl
521f32:	75 13                	jne    0x521f47
521f34:	83 fa ff             	cmp    $0xffffffff,%edx
521f37:	74 15                	je     0x521f4e
521f39:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
521f3f:	8a 49 03             	mov    0x3(%ecx),%cl
521f42:	3a 48 03             	cmp    0x3(%eax),%cl
521f45:	74 07                	je     0x521f4e
521f47:	1b c0                	sbb    %eax,%eax
521f49:	83 c8 01             	or     $0x1,%eax
521f4c:	eb 02                	jmp    0x521f50
521f4e:	33 c0                	xor    %eax,%eax
521f50:	89 85 f0 fd ff ff    	mov    %eax,-0x210(%ebp)
521f56:	85 c0                	test   %eax,%eax
521f58:	75 25                	jne    0x521f7f
521f5a:	8b 95 f4 fd ff ff    	mov    -0x20c(%ebp),%edx
521f60:	8b 4e 10             	mov    0x10(%esi),%ecx
521f63:	8b 02                	mov    (%edx),%eax
521f65:	3b c1                	cmp    %ecx,%eax
521f67:	76 0c                	jbe    0x521f75
521f69:	c7 85 f0 fd ff ff ff 	movl   $0xffffffff,-0x210(%ebp)
521f70:	ff ff ff
521f73:	eb 0a                	jmp    0x521f7f
521f75:	1b c0                	sbb    %eax,%eax
521f77:	f7 d8                	neg    %eax
521f79:	89 85 f0 fd ff ff    	mov    %eax,-0x210(%ebp)
521f7f:	8b 45 ec             	mov    -0x14(%ebp),%eax
521f82:	83 f8 10             	cmp    $0x10,%eax
521f85:	72 3e                	jb     0x521fc5
521f87:	8b 4d d8             	mov    -0x28(%ebp),%ecx
521f8a:	40                   	inc    %eax
521f8b:	3d 00 10 00 00       	cmp    $0x1000,%eax
521f90:	72 2a                	jb     0x521fbc
521f92:	f6 c1 1f             	test   $0x1f,%cl
521f95:	0f 85 54 09 00 00    	jne    0x5228ef
521f9b:	8b 41 fc             	mov    -0x4(%ecx),%eax
521f9e:	3b c1                	cmp    %ecx,%eax
521fa0:	0f 83 49 09 00 00    	jae    0x5228ef
521fa6:	2b c8                	sub    %eax,%ecx
521fa8:	83 f9 04             	cmp    $0x4,%ecx
521fab:	0f 82 3e 09 00 00    	jb     0x5228ef
521fb1:	83 f9 23             	cmp    $0x23,%ecx
521fb4:	0f 87 35 09 00 00    	ja     0x5228ef
521fba:	8b c8                	mov    %eax,%ecx
521fbc:	51                   	push   %ecx
521fbd:	e8 cd f7 ed ff       	call   0x40178f
521fc2:	83 c4 04             	add    $0x4,%esp
521fc5:	83 bd f0 fd ff ff 00 	cmpl   $0x0,-0x210(%ebp)
521fcc:	74 1d                	je     0x521feb
521fce:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
521fd4:	81 c6 ac 01 00 00    	add    $0x1ac,%esi
521fda:	3b b0 c0 05 00 00    	cmp    0x5c0(%eax),%esi
521fe0:	0f 85 9e fe ff ff    	jne    0x521e84
521fe6:	e9 97 00 00 00       	jmp    0x522082
521feb:	56                   	push   %esi
521fec:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
521ff2:	e8 17 61 f1 ff       	call   0x43810e
521ff7:	8d 8e 9c 00 00 00    	lea    0x9c(%esi),%ecx
521ffd:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
522003:	3b c1                	cmp    %ecx,%eax
522005:	74 7b                	je     0x522082
522007:	8b 81 0c 01 00 00    	mov    0x10c(%ecx),%eax
52200d:	89 85 f0 fd ff ff    	mov    %eax,-0x210(%ebp)
522013:	3d 04 01 00 00       	cmp    $0x104,%eax
522018:	76 50                	jbe    0x52206a
52201a:	3b 45 a4             	cmp    -0x5c(%ebp),%eax
52201d:	76 4b                	jbe    0x52206a
52201f:	50                   	push   %eax
522020:	e8 72 37 f1 ff       	call   0x435797
522025:	ff 75 a4             	push   -0x5c(%ebp)
522028:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
52202e:	ff 75 a0             	push   -0x60(%ebp)
522031:	50                   	push   %eax
522032:	e8 4b 26 ef ff       	call   0x414682
522037:	8b 45 a0             	mov    -0x60(%ebp),%eax
52203a:	8d 8d 9c fe ff ff    	lea    -0x164(%ebp),%ecx
522040:	83 c4 10             	add    $0x10,%esp
522043:	3b c1                	cmp    %ecx,%eax
522045:	74 09                	je     0x522050
522047:	50                   	push   %eax
522048:	e8 c5 c5 f1 ff       	call   0x43e612
52204d:	83 c4 04             	add    $0x4,%esp
522050:	8b 95 f4 fd ff ff    	mov    -0x20c(%ebp),%edx
522056:	8d 8e 9c 00 00 00    	lea    0x9c(%esi),%ecx
52205c:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
522062:	89 55 a0             	mov    %edx,-0x60(%ebp)
522065:	89 45 a4             	mov    %eax,-0x5c(%ebp)
522068:	eb 03                	jmp    0x52206d
52206a:	8b 55 a0             	mov    -0x60(%ebp),%edx
52206d:	ff b1 0c 01 00 00    	push   0x10c(%ecx)
522073:	ff b1 08 01 00 00    	push   0x108(%ecx)
522079:	52                   	push   %edx
52207a:	e8 03 26 ef ff       	call   0x414682
52207f:	83 c4 0c             	add    $0xc,%esp
522082:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
522089:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
522090:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
522094:	8b 8d d8 fd ff ff    	mov    -0x228(%ebp),%ecx
52209a:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
5220a0:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5220a4:	3b c1                	cmp    %ecx,%eax
5220a6:	74 78                	je     0x522120
5220a8:	8b 81 0c 01 00 00    	mov    0x10c(%ecx),%eax
5220ae:	89 85 f0 fd ff ff    	mov    %eax,-0x210(%ebp)
5220b4:	3d 04 01 00 00       	cmp    $0x104,%eax
5220b9:	76 4e                	jbe    0x522109
5220bb:	3b 45 a4             	cmp    -0x5c(%ebp),%eax
5220be:	76 49                	jbe    0x522109
5220c0:	50                   	push   %eax
5220c1:	e8 d1 36 f1 ff       	call   0x435797
5220c6:	ff 75 a4             	push   -0x5c(%ebp)
5220c9:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
5220cf:	ff 75 a0             	push   -0x60(%ebp)
5220d2:	50                   	push   %eax
5220d3:	e8 aa 25 ef ff       	call   0x414682
5220d8:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5220db:	8d 85 9c fe ff ff    	lea    -0x164(%ebp),%eax
5220e1:	83 c4 10             	add    $0x10,%esp
5220e4:	3b c8                	cmp    %eax,%ecx
5220e6:	74 09                	je     0x5220f1
5220e8:	51                   	push   %ecx
5220e9:	e8 24 c5 f1 ff       	call   0x43e612
5220ee:	83 c4 04             	add    $0x4,%esp
5220f1:	8b 85 f4 fd ff ff    	mov    -0x20c(%ebp),%eax
5220f7:	8b 8d d8 fd ff ff    	mov    -0x228(%ebp),%ecx
5220fd:	89 45 a0             	mov    %eax,-0x60(%ebp)
522100:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
522106:	89 45 a4             	mov    %eax,-0x5c(%ebp)
522109:	ff b1 0c 01 00 00    	push   0x10c(%ecx)
52210f:	ff b1 08 01 00 00    	push   0x108(%ecx)
522115:	ff 75 a0             	push   -0x60(%ebp)
522118:	e8 65 25 ef ff       	call   0x414682
52211d:	83 c4 0c             	add    $0xc,%esp
522120:	8b 0f                	mov    (%edi),%ecx
522122:	8d 55 d8             	lea    -0x28(%ebp),%edx
522125:	52                   	push   %edx
522126:	8b 01                	mov    (%ecx),%eax
522128:	ff 10                	call   *(%eax)
52212a:	8b c8                	mov    %eax,%ecx
52212c:	89 8d f4 fd ff ff    	mov    %ecx,-0x20c(%ebp)
522132:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
522138:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
52213c:	3b c1                	cmp    %ecx,%eax
52213e:	0f 84 cd 00 00 00    	je     0x522211
522144:	8b 85 10 fe ff ff    	mov    -0x1f0(%ebp),%eax
52214a:	83 f8 10             	cmp    $0x10,%eax
52214d:	72 47                	jb     0x522196
52214f:	8b 8d fc fd ff ff    	mov    -0x204(%ebp),%ecx
522155:	40                   	inc    %eax
522156:	3d 00 10 00 00       	cmp    $0x1000,%eax
52215b:	72 2a                	jb     0x522187
52215d:	f6 c1 1f             	test   $0x1f,%cl
522160:	0f 85 89 07 00 00    	jne    0x5228ef
522166:	8b 41 fc             	mov    -0x4(%ecx),%eax
522169:	3b c1                	cmp    %ecx,%eax
52216b:	0f 83 7e 07 00 00    	jae    0x5228ef
522171:	2b c8                	sub    %eax,%ecx
522173:	83 f9 04             	cmp    $0x4,%ecx
522176:	0f 82 73 07 00 00    	jb     0x5228ef
52217c:	83 f9 23             	cmp    $0x23,%ecx
52217f:	0f 87 6a 07 00 00    	ja     0x5228ef
522185:	8b c8                	mov    %eax,%ecx
522187:	51                   	push   %ecx
522188:	e8 02 f6 ed ff       	call   0x40178f
52218d:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
522193:	83 c4 04             	add    $0x4,%esp
522196:	c7 85 10 fe ff ff 0f 	movl   $0xf,-0x1f0(%ebp)
52219d:	00 00 00
5221a0:	c7 85 0c fe ff ff 00 	movl   $0x0,-0x1f4(%ebp)
5221a7:	00 00 00
5221aa:	c6 85 fc fd ff ff 00 	movb   $0x0,-0x204(%ebp)
5221b1:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5221b5:	73 21                	jae    0x5221d8
5221b7:	8b 41 10             	mov    0x10(%ecx),%eax
5221ba:	83 c0 01             	add    $0x1,%eax
5221bd:	74 27                	je     0x5221e6
5221bf:	50                   	push   %eax
5221c0:	51                   	push   %ecx
5221c1:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
5221c7:	50                   	push   %eax
5221c8:	e8 b5 c9 ef ff       	call   0x41eb82
5221cd:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
5221d3:	83 c4 0c             	add    $0xc,%esp
5221d6:	eb 0e                	jmp    0x5221e6
5221d8:	8b 01                	mov    (%ecx),%eax
5221da:	89 85 fc fd ff ff    	mov    %eax,-0x204(%ebp)
5221e0:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
5221e6:	8b 41 10             	mov    0x10(%ecx),%eax
5221e9:	89 85 0c fe ff ff    	mov    %eax,-0x1f4(%ebp)
5221ef:	8b 41 14             	mov    0x14(%ecx),%eax
5221f2:	89 85 10 fe ff ff    	mov    %eax,-0x1f0(%ebp)
5221f8:	c7 41 14 0f 00 00 00 	movl   $0xf,0x14(%ecx)
5221ff:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
522203:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
52220a:	72 02                	jb     0x52220e
52220c:	8b 09                	mov    (%ecx),%ecx
52220e:	c6 01 00             	movb   $0x0,(%ecx)
522211:	8b 45 ec             	mov    -0x14(%ebp),%eax
522214:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
522218:	83 f8 10             	cmp    $0x10,%eax
52221b:	72 3e                	jb     0x52225b
52221d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
522220:	40                   	inc    %eax
522221:	3d 00 10 00 00       	cmp    $0x1000,%eax
522226:	72 2a                	jb     0x522252
522228:	f6 c1 1f             	test   $0x1f,%cl
52222b:	0f 85 be 06 00 00    	jne    0x5228ef
522231:	8b 41 fc             	mov    -0x4(%ecx),%eax
522234:	3b c1                	cmp    %ecx,%eax
522236:	0f 83 b3 06 00 00    	jae    0x5228ef
52223c:	2b c8                	sub    %eax,%ecx
52223e:	83 f9 04             	cmp    $0x4,%ecx
522241:	0f 82 a8 06 00 00    	jb     0x5228ef
522247:	83 f9 23             	cmp    $0x23,%ecx
52224a:	0f 87 9f 06 00 00    	ja     0x5228ef
522250:	8b c8                	mov    %eax,%ecx
522252:	51                   	push   %ecx
522253:	e8 37 f5 ed ff       	call   0x40178f
522258:	83 c4 04             	add    $0x4,%esp
52225b:	6a 08                	push   $0x8
52225d:	68 e8 d1 bd 00       	push   $0xbdd1e8
522262:	8d 4d c0             	lea    -0x40(%ebp),%ecx
522265:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
52226c:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
522273:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
522277:	e8 15 24 ef ff       	call   0x414691
52227c:	8b 0f                	mov    (%edi),%ecx
52227e:	8d 55 d8             	lea    -0x28(%ebp),%edx
522281:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
522287:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
52228d:	52                   	push   %edx
52228e:	8b 01                	mov    (%ecx),%eax
522290:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
522294:	ff 10                	call   *(%eax)
522296:	8b d0                	mov    %eax,%edx
522298:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
52229e:	8d 5d a8             	lea    -0x58(%ebp),%ebx
5222a1:	53                   	push   %ebx
5222a2:	8d 5d c0             	lea    -0x40(%ebp),%ebx
5222a5:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
5222a9:	53                   	push   %ebx
5222aa:	8b 01                	mov    (%ecx),%eax
5222ac:	52                   	push   %edx
5222ad:	8b 40 18             	mov    0x18(%eax),%eax
5222b0:	ff d0                	call   *%eax
5222b2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5222b5:	88 85 fb fd ff ff    	mov    %al,-0x205(%ebp)
5222bb:	83 f9 10             	cmp    $0x10,%ecx
5222be:	72 0f                	jb     0x5222cf
5222c0:	41                   	inc    %ecx
5222c1:	6a 01                	push   $0x1
5222c3:	51                   	push   %ecx
5222c4:	ff 75 d8             	push   -0x28(%ebp)
5222c7:	e8 8a 9f ef ff       	call   0x41c256
5222cc:	83 c4 0c             	add    $0xc,%esp
5222cf:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5222d2:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
5222d9:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5222e0:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
5222e4:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5222e8:	83 f8 10             	cmp    $0x10,%eax
5222eb:	72 0f                	jb     0x5222fc
5222ed:	40                   	inc    %eax
5222ee:	6a 01                	push   $0x1
5222f0:	50                   	push   %eax
5222f1:	ff 75 c0             	push   -0x40(%ebp)
5222f4:	e8 5d 9f ef ff       	call   0x41c256
5222f9:	83 c4 0c             	add    $0xc,%esp
5222fc:	80 bd fb fd ff ff 00 	cmpb   $0x0,-0x205(%ebp)
522303:	74 13                	je     0x522318
522305:	6a ff                	push   $0xffffffff
522307:	6a 00                	push   $0x0
522309:	8d 45 a8             	lea    -0x58(%ebp),%eax
52230c:	50                   	push   %eax
52230d:	8d 8d 14 fe ff ff    	lea    -0x1ec(%ebp),%ecx
522313:	e8 e7 bc f1 ff       	call   0x43dfff
522318:	6a 06                	push   $0x6
52231a:	68 f4 d1 bd 00       	push   $0xbdd1f4
52231f:	8d 4d c0             	lea    -0x40(%ebp),%ecx
522322:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
522329:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
522330:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
522334:	e8 58 23 ef ff       	call   0x414691
522339:	8b 0f                	mov    (%edi),%ecx
52233b:	8d 55 d8             	lea    -0x28(%ebp),%edx
52233e:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
522344:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
52234a:	52                   	push   %edx
52234b:	8b 01                	mov    (%ecx),%eax
52234d:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
522351:	ff 10                	call   *(%eax)
522353:	8b d0                	mov    %eax,%edx
522355:	8b 8d f4 fd ff ff    	mov    -0x20c(%ebp),%ecx
52235b:	8d 5d a8             	lea    -0x58(%ebp),%ebx
52235e:	53                   	push   %ebx
52235f:	8d 5d c0             	lea    -0x40(%ebp),%ebx
522362:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
522366:	53                   	push   %ebx
522367:	8b 01                	mov    (%ecx),%eax
522369:	52                   	push   %edx
52236a:	8b 40 18             	mov    0x18(%eax),%eax
52236d:	ff d0                	call   *%eax
52236f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
522372:	88 85 fb fd ff ff    	mov    %al,-0x205(%ebp)
522378:	83 f9 10             	cmp    $0x10,%ecx
52237b:	72 0f                	jb     0x52238c
52237d:	41                   	inc    %ecx
52237e:	6a 01                	push   $0x1
522380:	51                   	push   %ecx
522381:	ff 75 d8             	push   -0x28(%ebp)
522384:	e8 cd 9e ef ff       	call   0x41c256
522389:	83 c4 0c             	add    $0xc,%esp
52238c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
52238f:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
522396:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
52239d:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
5223a1:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5223a5:	83 f8 10             	cmp    $0x10,%eax
5223a8:	72 0f                	jb     0x5223b9
5223aa:	40                   	inc    %eax
5223ab:	6a 01                	push   $0x1
5223ad:	50                   	push   %eax
5223ae:	ff 75 c0             	push   -0x40(%ebp)
5223b1:	e8 a0 9e ef ff       	call   0x41c256
5223b6:	83 c4 0c             	add    $0xc,%esp
5223b9:	80 bd fb fd ff ff 00 	cmpb   $0x0,-0x205(%ebp)
5223c0:	74 13                	je     0x5223d5
5223c2:	6a ff                	push   $0xffffffff
5223c4:	6a 00                	push   $0x0
5223c6:	8d 45 a8             	lea    -0x58(%ebp),%eax
5223c9:	50                   	push   %eax
5223ca:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
5223d0:	e8 2a bc f1 ff       	call   0x43dfff
5223d5:	6a 08                	push   $0x8
5223d7:	68 fc d1 bd 00       	push   $0xbdd1fc
5223dc:	8d 4d c0             	lea    -0x40(%ebp),%ecx
5223df:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
5223e6:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
5223ed:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
5223f1:	e8 9b 22 ef ff       	call   0x414691
5223f6:	8b 0f                	mov    (%edi),%ecx