40f6b7:	8d 55 bc             	lea    -0x44(%ebp),%edx
40f6ba:	38 05 a6 8c 4c 00    	cmp    %al,0x4c8ca6
40f6c0:	8b ce                	mov    %esi,%ecx
40f6c2:	0f 95 c0             	setne  %al
40f6c5:	83 c0 3f             	add    $0x3f,%eax
40f6c8:	50                   	push   %eax
40f6c9:	e8 82 5b 04 00       	call   0x455250
40f6ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f6d1:	33 cd                	xor    %ebp,%ecx
40f6d3:	5e                   	pop    %esi
40f6d4:	e8 f1 a2 05 00       	call   0x4699ca
40f6d9:	8b e5                	mov    %ebp,%esp
40f6db:	5d                   	pop    %ebp
40f6dc:	c2 04 00             	ret    $0x4
40f6df:	cc                   	int3
40f6e0:	b8 20 00 00 00       	mov    $0x20,%eax
40f6e5:	c3                   	ret
40f6e6:	cc                   	int3
40f6e7:	cc                   	int3
40f6e8:	cc                   	int3
40f6e9:	cc                   	int3
40f6ea:	cc                   	int3
40f6eb:	cc                   	int3
40f6ec:	cc                   	int3
40f6ed:	cc                   	int3
40f6ee:	cc                   	int3
40f6ef:	cc                   	int3
40f6f0:	55                   	push   %ebp
40f6f1:	8b ec                	mov    %esp,%ebp
40f6f3:	51                   	push   %ecx
40f6f4:	56                   	push   %esi
40f6f5:	57                   	push   %edi
40f6f6:	68 b8 00 00 00       	push   $0xb8
40f6fb:	8b f9                	mov    %ecx,%edi
40f6fd:	e8 d6 a2 05 00       	call   0x4699d8
40f702:	68 b8 00 00 00       	push   $0xb8
40f707:	8b f0                	mov    %eax,%esi
40f709:	6a 00                	push   $0x0
40f70b:	56                   	push   %esi
40f70c:	89 75 fc             	mov    %esi,-0x4(%ebp)
40f70f:	e8 9c c4 05 00       	call   0x46bbb0
40f714:	8b 4f 04             	mov    0x4(%edi),%ecx
40f717:	8d 47 10             	lea    0x10(%edi),%eax
40f71a:	83 c4 10             	add    $0x10,%esp
40f71d:	89 4e 04             	mov    %ecx,0x4(%esi)
40f720:	8b 4f 08             	mov    0x8(%edi),%ecx
40f723:	89 4e 08             	mov    %ecx,0x8(%esi)
40f726:	8d 4e 10             	lea    0x10(%esi),%ecx
40f729:	50                   	push   %eax
40f72a:	e8 71 0f 00 00       	call   0x4106a0
40f72f:	8d 4e 60             	lea    0x60(%esi),%ecx
40f732:	c6 41 49 00          	movb   $0x0,0x49(%ecx)
40f736:	8b 97 b0 00 00 00    	mov    0xb0(%edi),%edx
40f73c:	89 51 50             	mov    %edx,0x50(%ecx)
40f73f:	83 fa 10             	cmp    $0x10,%edx
40f742:	77 0f                	ja     0x40f753
40f744:	8b c1                	mov    %ecx,%eax
40f746:	c6 41 49 01          	movb   $0x1,0x49(%ecx)
40f74a:	f7 d8                	neg    %eax
40f74c:	83 e0 0f             	and    $0xf,%eax
40f74f:	03 c1                	add    %ecx,%eax
40f751:	eb 02                	jmp    0x40f755
40f753:	33 c0                	xor    %eax,%eax
40f755:	89 41 54             	mov    %eax,0x54(%ecx)
40f758:	8d 0c 95 00 00 00 00 	lea    0x0(,%edx,4),%ecx
40f75f:	8b 97 b4 00 00 00    	mov    0xb4(%edi),%edx
40f765:	85 c9                	test   %ecx,%ecx
40f767:	74 3c                	je     0x40f7a5
40f769:	85 c0                	test   %eax,%eax
40f76b:	74 28                	je     0x40f795
40f76d:	51                   	push   %ecx
40f76e:	85 d2                	test   %edx,%edx
40f770:	74 18                	je     0x40f78a
40f772:	52                   	push   %edx
40f773:	50                   	push   %eax
40f774:	e8 a7 be 05 00       	call   0x46b620
40f779:	83 c4 0c             	add    $0xc,%esp
40f77c:	c7 06 f0 11 4b 00    	movl   $0x4b11f0,(%esi)
40f782:	8b c6                	mov    %esi,%eax
40f784:	5f                   	pop    %edi
40f785:	5e                   	pop    %esi
40f786:	8b e5                	mov    %ebp,%esp
40f788:	5d                   	pop    %ebp
40f789:	c3                   	ret
40f78a:	6a 00                	push   $0x0
40f78c:	50                   	push   %eax
40f78d:	e8 1e c4 05 00       	call   0x46bbb0
40f792:	83 c4 0c             	add    $0xc,%esp
40f795:	e8 9b a7 06 00       	call   0x479f35
40f79a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40f7a0:	e8 7c 9e 06 00       	call   0x479621
40f7a5:	5f                   	pop    %edi
40f7a6:	8b c6                	mov    %esi,%eax
40f7a8:	c7 06 f0 11 4b 00    	movl   $0x4b11f0,(%esi)
40f7ae:	5e                   	pop    %esi
40f7af:	8b e5                	mov    %ebp,%esp
40f7b1:	5d                   	pop    %ebp
40f7b2:	c3                   	ret
40f7b3:	cc                   	int3
40f7b4:	cc                   	int3
40f7b5:	cc                   	int3
40f7b6:	cc                   	int3
40f7b7:	cc                   	int3
40f7b8:	cc                   	int3
40f7b9:	cc                   	int3
40f7ba:	cc                   	int3
40f7bb:	cc                   	int3
40f7bc:	cc                   	int3
40f7bd:	cc                   	int3
40f7be:	cc                   	int3
40f7bf:	cc                   	int3
40f7c0:	55                   	push   %ebp
40f7c1:	8b ec                	mov    %esp,%ebp
40f7c3:	51                   	push   %ecx
40f7c4:	56                   	push   %esi
40f7c5:	8b 75 08             	mov    0x8(%ebp),%esi
40f7c8:	8b ce                	mov    %esi,%ecx
40f7ca:	6a 07                	push   $0x7
40f7cc:	68 1c 18 4b 00       	push   $0x4b181c
40f7d1:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40f7d7:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40f7de:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
40f7e5:	e8 96 b8 ff ff       	call   0x40b080
40f7ea:	8b c6                	mov    %esi,%eax
40f7ec:	5e                   	pop    %esi
40f7ed:	8b e5                	mov    %ebp,%esp
40f7ef:	5d                   	pop    %ebp
40f7f0:	c2 04 00             	ret    $0x4
40f7f3:	cc                   	int3
40f7f4:	cc                   	int3
40f7f5:	cc                   	int3
40f7f6:	cc                   	int3
40f7f7:	cc                   	int3
40f7f8:	cc                   	int3
40f7f9:	cc                   	int3
40f7fa:	cc                   	int3
40f7fb:	cc                   	int3
40f7fc:	cc                   	int3
40f7fd:	cc                   	int3
40f7fe:	cc                   	int3
40f7ff:	cc                   	int3
40f800:	8b 81 ac 00 00 00    	mov    0xac(%ecx),%eax
40f806:	c3                   	ret
40f807:	cc                   	int3
40f808:	cc                   	int3
40f809:	cc                   	int3
40f80a:	cc                   	int3
40f80b:	cc                   	int3
40f80c:	cc                   	int3
40f80d:	cc                   	int3
40f80e:	cc                   	int3
40f80f:	cc                   	int3
40f810:	8b 81 ac 00 00 00    	mov    0xac(%ecx),%eax
40f816:	c7 00 01 23 45 67    	movl   $0x67452301,(%eax)
40f81c:	c7 40 04 89 ab cd ef 	movl   $0xefcdab89,0x4(%eax)
40f823:	c7 40 08 fe dc ba 98 	movl   $0x98badcfe,0x8(%eax)
40f82a:	c7 40 0c 76 54 32 10 	movl   $0x10325476,0xc(%eax)
40f831:	c7 40 10 f0 e1 d2 c3 	movl   $0xc3d2e1f0,0x10(%eax)
40f838:	c3                   	ret
40f839:	cc                   	int3
40f83a:	cc                   	int3
40f83b:	cc                   	int3
40f83c:	cc                   	int3
40f83d:	cc                   	int3
40f83e:	cc                   	int3
40f83f:	cc                   	int3
40f840:	55                   	push   %ebp
40f841:	8b ec                	mov    %esp,%ebp
40f843:	8b 55 08             	mov    0x8(%ebp),%edx
40f846:	8b 89 ac 00 00 00    	mov    0xac(%ecx),%ecx
40f84c:	e8 6f 49 04 00       	call   0x4541c0
40f851:	5d                   	pop    %ebp
40f852:	c2 04 00             	ret    $0x4
40f855:	cc                   	int3
40f856:	cc                   	int3
40f857:	cc                   	int3
40f858:	cc                   	int3
40f859:	cc                   	int3
40f85a:	cc                   	int3
40f85b:	cc                   	int3
40f85c:	cc                   	int3
40f85d:	cc                   	int3
40f85e:	cc                   	int3
40f85f:	cc                   	int3
40f860:	55                   	push   %ebp
40f861:	8b ec                	mov    %esp,%ebp
40f863:	51                   	push   %ecx
40f864:	56                   	push   %esi
40f865:	57                   	push   %edi
40f866:	68 b0 00 00 00       	push   $0xb0
40f86b:	8b f1                	mov    %ecx,%esi
40f86d:	e8 66 a1 05 00       	call   0x4699d8
40f872:	68 b0 00 00 00       	push   $0xb0
40f877:	8b f8                	mov    %eax,%edi
40f879:	6a 00                	push   $0x0
40f87b:	57                   	push   %edi
40f87c:	89 7d fc             	mov    %edi,-0x4(%ebp)
40f87f:	e8 2c c3 05 00       	call   0x46bbb0
40f884:	8b 4e 04             	mov    0x4(%esi),%ecx
40f887:	8d 46 10             	lea    0x10(%esi),%eax
40f88a:	83 c4 10             	add    $0x10,%esp
40f88d:	89 4f 04             	mov    %ecx,0x4(%edi)
40f890:	8b 4e 08             	mov    0x8(%esi),%ecx
40f893:	89 4f 08             	mov    %ecx,0x8(%edi)
40f896:	8d 4f 10             	lea    0x10(%edi),%ecx
40f899:	50                   	push   %eax
40f89a:	e8 01 0e 00 00       	call   0x4106a0
40f89f:	8d 46 60             	lea    0x60(%esi),%eax
40f8a2:	50                   	push   %eax
40f8a3:	8d 4f 60             	lea    0x60(%edi),%ecx
40f8a6:	e8 f5 0d 00 00       	call   0x4106a0
40f8ab:	c7 07 e0 1a 4b 00    	movl   $0x4b1ae0,(%edi)
40f8b1:	8b c7                	mov    %edi,%eax
40f8b3:	5f                   	pop    %edi
40f8b4:	5e                   	pop    %esi
40f8b5:	8b e5                	mov    %ebp,%esp
40f8b7:	5d                   	pop    %ebp
40f8b8:	c3                   	ret
40f8b9:	cc                   	int3
40f8ba:	cc                   	int3
40f8bb:	cc                   	int3
40f8bc:	cc                   	int3
40f8bd:	cc                   	int3
40f8be:	cc                   	int3
40f8bf:	cc                   	int3
40f8c0:	55                   	push   %ebp
40f8c1:	8b ec                	mov    %esp,%ebp
40f8c3:	51                   	push   %ecx
40f8c4:	56                   	push   %esi
40f8c5:	8b 75 08             	mov    0x8(%ebp),%esi
40f8c8:	8b ce                	mov    %esi,%ecx
40f8ca:	6a 05                	push   $0x5
40f8cc:	68 14 18 4b 00       	push   $0x4b1814
40f8d1:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40f8d7:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40f8de:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
40f8e5:	e8 96 b7 ff ff       	call   0x40b080
40f8ea:	8b c6                	mov    %esi,%eax
40f8ec:	5e                   	pop    %esi
40f8ed:	8b e5                	mov    %ebp,%esp
40f8ef:	5d                   	pop    %ebp
40f8f0:	c2 04 00             	ret    $0x4
40f8f3:	cc                   	int3
40f8f4:	cc                   	int3
40f8f5:	cc                   	int3
40f8f6:	cc                   	int3
40f8f7:	cc                   	int3
40f8f8:	cc                   	int3
40f8f9:	cc                   	int3
40f8fa:	cc                   	int3
40f8fb:	cc                   	int3
40f8fc:	cc                   	int3
40f8fd:	cc                   	int3
40f8fe:	cc                   	int3
40f8ff:	cc                   	int3
40f900:	8b 41 5c             	mov    0x5c(%ecx),%eax
40f903:	c3                   	ret
40f904:	cc                   	int3
40f905:	cc                   	int3
40f906:	cc                   	int3
40f907:	cc                   	int3
40f908:	cc                   	int3
40f909:	cc                   	int3
40f90a:	cc                   	int3
40f90b:	cc                   	int3
40f90c:	cc                   	int3
40f90d:	cc                   	int3
40f90e:	cc                   	int3
40f90f:	cc                   	int3
40f910:	b8 40 00 00 00       	mov    $0x40,%eax
40f915:	c3                   	ret
40f916:	cc                   	int3
40f917:	cc                   	int3
40f918:	cc                   	int3
40f919:	cc                   	int3
40f91a:	cc                   	int3
40f91b:	cc                   	int3
40f91c:	cc                   	int3
40f91d:	cc                   	int3
40f91e:	cc                   	int3
40f91f:	cc                   	int3
40f920:	56                   	push   %esi
40f921:	57                   	push   %edi
40f922:	8b f9                	mov    %ecx,%edi
40f924:	8b 07                	mov    (%edi),%eax
40f926:	8b 70 20             	mov    0x20(%eax),%esi
40f929:	8b ce                	mov    %esi,%ecx
40f92b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40f931:	8b cf                	mov    %edi,%ecx
40f933:	ff d6                	call   *%esi
40f935:	5f                   	pop    %edi
40f936:	5e                   	pop    %esi
40f937:	c3                   	ret
40f938:	cc                   	int3
40f939:	cc                   	int3
40f93a:	cc                   	int3
40f93b:	cc                   	int3
40f93c:	cc                   	int3
40f93d:	cc                   	int3
40f93e:	cc                   	int3
40f93f:	cc                   	int3
40f940:	8b 41 08             	mov    0x8(%ecx),%eax
40f943:	56                   	push   %esi
40f944:	57                   	push   %edi
40f945:	8d 79 08             	lea    0x8(%ecx),%edi
40f948:	8b 70 08             	mov    0x8(%eax),%esi
40f94b:	8b ce                	mov    %esi,%ecx
40f94d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40f953:	8b cf                	mov    %edi,%ecx
40f955:	ff d6                	call   *%esi
40f957:	8b f8                	mov    %eax,%edi
40f959:	8b 0f                	mov    (%edi),%ecx
40f95b:	8b 71 0c             	mov    0xc(%ecx),%esi
40f95e:	8b ce                	mov    %esi,%ecx
40f960:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40f966:	8b cf                	mov    %edi,%ecx
40f968:	ff d6                	call   *%esi
40f96a:	5f                   	pop    %edi
40f96b:	5e                   	pop    %esi
40f96c:	c3                   	ret
40f96d:	cc                   	int3
40f96e:	cc                   	int3
40f96f:	cc                   	int3
40f970:	8b 41 08             	mov    0x8(%ecx),%eax
40f973:	56                   	push   %esi
40f974:	57                   	push   %edi
40f975:	8d 79 08             	lea    0x8(%ecx),%edi
40f978:	8b 70 08             	mov    0x8(%eax),%esi
40f97b:	8b ce                	mov    %esi,%ecx
40f97d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40f983:	8b cf                	mov    %edi,%ecx
40f985:	ff d6                	call   *%esi
40f987:	e8 54 df ff ff       	call   0x40d8e0
40f98c:	cc                   	int3
40f98d:	cc                   	int3
40f98e:	cc                   	int3
40f98f:	cc                   	int3
40f990:	8b 41 08             	mov    0x8(%ecx),%eax
40f993:	53                   	push   %ebx
40f994:	8d 59 08             	lea    0x8(%ecx),%ebx
40f997:	56                   	push   %esi
40f998:	8b 70 04             	mov    0x4(%eax),%esi
40f99b:	8b ce                	mov    %esi,%ecx
40f99d:	57                   	push   %edi
40f99e:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40f9a4:	8b cb                	mov    %ebx,%ecx
40f9a6:	ff d6                	call   *%esi
40f9a8:	8b f8                	mov    %eax,%edi
40f9aa:	8b 0f                	mov    (%edi),%ecx
40f9ac:	8b 71 08             	mov    0x8(%ecx),%esi