41557a:	0f 84 54 00 00 00    	je     0x4155d4
415580:	8b 06                	mov    (%esi),%eax
415582:	8b 5e 04             	mov    0x4(%esi),%ebx
415585:	89 44 24 0c          	mov    %eax,0xc(%esp)
415589:	89 5c 24 10          	mov    %ebx,0x10(%esp)
41558d:	e8 ee fa ff ff       	call   0x415080
415592:	8b 44 24 0c          	mov    0xc(%esp),%eax
415596:	8b 5c 24 10          	mov    0x10(%esp),%ebx
41559a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
41559e:	8b 54 24 18          	mov    0x18(%esp),%edx
4155a2:	31 c1                	xor    %eax,%ecx
4155a4:	31 da                	xor    %ebx,%edx
4155a6:	8b 06                	mov    (%esi),%eax
4155a8:	8b 5e 04             	mov    0x4(%esi),%ebx
4155ab:	c1 ca 10             	ror    $0x10,%edx
4155ae:	88 57 06             	mov    %dl,0x6(%edi)
4155b1:	c1 ea 10             	shr    $0x10,%edx
4155b4:	88 77 05             	mov    %dh,0x5(%edi)
4155b7:	88 57 04             	mov    %dl,0x4(%edi)
4155ba:	89 0f                	mov    %ecx,(%edi)
4155bc:	e9 0e 00 00 00       	jmp    0x4155cf
4155c1:	c1 c9 10             	ror    $0x10,%ecx
4155c4:	88 4f 02             	mov    %cl,0x2(%edi)
4155c7:	c1 e1 10             	shl    $0x10,%ecx
4155ca:	88 6e 01             	mov    %ch,0x1(%esi)
4155cd:	88 0e                	mov    %cl,(%esi)
4155cf:	e9 00 00 00 00       	jmp    0x4155d4
4155d4:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4155d8:	83 c4 1c             	add    $0x1c,%esp
4155db:	89 01                	mov    %eax,(%ecx)
4155dd:	89 59 04             	mov    %ebx,0x4(%ecx)
4155e0:	5f                   	pop    %edi
4155e1:	5e                   	pop    %esi
4155e2:	5b                   	pop    %ebx
4155e3:	5d                   	pop    %ebp
4155e4:	c3                   	ret
4155e5:	90                   	nop
4155e6:	90                   	nop
4155e7:	90                   	nop
4155e8:	90                   	nop
4155e9:	90                   	nop
4155ea:	90                   	nop
4155eb:	90                   	nop
4155ec:	90                   	nop
4155ed:	90                   	nop
4155ee:	90                   	nop
4155ef:	90                   	nop
4155f0:	90                   	nop
4155f1:	90                   	nop
4155f2:	90                   	nop
4155f3:	90                   	nop
4155f4:	90                   	nop
4155f5:	90                   	nop
4155f6:	90                   	nop
4155f7:	90                   	nop
4155f8:	90                   	nop
4155f9:	90                   	nop
4155fa:	90                   	nop
4155fb:	90                   	nop
4155fc:	90                   	nop
4155fd:	90                   	nop
4155fe:	90                   	nop
4155ff:	90                   	nop
415600:	00 00                	add    %al,(%eax)
415602:	00 00                	add    %al,(%eax)
415604:	2e 00 00             	add    %al,%cs:(%eax)
415607:	00 2b                	add    %ch,(%ebx)
415609:	00 00                	add    %al,(%eax)
41560b:	00 25 00 00 00 1e    	add    %ah,0x1e000000
415611:	00 00                	add    %al,(%eax)
415613:	00 1b                	add    %bl,(%ebx)
415615:	00 00                	add    %al,(%eax)
415617:	00 18                	add    %bl,(%eax)
415619:	00 00                	add    %al,(%eax)
41561b:	00 12                	add    %dl,(%edx)
41561d:	00 00                	add    %al,(%eax)
41561f:	00 90 90 90 90 90    	add    %dl,-0x6f6f6f70(%eax)
415625:	90                   	nop
415626:	90                   	nop
415627:	90                   	nop
415628:	90                   	nop
415629:	90                   	nop
41562a:	90                   	nop
41562b:	90                   	nop
41562c:	90                   	nop
41562d:	90                   	nop
41562e:	90                   	nop
41562f:	90                   	nop
415630:	90                   	nop
415631:	90                   	nop
415632:	90                   	nop
415633:	90                   	nop
415634:	90                   	nop
415635:	90                   	nop
415636:	90                   	nop
415637:	90                   	nop
415638:	90                   	nop
415639:	90                   	nop
41563a:	90                   	nop
41563b:	90                   	nop
41563c:	90                   	nop
41563d:	90                   	nop
41563e:	90                   	nop
41563f:	90                   	nop
415640:	55                   	push   %ebp
415641:	53                   	push   %ebx
415642:	56                   	push   %esi
415643:	57                   	push   %edi
415644:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
415648:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
41564c:	8b 33                	mov    (%ebx),%esi
41564e:	8b 7b 04             	mov    0x4(%ebx),%edi
415651:	57                   	push   %edi
415652:	56                   	push   %esi
415653:	57                   	push   %edi
415654:	56                   	push   %esi
415655:	89 e3                	mov    %esp,%ebx
415657:	8b 74 24 24          	mov    0x24(%esp),%esi
41565b:	8b 7c 24 28          	mov    0x28(%esp),%edi
41565f:	8b 4c 24 40          	mov    0x40(%esp),%ecx
415663:	8b 44 24 38          	mov    0x38(%esp),%eax
415667:	50                   	push   %eax
415668:	8b 44 24 38          	mov    0x38(%esp),%eax
41566c:	50                   	push   %eax
41566d:	8b 44 24 38          	mov    0x38(%esp),%eax
415671:	50                   	push   %eax
415672:	53                   	push   %ebx
415673:	83 f9 00             	cmp    $0x0,%ecx
415676:	0f 84 a8 00 00 00    	je     0x415724
41567c:	83 e5 f8             	and    $0xfffffff8,%ebp
41567f:	8b 44 24 10          	mov    0x10(%esp),%eax
415683:	8b 5c 24 14          	mov    0x14(%esp),%ebx
415687:	0f 84 32 00 00 00    	je     0x4156bf
41568d:	8b 0e                	mov    (%esi),%ecx
41568f:	8b 56 04             	mov    0x4(%esi),%edx
415692:	31 c8                	xor    %ecx,%eax
415694:	31 d3                	xor    %edx,%ebx
415696:	89 44 24 10          	mov    %eax,0x10(%esp)
41569a:	89 5c 24 14          	mov    %ebx,0x14(%esp)
41569e:	e8 3d fb ff ff       	call   0x4151e0
4156a3:	8b 44 24 10          	mov    0x10(%esp),%eax
4156a7:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4156ab:	89 07                	mov    %eax,(%edi)
4156ad:	89 5f 04             	mov    %ebx,0x4(%edi)
4156b0:	83 c6 08             	add    $0x8,%esi
4156b3:	83 c7 08             	add    $0x8,%edi
4156b6:	83 ed 08             	sub    $0x8,%ebp
4156b9:	0f 85 ce ff ff ff    	jne    0x41568d
4156bf:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
4156c3:	83 e5 07             	and    $0x7,%ebp
4156c6:	0f 84 11 01 00 00    	je     0x4157dd
4156cc:	e8 00 00 00 00       	call   0x4156d1
4156d1:	5a                   	pop    %edx
4156d2:	8d 8a 2f 01 00 00    	lea    0x12f(%edx),%ecx
4156d8:	8b 2c a9             	mov    (%ecx,%ebp,4),%ebp
4156db:	01 d5                	add    %edx,%ebp
4156dd:	31 c9                	xor    %ecx,%ecx
4156df:	31 d2                	xor    %edx,%edx
4156e1:	ff e5                	jmp    *%ebp
4156e3:	8a 76 06             	mov    0x6(%esi),%dh
4156e6:	c1 e2 08             	shl    $0x8,%edx
4156e9:	8a 76 05             	mov    0x5(%esi),%dh
4156ec:	8a 56 04             	mov    0x4(%esi),%dl
4156ef:	8b 0e                	mov    (%esi),%ecx
4156f1:	e9 0b 00 00 00       	jmp    0x415701
4156f6:	8a 6e 02             	mov    0x2(%esi),%ch
4156f9:	c1 e1 08             	shl    $0x8,%ecx
4156fc:	8a 6e 01             	mov    0x1(%esi),%ch
4156ff:	8a 0e                	mov    (%esi),%cl
415701:	31 c8                	xor    %ecx,%eax
415703:	31 d3                	xor    %edx,%ebx
415705:	89 44 24 10          	mov    %eax,0x10(%esp)
415709:	89 5c 24 14          	mov    %ebx,0x14(%esp)
41570d:	e8 ce fa ff ff       	call   0x4151e0
415712:	8b 44 24 10          	mov    0x10(%esp),%eax
415716:	8b 5c 24 14          	mov    0x14(%esp),%ebx
41571a:	89 07                	mov    %eax,(%edi)
41571c:	89 5f 04             	mov    %ebx,0x4(%edi)
41571f:	e9 b9 00 00 00       	jmp    0x4157dd
415724:	83 e5 f8             	and    $0xfffffff8,%ebp
415727:	8b 44 24 18          	mov    0x18(%esp),%eax
41572b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
41572f:	0f 84 47 00 00 00    	je     0x41577c
415735:	8b 06                	mov    (%esi),%eax
415737:	8b 5e 04             	mov    0x4(%esi),%ebx
41573a:	89 44 24 10          	mov    %eax,0x10(%esp)
41573e:	89 5c 24 14          	mov    %ebx,0x14(%esp)
415742:	e8 c9 fb ff ff       	call   0x415310
415747:	8b 44 24 10          	mov    0x10(%esp),%eax
41574b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
41574f:	8b 4c 24 18          	mov    0x18(%esp),%ecx
415753:	8b 54 24 1c          	mov    0x1c(%esp),%edx
415757:	31 c1                	xor    %eax,%ecx
415759:	31 da                	xor    %ebx,%edx
41575b:	8b 06                	mov    (%esi),%eax
41575d:	8b 5e 04             	mov    0x4(%esi),%ebx
415760:	89 0f                	mov    %ecx,(%edi)
415762:	89 57 04             	mov    %edx,0x4(%edi)
415765:	89 44 24 18          	mov    %eax,0x18(%esp)
415769:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
41576d:	83 c6 08             	add    $0x8,%esi
415770:	83 c7 08             	add    $0x8,%edi
415773:	83 ed 08             	sub    $0x8,%ebp
415776:	0f 85 b9 ff ff ff    	jne    0x415735
41577c:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
415780:	83 e5 07             	and    $0x7,%ebp
415783:	0f 84 54 00 00 00    	je     0x4157dd
415789:	8b 06                	mov    (%esi),%eax
41578b:	8b 5e 04             	mov    0x4(%esi),%ebx
41578e:	89 44 24 10          	mov    %eax,0x10(%esp)
415792:	89 5c 24 14          	mov    %ebx,0x14(%esp)
415796:	e8 75 fb ff ff       	call   0x415310
41579b:	8b 44 24 10          	mov    0x10(%esp),%eax
41579f:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4157a3:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4157a7:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4157ab:	31 c1                	xor    %eax,%ecx
4157ad:	31 da                	xor    %ebx,%edx
4157af:	8b 06                	mov    (%esi),%eax
4157b1:	8b 5e 04             	mov    0x4(%esi),%ebx
4157b4:	c1 ca 10             	ror    $0x10,%edx
4157b7:	88 57 06             	mov    %dl,0x6(%edi)
4157ba:	c1 ea 10             	shr    $0x10,%edx
4157bd:	88 77 05             	mov    %dh,0x5(%edi)
4157c0:	88 57 04             	mov    %dl,0x4(%edi)
4157c3:	89 0f                	mov    %ecx,(%edi)
4157c5:	e9 0e 00 00 00       	jmp    0x4157d8
4157ca:	c1 c9 10             	ror    $0x10,%ecx
4157cd:	88 4f 02             	mov    %cl,0x2(%edi)
4157d0:	c1 e1 10             	shl    $0x10,%ecx
4157d3:	88 6e 01             	mov    %ch,0x1(%esi)
4157d6:	88 0e                	mov    %cl,(%esi)
4157d8:	e9 00 00 00 00       	jmp    0x4157dd
4157dd:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4157e1:	83 c4 20             	add    $0x20,%esp
4157e4:	89 01                	mov    %eax,(%ecx)
4157e6:	89 59 04             	mov    %ebx,0x4(%ecx)
4157e9:	5f                   	pop    %edi
4157ea:	5e                   	pop    %esi
4157eb:	5b                   	pop    %ebx
4157ec:	5d                   	pop    %ebp
4157ed:	c3                   	ret
4157ee:	90                   	nop
4157ef:	90                   	nop
4157f0:	90                   	nop
4157f1:	90                   	nop
4157f2:	90                   	nop
4157f3:	90                   	nop
4157f4:	90                   	nop
4157f5:	90                   	nop
4157f6:	90                   	nop
4157f7:	90                   	nop
4157f8:	90                   	nop
4157f9:	90                   	nop
4157fa:	90                   	nop
4157fb:	90                   	nop
4157fc:	90                   	nop
4157fd:	90                   	nop
4157fe:	90                   	nop
4157ff:	90                   	nop
415800:	00 00                	add    %al,(%eax)
415802:	00 00                	add    %al,(%eax)
415804:	2e 00 00             	add    %al,%cs:(%eax)
415807:	00 2b                	add    %ch,(%ebx)
415809:	00 00                	add    %al,(%eax)
41580b:	00 25 00 00 00 1e    	add    %ah,0x1e000000
415811:	00 00                	add    %al,(%eax)
415813:	00 1b                	add    %bl,(%ebx)
415815:	00 00                	add    %al,(%eax)
415817:	00 18                	add    %bl,(%eax)
415819:	00 00                	add    %al,(%eax)
41581b:	00 12                	add    %dl,(%edx)
41581d:	00 00                	add    %al,(%eax)
41581f:	00 90 90 90 90 90    	add    %dl,-0x6f6f6f70(%eax)
415825:	90                   	nop
415826:	90                   	nop
415827:	90                   	nop
415828:	90                   	nop
415829:	90                   	nop
41582a:	90                   	nop
41582b:	90                   	nop
41582c:	90                   	nop
41582d:	90                   	nop
41582e:	90                   	nop
41582f:	90                   	nop
415830:	90                   	nop
415831:	90                   	nop
415832:	90                   	nop
415833:	90                   	nop
415834:	90                   	nop
415835:	90                   	nop
415836:	90                   	nop
415837:	90                   	nop
415838:	90                   	nop
415839:	90                   	nop
41583a:	90                   	nop
41583b:	90                   	nop
41583c:	90                   	nop
41583d:	90                   	nop
41583e:	90                   	nop
41583f:	90                   	nop
415840:	00 08                	add    %cl,(%eax)
415842:	08 02                	or     %al,(%edx)
415844:	00 00                	add    %al,(%eax)
415846:	08 00                	or     %al,(%eax)
415848:	02 00                	add    (%eax),%al
41584a:	00 02                	add    %al,(%edx)
41584c:	02 08                	add    (%eax),%cl
41584e:	08 02                	or     %al,(%edx)
415850:	00 00                	add    %al,(%eax)
415852:	00 02                	add    %al,(%edx)
415854:	02 08                	add    (%eax),%cl
415856:	08 00                	or     %al,(%eax)
415858:	02 00                	add    (%eax),%al
41585a:	08 00                	or     %al,(%eax)
41585c:	02 00                	add    (%eax),%al
41585e:	00 02                	add    %al,(%edx)
415860:	02 08                	add    (%eax),%cl
415862:	08 00                	or     %al,(%eax)
415864:	00 08                	add    %cl,(%eax)
415866:	08 02                	or     %al,(%edx)
415868:	00 00                	add    %al,(%eax)
41586a:	08 02                	or     %al,(%edx)
41586c:	02 08                	add    (%eax),%cl
41586e:	00 00                	add    %al,(%eax)
415870:	02 08                	add    (%eax),%cl
415872:	00 02                	add    %al,(%edx)
415874:	00 00                	add    %al,(%eax)
415876:	00 02                	add    %al,(%edx)
415878:	00 00                	add    %al,(%eax)
41587a:	00 00                	add    %al,(%eax)
41587c:	02 00                	add    (%eax),%al
41587e:	08 00                	or     %al,(%eax)
415880:	00 00                	add    %al,(%eax)
415882:	08 00                	or     %al,(%eax)
415884:	02 00                	add    (%eax),%al
415886:	00 00                	add    %al,(%eax)
415888:	00 08                	add    %cl,(%eax)
41588a:	00 02                	add    %al,(%edx)
41588c:	00 08                	add    %cl,(%eax)
41588e:	08 00                	or     %al,(%eax)
415890:	02 08                	add    (%eax),%cl
415892:	08 02                	or     %al,(%edx)
415894:	00 00                	add    %al,(%eax)
415896:	08 02                	or     %al,(%edx)
415898:	02 08                	add    (%eax),%cl
41589a:	00 00                	add    %al,(%eax)
41589c:	00 08                	add    %cl,(%eax)
41589e:	00 02                	add    %al,(%edx)
4158a0:	02 00                	add    (%eax),%al