41c833:	ff 72 08             	push   0x8(%edx)
41c836:	ff 15 2c 71 42 00    	call   *0x42712c
41c83c:	8b f0                	mov    %eax,%esi
41c83e:	85 f6                	test   %esi,%esi
41c840:	0f 84 fd 00 00 00    	je     0x41c943
41c846:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41c84a:	0f 85 f3 00 00 00    	jne    0x41c943
41c850:	8b 45 e8             	mov    -0x18(%ebp),%eax
41c853:	80 7c 30 ff 00       	cmpb   $0x0,-0x1(%eax,%esi,1)
41c858:	0f 85 1e 01 00 00    	jne    0x41c97c
41c85e:	4e                   	dec    %esi
41c85f:	e9 18 01 00 00       	jmp    0x41c97c
41c864:	8d 45 f0             	lea    -0x10(%ebp),%eax
41c867:	50                   	push   %eax
41c868:	56                   	push   %esi
41c869:	53                   	push   %ebx
41c86a:	51                   	push   %ecx
41c86b:	6a ff                	push   $0xffffffff
41c86d:	57                   	push   %edi
41c86e:	56                   	push   %esi
41c86f:	ff 72 08             	push   0x8(%edx)
41c872:	ff 15 2c 71 42 00    	call   *0x42712c
41c878:	8b f8                	mov    %eax,%edi
41c87a:	85 ff                	test   %edi,%edi
41c87c:	74 11                	je     0x41c88f
41c87e:	39 75 f0             	cmp    %esi,-0x10(%ebp)
41c881:	0f 85 bc 00 00 00    	jne    0x41c943
41c887:	8d 77 ff             	lea    -0x1(%edi),%esi
41c88a:	e9 ed 00 00 00       	jmp    0x41c97c
41c88f:	39 75 f0             	cmp    %esi,-0x10(%ebp)
41c892:	0f 85 ab 00 00 00    	jne    0x41c943
41c898:	ff 15 c4 71 42 00    	call   *0x4271c4
41c89e:	83 f8 7a             	cmp    $0x7a,%eax
41c8a1:	0f 85 9c 00 00 00    	jne    0x41c943
41c8a7:	85 db                	test   %ebx,%ebx
41c8a9:	0f 84 01 01 00 00    	je     0x41c9b0
41c8af:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c8b2:	8b 55 d8             	mov    -0x28(%ebp),%edx
41c8b5:	8b 4a 04             	mov    0x4(%edx),%ecx
41c8b8:	83 f9 05             	cmp    $0x5,%ecx
41c8bb:	7e 03                	jle    0x41c8c0
41c8bd:	6a 05                	push   $0x5
41c8bf:	59                   	pop    %ecx
41c8c0:	8d 5d f0             	lea    -0x10(%ebp),%ebx
41c8c3:	53                   	push   %ebx
41c8c4:	56                   	push   %esi
41c8c5:	51                   	push   %ecx
41c8c6:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41c8c9:	51                   	push   %ecx
41c8ca:	6a 01                	push   $0x1
41c8cc:	50                   	push   %eax
41c8cd:	56                   	push   %esi
41c8ce:	ff 72 08             	push   0x8(%edx)
41c8d1:	ff 15 2c 71 42 00    	call   *0x42712c
41c8d7:	8b 5d 10             	mov    0x10(%ebp),%ebx
41c8da:	8b d0                	mov    %eax,%edx
41c8dc:	85 d2                	test   %edx,%edx
41c8de:	0f 84 be 00 00 00    	je     0x41c9a2
41c8e4:	39 75 f0             	cmp    %esi,-0x10(%ebp)
41c8e7:	0f 85 b5 00 00 00    	jne    0x41c9a2
41c8ed:	85 d2                	test   %edx,%edx
41c8ef:	0f 88 ad 00 00 00    	js     0x41c9a2
41c8f5:	83 fa 05             	cmp    $0x5,%edx
41c8f8:	0f 87 a4 00 00 00    	ja     0x41c9a2
41c8fe:	8d 04 3a             	lea    (%edx,%edi,1),%eax
41c901:	3b c3                	cmp    %ebx,%eax
41c903:	0f 87 a7 00 00 00    	ja     0x41c9b0
41c909:	8b c6                	mov    %esi,%eax
41c90b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c90e:	85 d2                	test   %edx,%edx
41c910:	7e 1e                	jle    0x41c930
41c912:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41c915:	8a 44 05 f4          	mov    -0xc(%ebp,%eax,1),%al
41c919:	88 04 39             	mov    %al,(%ecx,%edi,1)
41c91c:	84 c0                	test   %al,%al
41c91e:	0f 84 8c 00 00 00    	je     0x41c9b0
41c924:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41c927:	40                   	inc    %eax
41c928:	47                   	inc    %edi
41c929:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41c92c:	3b c2                	cmp    %edx,%eax
41c92e:	7c e5                	jl     0x41c915
41c930:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c933:	83 c0 02             	add    $0x2,%eax
41c936:	89 45 ec             	mov    %eax,-0x14(%ebp)
41c939:	3b fb                	cmp    %ebx,%edi
41c93b:	0f 82 71 ff ff ff    	jb     0x41c8b2
41c941:	eb 6d                	jmp    0x41c9b0
41c943:	e8 23 81 ff ff       	call   0x414a6b
41c948:	83 ce ff             	or     $0xffffffff,%esi
41c94b:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41c951:	eb 29                	jmp    0x41c97c
41c953:	8b 45 d8             	mov    -0x28(%ebp),%eax
41c956:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
41c95c:	75 22                	jne    0x41c980
41c95e:	0f b7 07             	movzwl (%edi),%eax
41c961:	66 85 c0             	test   %ax,%ax
41c964:	74 16                	je     0x41c97c
41c966:	ba ff 00 00 00       	mov    $0xff,%edx
41c96b:	66 3b c2             	cmp    %dx,%ax
41c96e:	77 32                	ja     0x41c9a2
41c970:	83 c7 02             	add    $0x2,%edi
41c973:	46                   	inc    %esi
41c974:	0f b7 07             	movzwl (%edi),%eax
41c977:	66 85 c0             	test   %ax,%ax
41c97a:	75 ef                	jne    0x41c96b
41c97c:	8b fe                	mov    %esi,%edi
41c97e:	eb 30                	jmp    0x41c9b0
41c980:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41c983:	51                   	push   %ecx
41c984:	56                   	push   %esi
41c985:	56                   	push   %esi
41c986:	56                   	push   %esi
41c987:	6a ff                	push   $0xffffffff
41c989:	57                   	push   %edi
41c98a:	56                   	push   %esi
41c98b:	ff 70 08             	push   0x8(%eax)
41c98e:	ff 15 2c 71 42 00    	call   *0x42712c
41c994:	85 c0                	test   %eax,%eax
41c996:	74 0a                	je     0x41c9a2
41c998:	39 75 f0             	cmp    %esi,-0x10(%ebp)
41c99b:	75 05                	jne    0x41c9a2
41c99d:	8d 78 ff             	lea    -0x1(%eax),%edi
41c9a0:	eb 0e                	jmp    0x41c9b0
41c9a2:	e8 c4 80 ff ff       	call   0x414a6b
41c9a7:	83 cf ff             	or     $0xffffffff,%edi
41c9aa:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
41c9b0:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
41c9b4:	74 0a                	je     0x41c9c0
41c9b6:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
41c9b9:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
41c9c0:	8b c7                	mov    %edi,%eax
41c9c2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c9c5:	5f                   	pop    %edi
41c9c6:	5e                   	pop    %esi
41c9c7:	33 cd                	xor    %ebp,%ecx
41c9c9:	5b                   	pop    %ebx
41c9ca:	e8 91 a6 fe ff       	call   0x407060
41c9cf:	8b e5                	mov    %ebp,%esp
41c9d1:	5d                   	pop    %ebp
41c9d2:	c3                   	ret
41c9d3:	8b ff                	mov    %edi,%edi
41c9d5:	55                   	push   %ebp
41c9d6:	8b ec                	mov    %esp,%ebp
41c9d8:	51                   	push   %ecx
41c9d9:	56                   	push   %esi
41c9da:	8b 75 0c             	mov    0xc(%ebp),%esi
41c9dd:	33 c0                	xor    %eax,%eax
41c9df:	89 45 fc             	mov    %eax,-0x4(%ebp)
41c9e2:	57                   	push   %edi
41c9e3:	8b 7d 10             	mov    0x10(%ebp),%edi
41c9e6:	85 f6                	test   %esi,%esi
41c9e8:	74 2e                	je     0x41ca18
41c9ea:	85 ff                	test   %edi,%edi
41c9ec:	74 2e                	je     0x41ca1c
41c9ee:	85 f6                	test   %esi,%esi
41c9f0:	74 02                	je     0x41c9f4
41c9f2:	88 06                	mov    %al,(%esi)
41c9f4:	53                   	push   %ebx
41c9f5:	8b 5d 08             	mov    0x8(%ebp),%ebx
41c9f8:	85 db                	test   %ebx,%ebx
41c9fa:	74 02                	je     0x41c9fe
41c9fc:	89 03                	mov    %eax,(%ebx)
41c9fe:	8b c7                	mov    %edi,%eax
41ca00:	39 7d 18             	cmp    %edi,0x18(%ebp)
41ca03:	77 03                	ja     0x41ca08
41ca05:	8b 45 18             	mov    0x18(%ebp),%eax
41ca08:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
41ca0d:	76 20                	jbe    0x41ca2f
41ca0f:	e8 57 80 ff ff       	call   0x414a6b
41ca14:	6a 16                	push   $0x16
41ca16:	eb 59                	jmp    0x41ca71
41ca18:	85 ff                	test   %edi,%edi
41ca1a:	74 d2                	je     0x41c9ee
41ca1c:	e8 4a 80 ff ff       	call   0x414a6b
41ca21:	6a 16                	push   $0x16
41ca23:	5e                   	pop    %esi
41ca24:	89 30                	mov    %esi,(%eax)
41ca26:	e8 b7 f2 fe ff       	call   0x40bce2
41ca2b:	8b c6                	mov    %esi,%eax
41ca2d:	eb 6b                	jmp    0x41ca9a
41ca2f:	ff 75 1c             	push   0x1c(%ebp)
41ca32:	50                   	push   %eax
41ca33:	ff 75 14             	push   0x14(%ebp)
41ca36:	56                   	push   %esi
41ca37:	e8 16 fd ff ff       	call   0x41c752
41ca3c:	83 c4 10             	add    $0x10,%esp
41ca3f:	83 f8 ff             	cmp    $0xffffffff,%eax
41ca42:	75 10                	jne    0x41ca54
41ca44:	85 f6                	test   %esi,%esi
41ca46:	74 03                	je     0x41ca4b
41ca48:	c6 06 00             	movb   $0x0,(%esi)
41ca4b:	e8 1b 80 ff ff       	call   0x414a6b
41ca50:	8b 00                	mov    (%eax),%eax
41ca52:	eb 45                	jmp    0x41ca99
41ca54:	40                   	inc    %eax
41ca55:	85 f6                	test   %esi,%esi
41ca57:	74 35                	je     0x41ca8e
41ca59:	3b c7                	cmp    %edi,%eax
41ca5b:	76 27                	jbe    0x41ca84
41ca5d:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
41ca61:	74 1a                	je     0x41ca7d
41ca63:	c6 06 00             	movb   $0x0,(%esi)
41ca66:	3b f8                	cmp    %eax,%edi
41ca68:	77 13                	ja     0x41ca7d
41ca6a:	e8 fc 7f ff ff       	call   0x414a6b
41ca6f:	6a 22                	push   $0x22
41ca71:	5e                   	pop    %esi
41ca72:	89 30                	mov    %esi,(%eax)
41ca74:	e8 69 f2 fe ff       	call   0x40bce2
41ca79:	8b c6                	mov    %esi,%eax
41ca7b:	eb 1c                	jmp    0x41ca99
41ca7d:	6a 50                	push   $0x50
41ca7f:	8b c7                	mov    %edi,%eax
41ca81:	59                   	pop    %ecx
41ca82:	eb 03                	jmp    0x41ca87
41ca84:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ca87:	c6 44 30 ff 00       	movb   $0x0,-0x1(%eax,%esi,1)
41ca8c:	eb 03                	jmp    0x41ca91
41ca8e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ca91:	85 db                	test   %ebx,%ebx
41ca93:	74 02                	je     0x41ca97
41ca95:	89 03                	mov    %eax,(%ebx)
41ca97:	8b c1                	mov    %ecx,%eax
41ca99:	5b                   	pop    %ebx
41ca9a:	5f                   	pop    %edi
41ca9b:	5e                   	pop    %esi
41ca9c:	8b e5                	mov    %ebp,%esp
41ca9e:	5d                   	pop    %ebp
41ca9f:	c3                   	ret
41caa0:	6a 0c                	push   $0xc
41caa2:	68 50 82 43 00       	push   $0x438250
41caa7:	e8 74 ab fe ff       	call   0x407620
41caac:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41cab0:	8b 45 08             	mov    0x8(%ebp),%eax
41cab3:	ff 30                	push   (%eax)
41cab5:	e8 04 79 ff ff       	call   0x4143be
41caba:	59                   	pop    %ecx
41cabb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41cabf:	8b 35 28 ba 43 00    	mov    0x43ba28,%esi
41cac5:	8b ce                	mov    %esi,%ecx
41cac7:	83 e1 1f             	and    $0x1f,%ecx
41caca:	33 35 e8 9f 83 02    	xor    0x2839fe8,%esi
41cad0:	d3 ce                	ror    %cl,%esi
41cad2:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41cad5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41cadc:	e8 0d 00 00 00       	call   0x41caee
41cae1:	8b c6                	mov    %esi,%eax
41cae3:	e8 7e ab fe ff       	call   0x407666
41cae8:	c2 0c 00             	ret    $0xc
41caeb:	8b 75 e4             	mov    -0x1c(%ebp),%esi
41caee:	8b 4d 10             	mov    0x10(%ebp),%ecx
41caf1:	ff 31                	push   (%ecx)
41caf3:	e8 0e 79 ff ff       	call   0x414406
41caf8:	59                   	pop    %ecx
41caf9:	c3                   	ret
41cafa:	8b ff                	mov    %edi,%edi
41cafc:	55                   	push   %ebp
41cafd:	8b ec                	mov    %esp,%ebp
41caff:	83 ec 0c             	sub    $0xc,%esp
41cb02:	8b 45 08             	mov    0x8(%ebp),%eax
41cb05:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41cb08:	89 45 f8             	mov    %eax,-0x8(%ebp)
41cb0b:	89 45 f4             	mov    %eax,-0xc(%ebp)
41cb0e:	8d 45 f8             	lea    -0x8(%ebp),%eax
41cb11:	50                   	push   %eax
41cb12:	ff 75 0c             	push   0xc(%ebp)
41cb15:	8d 45 f4             	lea    -0xc(%ebp),%eax
41cb18:	50                   	push   %eax
41cb19:	e8 82 ff ff ff       	call   0x41caa0
41cb1e:	8b e5                	mov    %ebp,%esp
41cb20:	5d                   	pop    %ebp
41cb21:	c3                   	ret
41cb22:	8b ff                	mov    %edi,%edi
41cb24:	55                   	push   %ebp
41cb25:	8b ec                	mov    %esp,%ebp
41cb27:	8b 45 08             	mov    0x8(%ebp),%eax
41cb2a:	48                   	dec    %eax
41cb2b:	83 e8 01             	sub    $0x1,%eax
41cb2e:	74 2d                	je     0x41cb5d
41cb30:	83 e8 04             	sub    $0x4,%eax
41cb33:	74 13                	je     0x41cb48
41cb35:	83 e8 09             	sub    $0x9,%eax
41cb38:	74 1c                	je     0x41cb56
41cb3a:	83 e8 06             	sub    $0x6,%eax
41cb3d:	74 10                	je     0x41cb4f
41cb3f:	83 e8 01             	sub    $0x1,%eax
41cb42:	74 04                	je     0x41cb48
41cb44:	33 c0                	xor    %eax,%eax
41cb46:	5d                   	pop    %ebp
41cb47:	c3                   	ret
41cb48:	b8 e8 9f 83 02       	mov    $0x2839fe8,%eax
41cb4d:	5d                   	pop    %ebp
41cb4e:	c3                   	ret
41cb4f:	b8 e4 9f 83 02       	mov    $0x2839fe4,%eax
41cb54:	5d                   	pop    %ebp
41cb55:	c3                   	ret
41cb56:	b8 ec 9f 83 02       	mov    $0x2839fec,%eax
41cb5b:	5d                   	pop    %ebp
41cb5c:	c3                   	ret
41cb5d:	b8 e0 9f 83 02       	mov    $0x2839fe0,%eax
41cb62:	5d                   	pop    %ebp
41cb63:	c3                   	ret
41cb64:	8b ff                	mov    %edi,%edi
41cb66:	55                   	push   %ebp
41cb67:	8b ec                	mov    %esp,%ebp
41cb69:	8d 41 04             	lea    0x4(%ecx),%eax
41cb6c:	8b d0                	mov    %eax,%edx
41cb6e:	2b d1                	sub    %ecx,%edx
41cb70:	83 c2 03             	add    $0x3,%edx
41cb73:	56                   	push   %esi
41cb74:	33 f6                	xor    %esi,%esi
41cb76:	c1 ea 02             	shr    $0x2,%edx
41cb79:	3b c1                	cmp    %ecx,%eax
41cb7b:	1b c0                	sbb    %eax,%eax
41cb7d:	f7 d0                	not    %eax
41cb7f:	23 c2                	and    %edx,%eax
41cb81:	74 0d                	je     0x41cb90
41cb83:	8b 55 08             	mov    0x8(%ebp),%edx
41cb86:	46                   	inc    %esi
41cb87:	89 11                	mov    %edx,(%ecx)
41cb89:	8d 49 04             	lea    0x4(%ecx),%ecx
41cb8c:	3b f0                	cmp    %eax,%esi
41cb8e:	75 f6                	jne    0x41cb86
41cb90:	5e                   	pop    %esi
41cb91:	5d                   	pop    %ebp
41cb92:	c2 04 00             	ret    $0x4
41cb95:	8b ff                	mov    %edi,%edi
41cb97:	55                   	push   %ebp
41cb98:	8b ec                	mov    %esp,%ebp
41cb9a:	6b 0d 90 c5 42 00 0c 	imul   $0xc,0x42c590,%ecx
41cba1:	8b 45 0c             	mov    0xc(%ebp),%eax
41cba4:	03 c8                	add    %eax,%ecx
41cba6:	3b c1                	cmp    %ecx,%eax
41cba8:	74 0f                	je     0x41cbb9
41cbaa:	8b 55 08             	mov    0x8(%ebp),%edx
41cbad:	39 50 04             	cmp    %edx,0x4(%eax)
41cbb0:	74 09                	je     0x41cbbb
41cbb2:	83 c0 0c             	add    $0xc,%eax
41cbb5:	3b c1                	cmp    %ecx,%eax
41cbb7:	75 f4                	jne    0x41cbad
41cbb9:	33 c0                	xor    %eax,%eax
41cbbb:	5d                   	pop    %ebp
41cbbc:	c3                   	ret
41cbbd:	8b ff                	mov    %edi,%edi
41cbbf:	55                   	push   %ebp
41cbc0:	8b ec                	mov    %esp,%ebp
41cbc2:	51                   	push   %ecx
41cbc3:	8d 45 ff             	lea    -0x1(%ebp),%eax
41cbc6:	50                   	push   %eax