519fc3:	e8 4a 46 f2 ff       	call   0x43e612
519fc8:	83 c4 04             	add    $0x4,%esp
519fcb:	8b 85 a0 fa ff ff    	mov    -0x560(%ebp),%eax
519fd1:	8b 95 a4 fa ff ff    	mov    -0x55c(%ebp),%edx
519fd7:	89 85 bc fc ff ff    	mov    %eax,-0x344(%ebp)
519fdd:	89 95 c0 fc ff ff    	mov    %edx,-0x340(%ebp)
519fe3:	eb 06                	jmp    0x519feb
519fe5:	8b 85 a0 fa ff ff    	mov    -0x560(%ebp),%eax
519feb:	ff b5 90 fa ff ff    	push   -0x570(%ebp)
519ff1:	52                   	push   %edx
519ff2:	50                   	push   %eax
519ff3:	e8 99 58 f2 ff       	call   0x43f891
519ff8:	8b 8d cc fd ff ff    	mov    -0x234(%ebp),%ecx
519ffe:	83 c4 0c             	add    $0xc,%esp
51a001:	8b 85 bc fc ff ff    	mov    -0x344(%ebp),%eax
51a007:	c7 85 b4 fb ff ff 04 	movl   $0xbd1d04,-0x44c(%ebp)
51a00e:	1d bd 00
51a011:	51                   	push   %ecx
51a012:	50                   	push   %eax
51a013:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
51a017:	e8 bf 94 ee ff       	call   0x4034db
51a01c:	83 c4 08             	add    $0x8,%esp
51a01f:	8d 8d b4 fb ff ff    	lea    -0x44c(%ebp),%ecx
51a025:	85 c0                	test   %eax,%eax
51a027:	0f 94 85 ab fa ff ff 	sete   -0x555(%ebp)
51a02e:	e8 c5 44 ef ff       	call   0x40e4f8
51a033:	8d 8d c4 fc ff ff    	lea    -0x33c(%ebp),%ecx
51a039:	e8 ba 44 ef ff       	call   0x40e4f8
51a03e:	8b 45 ec             	mov    -0x14(%ebp),%eax
51a041:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
51a045:	83 f8 10             	cmp    $0x10,%eax
51a048:	72 3e                	jb     0x51a088
51a04a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
51a04d:	40                   	inc    %eax
51a04e:	3d 00 10 00 00       	cmp    $0x1000,%eax
51a053:	72 2a                	jb     0x51a07f
51a055:	f6 c1 1f             	test   $0x1f,%cl
51a058:	0f 85 4c 0a 00 00    	jne    0x51aaaa
51a05e:	8b 41 fc             	mov    -0x4(%ecx),%eax
51a061:	3b c1                	cmp    %ecx,%eax
51a063:	0f 83 41 0a 00 00    	jae    0x51aaaa
51a069:	2b c8                	sub    %eax,%ecx
51a06b:	83 f9 04             	cmp    $0x4,%ecx
51a06e:	0f 82 36 0a 00 00    	jb     0x51aaaa
51a074:	83 f9 23             	cmp    $0x23,%ecx
51a077:	0f 87 2d 0a 00 00    	ja     0x51aaaa
51a07d:	8b c8                	mov    %eax,%ecx
51a07f:	51                   	push   %ecx
51a080:	e8 0a 77 ee ff       	call   0x40178f
51a085:	83 c4 04             	add    $0x4,%esp
51a088:	80 bd ab fa ff ff 00 	cmpb   $0x0,-0x555(%ebp)
51a08f:	75 1d                	jne    0x51a0ae
51a091:	8b 85 8c fa ff ff    	mov    -0x574(%ebp),%eax
51a097:	81 c6 d4 01 00 00    	add    $0x1d4,%esi
51a09d:	3b b0 b4 05 00 00    	cmp    0x5b4(%eax),%esi
51a0a3:	0f 85 6c fd ff ff    	jne    0x519e15
51a0a9:	e9 9b 00 00 00       	jmp    0x51a149
51a0ae:	56                   	push   %esi
51a0af:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
51a0b5:	e8 a0 fd f1 ff       	call   0x439e5a
51a0ba:	8d 8e c4 00 00 00    	lea    0xc4(%esi),%ecx
51a0c0:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
51a0c6:	3b c1                	cmp    %ecx,%eax
51a0c8:	0f 84 7b 00 00 00    	je     0x51a149
51a0ce:	8b 81 0c 01 00 00    	mov    0x10c(%ecx),%eax
51a0d4:	89 85 a0 fa ff ff    	mov    %eax,-0x560(%ebp)
51a0da:	3d 04 01 00 00       	cmp    $0x104,%eax
51a0df:	76 50                	jbe    0x51a131
51a0e1:	3b 45 a4             	cmp    -0x5c(%ebp),%eax
51a0e4:	76 4b                	jbe    0x51a131
51a0e6:	50                   	push   %eax
51a0e7:	e8 ab b6 f1 ff       	call   0x435797
51a0ec:	ff 75 a4             	push   -0x5c(%ebp)
51a0ef:	89 85 a4 fa ff ff    	mov    %eax,-0x55c(%ebp)
51a0f5:	ff 75 a0             	push   -0x60(%ebp)
51a0f8:	50                   	push   %eax
51a0f9:	e8 84 a5 ef ff       	call   0x414682
51a0fe:	8b 45 a0             	mov    -0x60(%ebp),%eax
51a101:	8d 8d 9c fe ff ff    	lea    -0x164(%ebp),%ecx
51a107:	83 c4 10             	add    $0x10,%esp
51a10a:	3b c1                	cmp    %ecx,%eax
51a10c:	74 09                	je     0x51a117
51a10e:	50                   	push   %eax
51a10f:	e8 fe 44 f2 ff       	call   0x43e612
51a114:	83 c4 04             	add    $0x4,%esp
51a117:	8b 95 a4 fa ff ff    	mov    -0x55c(%ebp),%edx
51a11d:	8d 8e c4 00 00 00    	lea    0xc4(%esi),%ecx
51a123:	8b 85 a0 fa ff ff    	mov    -0x560(%ebp),%eax
51a129:	89 55 a0             	mov    %edx,-0x60(%ebp)
51a12c:	89 45 a4             	mov    %eax,-0x5c(%ebp)
51a12f:	eb 03                	jmp    0x51a134
51a131:	8b 55 a0             	mov    -0x60(%ebp),%edx
51a134:	ff b1 0c 01 00 00    	push   0x10c(%ecx)
51a13a:	ff b1 08 01 00 00    	push   0x108(%ecx)
51a140:	52                   	push   %edx
51a141:	e8 3c a5 ef ff       	call   0x414682
51a146:	83 c4 0c             	add    $0xc,%esp
51a149:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
51a150:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
51a157:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
51a15b:	8b 8d 84 fa ff ff    	mov    -0x57c(%ebp),%ecx
51a161:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
51a167:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
51a16b:	3b c1                	cmp    %ecx,%eax
51a16d:	0f 84 78 00 00 00    	je     0x51a1eb
51a173:	8b 81 0c 01 00 00    	mov    0x10c(%ecx),%eax
51a179:	89 85 a0 fa ff ff    	mov    %eax,-0x560(%ebp)
51a17f:	3d 04 01 00 00       	cmp    $0x104,%eax
51a184:	76 4e                	jbe    0x51a1d4
51a186:	3b 45 a4             	cmp    -0x5c(%ebp),%eax
51a189:	76 49                	jbe    0x51a1d4
51a18b:	50                   	push   %eax
51a18c:	e8 06 b6 f1 ff       	call   0x435797
51a191:	ff 75 a4             	push   -0x5c(%ebp)
51a194:	89 85 a4 fa ff ff    	mov    %eax,-0x55c(%ebp)
51a19a:	ff 75 a0             	push   -0x60(%ebp)
51a19d:	50                   	push   %eax
51a19e:	e8 df a4 ef ff       	call   0x414682
51a1a3:	8b 4d a0             	mov    -0x60(%ebp),%ecx
51a1a6:	8d 85 9c fe ff ff    	lea    -0x164(%ebp),%eax
51a1ac:	83 c4 10             	add    $0x10,%esp
51a1af:	3b c8                	cmp    %eax,%ecx
51a1b1:	74 09                	je     0x51a1bc
51a1b3:	51                   	push   %ecx
51a1b4:	e8 59 44 f2 ff       	call   0x43e612
51a1b9:	83 c4 04             	add    $0x4,%esp
51a1bc:	8b 85 a4 fa ff ff    	mov    -0x55c(%ebp),%eax
51a1c2:	8b 8d 84 fa ff ff    	mov    -0x57c(%ebp),%ecx
51a1c8:	89 45 a0             	mov    %eax,-0x60(%ebp)
51a1cb:	8b 85 a0 fa ff ff    	mov    -0x560(%ebp),%eax
51a1d1:	89 45 a4             	mov    %eax,-0x5c(%ebp)
51a1d4:	ff b1 0c 01 00 00    	push   0x10c(%ecx)
51a1da:	ff b1 08 01 00 00    	push   0x108(%ecx)
51a1e0:	ff 75 a0             	push   -0x60(%ebp)
51a1e3:	e8 9a a4 ef ff       	call   0x414682
51a1e8:	83 c4 0c             	add    $0xc,%esp
51a1eb:	8b 0f                	mov    (%edi),%ecx
51a1ed:	8d 55 d8             	lea    -0x28(%ebp),%edx
51a1f0:	52                   	push   %edx
51a1f1:	8b 01                	mov    (%ecx),%eax
51a1f3:	ff 10                	call   *(%eax)
51a1f5:	8b c8                	mov    %eax,%ecx
51a1f7:	89 8d a0 fa ff ff    	mov    %ecx,-0x560(%ebp)
51a1fd:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
51a203:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
51a207:	3b c1                	cmp    %ecx,%eax
51a209:	0f 84 cd 00 00 00    	je     0x51a2dc
51a20f:	8b 85 e8 fd ff ff    	mov    -0x218(%ebp),%eax
51a215:	83 f8 10             	cmp    $0x10,%eax
51a218:	72 47                	jb     0x51a261
51a21a:	8b 8d d4 fd ff ff    	mov    -0x22c(%ebp),%ecx
51a220:	40                   	inc    %eax
51a221:	3d 00 10 00 00       	cmp    $0x1000,%eax
51a226:	72 2a                	jb     0x51a252
51a228:	f6 c1 1f             	test   $0x1f,%cl
51a22b:	0f 85 79 08 00 00    	jne    0x51aaaa
51a231:	8b 41 fc             	mov    -0x4(%ecx),%eax
51a234:	3b c1                	cmp    %ecx,%eax
51a236:	0f 83 6e 08 00 00    	jae    0x51aaaa
51a23c:	2b c8                	sub    %eax,%ecx
51a23e:	83 f9 04             	cmp    $0x4,%ecx
51a241:	0f 82 63 08 00 00    	jb     0x51aaaa
51a247:	83 f9 23             	cmp    $0x23,%ecx
51a24a:	0f 87 5a 08 00 00    	ja     0x51aaaa
51a250:	8b c8                	mov    %eax,%ecx
51a252:	51                   	push   %ecx
51a253:	e8 37 75 ee ff       	call   0x40178f
51a258:	8b 8d a0 fa ff ff    	mov    -0x560(%ebp),%ecx
51a25e:	83 c4 04             	add    $0x4,%esp
51a261:	c7 85 e8 fd ff ff 0f 	movl   $0xf,-0x218(%ebp)
51a268:	00 00 00
51a26b:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
51a272:	00 00 00
51a275:	c6 85 d4 fd ff ff 00 	movb   $0x0,-0x22c(%ebp)
51a27c:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
51a280:	73 21                	jae    0x51a2a3
51a282:	8b 41 10             	mov    0x10(%ecx),%eax
51a285:	83 c0 01             	add    $0x1,%eax
51a288:	74 27                	je     0x51a2b1
51a28a:	50                   	push   %eax
51a28b:	51                   	push   %ecx
51a28c:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
51a292:	50                   	push   %eax
51a293:	e8 ea 48 f0 ff       	call   0x41eb82
51a298:	8b 8d a0 fa ff ff    	mov    -0x560(%ebp),%ecx
51a29e:	83 c4 0c             	add    $0xc,%esp
51a2a1:	eb 0e                	jmp    0x51a2b1
51a2a3:	8b 01                	mov    (%ecx),%eax
51a2a5:	89 85 d4 fd ff ff    	mov    %eax,-0x22c(%ebp)
51a2ab:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
51a2b1:	8b 41 10             	mov    0x10(%ecx),%eax
51a2b4:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
51a2ba:	8b 41 14             	mov    0x14(%ecx),%eax
51a2bd:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
51a2c3:	c7 41 14 0f 00 00 00 	movl   $0xf,0x14(%ecx)
51a2ca:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
51a2ce:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
51a2d5:	72 02                	jb     0x51a2d9
51a2d7:	8b 09                	mov    (%ecx),%ecx
51a2d9:	c6 01 00             	movb   $0x0,(%ecx)
51a2dc:	8b 45 ec             	mov    -0x14(%ebp),%eax
51a2df:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
51a2e3:	83 f8 10             	cmp    $0x10,%eax
51a2e6:	72 3e                	jb     0x51a326
51a2e8:	8b 4d d8             	mov    -0x28(%ebp),%ecx
51a2eb:	40                   	inc    %eax
51a2ec:	3d 00 10 00 00       	cmp    $0x1000,%eax
51a2f1:	72 2a                	jb     0x51a31d
51a2f3:	f6 c1 1f             	test   $0x1f,%cl
51a2f6:	0f 85 ae 07 00 00    	jne    0x51aaaa
51a2fc:	8b 41 fc             	mov    -0x4(%ecx),%eax
51a2ff:	3b c1                	cmp    %ecx,%eax
51a301:	0f 83 a3 07 00 00    	jae    0x51aaaa
51a307:	2b c8                	sub    %eax,%ecx
51a309:	83 f9 04             	cmp    $0x4,%ecx
51a30c:	0f 82 98 07 00 00    	jb     0x51aaaa
51a312:	83 f9 23             	cmp    $0x23,%ecx
51a315:	0f 87 8f 07 00 00    	ja     0x51aaaa
51a31b:	8b c8                	mov    %eax,%ecx
51a31d:	51                   	push   %ecx
51a31e:	e8 6c 74 ee ff       	call   0x40178f
51a323:	83 c4 04             	add    $0x4,%esp
51a326:	6a 04                	push   $0x4
51a328:	68 0c 62 bd 00       	push   $0xbd620c
51a32d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
51a330:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
51a337:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
51a33e:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
51a342:	e8 4a a3 ef ff       	call   0x414691
51a347:	8b 0f                	mov    (%edi),%ecx
51a349:	8d 55 d8             	lea    -0x28(%ebp),%edx
51a34c:	8b 85 94 fa ff ff    	mov    -0x56c(%ebp),%eax
51a352:	89 85 a4 fa ff ff    	mov    %eax,-0x55c(%ebp)
51a358:	52                   	push   %edx
51a359:	8b 01                	mov    (%ecx),%eax
51a35b:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
51a35f:	ff 10                	call   *(%eax)
51a361:	8b d0                	mov    %eax,%edx
51a363:	8b 8d a4 fa ff ff    	mov    -0x55c(%ebp),%ecx
51a369:	8d 5d a8             	lea    -0x58(%ebp),%ebx
51a36c:	53                   	push   %ebx
51a36d:	8d 5d c0             	lea    -0x40(%ebp),%ebx
51a370:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
51a374:	53                   	push   %ebx
51a375:	8b 01                	mov    (%ecx),%eax
51a377:	52                   	push   %edx
51a378:	8b 40 18             	mov    0x18(%eax),%eax
51a37b:	ff d0                	call   *%eax
51a37d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
51a380:	88 85 ab fa ff ff    	mov    %al,-0x555(%ebp)
51a386:	83 f9 10             	cmp    $0x10,%ecx
51a389:	72 0f                	jb     0x51a39a
51a38b:	41                   	inc    %ecx
51a38c:	6a 01                	push   $0x1
51a38e:	51                   	push   %ecx
51a38f:	ff 75 d8             	push   -0x28(%ebp)
51a392:	e8 bf 1e f0 ff       	call   0x41c256
51a397:	83 c4 0c             	add    $0xc,%esp
51a39a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
51a39d:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
51a3a4:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
51a3ab:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
51a3af:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
51a3b3:	83 f8 10             	cmp    $0x10,%eax
51a3b6:	72 0f                	jb     0x51a3c7
51a3b8:	40                   	inc    %eax
51a3b9:	6a 01                	push   $0x1
51a3bb:	50                   	push   %eax
51a3bc:	ff 75 c0             	push   -0x40(%ebp)
51a3bf:	e8 92 1e f0 ff       	call   0x41c256
51a3c4:	83 c4 0c             	add    $0xc,%esp
51a3c7:	80 bd ab fa ff ff 00 	cmpb   $0x0,-0x555(%ebp)
51a3ce:	74 18                	je     0x51a3e8
51a3d0:	6a ff                	push   $0xffffffff
51a3d2:	6a 00                	push   $0x0
51a3d4:	8d 45 a8             	lea    -0x58(%ebp),%eax
51a3d7:	50                   	push   %eax
51a3d8:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
51a3de:	e8 1c 3c f2 ff       	call   0x43dfff
51a3e3:	e9 77 00 00 00       	jmp    0x51a45f
51a3e8:	8b 0f                	mov    (%edi),%ecx
51a3ea:	8d 55 d8             	lea    -0x28(%ebp),%edx
51a3ed:	52                   	push   %edx
51a3ee:	8b 01                	mov    (%ecx),%eax
51a3f0:	ff 10                	call   *(%eax)
51a3f2:	89 85 a4 fa ff ff    	mov    %eax,-0x55c(%ebp)
51a3f8:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
51a3fe:	3b c8                	cmp    %eax,%ecx
51a400:	74 44                	je     0x51a446
51a402:	8b 85 00 fe ff ff    	mov    -0x200(%ebp),%eax
51a408:	83 f8 10             	cmp    $0x10,%eax
51a40b:	72 0d                	jb     0x51a41a
51a40d:	40                   	inc    %eax
51a40e:	50                   	push   %eax
51a40f:	ff b5 ec fd ff ff    	push   -0x214(%ebp)
51a415:	e8 02 a2 f1 ff       	call   0x43461c
51a41a:	ff b5 a4 fa ff ff    	push   -0x55c(%ebp)
51a420:	8d 8d ec fd ff ff    	lea    -0x214(%ebp),%ecx
51a426:	c7 85 00 fe ff ff 0f 	movl   $0xf,-0x200(%ebp)
51a42d:	00 00 00
51a430:	c7 85 fc fd ff ff 00 	movl   $0x0,-0x204(%ebp)
51a437:	00 00 00
51a43a:	c6 85 ec fd ff ff 00 	movb   $0x0,-0x214(%ebp)
51a441:	e8 7c 70 f0 ff       	call   0x4214c2
51a446:	8b 45 ec             	mov    -0x14(%ebp),%eax
51a449:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
51a44d:	83 f8 10             	cmp    $0x10,%eax
51a450:	72 0d                	jb     0x51a45f
51a452:	40                   	inc    %eax
51a453:	8d 4d d8             	lea    -0x28(%ebp),%ecx
51a456:	50                   	push   %eax
51a457:	ff 75 d8             	push   -0x28(%ebp)
51a45a:	e8 bd a1 f1 ff       	call   0x43461c
51a45f:	6a 0b                	push   $0xb
51a461:	68 9c cf bd 00       	push   $0xbdcf9c
51a466:	8d 4d c0             	lea    -0x40(%ebp),%ecx
51a469:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
51a470:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
51a477:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
51a47b:	e8 11 a2 ef ff       	call   0x414691
51a480:	8b 0f                	mov    (%edi),%ecx
51a482:	8d 55 d8             	lea    -0x28(%ebp),%edx
51a485:	8b 85 94 fa ff ff    	mov    -0x56c(%ebp),%eax
51a48b:	89 85 a4 fa ff ff    	mov    %eax,-0x55c(%ebp)
51a491:	52                   	push   %edx
51a492:	8b 01                	mov    (%ecx),%eax
51a494:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
51a498:	ff 10                	call   *(%eax)
51a49a:	8b d0                	mov    %eax,%edx
51a49c:	8b 8d a4 fa ff ff    	mov    -0x55c(%ebp),%ecx
51a4a2:	8d 5d a8             	lea    -0x58(%ebp),%ebx
51a4a5:	53                   	push   %ebx
51a4a6:	8d 5d c0             	lea    -0x40(%ebp),%ebx
51a4a9:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
51a4ad:	53                   	push   %ebx
51a4ae:	8b 01                	mov    (%ecx),%eax
51a4b0:	52                   	push   %edx
51a4b1:	8b 40 18             	mov    0x18(%eax),%eax
51a4b4:	ff d0                	call   *%eax
51a4b6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
51a4b9:	88 85 ab fa ff ff    	mov    %al,-0x555(%ebp)
51a4bf:	83 f9 10             	cmp    $0x10,%ecx
51a4c2:	72 0d                	jb     0x51a4d1
51a4c4:	41                   	inc    %ecx
51a4c5:	51                   	push   %ecx
51a4c6:	ff 75 d8             	push   -0x28(%ebp)
51a4c9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
51a4cc:	e8 4b a1 f1 ff       	call   0x43461c
51a4d1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
51a4d4:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)