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
57f58b:	75 19                	jne    0x57f5a6
57f58d:	5f                   	pop    %edi
57f58e:	5e                   	pop    %esi
57f58f:	89 18                	mov    %ebx,(%eax)
57f591:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%eax)
57f598:	5b                   	pop    %ebx
57f599:	8b e5                	mov    %ebp,%esp
57f59b:	5d                   	pop    %ebp
57f59c:	c2 0c 00             	ret    $0xc
57f59f:	8b 45 08             	mov    0x8(%ebp),%eax
57f5a2:	c6 40 08 01          	movb   $0x1,0x8(%eax)
57f5a6:	5f                   	pop    %edi
57f5a7:	89 30                	mov    %esi,(%eax)
57f5a9:	5e                   	pop    %esi
57f5aa:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
57f5b1:	5b                   	pop    %ebx
57f5b2:	8b e5                	mov    %ebp,%esp
57f5b4:	5d                   	pop    %ebp
57f5b5:	c2 0c 00             	ret    $0xc
57f5b8:	cc                   	int3
57f5b9:	cc                   	int3
57f5ba:	cc                   	int3
57f5bb:	cc                   	int3
57f5bc:	cc                   	int3
57f5bd:	cc                   	int3
57f5be:	cc                   	int3
57f5bf:	cc                   	int3
57f5c0:	55                   	push   %ebp
57f5c1:	8b ec                	mov    %esp,%ebp
57f5c3:	8b 01                	mov    (%ecx),%eax
57f5c5:	56                   	push   %esi
57f5c6:	57                   	push   %edi
57f5c7:	8b 7d 08             	mov    0x8(%ebp),%edi
57f5ca:	8b 70 04             	mov    0x4(%eax),%esi
57f5cd:	89 37                	mov    %esi,(%edi)
57f5cf:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
57f5d3:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
57f5da:	89 47 08             	mov    %eax,0x8(%edi)
57f5dd:	75 2e                	jne    0x57f60d
57f5df:	53                   	push   %ebx
57f5e0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
57f5e3:	53                   	push   %ebx
57f5e4:	8d 4e 10             	lea    0x10(%esi),%ecx
57f5e7:	89 37                	mov    %esi,(%edi)
57f5e9:	e8 d2 11 00 00       	call   0x5807c0
57f5ee:	84 c0                	test   %al,%al
57f5f0:	74 07                	je     0x57f5f9
57f5f2:	8b 76 08             	mov    0x8(%esi),%esi
57f5f5:	33 c0                	xor    %eax,%eax
57f5f7:	eb 0a                	jmp    0x57f603
57f5f9:	89 77 08             	mov    %esi,0x8(%edi)
57f5fc:	b8 01 00 00 00       	mov    $0x1,%eax
57f601:	8b 36                	mov    (%esi),%esi
57f603:	89 47 04             	mov    %eax,0x4(%edi)
57f606:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
57f60a:	74 d7                	je     0x57f5e3
57f60c:	5b                   	pop    %ebx
57f60d:	8b c7                	mov    %edi,%eax
57f60f:	5f                   	pop    %edi
57f610:	5e                   	pop    %esi
57f611:	5d                   	pop    %ebp
57f612:	c2 08 00             	ret    $0x8
57f615:	cc                   	int3
57f616:	cc                   	int3
57f617:	cc                   	int3
57f618:	cc                   	int3
57f619:	cc                   	int3
57f61a:	cc                   	int3
57f61b:	cc                   	int3
57f61c:	cc                   	int3
57f61d:	cc                   	int3
57f61e:	cc                   	int3
57f61f:	cc                   	int3
57f620:	55                   	push   %ebp
57f621:	8b ec                	mov    %esp,%ebp
57f623:	6a ff                	push   $0xffffffff
57f625:	68 88 c9 65 00       	push   $0x65c988
57f62a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
57f630:	50                   	push   %eax
57f631:	51                   	push   %ecx
57f632:	56                   	push   %esi
57f633:	57                   	push   %edi
57f634:	a1 d4 89 72 00       	mov    0x7289d4,%eax
57f639:	33 c5                	xor    %ebp,%eax
57f63b:	50                   	push   %eax
57f63c:	8d 45 f4             	lea    -0xc(%ebp),%eax
57f63f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
57f645:	8b 75 10             	mov    0x10(%ebp),%esi
57f648:	8b 7d 0c             	mov    0xc(%ebp),%edi
57f64b:	89 7d f0             	mov    %edi,-0x10(%ebp)
57f64e:	8b 46 04             	mov    0x4(%esi),%eax
57f651:	a8 03                	test   $0x3,%al
57f653:	74 15                	je     0x57f66a
57f655:	8b 0e                	mov    (%esi),%ecx
57f657:	85 c9                	test   %ecx,%ecx
57f659:	74 0f                	je     0x57f66a
57f65b:	c1 e8 02             	shr    $0x2,%eax
57f65e:	50                   	push   %eax
57f65f:	51                   	push   %ecx
57f660:	e8 1b 1c 00 00       	call   0x581280
57f665:	83 c4 08             	add    $0x8,%esp
57f668:	eb 02                	jmp    0x57f66c
57f66a:	8b 06                	mov    (%esi),%eax
57f66c:	89 07                	mov    %eax,(%edi)
57f66e:	8b 46 04             	mov    0x4(%esi),%eax
57f671:	83 e0 03             	and    $0x3,%eax
57f674:	83 3e 00             	cmpl   $0x0,(%esi)
57f677:	74 09                	je     0x57f682
57f679:	33 d2                	xor    %edx,%edx
57f67b:	85 c0                	test   %eax,%eax
57f67d:	0f 95 c2             	setne  %dl
57f680:	eb 02                	jmp    0x57f684
57f682:	8b d0                	mov    %eax,%edx
57f684:	8b 4f 04             	mov    0x4(%edi),%ecx
57f687:	83 e1 fc             	and    $0xfffffffc,%ecx
57f68a:	0b ca                	or     %edx,%ecx
57f68c:	89 4f 04             	mov    %ecx,0x4(%edi)
57f68f:	8b 46 04             	mov    0x4(%esi),%eax
57f692:	33 c1                	xor    %ecx,%eax
57f694:	83 e0 03             	and    $0x3,%eax
57f697:	33 46 04             	xor    0x4(%esi),%eax
57f69a:	89 47 04             	mov    %eax,0x4(%edi)
57f69d:	8d 46 08             	lea    0x8(%esi),%eax
57f6a0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
57f6a7:	50                   	push   %eax
57f6a8:	8d 4f 08             	lea    0x8(%edi),%ecx
57f6ab:	e8 f0 03 00 00       	call   0x57faa0
57f6b0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
57f6b3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
57f6ba:	59                   	pop    %ecx
57f6bb:	5f                   	pop    %edi
57f6bc:	5e                   	pop    %esi
57f6bd:	8b e5                	mov    %ebp,%esp
57f6bf:	5d                   	pop    %ebp
57f6c0:	c3                   	ret
57f6c1:	cc                   	int3
57f6c2:	cc                   	int3
57f6c3:	cc                   	int3
57f6c4:	cc                   	int3
57f6c5:	cc                   	int3
57f6c6:	cc                   	int3
57f6c7:	cc                   	int3
57f6c8:	cc                   	int3
57f6c9:	cc                   	int3
57f6ca:	cc                   	int3
57f6cb:	cc                   	int3
57f6cc:	cc                   	int3
57f6cd:	cc                   	int3
57f6ce:	cc                   	int3
57f6cf:	cc                   	int3
57f6d0:	55                   	push   %ebp
57f6d1:	8b ec                	mov    %esp,%ebp
57f6d3:	6a ff                	push   $0xffffffff
57f6d5:	68 f0 c9 65 00       	push   $0x65c9f0
57f6da:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
57f6e0:	50                   	push   %eax
57f6e1:	83 ec 20             	sub    $0x20,%esp
57f6e4:	53                   	push   %ebx
57f6e5:	56                   	push   %esi
57f6e6:	57                   	push   %edi
57f6e7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
57f6ec:	33 c5                	xor    %ebp,%eax
57f6ee:	50                   	push   %eax
57f6ef:	8d 45 f4             	lea    -0xc(%ebp),%eax
57f6f2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
57f6f8:	8b d9                	mov    %ecx,%ebx
57f6fa:	ff 75 10             	push   0x10(%ebp)
57f6fd:	8d 45 d4             	lea    -0x2c(%ebp),%eax
57f700:	ff 75 0c             	push   0xc(%ebp)
57f703:	50                   	push   %eax
57f704:	e8 07 fd ff ff       	call   0x57f410
57f709:	f3 0f 7e 00          	movq   (%eax),%xmm0
57f70d:	8b 40 08             	mov    0x8(%eax),%eax
57f710:	66 0f d6 45 e0       	movq   %xmm0,-0x20(%ebp)
57f715:	89 45 e8             	mov    %eax,-0x18(%ebp)