45a4bd:	8b e5                	mov    %ebp,%esp
45a4bf:	5d                   	pop    %ebp
45a4c0:	c3                   	ret
45a4c1:	cc                   	int3
45a4c2:	cc                   	int3
45a4c3:	cc                   	int3
45a4c4:	cc                   	int3
45a4c5:	cc                   	int3
45a4c6:	cc                   	int3
45a4c7:	cc                   	int3
45a4c8:	cc                   	int3
45a4c9:	cc                   	int3
45a4ca:	cc                   	int3
45a4cb:	cc                   	int3
45a4cc:	cc                   	int3
45a4cd:	cc                   	int3
45a4ce:	cc                   	int3
45a4cf:	cc                   	int3
45a4d0:	55                   	push   %ebp
45a4d1:	8b ec                	mov    %esp,%ebp
45a4d3:	6a ff                	push   $0xffffffff
45a4d5:	68 06 89 5f 00       	push   $0x5f8906
45a4da:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45a4e0:	50                   	push   %eax
45a4e1:	83 ec 74             	sub    $0x74,%esp
45a4e4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45a4e9:	33 c5                	xor    %ebp,%eax
45a4eb:	89 45 f0             	mov    %eax,-0x10(%ebp)
45a4ee:	53                   	push   %ebx
45a4ef:	56                   	push   %esi
45a4f0:	57                   	push   %edi
45a4f1:	50                   	push   %eax
45a4f2:	8d 45 f4             	lea    -0xc(%ebp),%eax
45a4f5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45a4fb:	8b f1                	mov    %ecx,%esi
45a4fd:	8b 45 08             	mov    0x8(%ebp),%eax
45a500:	33 db                	xor    %ebx,%ebx
45a502:	0f 57 c0             	xorps  %xmm0,%xmm0
45a505:	89 45 8c             	mov    %eax,-0x74(%ebp)
45a508:	89 5d 88             	mov    %ebx,-0x78(%ebp)
45a50b:	33 c0                	xor    %eax,%eax
45a50d:	66 0f 13 45 84       	movlpd %xmm0,-0x7c(%ebp)
45a512:	8b 4d 88             	mov    -0x78(%ebp),%ecx
45a515:	8b 55 84             	mov    -0x7c(%ebp),%edx
45a518:	89 5d 98             	mov    %ebx,-0x68(%ebp)
45a51b:	89 45 9c             	mov    %eax,-0x64(%ebp)
45a51e:	89 4d 90             	mov    %ecx,-0x70(%ebp)
45a521:	89 55 94             	mov    %edx,-0x6c(%ebp)
45a524:	83 f8 46             	cmp    $0x46,%eax
45a527:	0f 84 70 01 00 00    	je     0x45a69d
45a52d:	8b 3e                	mov    (%esi),%edi
45a52f:	3b 7e 04             	cmp    0x4(%esi),%edi
45a532:	0f 85 1d 01 00 00    	jne    0x45a655
45a538:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
45a53f:	00
45a540:	8b 4e 20             	mov    0x20(%esi),%ecx
45a543:	85 c9                	test   %ecx,%ecx
45a545:	0f 8f 82 01 00 00    	jg     0x45a6cd
45a54b:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
45a54f:	0f 8f 78 01 00 00    	jg     0x45a6cd
45a555:	8b 46 0c             	mov    0xc(%esi),%eax
45a558:	3b 46 1c             	cmp    0x1c(%esi),%eax
45a55b:	0f 84 6c 01 00 00    	je     0x45a6cd
45a561:	8b 7e 08             	mov    0x8(%esi),%edi
45a564:	8b 07                	mov    (%edi),%eax
45a566:	8d 4d a0             	lea    -0x60(%ebp),%ecx
45a569:	51                   	push   %ecx
45a56a:	8d 4d 80             	lea    -0x80(%ebp),%ecx
45a56d:	51                   	push   %ecx
45a56e:	8b 40 04             	mov    0x4(%eax),%eax
45a571:	8b cf                	mov    %edi,%ecx
45a573:	ff d0                	call   *%eax
45a575:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a578:	84 c0                	test   %al,%al
45a57a:	0f 84 10 01 00 00    	je     0x45a690
45a580:	85 c9                	test   %ecx,%ecx
45a582:	74 e0                	je     0x45a564
45a584:	84 c0                	test   %al,%al
45a586:	0f 84 04 01 00 00    	je     0x45a690
45a58c:	8b 45 80             	mov    -0x80(%ebp),%eax
45a58f:	89 06                	mov    %eax,(%esi)
45a591:	8d 14 08             	lea    (%eax,%ecx,1),%edx
45a594:	89 56 04             	mov    %edx,0x4(%esi)
45a597:	85 c9                	test   %ecx,%ecx
45a599:	79 3f                	jns    0x45a5da
45a59b:	68 7e 02 00 00       	push   $0x27e
45a5a0:	68 98 64 60 00       	push   $0x606498
45a5a5:	6a 03                	push   $0x3
45a5a7:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45a5aa:	e8 31 ad 01 00       	call   0x4752e0
45a5af:	83 cb 02             	or     $0x2,%ebx
45a5b2:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
45a5b9:	68 f4 65 60 00       	push   $0x6065f4
45a5be:	8b c8                	mov    %eax,%ecx
45a5c0:	89 5d 98             	mov    %ebx,-0x68(%ebp)
45a5c3:	89 5d 88             	mov    %ebx,-0x78(%ebp)
45a5c6:	e8 25 b3 01 00       	call   0x4758f0
45a5cb:	50                   	push   %eax
45a5cc:	8d 4d a7             	lea    -0x59(%ebp),%ecx
45a5cf:	e8 ac b0 01 00       	call   0x475680
45a5d4:	8b 56 04             	mov    0x4(%esi),%edx
45a5d7:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a5da:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
45a5e1:	f6 c3 02             	test   $0x2,%bl
45a5e4:	74 14                	je     0x45a5fa
45a5e6:	83 e3 fd             	and    $0xfffffffd,%ebx
45a5e9:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45a5ec:	89 5d 98             	mov    %ebx,-0x68(%ebp)
45a5ef:	e8 1c b0 01 00       	call   0x475610
45a5f4:	8b 56 04             	mov    0x4(%esi),%edx
45a5f7:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a5fa:	8b 7e 0c             	mov    0xc(%esi),%edi
45a5fd:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
45a602:	2b c1                	sub    %ecx,%eax
45a604:	3b f8                	cmp    %eax,%edi
45a606:	7f 04                	jg     0x45a60c
45a608:	03 cf                	add    %edi,%ecx
45a60a:	eb 15                	jmp    0x45a621
45a60c:	8b 56 04             	mov    0x4(%esi),%edx
45a60f:	8d 87 01 00 00 80    	lea    -0x7fffffff(%edi),%eax
45a615:	03 c1                	add    %ecx,%eax
45a617:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
45a61c:	89 46 10             	mov    %eax,0x10(%esi)
45a61f:	2b d0                	sub    %eax,%edx
45a621:	89 4e 0c             	mov    %ecx,0xc(%esi)
45a624:	8b 4e 20             	mov    0x20(%esi),%ecx
45a627:	8b 46 0c             	mov    0xc(%esi),%eax
45a62a:	03 ca                	add    %edx,%ecx
45a62c:	89 4e 04             	mov    %ecx,0x4(%esi)
45a62f:	8b 56 1c             	mov    0x1c(%esi),%edx
45a632:	39 56 24             	cmp    %edx,0x24(%esi)
45a635:	0f 4c 56 24          	cmovl  0x24(%esi),%edx
45a639:	3b d0                	cmp    %eax,%edx
45a63b:	7d 09                	jge    0x45a646
45a63d:	2b c2                	sub    %edx,%eax
45a63f:	2b c8                	sub    %eax,%ecx
45a641:	89 4e 04             	mov    %ecx,0x4(%esi)
45a644:	eb 02                	jmp    0x45a648
45a646:	33 c0                	xor    %eax,%eax
45a648:	89 46 20             	mov    %eax,0x20(%esi)
45a64b:	8b 3e                	mov    (%esi),%edi
45a64d:	3b f9                	cmp    %ecx,%edi
45a64f:	0f 84 eb fe ff ff    	je     0x45a540
45a655:	0f b6 1f             	movzbl (%edi),%ebx
45a658:	33 d2                	xor    %edx,%edx
45a65a:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
45a65d:	8b c3                	mov    %ebx,%eax
45a65f:	83 e0 7f             	and    $0x7f,%eax
45a662:	e8 49 75 17 00       	call   0x5d1bb0
45a667:	09 45 94             	or     %eax,-0x6c(%ebp)
45a66a:	8d 47 01             	lea    0x1(%edi),%eax
45a66d:	8b 4d 90             	mov    -0x70(%ebp),%ecx
45a670:	89 06                	mov    %eax,(%esi)
45a672:	0b ca                	or     %edx,%ecx
45a674:	8b 45 9c             	mov    -0x64(%ebp),%eax
45a677:	83 c0 07             	add    $0x7,%eax
45a67a:	89 4d 90             	mov    %ecx,-0x70(%ebp)
45a67d:	89 45 9c             	mov    %eax,-0x64(%ebp)
45a680:	84 db                	test   %bl,%bl
45a682:	0f 89 a9 00 00 00    	jns    0x45a731
45a688:	8b 5d 98             	mov    -0x68(%ebp),%ebx
45a68b:	e9 94 fe ff ff       	jmp    0x45a524
45a690:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45a696:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45a69d:	8b 45 8c             	mov    -0x74(%ebp),%eax
45a6a0:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
45a6a6:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45a6ad:	32 c0                	xor    %al,%al
45a6af:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45a6b2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45a6b9:	59                   	pop    %ecx
45a6ba:	5f                   	pop    %edi
45a6bb:	5e                   	pop    %esi
45a6bc:	5b                   	pop    %ebx
45a6bd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45a6c0:	33 cd                	xor    %ebp,%ecx
45a6c2:	e8 5f 73 17 00       	call   0x5d1a26
45a6c7:	8b e5                	mov    %ebp,%esp
45a6c9:	5d                   	pop    %ebp
45a6ca:	c2 04 00             	ret    $0x4
45a6cd:	8b 46 0c             	mov    0xc(%esi),%eax
45a6d0:	2b c1                	sub    %ecx,%eax
45a6d2:	8b 4e 24             	mov    0x24(%esi),%ecx
45a6d5:	3b c1                	cmp    %ecx,%eax
45a6d7:	7c c4                	jl     0x45a69d
45a6d9:	3b 4e 1c             	cmp    0x1c(%esi),%ecx
45a6dc:	74 bf                	je     0x45a69d
45a6de:	68 c1 00 00 00       	push   $0xc1
45a6e3:	68 98 64 60 00       	push   $0x606498
45a6e8:	6a 02                	push   $0x2
45a6ea:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45a6ed:	e8 ee ab 01 00       	call   0x4752e0
45a6f2:	68 48 65 60 00       	push   $0x606548
45a6f7:	ff 76 24             	push   0x24(%esi)
45a6fa:	8b c8                	mov    %eax,%ecx
45a6fc:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
45a703:	68 00 65 60 00       	push   $0x606500
45a708:	e8 e3 b1 01 00       	call   0x4758f0
45a70d:	8b c8                	mov    %eax,%ecx
45a70f:	e8 fc b0 01 00       	call   0x475810
45a714:	8b c8                	mov    %eax,%ecx
45a716:	e8 d5 b1 01 00       	call   0x4758f0
45a71b:	50                   	push   %eax
45a71c:	8d 4d a6             	lea    -0x5a(%ebp),%ecx
45a71f:	e8 5c af 01 00       	call   0x475680
45a724:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45a727:	e8 e4 ae 01 00       	call   0x475610
45a72c:	e9 6c ff ff ff       	jmp    0x45a69d
45a731:	8b 45 8c             	mov    -0x74(%ebp),%eax
45a734:	8b 55 94             	mov    -0x6c(%ebp),%edx
45a737:	89 10                	mov    %edx,(%eax)
45a739:	89 48 04             	mov    %ecx,0x4(%eax)
45a73c:	b0 01                	mov    $0x1,%al
45a73e:	e9 6c ff ff ff       	jmp    0x45a6af
45a743:	cc                   	int3
45a744:	cc                   	int3
45a745:	cc                   	int3
45a746:	cc                   	int3
45a747:	cc                   	int3
45a748:	cc                   	int3
45a749:	cc                   	int3
45a74a:	cc                   	int3
45a74b:	cc                   	int3
45a74c:	cc                   	int3
45a74d:	cc                   	int3
45a74e:	cc                   	int3
45a74f:	cc                   	int3
45a750:	8b 51 04             	mov    0x4(%ecx),%edx
45a753:	03 51 20             	add    0x20(%ecx),%edx
45a756:	8b 41 0c             	mov    0xc(%ecx),%eax
45a759:	89 51 04             	mov    %edx,0x4(%ecx)
45a75c:	56                   	push   %esi
45a75d:	8b 71 1c             	mov    0x1c(%ecx),%esi
45a760:	39 71 24             	cmp    %esi,0x24(%ecx)
45a763:	0f 4c 71 24          	cmovl  0x24(%ecx),%esi
45a767:	3b f0                	cmp    %eax,%esi
45a769:	7d 0c                	jge    0x45a777
45a76b:	2b c6                	sub    %esi,%eax
45a76d:	2b d0                	sub    %eax,%edx
45a76f:	89 51 04             	mov    %edx,0x4(%ecx)
45a772:	89 41 20             	mov    %eax,0x20(%ecx)
45a775:	5e                   	pop    %esi
45a776:	c3                   	ret
45a777:	c7 41 20 00 00 00 00 	movl   $0x0,0x20(%ecx)
45a77e:	5e                   	pop    %esi
45a77f:	c3                   	ret
45a780:	55                   	push   %ebp
45a781:	8b ec                	mov    %esp,%ebp
45a783:	6a ff                	push   $0xffffffff
45a785:	68 56 89 5f 00       	push   $0x5f8956
45a78a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45a790:	50                   	push   %eax
45a791:	83 ec 5c             	sub    $0x5c,%esp
45a794:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45a799:	33 c5                	xor    %ebp,%eax
45a79b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45a79e:	53                   	push   %ebx
45a79f:	56                   	push   %esi
45a7a0:	57                   	push   %edi
45a7a1:	50                   	push   %eax
45a7a2:	8d 45 f4             	lea    -0xc(%ebp),%eax
45a7a5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45a7ab:	8b f1                	mov    %ecx,%esi
45a7ad:	33 db                	xor    %ebx,%ebx
45a7af:	89 5d 98             	mov    %ebx,-0x68(%ebp)
45a7b2:	8b 4e 20             	mov    0x20(%esi),%ecx
45a7b5:	85 c9                	test   %ecx,%ecx
45a7b7:	0f 8f e3 00 00 00    	jg     0x45a8a0
45a7bd:	39 5e 10             	cmp    %ebx,0x10(%esi)
45a7c0:	0f 8f da 00 00 00    	jg     0x45a8a0
45a7c6:	8b 46 0c             	mov    0xc(%esi),%eax
45a7c9:	3b 46 1c             	cmp    0x1c(%esi),%eax
45a7cc:	0f 84 ce 00 00 00    	je     0x45a8a0
45a7d2:	8b 7e 08             	mov    0x8(%esi),%edi
45a7d5:	8b 07                	mov    (%edi),%eax
45a7d7:	8d 4d a0             	lea    -0x60(%ebp),%ecx
45a7da:	51                   	push   %ecx
45a7db:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
45a7de:	51                   	push   %ecx
45a7df:	8b 40 04             	mov    0x4(%eax),%eax
45a7e2:	8b cf                	mov    %edi,%ecx
45a7e4:	ff d0                	call   *%eax
45a7e6:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a7e9:	84 c0                	test   %al,%al
45a7eb:	0f 84 a8 00 00 00    	je     0x45a899
45a7f1:	85 c9                	test   %ecx,%ecx
45a7f3:	74 e0                	je     0x45a7d5
45a7f5:	84 c0                	test   %al,%al
45a7f7:	0f 84 9c 00 00 00    	je     0x45a899
45a7fd:	8b 45 9c             	mov    -0x64(%ebp),%eax
45a800:	89 06                	mov    %eax,(%esi)
45a802:	03 c1                	add    %ecx,%eax
45a804:	89 46 04             	mov    %eax,0x4(%esi)
45a807:	85 c9                	test   %ecx,%ecx
45a809:	79 3b                	jns    0x45a846
45a80b:	68 7e 02 00 00       	push   $0x27e
45a810:	68 98 64 60 00       	push   $0x606498
45a815:	6a 03                	push   $0x3
45a817:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45a81a:	e8 c1 aa 01 00       	call   0x4752e0
45a81f:	bb 02 00 00 00       	mov    $0x2,%ebx
45a824:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
45a82b:	68 f4 65 60 00       	push   $0x6065f4
45a830:	8b c8                	mov    %eax,%ecx
45a832:	89 5d 98             	mov    %ebx,-0x68(%ebp)
45a835:	e8 b6 b0 01 00       	call   0x4758f0
45a83a:	50                   	push   %eax
45a83b:	8d 4d a7             	lea    -0x59(%ebp),%ecx
45a83e:	e8 3d ae 01 00       	call   0x475680
45a843:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a846:	f6 c3 02             	test   $0x2,%bl
45a849:	74 0b                	je     0x45a856
45a84b:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45a84e:	e8 bd ad 01 00       	call   0x475610
45a853:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a856:	8b 56 0c             	mov    0xc(%esi),%edx
45a859:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
45a85e:	2b c1                	sub    %ecx,%eax
45a860:	3b d0                	cmp    %eax,%edx
45a862:	7f 14                	jg     0x45a878
45a864:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
45a867:	8b ce                	mov    %esi,%ecx
45a869:	89 46 0c             	mov    %eax,0xc(%esi)
45a86c:	e8 df fe ff ff       	call   0x45a750
45a871:	b0 01                	mov    $0x1,%al
45a873:	e9 89 00 00 00       	jmp    0x45a901
45a878:	8d 82 01 00 00 80    	lea    -0x7fffffff(%edx),%eax
45a87e:	03 c1                	add    %ecx,%eax
45a880:	8b ce                	mov    %esi,%ecx
45a882:	29 46 04             	sub    %eax,0x4(%esi)
45a885:	89 46 10             	mov    %eax,0x10(%esi)
45a888:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
45a88d:	89 46 0c             	mov    %eax,0xc(%esi)
45a890:	e8 bb fe ff ff       	call   0x45a750
45a895:	b0 01                	mov    $0x1,%al
45a897:	eb 68                	jmp    0x45a901
45a899:	89 1e                	mov    %ebx,(%esi)
45a89b:	89 5e 04             	mov    %ebx,0x4(%esi)
45a89e:	eb 5f                	jmp    0x45a8ff
45a8a0:	8b 46 0c             	mov    0xc(%esi),%eax
45a8a3:	2b c1                	sub    %ecx,%eax
45a8a5:	8b 4e 24             	mov    0x24(%esi),%ecx
45a8a8:	3b c1                	cmp    %ecx,%eax
45a8aa:	7c 53                	jl     0x45a8ff
45a8ac:	3b 4e 1c             	cmp    0x1c(%esi),%ecx
45a8af:	74 4e                	je     0x45a8ff
45a8b1:	68 c1 00 00 00       	push   $0xc1
45a8b6:	68 98 64 60 00       	push   $0x606498
45a8bb:	6a 02                	push   $0x2
45a8bd:	8d 4d a8             	lea    -0x58(%ebp),%ecx