57f212:	56                   	push   %esi
57f213:	57                   	push   %edi
57f214:	a1 d4 89 72 00       	mov    0x7289d4,%eax
57f219:	33 c5                	xor    %ebp,%eax
57f21b:	50                   	push   %eax
57f21c:	8d 45 f4             	lea    -0xc(%ebp),%eax
57f21f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
57f225:	8b f9                	mov    %ecx,%edi
57f227:	89 7d f0             	mov    %edi,-0x10(%ebp)
57f22a:	8b 75 08             	mov    0x8(%ebp),%esi
57f22d:	8b 46 04             	mov    0x4(%esi),%eax
57f230:	a8 03                	test   $0x3,%al
57f232:	74 15                	je     0x57f249
57f234:	8b 0e                	mov    (%esi),%ecx
57f236:	85 c9                	test   %ecx,%ecx
57f238:	74 0f                	je     0x57f249
57f23a:	c1 e8 02             	shr    $0x2,%eax
57f23d:	50                   	push   %eax
57f23e:	51                   	push   %ecx
57f23f:	e8 3c 20 00 00       	call   0x581280
57f244:	83 c4 08             	add    $0x8,%esp
57f247:	eb 02                	jmp    0x57f24b
57f249:	8b 06                	mov    (%esi),%eax
57f24b:	89 07                	mov    %eax,(%edi)
57f24d:	8b 46 04             	mov    0x4(%esi),%eax
57f250:	83 e0 03             	and    $0x3,%eax
57f253:	83 3e 00             	cmpl   $0x0,(%esi)
57f256:	74 09                	je     0x57f261
57f258:	33 d2                	xor    %edx,%edx
57f25a:	85 c0                	test   %eax,%eax
57f25c:	0f 95 c2             	setne  %dl
57f25f:	eb 02                	jmp    0x57f263
57f261:	8b d0                	mov    %eax,%edx
57f263:	8b 4f 04             	mov    0x4(%edi),%ecx
57f266:	83 e1 fc             	and    $0xfffffffc,%ecx
57f269:	0b ca                	or     %edx,%ecx
57f26b:	89 4f 04             	mov    %ecx,0x4(%edi)
57f26e:	8b 46 04             	mov    0x4(%esi),%eax
57f271:	33 c1                	xor    %ecx,%eax
57f273:	83 e0 03             	and    $0x3,%eax
57f276:	33 46 04             	xor    0x4(%esi),%eax
57f279:	89 47 04             	mov    %eax,0x4(%edi)
57f27c:	ff 75 0c             	push   0xc(%ebp)
57f27f:	8d 4f 08             	lea    0x8(%edi),%ecx
57f282:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
57f289:	e8 12 08 00 00       	call   0x57faa0
57f28e:	8b c7                	mov    %edi,%eax
57f290:	8b 4d f4             	mov    -0xc(%ebp),%ecx
57f293:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
57f29a:	59                   	pop    %ecx
57f29b:	5f                   	pop    %edi
57f29c:	5e                   	pop    %esi
57f29d:	8b e5                	mov    %ebp,%esp
57f29f:	5d                   	pop    %ebp
57f2a0:	c2 08 00             	ret    $0x8
57f2a3:	cc                   	int3
57f2a4:	cc                   	int3
57f2a5:	cc                   	int3
57f2a6:	cc                   	int3
57f2a7:	cc                   	int3
57f2a8:	cc                   	int3
57f2a9:	cc                   	int3
57f2aa:	cc                   	int3
57f2ab:	cc                   	int3
57f2ac:	cc                   	int3
57f2ad:	cc                   	int3
57f2ae:	cc                   	int3
57f2af:	cc                   	int3
57f2b0:	55                   	push   %ebp
57f2b1:	8b ec                	mov    %esp,%ebp
57f2b3:	6a ff                	push   $0xffffffff
57f2b5:	68 b8 c9 65 00       	push   $0x65c9b8
57f2ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
57f2c0:	50                   	push   %eax
57f2c1:	83 ec 10             	sub    $0x10,%esp
57f2c4:	53                   	push   %ebx
57f2c5:	56                   	push   %esi
57f2c6:	57                   	push   %edi
57f2c7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
57f2cc:	33 c5                	xor    %ebp,%eax
57f2ce:	50                   	push   %eax
57f2cf:	8d 45 f4             	lea    -0xc(%ebp),%eax
57f2d2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
57f2d8:	89 65 f0             	mov    %esp,-0x10(%ebp)
57f2db:	8b f9                	mov    %ecx,%edi
57f2dd:	89 7d e4             	mov    %edi,-0x1c(%ebp)
57f2e0:	8b 45 08             	mov    0x8(%ebp),%eax
57f2e3:	8b 1f                	mov    (%edi),%ebx
57f2e5:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
57f2e9:	75 7f                	jne    0x57f36a
57f2eb:	89 7d e8             	mov    %edi,-0x18(%ebp)
57f2ee:	6a 30                	push   $0x30
57f2f0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
57f2f7:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
57f2fe:	e8 3f 1d 06 00       	call   0x5e1042
57f303:	8b f0                	mov    %eax,%esi
57f305:	8b 45 08             	mov    0x8(%ebp),%eax
57f308:	83 c0 10             	add    $0x10,%eax
57f30b:	89 75 ec             	mov    %esi,-0x14(%ebp)
57f30e:	50                   	push   %eax
57f30f:	8d 46 10             	lea    0x10(%esi),%eax
57f312:	50                   	push   %eax
57f313:	57                   	push   %edi
57f314:	e8 07 03 00 00       	call   0x57f620
57f319:	8b 4d 08             	mov    0x8(%ebp),%ecx
57f31c:	83 c4 10             	add    $0x10,%esp
57f31f:	8b 45 0c             	mov    0xc(%ebp),%eax
57f322:	89 1e                	mov    %ebx,(%esi)
57f324:	89 5e 08             	mov    %ebx,0x8(%esi)
57f327:	ff 75 10             	push   0x10(%ebp)
57f32a:	66 c7 46 0c 00 00    	movw   $0x0,0xc(%esi)
57f330:	89 46 04             	mov    %eax,0x4(%esi)
57f333:	8a 41 0c             	mov    0xc(%ecx),%al
57f336:	88 46 0c             	mov    %al,0xc(%esi)
57f339:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
57f33d:	56                   	push   %esi
57f33e:	ff 31                	push   (%ecx)
57f340:	0f 45 de             	cmovne %esi,%ebx
57f343:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
57f34a:	8b cf                	mov    %edi,%ecx
57f34c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
57f34f:	e8 5c ff ff ff       	call   0x57f2b0
57f354:	ff 75 10             	push   0x10(%ebp)
57f357:	89 06                	mov    %eax,(%esi)
57f359:	8b cf                	mov    %edi,%ecx
57f35b:	8b 45 08             	mov    0x8(%ebp),%eax
57f35e:	56                   	push   %esi
57f35f:	ff 70 08             	push   0x8(%eax)
57f362:	e8 49 ff ff ff       	call   0x57f2b0
57f367:	89 46 08             	mov    %eax,0x8(%esi)
57f36a:	8b c3                	mov    %ebx,%eax
57f36c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
57f36f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
57f376:	59                   	pop    %ecx
57f377:	5f                   	pop    %edi
57f378:	5e                   	pop    %esi
57f379:	5b                   	pop    %ebx
57f37a:	8b e5                	mov    %ebp,%esp
57f37c:	5d                   	pop    %ebp
57f37d:	c2 0c 00             	ret    $0xc
57f380:	ff 75 ec             	push   -0x14(%ebp)
57f383:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
57f386:	e8 25 a1 eb ff       	call   0x4394b0
57f38b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
57f38e:	50                   	push   %eax
57f38f:	e8 0c 00 00 00       	call   0x57f3a0
57f394:	6a 00                	push   $0x0
57f396:	6a 00                	push   $0x0
57f398:	e8 95 36 06 00       	call   0x5e2a32
57f39d:	cc                   	int3
57f39e:	cc                   	int3
57f39f:	cc                   	int3
57f3a0:	55                   	push   %ebp
57f3a1:	8b ec                	mov    %esp,%ebp
57f3a3:	51                   	push   %ecx
57f3a4:	56                   	push   %esi
57f3a5:	8b 75 0c             	mov    0xc(%ebp),%esi
57f3a8:	8b c1                	mov    %ecx,%eax
57f3aa:	89 45 fc             	mov    %eax,-0x4(%ebp)
57f3ad:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
57f3b1:	75 4b                	jne    0x57f3fe
57f3b3:	53                   	push   %ebx
57f3b4:	8b 5d 08             	mov    0x8(%ebp),%ebx
57f3b7:	57                   	push   %edi
57f3b8:	ff 76 08             	push   0x8(%esi)
57f3bb:	8b c8                	mov    %eax,%ecx
57f3bd:	53                   	push   %ebx
57f3be:	e8 dd ff ff ff       	call   0x57f3a0
57f3c3:	8b fe                	mov    %esi,%edi
57f3c5:	8b 36                	mov    (%esi),%esi
57f3c7:	8d 4f 18             	lea    0x18(%edi),%ecx
57f3ca:	e8 b1 0c 00 00       	call   0x580080
57f3cf:	8b 4f 10             	mov    0x10(%edi),%ecx
57f3d2:	85 c9                	test   %ecx,%ecx
57f3d4:	74 12                	je     0x57f3e8
57f3d6:	8b 47 14             	mov    0x14(%edi),%eax
57f3d9:	24 03                	and    $0x3,%al
57f3db:	3c 01                	cmp    $0x1,%al
57f3dd:	75 09                	jne    0x57f3e8
57f3df:	51                   	push   %ecx
57f3e0:	e8 8b f2 06 00       	call   0x5ee670
57f3e5:	83 c4 04             	add    $0x4,%esp
57f3e8:	6a 30                	push   $0x30
57f3ea:	57                   	push   %edi
57f3eb:	e8 82 1c 06 00       	call   0x5e1072
57f3f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
57f3f3:	83 c4 08             	add    $0x8,%esp
57f3f6:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
57f3fa:	74 bc                	je     0x57f3b8
57f3fc:	5f                   	pop    %edi
57f3fd:	5b                   	pop    %ebx
57f3fe:	5e                   	pop    %esi
57f3ff:	8b e5                	mov    %ebp,%esp
57f401:	5d                   	pop    %ebp
57f402:	c2 08 00             	ret    $0x8
57f405:	cc                   	int3
57f406:	cc                   	int3
57f407:	cc                   	int3
57f408:	cc                   	int3
57f409:	cc                   	int3
57f40a:	cc                   	int3
57f40b:	cc                   	int3
57f40c:	cc                   	int3
57f40d:	cc                   	int3
57f40e:	cc                   	int3
57f40f:	cc                   	int3
57f410:	55                   	push   %ebp
57f411:	8b ec                	mov    %esp,%ebp
57f413:	83 ec 14             	sub    $0x14,%esp
57f416:	53                   	push   %ebx
57f417:	56                   	push   %esi
57f418:	8b 75 0c             	mov    0xc(%ebp),%esi
57f41b:	8b c1                	mov    %ecx,%eax
57f41d:	57                   	push   %edi
57f41e:	89 45 f8             	mov    %eax,-0x8(%ebp)
57f421:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
57f425:	8b 18                	mov    (%eax),%ebx
57f427:	74 3c                	je     0x57f465
57f429:	8b 43 04             	mov    0x4(%ebx),%eax
57f42c:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
57f430:	75 17                	jne    0x57f449
57f432:	8b 4b 08             	mov    0x8(%ebx),%ecx
57f435:	8b 7d 10             	mov    0x10(%ebp),%edi
57f438:	83 c1 10             	add    $0x10,%ecx
57f43b:	57                   	push   %edi
57f43c:	e8 7f 13 00 00       	call   0x5807c0
57f441:	84 c0                	test   %al,%al
57f443:	0f 84 da 00 00 00    	je     0x57f523
57f449:	8b 45 08             	mov    0x8(%ebp),%eax
57f44c:	8b 4b 08             	mov    0x8(%ebx),%ecx
57f44f:	5f                   	pop    %edi
57f450:	5e                   	pop    %esi
57f451:	89 08                	mov    %ecx,(%eax)
57f453:	c6 40 08 00          	movb   $0x0,0x8(%eax)
57f457:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
57f45e:	5b                   	pop    %ebx
57f45f:	8b e5                	mov    %ebp,%esp
57f461:	5d                   	pop    %ebp
57f462:	c2 0c 00             	ret    $0xc
57f465:	8d 46 10             	lea    0x10(%esi),%eax
57f468:	8b 7d 10             	mov    0x10(%ebp),%edi
57f46b:	8b cf                	mov    %edi,%ecx
57f46d:	50                   	push   %eax
57f46e:	3b 33                	cmp    (%ebx),%esi
57f470:	75 26                	jne    0x57f498
57f472:	e8 49 13 00 00       	call   0x5807c0
57f477:	84 c0                	test   %al,%al
57f479:	0f 84 a4 00 00 00    	je     0x57f523
57f47f:	8b 45 08             	mov    0x8(%ebp),%eax
57f482:	5f                   	pop    %edi
57f483:	89 30                	mov    %esi,(%eax)
57f485:	5e                   	pop    %esi
57f486:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
57f48d:	c6 40 08 00          	movb   $0x0,0x8(%eax)
57f491:	5b                   	pop    %ebx
57f492:	8b e5                	mov    %ebp,%esp
57f494:	5d                   	pop    %ebp
57f495:	c2 0c 00             	ret    $0xc
57f498:	e8 23 13 00 00       	call   0x5807c0
57f49d:	84 c0                	test   %al,%al
57f49f:	74 4f                	je     0x57f4f0
57f4a1:	8d 4d fc             	lea    -0x4(%ebp),%ecx
57f4a4:	89 75 fc             	mov    %esi,-0x4(%ebp)
57f4a7:	e8 84 12 00 00       	call   0x580730
57f4ac:	57                   	push   %edi
57f4ad:	8b 18                	mov    (%eax),%ebx
57f4af:	8d 4b 10             	lea    0x10(%ebx),%ecx
57f4b2:	e8 09 13 00 00       	call   0x5807c0
57f4b7:	84 c0                	test   %al,%al
57f4b9:	74 68                	je     0x57f523
57f4bb:	8b 43 08             	mov    0x8(%ebx),%eax
57f4be:	8a 48 0d             	mov    0xd(%eax),%cl
57f4c1:	8b 45 08             	mov    0x8(%ebp),%eax
57f4c4:	c6 40 08 00          	movb   $0x0,0x8(%eax)
57f4c8:	84 c9                	test   %cl,%cl
57f4ca:	74 12                	je     0x57f4de
57f4cc:	5f                   	pop    %edi
57f4cd:	5e                   	pop    %esi
57f4ce:	89 18                	mov    %ebx,(%eax)
57f4d0:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
57f4d7:	5b                   	pop    %ebx
57f4d8:	8b e5                	mov    %ebp,%esp
57f4da:	5d                   	pop    %ebp
57f4db:	c2 0c 00             	ret    $0xc
57f4de:	5f                   	pop    %edi
57f4df:	89 30                	mov    %esi,(%eax)
57f4e1:	5e                   	pop    %esi
57f4e2:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
57f4e9:	5b                   	pop    %ebx
57f4ea:	8b e5                	mov    %ebp,%esp
57f4ec:	5d                   	pop    %ebp
57f4ed:	c2 0c 00             	ret    $0xc
57f4f0:	57                   	push   %edi
57f4f1:	8d 4e 10             	lea    0x10(%esi),%ecx
57f4f4:	e8 c7 12 00 00       	call   0x5807c0
57f4f9:	84 c0                	test   %al,%al
57f4fb:	0f 84 9e 00 00 00    	je     0x57f59f
57f501:	8d 4d fc             	lea    -0x4(%ebp),%ecx
57f504:	89 75 fc             	mov    %esi,-0x4(%ebp)
57f507:	e8 54 25 f1 ff       	call   0x491a60
57f50c:	8b 18                	mov    (%eax),%ebx
57f50e:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
57f512:	75 68                	jne    0x57f57c
57f514:	8d 43 10             	lea    0x10(%ebx),%eax
57f517:	8b cf                	mov    %edi,%ecx
57f519:	50                   	push   %eax
57f51a:	e8 a1 12 00 00       	call   0x5807c0
57f51f:	84 c0                	test   %al,%al
57f521:	75 59                	jne    0x57f57c
57f523:	8b 4d f8             	mov    -0x8(%ebp),%ecx
57f526:	8d 45 ec             	lea    -0x14(%ebp),%eax
57f529:	57                   	push   %edi
57f52a:	50                   	push   %eax
57f52b:	e8 90 00 00 00       	call   0x57f5c0
57f530:	8b 75 f4             	mov    -0xc(%ebp),%esi
57f533:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
57f537:	75 28                	jne    0x57f561
57f539:	8d 46 10             	lea    0x10(%esi),%eax
57f53c:	8b cf                	mov    %edi,%ecx
57f53e:	50                   	push   %eax
57f53f:	e8 7c 12 00 00       	call   0x5807c0
57f544:	84 c0                	test   %al,%al
57f546:	75 19                	jne    0x57f561
57f548:	8b 45 08             	mov    0x8(%ebp),%eax
57f54b:	5f                   	pop    %edi
57f54c:	89 30                	mov    %esi,(%eax)
57f54e:	5e                   	pop    %esi
57f54f:	c7 40 04 02 00 00 00 	movl   $0x2,0x4(%eax)
57f556:	c6 40 08 01          	movb   $0x1,0x8(%eax)
57f55a:	5b                   	pop    %ebx
57f55b:	8b e5                	mov    %ebp,%esp
57f55d:	5d                   	pop    %ebp
57f55e:	c2 0c 00             	ret    $0xc
57f561:	8b 45 08             	mov    0x8(%ebp),%eax
57f564:	8b 4d ec             	mov    -0x14(%ebp),%ecx
57f567:	5f                   	pop    %edi
57f568:	5e                   	pop    %esi
57f569:	89 08                	mov    %ecx,(%eax)
57f56b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
57f56e:	89 48 04             	mov    %ecx,0x4(%eax)
57f571:	c6 40 08 00          	movb   $0x0,0x8(%eax)
57f575:	5b                   	pop    %ebx
57f576:	8b e5                	mov    %ebp,%esp
57f578:	5d                   	pop    %ebp
57f579:	c2 0c 00             	ret    $0xc
57f57c:	8b 46 08             	mov    0x8(%esi),%eax
57f57f:	8a 48 0d             	mov    0xd(%eax),%cl
57f582:	8b 45 08             	mov    0x8(%ebp),%eax
57f585:	c6 40 08 00          	movb   $0x0,0x8(%eax)
57f589:	84 c9                	test   %cl,%cl