56e5f6:	cc                   	int3
56e5f7:	cc                   	int3
56e5f8:	cc                   	int3
56e5f9:	cc                   	int3
56e5fa:	cc                   	int3
56e5fb:	cc                   	int3
56e5fc:	cc                   	int3
56e5fd:	cc                   	int3
56e5fe:	cc                   	int3
56e5ff:	cc                   	int3
56e600:	55                   	push   %ebp
56e601:	8b ec                	mov    %esp,%ebp
56e603:	56                   	push   %esi
56e604:	8b f1                	mov    %ecx,%esi
56e606:	e8 65 fd ff ff       	call   0x56e370
56e60b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
56e60f:	74 0b                	je     0x56e61c
56e611:	6a 20                	push   $0x20
56e613:	56                   	push   %esi
56e614:	e8 59 2a 07 00       	call   0x5e1072
56e619:	83 c4 08             	add    $0x8,%esp
56e61c:	8b c6                	mov    %esi,%eax
56e61e:	5e                   	pop    %esi
56e61f:	5d                   	pop    %ebp
56e620:	c2 04 00             	ret    $0x4
56e623:	cc                   	int3
56e624:	cc                   	int3
56e625:	cc                   	int3
56e626:	cc                   	int3
56e627:	cc                   	int3
56e628:	cc                   	int3
56e629:	cc                   	int3
56e62a:	cc                   	int3
56e62b:	cc                   	int3
56e62c:	cc                   	int3
56e62d:	cc                   	int3
56e62e:	cc                   	int3
56e62f:	cc                   	int3
56e630:	ff 74 24 10          	push   0x10(%esp)
56e634:	ff 74 24 10          	push   0x10(%esp)
56e638:	ff 74 24 10          	push   0x10(%esp)
56e63c:	ff 74 24 10          	push   0x10(%esp)
56e640:	6a 01                	push   $0x1
56e642:	e8 e9 01 00 00       	call   0x56e830
56e647:	83 c4 14             	add    $0x14,%esp
56e64a:	c3                   	ret
56e64b:	cc                   	int3
56e64c:	cc                   	int3
56e64d:	cc                   	int3
56e64e:	cc                   	int3
56e64f:	cc                   	int3
56e650:	ff 74 24 08          	push   0x8(%esp)
56e654:	ff 74 24 08          	push   0x8(%esp)
56e658:	6a 01                	push   $0x1
56e65a:	e8 51 00 00 00       	call   0x56e6b0
56e65f:	83 c4 0c             	add    $0xc,%esp
56e662:	c3                   	ret
56e663:	cc                   	int3
56e664:	cc                   	int3
56e665:	cc                   	int3
56e666:	cc                   	int3
56e667:	cc                   	int3
56e668:	cc                   	int3
56e669:	cc                   	int3
56e66a:	cc                   	int3
56e66b:	cc                   	int3
56e66c:	cc                   	int3
56e66d:	cc                   	int3
56e66e:	cc                   	int3
56e66f:	cc                   	int3
56e670:	ff 74 24 10          	push   0x10(%esp)
56e674:	ff 74 24 10          	push   0x10(%esp)
56e678:	ff 74 24 10          	push   0x10(%esp)
56e67c:	ff 74 24 10          	push   0x10(%esp)
56e680:	6a 00                	push   $0x0
56e682:	e8 a9 01 00 00       	call   0x56e830
56e687:	83 c4 14             	add    $0x14,%esp
56e68a:	c3                   	ret
56e68b:	cc                   	int3
56e68c:	cc                   	int3
56e68d:	cc                   	int3
56e68e:	cc                   	int3
56e68f:	cc                   	int3
56e690:	ff 74 24 08          	push   0x8(%esp)
56e694:	ff 74 24 08          	push   0x8(%esp)
56e698:	6a 00                	push   $0x0
56e69a:	e8 11 00 00 00       	call   0x56e6b0
56e69f:	83 c4 0c             	add    $0xc,%esp
56e6a2:	c3                   	ret
56e6a3:	cc                   	int3
56e6a4:	cc                   	int3
56e6a5:	cc                   	int3
56e6a6:	cc                   	int3
56e6a7:	cc                   	int3
56e6a8:	cc                   	int3
56e6a9:	cc                   	int3
56e6aa:	cc                   	int3
56e6ab:	cc                   	int3
56e6ac:	cc                   	int3
56e6ad:	cc                   	int3
56e6ae:	cc                   	int3
56e6af:	cc                   	int3
56e6b0:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
56e6b5:	b8 70 e6 56 00       	mov    $0x56e670,%eax
56e6ba:	53                   	push   %ebx
56e6bb:	57                   	push   %edi
56e6bc:	8b 7c 24 14          	mov    0x14(%esp),%edi
56e6c0:	b9 30 e6 56 00       	mov    $0x56e630,%ecx
56e6c5:	0f 45 c1             	cmovne %ecx,%eax
56e6c8:	bb 64 00 00 00       	mov    $0x64,%ebx
56e6cd:	89 44 24 0c          	mov    %eax,0xc(%esp)
56e6d1:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
56e6d5:	0f 85 32 01 00 00    	jne    0x56e80d
56e6db:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
56e6df:	0f 84 28 01 00 00    	je     0x56e80d
56e6e5:	55                   	push   %ebp
56e6e6:	56                   	push   %esi
56e6e7:	57                   	push   %edi
56e6e8:	e8 83 4c f4 ff       	call   0x4b3370
56e6ed:	8b e8                	mov    %eax,%ebp
56e6ef:	83 c4 04             	add    $0x4,%esp
56e6f2:	83 fd 01             	cmp    $0x1,%ebp
56e6f5:	75 15                	jne    0x56e70c
56e6f7:	6a 00                	push   $0x0
56e6f9:	ff 74 24 1c          	push   0x1c(%esp)
56e6fd:	e8 ee 4d f4 ff       	call   0x4b34f0
56e702:	83 c4 08             	add    $0x8,%esp
56e705:	8b c5                	mov    %ebp,%eax
56e707:	5e                   	pop    %esi
56e708:	5d                   	pop    %ebp
56e709:	5f                   	pop    %edi
56e70a:	5b                   	pop    %ebx
56e70b:	c3                   	ret
56e70c:	8d 45 fe             	lea    -0x2(%ebp),%eax
56e70f:	50                   	push   %eax
56e710:	57                   	push   %edi
56e711:	e8 2a 4b f4 ff       	call   0x4b3240
56e716:	83 c4 08             	add    $0x8,%esp
56e719:	85 c0                	test   %eax,%eax
56e71b:	0f 85 95 00 00 00    	jne    0x56e7b6
56e721:	8d 45 fd             	lea    -0x3(%ebp),%eax
56e724:	50                   	push   %eax
56e725:	57                   	push   %edi
56e726:	e8 15 4b f4 ff       	call   0x4b3240
56e72b:	83 c4 08             	add    $0x8,%esp
56e72e:	85 c0                	test   %eax,%eax
56e730:	0f 85 80 00 00 00    	jne    0x56e7b6
56e736:	8b 74 24 18          	mov    0x18(%esp),%esi
56e73a:	8d 45 01             	lea    0x1(%ebp),%eax
56e73d:	8b 6c 24 14          	mov    0x14(%esp),%ebp
56e741:	89 44 24 1c          	mov    %eax,0x1c(%esp)
56e745:	6a 00                	push   $0x0
56e747:	6a ff                	push   $0xffffffff
56e749:	50                   	push   %eax
56e74a:	56                   	push   %esi
56e74b:	ff d5                	call   *%ebp
56e74d:	83 c4 10             	add    $0x10,%esp
56e750:	85 c0                	test   %eax,%eax
56e752:	0f 84 ae 00 00 00    	je     0x56e806
56e758:	57                   	push   %edi
56e759:	56                   	push   %esi
56e75a:	e8 61 46 f4 ff       	call   0x4b2dc0
56e75f:	83 c4 08             	add    $0x8,%esp
56e762:	85 c0                	test   %eax,%eax
56e764:	78 30                	js     0x56e796
56e766:	57                   	push   %edi
56e767:	56                   	push   %esi
56e768:	56                   	push   %esi
56e769:	e8 f2 99 f6 ff       	call   0x4d8160
56e76e:	83 c4 0c             	add    $0xc,%esp
56e771:	85 c0                	test   %eax,%eax
56e773:	0f 84 8d 00 00 00    	je     0x56e806
56e779:	57                   	push   %edi
56e77a:	56                   	push   %esi
56e77b:	e8 40 46 f4 ff       	call   0x4b2dc0
56e780:	83 c4 08             	add    $0x8,%esp
56e783:	85 c0                	test   %eax,%eax
56e785:	78 0f                	js     0x56e796
56e787:	57                   	push   %edi
56e788:	56                   	push   %esi
56e789:	56                   	push   %esi
56e78a:	e8 d1 99 f6 ff       	call   0x4d8160
56e78f:	83 c4 0c             	add    $0xc,%esp
56e792:	85 c0                	test   %eax,%eax
56e794:	74 70                	je     0x56e806
56e796:	83 eb 01             	sub    $0x1,%ebx
56e799:	74 14                	je     0x56e7af
56e79b:	57                   	push   %edi
56e79c:	56                   	push   %esi
56e79d:	e8 1e 46 f4 ff       	call   0x4b2dc0
56e7a2:	83 c4 08             	add    $0x8,%esp
56e7a5:	85 c0                	test   %eax,%eax
56e7a7:	78 3b                	js     0x56e7e4
56e7a9:	8b 44 24 1c          	mov    0x1c(%esp),%eax
56e7ad:	eb 96                	jmp    0x56e745
56e7af:	68 06 01 00 00       	push   $0x106
56e7b4:	eb 3d                	jmp    0x56e7f3
56e7b6:	8b 74 24 18          	mov    0x18(%esp),%esi
56e7ba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
56e7c0:	6a 00                	push   $0x0
56e7c2:	6a ff                	push   $0xffffffff
56e7c4:	55                   	push   %ebp
56e7c5:	56                   	push   %esi
56e7c6:	ff 54 24 24          	call   *0x24(%esp)
56e7ca:	83 c4 10             	add    $0x10,%esp
56e7cd:	85 c0                	test   %eax,%eax
56e7cf:	74 35                	je     0x56e806
56e7d1:	83 eb 01             	sub    $0x1,%ebx
56e7d4:	74 18                	je     0x56e7ee
56e7d6:	57                   	push   %edi
56e7d7:	56                   	push   %esi
56e7d8:	e8 e3 45 f4 ff       	call   0x4b2dc0
56e7dd:	83 c4 08             	add    $0x8,%esp
56e7e0:	85 c0                	test   %eax,%eax
56e7e2:	79 dc                	jns    0x56e7c0
56e7e4:	5e                   	pop    %esi
56e7e5:	5d                   	pop    %ebp
56e7e6:	5f                   	pop    %edi
56e7e7:	b8 01 00 00 00       	mov    $0x1,%eax
56e7ec:	5b                   	pop    %ebx
56e7ed:	c3                   	ret
56e7ee:	68 13 01 00 00       	push   $0x113
56e7f3:	68 58 c9 6b 00       	push   $0x6bc958
56e7f8:	6a 71                	push   $0x71
56e7fa:	6a 7a                	push   $0x7a
56e7fc:	6a 03                	push   $0x3
56e7fe:	e8 9d 2c f3 ff       	call   0x4a14a0
56e803:	83 c4 14             	add    $0x14,%esp
56e806:	5e                   	pop    %esi
56e807:	5d                   	pop    %ebp
56e808:	5f                   	pop    %edi
56e809:	33 c0                	xor    %eax,%eax
56e80b:	5b                   	pop    %ebx
56e80c:	c3                   	ret
56e80d:	68 e5 00 00 00       	push   $0xe5
56e812:	68 58 c9 6b 00       	push   $0x6bc958
56e817:	6a 73                	push   $0x73
56e819:	6a 7a                	push   $0x7a
56e81b:	6a 03                	push   $0x3
56e81d:	e8 7e 2c f3 ff       	call   0x4a14a0
56e822:	83 c4 14             	add    $0x14,%esp
56e825:	33 c0                	xor    %eax,%eax
56e827:	5f                   	pop    %edi
56e828:	5b                   	pop    %ebx
56e829:	c3                   	ret
56e82a:	cc                   	int3
56e82b:	cc                   	int3
56e82c:	cc                   	int3
56e82d:	cc                   	int3
56e82e:	cc                   	int3
56e82f:	cc                   	int3
56e830:	b8 10 00 00 00       	mov    $0x10,%eax
56e835:	e8 b6 2c 07 00       	call   0x5e14f0
56e83a:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
56e83e:	55                   	push   %ebp
56e83f:	33 ed                	xor    %ebp,%ebp
56e841:	85 c9                	test   %ecx,%ecx
56e843:	75 2a                	jne    0x56e86f
56e845:	83 7c 24 24 ff       	cmpl   $0xffffffff,0x24(%esp)
56e84a:	0f 85 a6 01 00 00    	jne    0x56e9f6
56e850:	39 6c 24 28          	cmp    %ebp,0x28(%esp)
56e854:	0f 85 9c 01 00 00    	jne    0x56e9f6
56e85a:	51                   	push   %ecx
56e85b:	ff 74 24 20          	push   0x20(%esp)
56e85f:	e8 8c 4c f4 ff       	call   0x4b34f0
56e864:	83 c4 08             	add    $0x8,%esp
56e867:	8d 45 01             	lea    0x1(%ebp),%eax
56e86a:	5d                   	pop    %ebp
56e86b:	83 c4 10             	add    $0x10,%esp
56e86e:	c3                   	ret
56e86f:	0f 88 81 01 00 00    	js     0x56e9f6
56e875:	83 f9 01             	cmp    $0x1,%ecx
56e878:	75 0a                	jne    0x56e884
56e87a:	39 6c 24 24          	cmp    %ebp,0x24(%esp)
56e87e:	0f 8f 72 01 00 00    	jg     0x56e9f6
56e884:	8d 41 07             	lea    0x7(%ecx),%eax
56e887:	99                   	cltd
56e888:	83 e2 07             	and    $0x7,%edx
56e88b:	53                   	push   %ebx
56e88c:	56                   	push   %esi
56e88d:	8d 71 ff             	lea    -0x1(%ecx),%esi
56e890:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
56e893:	c1 fb 03             	sar    $0x3,%ebx
56e896:	57                   	push   %edi
56e897:	81 e6 07 00 00 80    	and    $0x80000007,%esi
56e89d:	79 05                	jns    0x56e8a4
56e89f:	4e                   	dec    %esi
56e8a0:	83 ce f8             	or     $0xfffffff8,%esi
56e8a3:	46                   	inc    %esi
56e8a4:	68 89 00 00 00       	push   $0x89
56e8a9:	8d 4e 01             	lea    0x1(%esi),%ecx
56e8ac:	89 74 24 14          	mov    %esi,0x14(%esp)
56e8b0:	b8 ff 00 00 00       	mov    $0xff,%eax
56e8b5:	d3 e0                	shl    %cl,%eax
56e8b7:	68 58 c9 6b 00       	push   $0x6bc958
56e8bc:	53                   	push   %ebx
56e8bd:	89 44 24 20          	mov    %eax,0x20(%esp)
56e8c1:	e8 ea 18 f3 ff       	call   0x4a01b0
56e8c6:	8b f8                	mov    %eax,%edi
56e8c8:	83 c4 0c             	add    $0xc,%esp
56e8cb:	85 ff                	test   %edi,%edi
56e8cd:	75 22                	jne    0x56e8f1
56e8cf:	68 8b 00 00 00       	push   $0x8b
56e8d4:	68 58 c9 6b 00       	push   $0x6bc958
56e8d9:	6a 41                	push   $0x41
56e8db:	6a 7f                	push   $0x7f
56e8dd:	6a 03                	push   $0x3
56e8df:	e8 bc 2b f3 ff       	call   0x4a14a0
56e8e4:	83 c4 14             	add    $0x14,%esp
56e8e7:	8b c5                	mov    %ebp,%eax
56e8e9:	5f                   	pop    %edi
56e8ea:	5e                   	pop    %esi
56e8eb:	5b                   	pop    %ebx
56e8ec:	5d                   	pop    %ebp
56e8ed:	83 c4 10             	add    $0x10,%esp
56e8f0:	c3                   	ret
56e8f1:	8d 44 24 18          	lea    0x18(%esp),%eax
56e8f5:	50                   	push   %eax
56e8f6:	e8 d0 9f 08 00       	call   0x5f88cb
56e8fb:	83 c4 04             	add    $0x4,%esp
56e8fe:	b8 08 00 00 00       	mov    $0x8,%eax
56e903:	e8 e8 2b 07 00       	call   0x5e14f0
56e908:	0f 57 c0             	xorps  %xmm0,%xmm0
56e90b:	8d 44 24 20          	lea    0x20(%esp),%eax
56e90f:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
56e914:	6a 08                	push   $0x8
56e916:	50                   	push   %eax
56e917:	e8 04 25 f2 ff       	call   0x490e20
56e91c:	53                   	push   %ebx
56e91d:	57                   	push   %edi
56e91e:	e8 7d 25 f2 ff       	call   0x490ea0
56e923:	83 c4 18             	add    $0x18,%esp
56e926:	85 c0                	test   %eax,%eax
56e928:	0f 8e ae 00 00 00    	jle    0x56e9dc
56e92e:	83 7c 24 24 02       	cmpl   $0x2,0x24(%esp)
56e933:	75 52                	jne    0x56e987
56e935:	33 f6                	xor    %esi,%esi
56e937:	85 db                	test   %ebx,%ebx
56e939:	7e 48                	jle    0x56e983
56e93b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
56e940:	8d 44 24 2c          	lea    0x2c(%esp),%eax
56e944:	6a 01                	push   $0x1
56e946:	50                   	push   %eax
56e947:	e8 b4 25 f2 ff       	call   0x490f00
56e94c:	83 c4 08             	add    $0x8,%esp
56e94f:	85 c0                	test   %eax,%eax
56e951:	0f 88 85 00 00 00    	js     0x56e9dc
56e957:	8a 44 24 2c          	mov    0x2c(%esp),%al
56e95b:	3c 80                	cmp    $0x80,%al
56e95d:	72 0d                	jb     0x56e96c