41f6ae:	5f                   	pop    %edi
41f6af:	8b c6                	mov    %esi,%eax
41f6b1:	5e                   	pop    %esi
41f6b2:	8b e5                	mov    %ebp,%esp
41f6b4:	5d                   	pop    %ebp
41f6b5:	c2 10 00             	ret    $0x10
41f6b8:	55                   	push   %ebp
41f6b9:	8b ec                	mov    %esp,%ebp
41f6bb:	51                   	push   %ecx
41f6bc:	51                   	push   %ecx
41f6bd:	53                   	push   %ebx
41f6be:	56                   	push   %esi
41f6bf:	57                   	push   %edi
41f6c0:	8b 7d 08             	mov    0x8(%ebp),%edi
41f6c3:	33 c0                	xor    %eax,%eax
41f6c5:	8b f0                	mov    %eax,%esi
41f6c7:	89 45 fc             	mov    %eax,-0x4(%ebp)
41f6ca:	89 45 f8             	mov    %eax,-0x8(%ebp)
41f6cd:	ff 77 0c             	push   0xc(%edi)
41f6d0:	ff 15 b4 b1 44 00    	call   *0x44b1b4
41f6d6:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41f6d9:	33 c9                	xor    %ecx,%ecx
41f6db:	85 db                	test   %ebx,%ebx
41f6dd:	74 05                	je     0x41f6e4
41f6df:	66 39 0b             	cmp    %cx,(%ebx)
41f6e2:	75 14                	jne    0x41f6f8
41f6e4:	8b 45 10             	mov    0x10(%ebp),%eax
41f6e7:	85 c0                	test   %eax,%eax
41f6e9:	0f 84 1d 01 00 00    	je     0x41f80c
41f6ef:	66 39 08             	cmp    %cx,(%eax)
41f6f2:	0f 84 14 01 00 00    	je     0x41f80c
41f6f8:	8b 45 20             	mov    0x20(%ebp),%eax
41f6fb:	39 75 1c             	cmp    %esi,0x1c(%ebp)
41f6fe:	75 54                	jne    0x41f754
41f700:	39 75 24             	cmp    %esi,0x24(%ebp)
41f703:	75 5f                	jne    0x41f764
41f705:	85 c0                	test   %eax,%eax
41f707:	75 5b                	jne    0x41f764
41f709:	8b 47 0c             	mov    0xc(%edi),%eax
41f70c:	05 f0 02 00 00       	add    $0x2f0,%eax
41f711:	50                   	push   %eax
41f712:	e8 83 f0 fe ff       	call   0x40e79a
41f717:	85 db                	test   %ebx,%ebx
41f719:	74 07                	je     0x41f722
41f71b:	33 c9                	xor    %ecx,%ecx
41f71d:	66 39 0b             	cmp    %cx,(%ebx)
41f720:	75 4e                	jne    0x41f770
41f722:	8b 47 0c             	mov    0xc(%edi),%eax
41f725:	ff b0 48 01 00 00    	push   0x148(%eax)
41f72b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f72e:	68 90 9f 45 00       	push   $0x459f90
41f733:	50                   	push   %eax
41f734:	e8 e7 27 fe ff       	call   0x401f20
41f739:	8b f0                	mov    %eax,%esi
41f73b:	83 c4 0c             	add    $0xc,%esp
41f73e:	85 f6                	test   %esi,%esi
41f740:	79 2c                	jns    0x41f76e
41f742:	68 a8 9f 45 00       	push   $0x459fa8
41f747:	56                   	push   %esi
41f748:	e8 e2 09 02 00       	call   0x44012f
41f74d:	59                   	pop    %ecx
41f74e:	59                   	pop    %ecx
41f74f:	e9 c6 00 00 00       	jmp    0x41f81a
41f754:	83 7d 1c 01          	cmpl   $0x1,0x1c(%ebp)
41f758:	75 af                	jne    0x41f709
41f75a:	83 7d 24 14          	cmpl   $0x14,0x24(%ebp)
41f75e:	75 04                	jne    0x41f764
41f760:	85 c0                	test   %eax,%eax
41f762:	75 a5                	jne    0x41f709
41f764:	be 57 00 07 80       	mov    $0x80070057,%esi
41f769:	e9 ac 00 00 00       	jmp    0x41f81a
41f76e:	33 c9                	xor    %ecx,%ecx
41f770:	8b 47 0c             	mov    0xc(%edi),%eax
41f773:	ff 70 28             	push   0x28(%eax)
41f776:	51                   	push   %ecx
41f777:	ff b0 c0 01 00 00    	push   0x1c0(%eax)
41f77d:	ff b0 40 01 00 00    	push   0x140(%eax)
41f783:	51                   	push   %ecx
41f784:	51                   	push   %ecx
41f785:	ff 70 24             	push   0x24(%eax)
41f788:	ff 70 20             	push   0x20(%eax)
41f78b:	8d 45 f8             	lea    -0x8(%ebp),%eax
41f78e:	6a 05                	push   $0x5
41f790:	50                   	push   %eax
41f791:	e8 93 84 ff ff       	call   0x417c29
41f796:	8b f0                	mov    %eax,%esi
41f798:	85 f6                	test   %esi,%esi
41f79a:	79 07                	jns    0x41f7a3
41f79c:	68 d0 9f 45 00       	push   $0x459fd0
41f7a1:	eb a4                	jmp    0x41f747
41f7a3:	ff 75 24             	push   0x24(%ebp)
41f7a6:	8b 47 0c             	mov    0xc(%edi),%eax
41f7a9:	33 c9                	xor    %ecx,%ecx
41f7ab:	ff 75 20             	push   0x20(%ebp)
41f7ae:	39 4d fc             	cmp    %ecx,-0x4(%ebp)
41f7b1:	51                   	push   %ecx
41f7b2:	0f 45 5d fc          	cmovne -0x4(%ebp),%ebx
41f7b6:	51                   	push   %ecx
41f7b7:	51                   	push   %ecx
41f7b8:	ff 75 f8             	push   -0x8(%ebp)
41f7bb:	6a 01                	push   $0x1
41f7bd:	ff 75 18             	push   0x18(%ebp)
41f7c0:	ff 75 14             	push   0x14(%ebp)
41f7c3:	ff 75 10             	push   0x10(%ebp)
41f7c6:	53                   	push   %ebx
41f7c7:	ff b0 48 01 00 00    	push   0x148(%eax)
41f7cd:	6a 02                	push   $0x2
41f7cf:	6a 06                	push   $0x6
41f7d1:	ff b0 10 01 00 00    	push   0x110(%eax)
41f7d7:	05 f8 02 00 00       	add    $0x2f8,%eax
41f7dc:	51                   	push   %ecx
41f7dd:	50                   	push   %eax
41f7de:	68 0a 00 03 00       	push   $0x3000a
41f7e3:	68 00 00 6e 12       	push   $0x126e0000
41f7e8:	e8 0d c9 00 00       	call   0x42c0fa
41f7ed:	8b f0                	mov    %eax,%esi
41f7ef:	85 f6                	test   %esi,%esi
41f7f1:	79 0a                	jns    0x41f7fd
41f7f3:	68 04 a0 45 00       	push   $0x45a004
41f7f8:	e9 4a ff ff ff       	jmp    0x41f747
41f7fd:	8b 47 0c             	mov    0xc(%edi),%eax
41f800:	c7 80 f0 02 00 00 01 	movl   $0x1,0x2f0(%eax)
41f807:	00 00 00
41f80a:	eb 0e                	jmp    0x41f81a
41f80c:	8b 47 0c             	mov    0xc(%edi),%eax
41f80f:	05 f0 02 00 00       	add    $0x2f0,%eax
41f814:	50                   	push   %eax
41f815:	e8 80 ef fe ff       	call   0x40e79a
41f81a:	ff 77 0c             	push   0xc(%edi)
41f81d:	ff 15 b8 b1 44 00    	call   *0x44b1b8
41f823:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
41f827:	74 08                	je     0x41f831
41f829:	ff 75 f8             	push   -0x8(%ebp)
41f82c:	e8 be 5c 02 00       	call   0x4454ef
41f831:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41f835:	74 08                	je     0x41f83f
41f837:	ff 75 fc             	push   -0x4(%ebp)
41f83a:	e8 b0 5c 02 00       	call   0x4454ef
41f83f:	5f                   	pop    %edi
41f840:	8b c6                	mov    %esi,%eax
41f842:	5e                   	pop    %esi
41f843:	5b                   	pop    %ebx
41f844:	8b e5                	mov    %ebp,%esp
41f846:	5d                   	pop    %ebp
41f847:	c2 20 00             	ret    $0x20
41f84a:	55                   	push   %ebp
41f84b:	8b ec                	mov    %esp,%ebp
41f84d:	8b 45 0c             	mov    0xc(%ebp),%eax
41f850:	56                   	push   %esi
41f851:	85 c0                	test   %eax,%eax
41f853:	74 2d                	je     0x41f882
41f855:	33 c9                	xor    %ecx,%ecx
41f857:	66 39 08             	cmp    %cx,(%eax)
41f85a:	74 26                	je     0x41f882
41f85c:	51                   	push   %ecx
41f85d:	ff 75 14             	push   0x14(%ebp)
41f860:	ff 75 10             	push   0x10(%ebp)
41f863:	50                   	push   %eax
41f864:	8b 45 08             	mov    0x8(%ebp),%eax
41f867:	8b 40 0c             	mov    0xc(%eax),%eax
41f86a:	05 88 00 00 00       	add    $0x88,%eax
41f86f:	50                   	push   %eax
41f870:	e8 dd 88 fe ff       	call   0x408152
41f875:	8b f0                	mov    %eax,%esi
41f877:	85 f6                	test   %esi,%esi
41f879:	79 19                	jns    0x41f894
41f87b:	68 10 a2 45 00       	push   $0x45a210
41f880:	eb 0a                	jmp    0x41f88c
41f882:	be 57 00 07 80       	mov    $0x80070057,%esi
41f887:	68 30 a2 45 00       	push   $0x45a230
41f88c:	56                   	push   %esi
41f88d:	e8 9d 08 02 00       	call   0x44012f
41f892:	59                   	pop    %ecx
41f893:	59                   	pop    %ecx
41f894:	8b c6                	mov    %esi,%eax
41f896:	5e                   	pop    %esi
41f897:	5d                   	pop    %ebp
41f898:	c2 10 00             	ret    $0x10
41f89b:	55                   	push   %ebp
41f89c:	8b ec                	mov    %esp,%ebp
41f89e:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8a1:	56                   	push   %esi
41f8a2:	85 c0                	test   %eax,%eax
41f8a4:	74 2a                	je     0x41f8d0
41f8a6:	33 c9                	xor    %ecx,%ecx
41f8a8:	66 39 08             	cmp    %cx,(%eax)
41f8ab:	74 23                	je     0x41f8d0
41f8ad:	51                   	push   %ecx
41f8ae:	ff 75 10             	push   0x10(%ebp)
41f8b1:	50                   	push   %eax
41f8b2:	8b 45 08             	mov    0x8(%ebp),%eax
41f8b5:	8b 40 0c             	mov    0xc(%eax),%eax
41f8b8:	05 88 00 00 00       	add    $0x88,%eax
41f8bd:	50                   	push   %eax
41f8be:	e8 d4 88 fe ff       	call   0x408197
41f8c3:	8b f0                	mov    %eax,%esi
41f8c5:	85 f6                	test   %esi,%esi
41f8c7:	79 19                	jns    0x41f8e2
41f8c9:	68 10 a2 45 00       	push   $0x45a210
41f8ce:	eb 0a                	jmp    0x41f8da
41f8d0:	be 57 00 07 80       	mov    $0x80070057,%esi
41f8d5:	68 30 a2 45 00       	push   $0x45a230
41f8da:	56                   	push   %esi
41f8db:	e8 4f 08 02 00       	call   0x44012f
41f8e0:	59                   	pop    %ecx
41f8e1:	59                   	pop    %ecx
41f8e2:	8b c6                	mov    %esi,%eax
41f8e4:	5e                   	pop    %esi
41f8e5:	5d                   	pop    %ebp
41f8e6:	c2 0c 00             	ret    $0xc
41f8e9:	55                   	push   %ebp
41f8ea:	8b ec                	mov    %esp,%ebp
41f8ec:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8ef:	56                   	push   %esi
41f8f0:	85 c0                	test   %eax,%eax
41f8f2:	74 2d                	je     0x41f921
41f8f4:	33 c9                	xor    %ecx,%ecx
41f8f6:	66 39 08             	cmp    %cx,(%eax)
41f8f9:	74 26                	je     0x41f921
41f8fb:	51                   	push   %ecx
41f8fc:	ff 75 14             	push   0x14(%ebp)
41f8ff:	ff 75 10             	push   0x10(%ebp)
41f902:	50                   	push   %eax
41f903:	8b 45 08             	mov    0x8(%ebp),%eax
41f906:	8b 40 0c             	mov    0xc(%eax),%eax
41f909:	05 88 00 00 00       	add    $0x88,%eax
41f90e:	50                   	push   %eax
41f90f:	e8 c4 88 fe ff       	call   0x4081d8
41f914:	8b f0                	mov    %eax,%esi
41f916:	85 f6                	test   %esi,%esi
41f918:	79 19                	jns    0x41f933
41f91a:	68 54 a2 45 00       	push   $0x45a254
41f91f:	eb 0a                	jmp    0x41f92b
41f921:	be 57 00 07 80       	mov    $0x80070057,%esi
41f926:	68 30 a2 45 00       	push   $0x45a230
41f92b:	56                   	push   %esi
41f92c:	e8 fe 07 02 00       	call   0x44012f
41f931:	59                   	pop    %ecx
41f932:	59                   	pop    %ecx
41f933:	8b c6                	mov    %esi,%eax
41f935:	5e                   	pop    %esi
41f936:	5d                   	pop    %ebp
41f937:	c2 10 00             	ret    $0x10
41f93a:	55                   	push   %ebp
41f93b:	8b ec                	mov    %esp,%ebp
41f93d:	83 ec 0c             	sub    $0xc,%esp
41f940:	8b 45 1c             	mov    0x1c(%ebp),%eax
41f943:	33 d2                	xor    %edx,%edx
41f945:	53                   	push   %ebx
41f946:	56                   	push   %esi
41f947:	8b c8                	mov    %eax,%ecx
41f949:	8b f2                	mov    %edx,%esi
41f94b:	81 e1 00 01 00 00    	and    $0x100,%ecx
41f951:	bb 57 00 07 80       	mov    $0x80070057,%ebx
41f956:	57                   	push   %edi
41f957:	8b 7d 0c             	mov    0xc(%ebp),%edi
41f95a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41f95d:	74 17                	je     0x41f976
41f95f:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f962:	85 c9                	test   %ecx,%ecx
41f964:	75 04                	jne    0x41f96a
41f966:	85 ff                	test   %edi,%edi
41f968:	75 08                	jne    0x41f972
41f96a:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
41f970:	76 15                	jbe    0x41f987
41f972:	8b f3                	mov    %ebx,%esi
41f974:	eb 11                	jmp    0x41f987
41f976:	85 ff                	test   %edi,%edi
41f978:	74 08                	je     0x41f982
41f97a:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
41f980:	76 02                	jbe    0x41f984
41f982:	8b f3                	mov    %ebx,%esi
41f984:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f987:	85 f6                	test   %esi,%esi
41f989:	0f 88 14 01 00 00    	js     0x41faa3
41f98f:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41f993:	8b d1                	mov    %ecx,%edx
41f995:	8b df                	mov    %edi,%ebx
41f997:	89 55 fc             	mov    %edx,-0x4(%ebp)
41f99a:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41f99d:	74 0f                	je     0x41f9ae
41f99f:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41f9a3:	be 24 b5 44 00       	mov    $0x44b524,%esi
41f9a8:	0f 45 75 10          	cmovne 0x10(%ebp),%esi
41f9ac:	eb 03                	jmp    0x41f9b1
41f9ae:	8b 75 10             	mov    0x10(%ebp),%esi
41f9b1:	89 75 10             	mov    %esi,0x10(%ebp)
41f9b4:	33 f6                	xor    %esi,%esi
41f9b6:	a9 00 e0 ff ff       	test   $0xffffe000,%eax
41f9bb:	74 17                	je     0x41f9d4
41f9bd:	be 57 00 07 80       	mov    $0x80070057,%esi
41f9c2:	85 ff                	test   %edi,%edi
41f9c4:	0f 84 94 00 00 00    	je     0x41fa5e
41f9ca:	33 d2                	xor    %edx,%edx
41f9cc:	66 89 11             	mov    %dx,(%ecx)
41f9cf:	e9 8a 00 00 00       	jmp    0x41fa5e
41f9d4:	85 ff                	test   %edi,%edi
41f9d6:	75 21                	jne    0x41f9f9
41f9d8:	8b 45 10             	mov    0x10(%ebp),%eax
41f9db:	66 39 38             	cmp    %di,(%eax)
41f9de:	8b 7d 0c             	mov    0xc(%ebp),%edi
41f9e1:	8b 45 1c             	mov    0x1c(%ebp),%eax
41f9e4:	0f 84 a7 00 00 00    	je     0x41fa91
41f9ea:	be 7a 00 07 80       	mov    $0x8007007a,%esi
41f9ef:	85 c9                	test   %ecx,%ecx
41f9f1:	8d 56 dd             	lea    -0x23(%esi),%edx
41f9f4:	0f 44 f2             	cmove  %edx,%esi
41f9f7:	eb 65                	jmp    0x41fa5e
41f9f9:	68 fe ff ff 7f       	push   $0x7ffffffe
41f9fe:	ff 75 10             	push   0x10(%ebp)
41fa01:	33 c0                	xor    %eax,%eax
41fa03:	89 45 0c             	mov    %eax,0xc(%ebp)
41fa06:	8d 45 0c             	lea    0xc(%ebp),%eax
41fa09:	50                   	push   %eax
41fa0a:	57                   	push   %edi
41fa0b:	51                   	push   %ecx
41fa0c:	e8 9d 00 00 00       	call   0x41faae
41fa11:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41fa14:	8b f0                	mov    %eax,%esi
41fa16:	8b 45 08             	mov    0x8(%ebp),%eax
41fa19:	8b df                	mov    %edi,%ebx
41fa1b:	2b d9                	sub    %ecx,%ebx
41fa1d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41fa20:	8d 14 48             	lea    (%eax,%ecx,2),%edx
41fa23:	89 55 fc             	mov    %edx,-0x4(%ebp)
41fa26:	85 f6                	test   %esi,%esi
41fa28:	78 2e                	js     0x41fa58
41fa2a:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
41fa2d:	f7 c1 00 02 00 00    	test   $0x200,%ecx
41fa33:	74 5c                	je     0x41fa91
41fa35:	83 fb 01             	cmp    $0x1,%ebx
41fa38:	76 57                	jbe    0x41fa91
41fa3a:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
41fa3d:	83 f8 02             	cmp    $0x2,%eax
41fa40:	76 4f                	jbe    0x41fa91
41fa42:	83 c0 fe             	add    $0xfffffffe,%eax
41fa45:	50                   	push   %eax
41fa46:	0f b6 c1             	movzbl %cl,%eax
41fa49:	50                   	push   %eax
41fa4a:	8d 42 02             	lea    0x2(%edx),%eax
41fa4d:	50                   	push   %eax
41fa4e:	e8 1d fc 00 00       	call   0x42f670
41fa53:	83 c4 0c             	add    $0xc,%esp
41fa56:	eb 36                	jmp    0x41fa8e
41fa58:	8b 45 1c             	mov    0x1c(%ebp),%eax
41fa5b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41fa5e:	a9 00 1c 00 00       	test   $0x1c00,%eax
41fa63:	74 1d                	je     0x41fa82
41fa65:	85 ff                	test   %edi,%edi
41fa67:	74 19                	je     0x41fa82