41d79a:	75 1e                	jne    0x41d7ba
41d79c:	66 85 ff             	test   %di,%di
41d79f:	74 15                	je     0x41d7b6
41d7a1:	66 8b 7a 02          	mov    0x2(%edx),%di
41d7a5:	66 3b 7e 02          	cmp    0x2(%esi),%di
41d7a9:	75 0f                	jne    0x41d7ba
41d7ab:	83 c2 04             	add    $0x4,%edx
41d7ae:	83 c6 04             	add    $0x4,%esi
41d7b1:	66 85 ff             	test   %di,%di
41d7b4:	75 de                	jne    0x41d794
41d7b6:	8b d0                	mov    %eax,%edx
41d7b8:	eb 05                	jmp    0x41d7bf
41d7ba:	1b d2                	sbb    %edx,%edx
41d7bc:	83 ca 01             	or     $0x1,%edx
41d7bf:	85 d2                	test   %edx,%edx
41d7c1:	74 5d                	je     0x41d820
41d7c3:	be c4 93 42 00       	mov    $0x4293c4,%esi
41d7c8:	8b d1                	mov    %ecx,%edx
41d7ca:	66 8b 3a             	mov    (%edx),%di
41d7cd:	66 3b 3e             	cmp    (%esi),%di
41d7d0:	75 1c                	jne    0x41d7ee
41d7d2:	66 85 ff             	test   %di,%di
41d7d5:	74 1c                	je     0x41d7f3
41d7d7:	66 8b 7a 02          	mov    0x2(%edx),%di
41d7db:	66 3b 7e 02          	cmp    0x2(%esi),%di
41d7df:	75 0d                	jne    0x41d7ee
41d7e1:	83 c2 04             	add    $0x4,%edx
41d7e4:	83 c6 04             	add    $0x4,%esi
41d7e7:	66 85 ff             	test   %di,%di
41d7ea:	75 de                	jne    0x41d7ca
41d7ec:	eb 05                	jmp    0x41d7f3
41d7ee:	1b c0                	sbb    %eax,%eax
41d7f0:	83 c8 01             	or     $0x1,%eax
41d7f3:	85 c0                	test   %eax,%eax
41d7f5:	75 20                	jne    0x41d817
41d7f7:	6a 02                	push   $0x2
41d7f9:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d7fc:	50                   	push   %eax
41d7fd:	8b 45 0c             	mov    0xc(%ebp),%eax
41d800:	68 0b 00 00 20       	push   $0x2000000b
41d805:	ff 70 08             	push   0x8(%eax)
41d808:	ff 15 dc 40 42 00    	call   *0x4240dc
41d80e:	85 c0                	test   %eax,%eax
41d810:	74 29                	je     0x41d83b
41d812:	8b 45 fc             	mov    -0x4(%ebp),%eax
41d815:	eb 35                	jmp    0x41d84c
41d817:	51                   	push   %ecx
41d818:	e8 e7 53 ff ff       	call   0x412c04
41d81d:	59                   	pop    %ecx
41d81e:	eb 2c                	jmp    0x41d84c
41d820:	6a 02                	push   $0x2
41d822:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d825:	50                   	push   %eax
41d826:	8b 45 0c             	mov    0xc(%ebp),%eax
41d829:	68 04 10 00 20       	push   $0x20001004
41d82e:	ff 70 08             	push   0x8(%eax)
41d831:	ff 15 dc 40 42 00    	call   *0x4240dc
41d837:	85 c0                	test   %eax,%eax
41d839:	75 04                	jne    0x41d83f
41d83b:	33 c0                	xor    %eax,%eax
41d83d:	eb 0d                	jmp    0x41d84c
41d83f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41d842:	85 c0                	test   %eax,%eax
41d844:	75 06                	jne    0x41d84c
41d846:	ff 15 24 41 42 00    	call   *0x424124
41d84c:	5f                   	pop    %edi
41d84d:	5e                   	pop    %esi
41d84e:	c9                   	leave
41d84f:	c3                   	ret
41d850:	8b ff                	mov    %edi,%edi
41d852:	55                   	push   %ebp
41d853:	8b ec                	mov    %esp,%ebp
41d855:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
41d859:	33 c0                	xor    %eax,%eax
41d85b:	66 3b 88 cc 93 42 00 	cmp    0x4293cc(%eax),%cx
41d862:	74 0d                	je     0x41d871
41d864:	83 c0 02             	add    $0x2,%eax
41d867:	83 f8 14             	cmp    $0x14,%eax
41d86a:	72 ef                	jb     0x41d85b
41d86c:	33 c0                	xor    %eax,%eax
41d86e:	40                   	inc    %eax
41d86f:	5d                   	pop    %ebp
41d870:	c3                   	ret
41d871:	33 c0                	xor    %eax,%eax
41d873:	5d                   	pop    %ebp
41d874:	c3                   	ret
41d875:	8b ff                	mov    %edi,%edi
41d877:	55                   	push   %ebp
41d878:	8b ec                	mov    %esp,%ebp
41d87a:	51                   	push   %ecx
41d87b:	56                   	push   %esi
41d87c:	57                   	push   %edi
41d87d:	e8 51 69 ff ff       	call   0x4141d3
41d882:	8b 75 08             	mov    0x8(%ebp),%esi
41d885:	8b f8                	mov    %eax,%edi
41d887:	6a 02                	push   $0x2
41d889:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d88c:	8b ce                	mov    %esi,%ecx
41d88e:	50                   	push   %eax
41d88f:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
41d895:	68 01 00 00 20       	push   $0x20000001
41d89a:	81 c9 00 04 00 00    	or     $0x400,%ecx
41d8a0:	51                   	push   %ecx
41d8a1:	ff 15 dc 40 42 00    	call   *0x4240dc
41d8a7:	85 c0                	test   %eax,%eax
41d8a9:	74 32                	je     0x41d8dd
41d8ab:	3b 75 fc             	cmp    -0x4(%ebp),%esi
41d8ae:	74 28                	je     0x41d8d8
41d8b0:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41d8b4:	74 22                	je     0x41d8d8
41d8b6:	8b 77 50             	mov    0x50(%edi),%esi
41d8b9:	8d 4e 02             	lea    0x2(%esi),%ecx
41d8bc:	66 8b 06             	mov    (%esi),%ax
41d8bf:	83 c6 02             	add    $0x2,%esi
41d8c2:	66 85 c0             	test   %ax,%ax
41d8c5:	75 f5                	jne    0x41d8bc
41d8c7:	ff 77 50             	push   0x50(%edi)
41d8ca:	2b f1                	sub    %ecx,%esi
41d8cc:	d1 fe                	sar    $1,%esi
41d8ce:	e8 f7 fa ff ff       	call   0x41d3ca
41d8d3:	59                   	pop    %ecx
41d8d4:	3b c6                	cmp    %esi,%eax
41d8d6:	74 05                	je     0x41d8dd
41d8d8:	33 c0                	xor    %eax,%eax
41d8da:	40                   	inc    %eax
41d8db:	eb 02                	jmp    0x41d8df
41d8dd:	33 c0                	xor    %eax,%eax
41d8df:	5f                   	pop    %edi
41d8e0:	5e                   	pop    %esi
41d8e1:	c9                   	leave
41d8e2:	c3                   	ret
41d8e3:	8b ff                	mov    %edi,%edi
41d8e5:	55                   	push   %ebp
41d8e6:	8b ec                	mov    %esp,%ebp
41d8e8:	51                   	push   %ecx
41d8e9:	53                   	push   %ebx
41d8ea:	56                   	push   %esi
41d8eb:	8b 75 0c             	mov    0xc(%ebp),%esi
41d8ee:	57                   	push   %edi
41d8ef:	33 ff                	xor    %edi,%edi
41d8f1:	85 f6                	test   %esi,%esi
41d8f3:	78 34                	js     0x41d929
41d8f5:	8d 04 37             	lea    (%edi,%esi,1),%eax
41d8f8:	99                   	cltd
41d8f9:	2b c2                	sub    %edx,%eax
41d8fb:	8b d8                	mov    %eax,%ebx
41d8fd:	8b 45 08             	mov    0x8(%ebp),%eax
41d900:	d1 fb                	sar    $1,%ebx
41d902:	6b cb 0c             	imul   $0xc,%ebx,%ecx
41d905:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41d908:	ff 34 01             	push   (%ecx,%eax,1)
41d90b:	8b 45 10             	mov    0x10(%ebp),%eax
41d90e:	ff 30                	push   (%eax)
41d910:	e8 ca ca ff ff       	call   0x41a3df
41d915:	59                   	pop    %ecx
41d916:	59                   	pop    %ecx
41d917:	85 c0                	test   %eax,%eax
41d919:	74 15                	je     0x41d930
41d91b:	79 05                	jns    0x41d922
41d91d:	8d 73 ff             	lea    -0x1(%ebx),%esi
41d920:	eb 03                	jmp    0x41d925
41d922:	8d 7b 01             	lea    0x1(%ebx),%edi
41d925:	3b fe                	cmp    %esi,%edi
41d927:	7e cc                	jle    0x41d8f5
41d929:	32 c0                	xor    %al,%al
41d92b:	5f                   	pop    %edi
41d92c:	5e                   	pop    %esi
41d92d:	5b                   	pop    %ebx
41d92e:	c9                   	leave
41d92f:	c3                   	ret
41d930:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d933:	8b 45 08             	mov    0x8(%ebp),%eax
41d936:	83 c1 04             	add    $0x4,%ecx
41d939:	03 c1                	add    %ecx,%eax
41d93b:	8b 4d 10             	mov    0x10(%ebp),%ecx
41d93e:	89 01                	mov    %eax,(%ecx)
41d940:	b0 01                	mov    $0x1,%al
41d942:	eb e7                	jmp    0x41d92b
41d944:	8b ff                	mov    %edi,%edi
41d946:	55                   	push   %ebp
41d947:	8b ec                	mov    %esp,%ebp
41d949:	83 ec 18             	sub    $0x18,%esp
41d94c:	a1 14 30 43 00       	mov    0x433014,%eax
41d951:	33 c5                	xor    %ebp,%eax
41d953:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d956:	8b 45 0c             	mov    0xc(%ebp),%eax
41d959:	53                   	push   %ebx
41d95a:	8b 5d 10             	mov    0x10(%ebp),%ebx
41d95d:	56                   	push   %esi
41d95e:	8b 75 08             	mov    0x8(%ebp),%esi
41d961:	57                   	push   %edi
41d962:	89 45 e8             	mov    %eax,-0x18(%ebp)
41d965:	e8 69 68 ff ff       	call   0x4141d3
41d96a:	83 c0 50             	add    $0x50,%eax
41d96d:	8d 7d f0             	lea    -0x10(%ebp),%edi
41d970:	89 45 ec             	mov    %eax,-0x14(%ebp)
41d973:	33 c0                	xor    %eax,%eax
41d975:	ab                   	stos   %eax,%es:(%edi)
41d976:	ab                   	stos   %eax,%es:(%edi)
41d977:	ab                   	stos   %eax,%es:(%edi)
41d978:	e8 56 68 ff ff       	call   0x4141d3
41d97d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41d980:	33 d2                	xor    %edx,%edx
41d982:	89 88 4c 03 00 00    	mov    %ecx,0x34c(%eax)
41d988:	8d 8e 80 00 00 00    	lea    0x80(%esi),%ecx
41d98e:	8b 45 ec             	mov    -0x14(%ebp),%eax
41d991:	89 30                	mov    %esi,(%eax)
41d993:	8d 78 04             	lea    0x4(%eax),%edi
41d996:	89 0f                	mov    %ecx,(%edi)
41d998:	85 c9                	test   %ecx,%ecx
41d99a:	74 1f                	je     0x41d9bb
41d99c:	66 39 11             	cmp    %dx,(%ecx)
41d99f:	74 1a                	je     0x41d9bb
41d9a1:	a1 34 8a 42 00       	mov    0x428a34,%eax
41d9a6:	57                   	push   %edi
41d9a7:	48                   	dec    %eax
41d9a8:	50                   	push   %eax
41d9a9:	68 20 89 42 00       	push   $0x428920
41d9ae:	e8 30 ff ff ff       	call   0x41d8e3
41d9b3:	8b 45 ec             	mov    -0x14(%ebp),%eax
41d9b6:	83 c4 0c             	add    $0xc,%esp
41d9b9:	33 d2                	xor    %edx,%edx
41d9bb:	89 55 f0             	mov    %edx,-0x10(%ebp)
41d9be:	8b 00                	mov    (%eax),%eax
41d9c0:	85 c0                	test   %eax,%eax
41d9c2:	74 6e                	je     0x41da32
41d9c4:	66 39 10             	cmp    %dx,(%eax)
41d9c7:	74 69                	je     0x41da32
41d9c9:	8b 07                	mov    (%edi),%eax
41d9cb:	85 c0                	test   %eax,%eax
41d9cd:	74 10                	je     0x41d9df
41d9cf:	66 39 10             	cmp    %dx,(%eax)
41d9d2:	74 0b                	je     0x41d9df
41d9d4:	8d 45 f0             	lea    -0x10(%ebp),%eax
41d9d7:	50                   	push   %eax
41d9d8:	e8 f3 f8 ff ff       	call   0x41d2d0
41d9dd:	eb 09                	jmp    0x41d9e8
41d9df:	8d 45 f0             	lea    -0x10(%ebp),%eax
41d9e2:	50                   	push   %eax
41d9e3:	e8 83 f9 ff ff       	call   0x41d36b
41d9e8:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41d9ec:	59                   	pop    %ecx
41d9ed:	0f 85 82 00 00 00    	jne    0x41da75
41d9f3:	a1 1c 89 42 00       	mov    0x42891c,%eax
41d9f8:	ff 75 ec             	push   -0x14(%ebp)
41d9fb:	48                   	dec    %eax
41d9fc:	50                   	push   %eax
41d9fd:	68 10 86 42 00       	push   $0x428610
41da02:	e8 dc fe ff ff       	call   0x41d8e3
41da07:	83 c4 0c             	add    $0xc,%esp
41da0a:	84 c0                	test   %al,%al
41da0c:	74 4e                	je     0x41da5c
41da0e:	8b 07                	mov    (%edi),%eax
41da10:	33 ff                	xor    %edi,%edi
41da12:	85 c0                	test   %eax,%eax
41da14:	74 10                	je     0x41da26
41da16:	66 39 38             	cmp    %di,(%eax)
41da19:	74 0b                	je     0x41da26
41da1b:	8d 45 f0             	lea    -0x10(%ebp),%eax
41da1e:	50                   	push   %eax
41da1f:	e8 ac f8 ff ff       	call   0x41d2d0
41da24:	eb 09                	jmp    0x41da2f
41da26:	8d 45 f0             	lea    -0x10(%ebp),%eax
41da29:	50                   	push   %eax
41da2a:	e8 3c f9 ff ff       	call   0x41d36b
41da2f:	59                   	pop    %ecx
41da30:	eb 2c                	jmp    0x41da5e
41da32:	8b 07                	mov    (%edi),%eax
41da34:	85 c0                	test   %eax,%eax
41da36:	74 11                	je     0x41da49
41da38:	66 39 10             	cmp    %dx,(%eax)
41da3b:	74 0c                	je     0x41da49
41da3d:	8d 45 f0             	lea    -0x10(%ebp),%eax
41da40:	50                   	push   %eax
41da41:	e8 3f f8 ff ff       	call   0x41d285
41da46:	59                   	pop    %ecx
41da47:	eb 13                	jmp    0x41da5c
41da49:	c7 45 f0 04 01 00 00 	movl   $0x104,-0x10(%ebp)
41da50:	ff 15 e4 40 42 00    	call   *0x4240e4
41da56:	89 45 f8             	mov    %eax,-0x8(%ebp)
41da59:	89 45 f4             	mov    %eax,-0xc(%ebp)
41da5c:	33 ff                	xor    %edi,%edi
41da5e:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41da62:	75 13                	jne    0x41da77
41da64:	33 c0                	xor    %eax,%eax
41da66:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41da69:	5f                   	pop    %edi
41da6a:	5e                   	pop    %esi
41da6b:	33 cd                	xor    %ebp,%ecx
41da6d:	5b                   	pop    %ebx
41da6e:	e8 99 99 fe ff       	call   0x40740c
41da73:	c9                   	leave
41da74:	c3                   	ret
41da75:	33 ff                	xor    %edi,%edi
41da77:	8d 45 f0             	lea    -0x10(%ebp),%eax
41da7a:	50                   	push   %eax
41da7b:	8d 86 00 01 00 00    	lea    0x100(%esi),%eax
41da81:	f7 de                	neg    %esi
41da83:	1b f6                	sbb    %esi,%esi
41da85:	23 f0                	and    %eax,%esi
41da87:	56                   	push   %esi
41da88:	e8 e2 fc ff ff       	call   0x41d76f
41da8d:	8b f0                	mov    %eax,%esi
41da8f:	59                   	pop    %ecx
41da90:	59                   	pop    %ecx
41da91:	85 f6                	test   %esi,%esi
41da93:	74 cf                	je     0x41da64
41da95:	0f b7 ce             	movzwl %si,%ecx
41da98:	51                   	push   %ecx
41da99:	ff 15 20 41 42 00    	call   *0x424120
41da9f:	85 c0                	test   %eax,%eax
41daa1:	74 c1                	je     0x41da64
41daa3:	6a 01                	push   $0x1
41daa5:	ff 75 f4             	push   -0xc(%ebp)
41daa8:	ff 15 e0 40 42 00    	call   *0x4240e0
41daae:	85 c0                	test   %eax,%eax
41dab0:	74 b2                	je     0x41da64
41dab2:	8b 45 e8             	mov    -0x18(%ebp),%eax
41dab5:	85 c0                	test   %eax,%eax
41dab7:	74 02                	je     0x41dabb
41dab9:	89 30                	mov    %esi,(%eax)
41dabb:	8b 45 ec             	mov    -0x14(%ebp),%eax
41dabe:	57                   	push   %edi
41dabf:	6a 55                	push   $0x55
41dac1:	05 50 02 00 00       	add    $0x250,%eax
41dac6:	50                   	push   %eax
41dac7:	ff 75 f4             	push   -0xc(%ebp)
41daca:	e8 46 5c ff ff       	call   0x413715
41dacf:	85 db                	test   %ebx,%ebx
41dad1:	74 5e                	je     0x41db31
41dad3:	57                   	push   %edi
41dad4:	6a 55                	push   $0x55
41dad6:	8d 83 20 01 00 00    	lea    0x120(%ebx),%eax
41dadc:	50                   	push   %eax
41dadd:	ff 75 f4             	push   -0xc(%ebp)
41dae0:	e8 30 5c ff ff       	call   0x413715
41dae5:	6a 40                	push   $0x40
41dae7:	53                   	push   %ebx
41dae8:	68 01 10 00 00       	push   $0x1001
41daed:	ff 75 f4             	push   -0xc(%ebp)
41daf0:	ff 15 dc 40 42 00    	call   *0x4240dc
41daf6:	85 c0                	test   %eax,%eax
41daf8:	0f 84 66 ff ff ff    	je     0x41da64
41dafe:	6a 40                	push   $0x40
41db00:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
41db06:	50                   	push   %eax
41db07:	68 02 10 00 00       	push   $0x1002
41db0c:	ff 75 f8             	push   -0x8(%ebp)
41db0f:	ff 15 dc 40 42 00    	call   *0x4240dc
41db15:	85 c0                	test   %eax,%eax