41f5dd:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
41f5e4:	33 c0                	xor    %eax,%eax
41f5e6:	c6 47 08 01          	movb   $0x1,0x8(%edi)
41f5ea:	eb 03                	jmp    0x41f5ef
41f5ec:	8b 47 04             	mov    0x4(%edi),%eax
41f5ef:	56                   	push   %esi
41f5f0:	50                   	push   %eax
41f5f1:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f5f4:	50                   	push   %eax
41f5f5:	e8 d1 b1 00 00       	call   0x42a7cb
41f5fa:	83 c4 08             	add    $0x8,%esp
41f5fd:	8b f0                	mov    %eax,%esi
41f5ff:	89 37                	mov    %esi,(%edi)
41f601:	ff 75 fc             	push   -0x4(%ebp)
41f604:	ff 15 38 e1 43 00    	call   *0x43e138
41f60a:	85 f6                	test   %esi,%esi
41f60c:	5e                   	pop    %esi
41f60d:	74 07                	je     0x41f616
41f60f:	8b 07                	mov    (%edi),%eax
41f611:	5f                   	pop    %edi
41f612:	8b e5                	mov    %ebp,%esp
41f614:	5d                   	pop    %ebp
41f615:	c3                   	ret
41f616:	e8 3e 7d 00 00       	call   0x427359
41f61b:	cc                   	int3
41f61c:	8b ff                	mov    %edi,%edi
41f61e:	55                   	push   %ebp
41f61f:	8b ec                	mov    %esp,%ebp
41f621:	8b 01                	mov    (%ecx),%eax
41f623:	48                   	dec    %eax
41f624:	89 01                	mov    %eax,(%ecx)
41f626:	8a 4d 08             	mov    0x8(%ebp),%cl
41f629:	84 c9                	test   %cl,%cl
41f62b:	74 14                	je     0x41f641
41f62d:	38 08                	cmp    %cl,(%eax)
41f62f:	74 10                	je     0x41f641
41f631:	e8 fa 43 00 00       	call   0x423a30
41f636:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41f63c:	e8 42 03 00 00       	call   0x41f983
41f641:	5d                   	pop    %ebp
41f642:	c2 04 00             	ret    $0x4
41f645:	8b ff                	mov    %edi,%edi
41f647:	55                   	push   %ebp
41f648:	8b ec                	mov    %esp,%ebp
41f64a:	8b 01                	mov    (%ecx),%eax
41f64c:	83 c0 fe             	add    $0xfffffffe,%eax
41f64f:	89 01                	mov    %eax,(%ecx)
41f651:	66 8b 4d 08          	mov    0x8(%ebp),%cx
41f655:	66 85 c9             	test   %cx,%cx
41f658:	74 15                	je     0x41f66f
41f65a:	66 39 08             	cmp    %cx,(%eax)
41f65d:	74 10                	je     0x41f66f
41f65f:	e8 cc 43 00 00       	call   0x423a30
41f664:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41f66a:	e8 14 03 00 00       	call   0x41f983
41f66f:	5d                   	pop    %ebp
41f670:	c2 04 00             	ret    $0x4
41f673:	cc                   	int3
41f674:	cc                   	int3
41f675:	cc                   	int3
41f676:	cc                   	int3
41f677:	cc                   	int3
41f678:	cc                   	int3
41f679:	cc                   	int3
41f67a:	cc                   	int3
41f67b:	cc                   	int3
41f67c:	cc                   	int3
41f67d:	cc                   	int3
41f67e:	cc                   	int3
41f67f:	cc                   	int3
41f680:	8b ff                	mov    %edi,%edi
41f682:	55                   	push   %ebp
41f683:	8b ec                	mov    %esp,%ebp
41f685:	51                   	push   %ecx
41f686:	53                   	push   %ebx
41f687:	56                   	push   %esi
41f688:	57                   	push   %edi
41f689:	8b d9                	mov    %ecx,%ebx
41f68b:	e8 30 ff ff ff       	call   0x41f5c0
41f690:	ff 73 04             	push   0x4(%ebx)
41f693:	8d 73 0c             	lea    0xc(%ebx),%esi
41f696:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f699:	56                   	push   %esi
41f69a:	8b 50 4c             	mov    0x4c(%eax),%edx
41f69d:	8d 7b 10             	lea    0x10(%ebx),%edi
41f6a0:	89 16                	mov    %edx,(%esi)
41f6a2:	8b 50 48             	mov    0x48(%eax),%edx
41f6a5:	50                   	push   %eax
41f6a6:	89 17                	mov    %edx,(%edi)
41f6a8:	e8 41 ab 00 00       	call   0x42a1ee
41f6ad:	ff 73 04             	push   0x4(%ebx)
41f6b0:	8b 75 fc             	mov    -0x4(%ebp),%esi
41f6b3:	57                   	push   %edi
41f6b4:	56                   	push   %esi
41f6b5:	e8 92 ab 00 00       	call   0x42a24c
41f6ba:	8b 86 50 03 00 00    	mov    0x350(%esi),%eax
41f6c0:	83 c4 18             	add    $0x18,%esp
41f6c3:	a8 02                	test   $0x2,%al
41f6c5:	75 0d                	jne    0x41f6d4
41f6c7:	83 c8 02             	or     $0x2,%eax
41f6ca:	89 86 50 03 00 00    	mov    %eax,0x350(%esi)
41f6d0:	c6 43 14 02          	movb   $0x2,0x14(%ebx)
41f6d4:	5f                   	pop    %edi
41f6d5:	5e                   	pop    %esi
41f6d6:	5b                   	pop    %ebx
41f6d7:	8b e5                	mov    %ebp,%esp
41f6d9:	5d                   	pop    %ebp
41f6da:	c3                   	ret
41f6db:	83 39 00             	cmpl   $0x0,(%ecx)
41f6de:	75 13                	jne    0x41f6f3
41f6e0:	e8 4b 43 00 00       	call   0x423a30
41f6e5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41f6eb:	e8 93 02 00 00       	call   0x41f983
41f6f0:	32 c0                	xor    %al,%al
41f6f2:	c3                   	ret
41f6f3:	b0 01                	mov    $0x1,%al
41f6f5:	c3                   	ret
41f6f6:	8b ff                	mov    %edi,%edi
41f6f8:	55                   	push   %ebp
41f6f9:	8b ec                	mov    %esp,%ebp
41f6fb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41f6fe:	8d 41 01             	lea    0x1(%ecx),%eax
41f701:	3d 00 01 00 00       	cmp    $0x100,%eax
41f706:	77 0c                	ja     0x41f714
41f708:	8b 45 08             	mov    0x8(%ebp),%eax
41f70b:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
41f70f:	23 45 10             	and    0x10(%ebp),%eax
41f712:	5d                   	pop    %ebp
41f713:	c3                   	ret
41f714:	33 c0                	xor    %eax,%eax
41f716:	5d                   	pop    %ebp
41f717:	c3                   	ret
41f718:	8b ff                	mov    %edi,%edi
41f71a:	55                   	push   %ebp
41f71b:	8b ec                	mov    %esp,%ebp
41f71d:	83 ec 2c             	sub    $0x2c,%esp
41f720:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41f723:	56                   	push   %esi
41f724:	6a 00                	push   $0x0
41f726:	e8 a5 fd ff ff       	call   0x41f4d0
41f72b:	6a 01                	push   $0x1
41f72d:	ff 75 10             	push   0x10(%ebp)
41f730:	51                   	push   %ecx
41f731:	51                   	push   %ecx
41f732:	8b c4                	mov    %esp,%eax
41f734:	ff 75 0c             	push   0xc(%ebp)
41f737:	ff 75 08             	push   0x8(%ebp)
41f73a:	50                   	push   %eax
41f73b:	e8 d8 f0 ff ff       	call   0x41e818
41f740:	83 c4 0c             	add    $0xc,%esp
41f743:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41f746:	50                   	push   %eax
41f747:	e8 e7 f0 ff ff       	call   0x41e833
41f74c:	83 c4 14             	add    $0x14,%esp
41f74f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41f752:	8b f0                	mov    %eax,%esi
41f754:	e8 d7 fd ff ff       	call   0x41f530
41f759:	8b c6                	mov    %esi,%eax
41f75b:	5e                   	pop    %esi
41f75c:	c9                   	leave
41f75d:	c3                   	ret
41f75e:	8b ff                	mov    %edi,%edi
41f760:	56                   	push   %esi
41f761:	8b f1                	mov    %ecx,%esi
41f763:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
41f767:	75 19                	jne    0x41f782
41f769:	ff 15 6c e0 43 00    	call   *0x43e06c
41f76f:	83 66 04 00          	andl   $0x0,0x4(%esi)
41f773:	50                   	push   %eax
41f774:	c6 46 08 01          	movb   $0x1,0x8(%esi)
41f778:	ff 15 38 e1 43 00    	call   *0x43e138
41f77e:	33 c0                	xor    %eax,%eax
41f780:	5e                   	pop    %esi
41f781:	c3                   	ret
41f782:	8b 46 04             	mov    0x4(%esi),%eax
41f785:	5e                   	pop    %esi
41f786:	c3                   	ret
41f787:	8b ff                	mov    %edi,%edi
41f789:	55                   	push   %ebp
41f78a:	8b ec                	mov    %esp,%ebp
41f78c:	81 ec 28 03 00 00    	sub    $0x328,%esp
41f792:	a1 14 50 45 00       	mov    0x455014,%eax
41f797:	33 c5                	xor    %ebp,%eax
41f799:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f79c:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
41f7a0:	57                   	push   %edi
41f7a1:	74 09                	je     0x41f7ac
41f7a3:	ff 75 08             	push   0x8(%ebp)
41f7a6:	e8 fb b0 ff ff       	call   0x41a8a6
41f7ab:	59                   	pop    %ecx
41f7ac:	6a 50                	push   $0x50
41f7ae:	8d 85 e0 fc ff ff    	lea    -0x320(%ebp),%eax
41f7b4:	6a 00                	push   $0x0
41f7b6:	50                   	push   %eax
41f7b7:	e8 54 c4 ff ff       	call   0x41bc10
41f7bc:	68 cc 02 00 00       	push   $0x2cc
41f7c1:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
41f7c7:	6a 00                	push   $0x0
41f7c9:	50                   	push   %eax
41f7ca:	e8 41 c4 ff ff       	call   0x41bc10
41f7cf:	8d 85 e0 fc ff ff    	lea    -0x320(%ebp),%eax
41f7d5:	83 c4 18             	add    $0x18,%esp
41f7d8:	89 85 d8 fc ff ff    	mov    %eax,-0x328(%ebp)
41f7de:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
41f7e4:	89 85 dc fc ff ff    	mov    %eax,-0x324(%ebp)
41f7ea:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
41f7f0:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
41f7f6:	89 95 d8 fd ff ff    	mov    %edx,-0x228(%ebp)
41f7fc:	89 9d d4 fd ff ff    	mov    %ebx,-0x22c(%ebp)
41f802:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
41f808:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
41f80e:	66 8c 95 f8 fd ff ff 	data16 mov %ss,-0x208(%ebp)
41f815:	66 8c 8d ec fd ff ff 	data16 mov %cs,-0x214(%ebp)
41f81c:	66 8c 9d c8 fd ff ff 	data16 mov %ds,-0x238(%ebp)
41f823:	66 8c 85 c4 fd ff ff 	data16 mov %es,-0x23c(%ebp)
41f82a:	66 8c a5 c0 fd ff ff 	data16 mov %fs,-0x240(%ebp)
41f831:	66 8c ad bc fd ff ff 	data16 mov %gs,-0x244(%ebp)
41f838:	9c                   	pushf
41f839:	8f 85 f0 fd ff ff    	pop    -0x210(%ebp)
41f83f:	8b 45 04             	mov    0x4(%ebp),%eax
41f842:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
41f848:	8d 45 04             	lea    0x4(%ebp),%eax
41f84b:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
41f851:	c7 85 30 fd ff ff 01 	movl   $0x10001,-0x2d0(%ebp)
41f858:	00 01 00
41f85b:	8b 40 fc             	mov    -0x4(%eax),%eax
41f85e:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
41f864:	8b 45 0c             	mov    0xc(%ebp),%eax
41f867:	89 85 e0 fc ff ff    	mov    %eax,-0x320(%ebp)
41f86d:	8b 45 10             	mov    0x10(%ebp),%eax
41f870:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
41f876:	8b 45 04             	mov    0x4(%ebp),%eax
41f879:	89 85 ec fc ff ff    	mov    %eax,-0x314(%ebp)
41f87f:	ff 15 88 e1 43 00    	call   *0x43e188
41f885:	6a 00                	push   $0x0
41f887:	8b f8                	mov    %eax,%edi
41f889:	ff 15 78 e1 43 00    	call   *0x43e178
41f88f:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
41f895:	50                   	push   %eax
41f896:	ff 15 74 e1 43 00    	call   *0x43e174
41f89c:	85 c0                	test   %eax,%eax
41f89e:	75 13                	jne    0x41f8b3
41f8a0:	85 ff                	test   %edi,%edi
41f8a2:	75 0f                	jne    0x41f8b3
41f8a4:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
41f8a8:	74 09                	je     0x41f8b3
41f8aa:	ff 75 08             	push   0x8(%ebp)
41f8ad:	e8 f4 af ff ff       	call   0x41a8a6
41f8b2:	59                   	pop    %ecx
41f8b3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41f8b6:	33 cd                	xor    %ebp,%ecx
41f8b8:	5f                   	pop    %edi
41f8b9:	e8 ec a2 ff ff       	call   0x419baa
41f8be:	c9                   	leave
41f8bf:	c3                   	ret
41f8c0:	8b ff                	mov    %edi,%edi
41f8c2:	55                   	push   %ebp
41f8c3:	8b ec                	mov    %esp,%ebp
41f8c5:	8b 45 08             	mov    0x8(%ebp),%eax
41f8c8:	a3 bc 69 45 00       	mov    %eax,0x4569bc
41f8cd:	5d                   	pop    %ebp
41f8ce:	c3                   	ret
41f8cf:	8b ff                	mov    %edi,%edi
41f8d1:	55                   	push   %ebp
41f8d2:	8b ec                	mov    %esp,%ebp
41f8d4:	83 ec 28             	sub    $0x28,%esp
41f8d7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41f8da:	6a 00                	push   $0x0
41f8dc:	e8 ef fb ff ff       	call   0x41f4d0
41f8e1:	8d 45 d8             	lea    -0x28(%ebp),%eax
41f8e4:	50                   	push   %eax
41f8e5:	ff 75 18             	push   0x18(%ebp)
41f8e8:	ff 75 14             	push   0x14(%ebp)
41f8eb:	ff 75 10             	push   0x10(%ebp)
41f8ee:	ff 75 0c             	push   0xc(%ebp)
41f8f1:	ff 75 08             	push   0x8(%ebp)
41f8f4:	e8 0d 00 00 00       	call   0x41f906
41f8f9:	83 c4 18             	add    $0x18,%esp
41f8fc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41f8ff:	e8 2c fc ff ff       	call   0x41f530
41f904:	c9                   	leave
41f905:	c3                   	ret
41f906:	8b ff                	mov    %edi,%edi
41f908:	55                   	push   %ebp
41f909:	8b ec                	mov    %esp,%ebp
41f90b:	56                   	push   %esi
41f90c:	57                   	push   %edi
41f90d:	8b 7d 1c             	mov    0x1c(%ebp),%edi
41f910:	8b 07                	mov    (%edi),%eax
41f912:	85 c0                	test   %eax,%eax
41f914:	75 0b                	jne    0x41f921
41f916:	8b cf                	mov    %edi,%ecx
41f918:	e8 53 fc ff ff       	call   0x41f570
41f91d:	85 c0                	test   %eax,%eax
41f91f:	74 2a                	je     0x41f94b
41f921:	8b b0 5c 03 00 00    	mov    0x35c(%eax),%esi
41f927:	85 f6                	test   %esi,%esi
41f929:	74 20                	je     0x41f94b
41f92b:	ff 75 18             	push   0x18(%ebp)
41f92e:	ff 75 14             	push   0x14(%ebp)
41f931:	ff 75 10             	push   0x10(%ebp)
41f934:	ff 75 0c             	push   0xc(%ebp)
41f937:	ff 75 08             	push   0x8(%ebp)
41f93a:	8b ce                	mov    %esi,%ecx
41f93c:	ff 15 5c e2 43 00    	call   *0x43e25c
41f942:	ff d6                	call   *%esi
41f944:	83 c4 14             	add    $0x14,%esp
41f947:	5f                   	pop    %edi
41f948:	5e                   	pop    %esi
41f949:	5d                   	pop    %ebp
41f94a:	c3                   	ret
41f94b:	8b cf                	mov    %edi,%ecx
41f94d:	e8 0c fe ff ff       	call   0x41f75e
41f952:	ff 75 18             	push   0x18(%ebp)
41f955:	8b 0d 14 50 45 00    	mov    0x455014,%ecx
41f95b:	ff 75 14             	push   0x14(%ebp)
41f95e:	8b 34 85 bc 69 45 00 	mov    0x4569bc(,%eax,4),%esi
41f965:	83 e1 1f             	and    $0x1f,%ecx
41f968:	ff 75 10             	push   0x10(%ebp)
41f96b:	33 35 14 50 45 00    	xor    0x455014,%esi
41f971:	ff 75 0c             	push   0xc(%ebp)
41f974:	d3 ce                	ror    %cl,%esi
41f976:	ff 75 08             	push   0x8(%ebp)
41f979:	85 f6                	test   %esi,%esi
41f97b:	75 bd                	jne    0x41f93a
41f97d:	e8 2e 00 00 00       	call   0x41f9b0
41f982:	cc                   	int3
41f983:	33 c0                	xor    %eax,%eax
41f985:	50                   	push   %eax
41f986:	50                   	push   %eax
41f987:	50                   	push   %eax
41f988:	50                   	push   %eax
41f989:	50                   	push   %eax
41f98a:	e8 40 ff ff ff       	call   0x41f8cf
41f98f:	83 c4 14             	add    $0x14,%esp
41f992:	c3                   	ret
41f993:	8b ff                	mov    %edi,%edi
41f995:	56                   	push   %esi
41f996:	33 f6                	xor    %esi,%esi
41f998:	56                   	push   %esi
41f999:	56                   	push   %esi
41f99a:	56                   	push   %esi
41f99b:	56                   	push   %esi
41f99c:	56                   	push   %esi
41f99d:	e8 2d ff ff ff       	call   0x41f8cf
41f9a2:	83 c4 14             	add    $0x14,%esp
41f9a5:	56                   	push   %esi
41f9a6:	56                   	push   %esi
41f9a7:	56                   	push   %esi
41f9a8:	56                   	push   %esi