41e8e9:	55                   	push   %ebp
41e8ea:	8b ec                	mov    %esp,%ebp
41e8ec:	33 c0                	xor    %eax,%eax
41e8ee:	39 45 08             	cmp    %eax,0x8(%ebp)
41e8f1:	6a 00                	push   $0x0
41e8f3:	0f 94 c0             	sete   %al
41e8f6:	68 00 10 00 00       	push   $0x1000
41e8fb:	50                   	push   %eax
41e8fc:	ff 15 bc a1 42 00    	call   *0x42a1bc
41e902:	a3 08 ed 44 00       	mov    %eax,0x44ed08
41e907:	85 c0                	test   %eax,%eax
41e909:	75 02                	jne    0x41e90d
41e90b:	5d                   	pop    %ebp
41e90c:	c3                   	ret
41e90d:	33 c0                	xor    %eax,%eax
41e90f:	40                   	inc    %eax
41e910:	a3 f4 08 45 00       	mov    %eax,0x4508f4
41e915:	5d                   	pop    %ebp
41e916:	c3                   	ret
41e917:	8b ff                	mov    %edi,%edi
41e919:	56                   	push   %esi
41e91a:	57                   	push   %edi
41e91b:	33 f6                	xor    %esi,%esi
41e91d:	bf 10 ed 44 00       	mov    $0x44ed10,%edi
41e922:	83 3c f5 1c f4 42 00 	cmpl   $0x1,0x42f41c(,%esi,8)
41e929:	01
41e92a:	75 1e                	jne    0x41e94a
41e92c:	8d 04 f5 18 f4 42 00 	lea    0x42f418(,%esi,8),%eax
41e933:	89 38                	mov    %edi,(%eax)
41e935:	68 a0 0f 00 00       	push   $0xfa0
41e93a:	ff 30                	push   (%eax)
41e93c:	83 c7 18             	add    $0x18,%edi
41e93f:	e8 6a 54 00 00       	call   0x423dae
41e944:	59                   	pop    %ecx
41e945:	59                   	pop    %ecx
41e946:	85 c0                	test   %eax,%eax
41e948:	74 0c                	je     0x41e956
41e94a:	46                   	inc    %esi
41e94b:	83 fe 24             	cmp    $0x24,%esi
41e94e:	7c d2                	jl     0x41e922
41e950:	33 c0                	xor    %eax,%eax
41e952:	40                   	inc    %eax
41e953:	5f                   	pop    %edi
41e954:	5e                   	pop    %esi
41e955:	c3                   	ret
41e956:	83 24 f5 18 f4 42 00 	andl   $0x0,0x42f418(,%esi,8)
41e95d:	00
41e95e:	33 c0                	xor    %eax,%eax
41e960:	eb f1                	jmp    0x41e953
41e962:	8b ff                	mov    %edi,%edi
41e964:	53                   	push   %ebx
41e965:	8b 1d e4 a0 42 00    	mov    0x42a0e4,%ebx
41e96b:	56                   	push   %esi
41e96c:	be 18 f4 42 00       	mov    $0x42f418,%esi
41e971:	57                   	push   %edi
41e972:	8b 3e                	mov    (%esi),%edi
41e974:	85 ff                	test   %edi,%edi
41e976:	74 13                	je     0x41e98b
41e978:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
41e97c:	74 0d                	je     0x41e98b
41e97e:	57                   	push   %edi
41e97f:	ff d3                	call   *%ebx
41e981:	57                   	push   %edi
41e982:	e8 5b b5 ff ff       	call   0x419ee2
41e987:	83 26 00             	andl   $0x0,(%esi)
41e98a:	59                   	pop    %ecx
41e98b:	83 c6 08             	add    $0x8,%esi
41e98e:	81 fe 38 f5 42 00    	cmp    $0x42f538,%esi
41e994:	7c dc                	jl     0x41e972
41e996:	be 18 f4 42 00       	mov    $0x42f418,%esi
41e99b:	5f                   	pop    %edi
41e99c:	8b 06                	mov    (%esi),%eax
41e99e:	85 c0                	test   %eax,%eax
41e9a0:	74 09                	je     0x41e9ab
41e9a2:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
41e9a6:	75 03                	jne    0x41e9ab
41e9a8:	50                   	push   %eax
41e9a9:	ff d3                	call   *%ebx
41e9ab:	83 c6 08             	add    $0x8,%esi
41e9ae:	81 fe 38 f5 42 00    	cmp    $0x42f538,%esi
41e9b4:	7c e6                	jl     0x41e99c
41e9b6:	5e                   	pop    %esi
41e9b7:	5b                   	pop    %ebx
41e9b8:	c3                   	ret
41e9b9:	8b ff                	mov    %edi,%edi
41e9bb:	55                   	push   %ebp
41e9bc:	8b ec                	mov    %esp,%ebp
41e9be:	8b 45 08             	mov    0x8(%ebp),%eax
41e9c1:	ff 34 c5 18 f4 42 00 	push   0x42f418(,%eax,8)
41e9c8:	ff 15 ec a0 42 00    	call   *0x42a0ec
41e9ce:	5d                   	pop    %ebp
41e9cf:	c3                   	ret
41e9d0:	6a 0c                	push   $0xc
41e9d2:	68 f0 d8 42 00       	push   $0x42d8f0
41e9d7:	e8 b0 0b 00 00       	call   0x41f58c
41e9dc:	33 ff                	xor    %edi,%edi
41e9de:	47                   	inc    %edi
41e9df:	89 7d e4             	mov    %edi,-0x1c(%ebp)
41e9e2:	33 db                	xor    %ebx,%ebx
41e9e4:	39 1d 08 ed 44 00    	cmp    %ebx,0x44ed08
41e9ea:	75 18                	jne    0x41ea04
41e9ec:	e8 3d 2a 00 00       	call   0x42142e
41e9f1:	6a 1e                	push   $0x1e
41e9f3:	e8 8b 28 00 00       	call   0x421283
41e9f8:	68 ff 00 00 00       	push   $0xff
41e9fd:	e8 c7 21 00 00       	call   0x420bc9
41ea02:	59                   	pop    %ecx
41ea03:	59                   	pop    %ecx
41ea04:	8b 75 08             	mov    0x8(%ebp),%esi
41ea07:	8d 34 f5 18 f4 42 00 	lea    0x42f418(,%esi,8),%esi
41ea0e:	39 1e                	cmp    %ebx,(%esi)
41ea10:	74 04                	je     0x41ea16
41ea12:	8b c7                	mov    %edi,%eax
41ea14:	eb 6e                	jmp    0x41ea84
41ea16:	6a 18                	push   $0x18
41ea18:	e8 a6 1f 00 00       	call   0x4209c3
41ea1d:	59                   	pop    %ecx
41ea1e:	8b f8                	mov    %eax,%edi
41ea20:	3b fb                	cmp    %ebx,%edi
41ea22:	75 0f                	jne    0x41ea33
41ea24:	e8 75 fe ff ff       	call   0x41e89e
41ea29:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
41ea2f:	33 c0                	xor    %eax,%eax
41ea31:	eb 51                	jmp    0x41ea84
41ea33:	6a 0a                	push   $0xa
41ea35:	e8 59 00 00 00       	call   0x41ea93
41ea3a:	59                   	pop    %ecx
41ea3b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41ea3e:	39 1e                	cmp    %ebx,(%esi)
41ea40:	75 2c                	jne    0x41ea6e
41ea42:	68 a0 0f 00 00       	push   $0xfa0
41ea47:	57                   	push   %edi
41ea48:	e8 61 53 00 00       	call   0x423dae
41ea4d:	59                   	pop    %ecx
41ea4e:	59                   	pop    %ecx
41ea4f:	85 c0                	test   %eax,%eax
41ea51:	75 17                	jne    0x41ea6a
41ea53:	57                   	push   %edi
41ea54:	e8 89 b4 ff ff       	call   0x419ee2
41ea59:	59                   	pop    %ecx
41ea5a:	e8 3f fe ff ff       	call   0x41e89e
41ea5f:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
41ea65:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41ea68:	eb 0b                	jmp    0x41ea75
41ea6a:	89 3e                	mov    %edi,(%esi)
41ea6c:	eb 07                	jmp    0x41ea75
41ea6e:	57                   	push   %edi
41ea6f:	e8 6e b4 ff ff       	call   0x419ee2
41ea74:	59                   	pop    %ecx
41ea75:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41ea7c:	e8 09 00 00 00       	call   0x41ea8a
41ea81:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41ea84:	e8 48 0b 00 00       	call   0x41f5d1
41ea89:	c3                   	ret
41ea8a:	6a 0a                	push   $0xa
41ea8c:	e8 28 ff ff ff       	call   0x41e9b9
41ea91:	59                   	pop    %ecx
41ea92:	c3                   	ret
41ea93:	8b ff                	mov    %edi,%edi
41ea95:	55                   	push   %ebp
41ea96:	8b ec                	mov    %esp,%ebp
41ea98:	8b 45 08             	mov    0x8(%ebp),%eax
41ea9b:	56                   	push   %esi
41ea9c:	8d 34 c5 18 f4 42 00 	lea    0x42f418(,%eax,8),%esi
41eaa3:	83 3e 00             	cmpl   $0x0,(%esi)
41eaa6:	75 13                	jne    0x41eabb
41eaa8:	50                   	push   %eax
41eaa9:	e8 22 ff ff ff       	call   0x41e9d0
41eaae:	59                   	pop    %ecx
41eaaf:	85 c0                	test   %eax,%eax
41eab1:	75 08                	jne    0x41eabb
41eab3:	6a 11                	push   $0x11
41eab5:	e8 bb 20 00 00       	call   0x420b75
41eaba:	59                   	pop    %ecx
41eabb:	ff 36                	push   (%esi)
41eabd:	ff 15 e8 a0 42 00    	call   *0x42a0e8
41eac3:	5e                   	pop    %esi
41eac4:	5d                   	pop    %ebp
41eac5:	c3                   	ret
41eac6:	8b ff                	mov    %edi,%edi
41eac8:	55                   	push   %ebp
41eac9:	8b ec                	mov    %esp,%ebp
41eacb:	8b 0d dc 08 45 00    	mov    0x4508dc,%ecx
41ead1:	a1 e0 08 45 00       	mov    0x4508e0,%eax
41ead6:	6b c9 14             	imul   $0x14,%ecx,%ecx
41ead9:	03 c8                	add    %eax,%ecx
41eadb:	eb 11                	jmp    0x41eaee
41eadd:	8b 55 08             	mov    0x8(%ebp),%edx
41eae0:	2b 50 0c             	sub    0xc(%eax),%edx
41eae3:	81 fa 00 00 10 00    	cmp    $0x100000,%edx
41eae9:	72 09                	jb     0x41eaf4
41eaeb:	83 c0 14             	add    $0x14,%eax
41eaee:	3b c1                	cmp    %ecx,%eax
41eaf0:	72 eb                	jb     0x41eadd
41eaf2:	33 c0                	xor    %eax,%eax
41eaf4:	5d                   	pop    %ebp
41eaf5:	c3                   	ret
41eaf6:	8b ff                	mov    %edi,%edi
41eaf8:	55                   	push   %ebp
41eaf9:	8b ec                	mov    %esp,%ebp
41eafb:	83 ec 10             	sub    $0x10,%esp
41eafe:	8b 4d 08             	mov    0x8(%ebp),%ecx
41eb01:	8b 41 10             	mov    0x10(%ecx),%eax
41eb04:	56                   	push   %esi
41eb05:	8b 75 0c             	mov    0xc(%ebp),%esi
41eb08:	57                   	push   %edi
41eb09:	8b fe                	mov    %esi,%edi
41eb0b:	2b 79 0c             	sub    0xc(%ecx),%edi
41eb0e:	83 c6 fc             	add    $0xfffffffc,%esi
41eb11:	c1 ef 0f             	shr    $0xf,%edi
41eb14:	8b cf                	mov    %edi,%ecx
41eb16:	69 c9 04 02 00 00    	imul   $0x204,%ecx,%ecx
41eb1c:	8d 8c 01 44 01 00 00 	lea    0x144(%ecx,%eax,1),%ecx
41eb23:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41eb26:	8b 0e                	mov    (%esi),%ecx
41eb28:	49                   	dec    %ecx
41eb29:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41eb2c:	f6 c1 01             	test   $0x1,%cl
41eb2f:	0f 85 d3 02 00 00    	jne    0x41ee08
41eb35:	53                   	push   %ebx
41eb36:	8d 1c 31             	lea    (%ecx,%esi,1),%ebx
41eb39:	8b 13                	mov    (%ebx),%edx
41eb3b:	89 55 f4             	mov    %edx,-0xc(%ebp)
41eb3e:	8b 56 fc             	mov    -0x4(%esi),%edx
41eb41:	89 55 f8             	mov    %edx,-0x8(%ebp)
41eb44:	8b 55 f4             	mov    -0xc(%ebp),%edx
41eb47:	89 5d 0c             	mov    %ebx,0xc(%ebp)
41eb4a:	f6 c2 01             	test   $0x1,%dl
41eb4d:	75 74                	jne    0x41ebc3
41eb4f:	c1 fa 04             	sar    $0x4,%edx
41eb52:	4a                   	dec    %edx
41eb53:	83 fa 3f             	cmp    $0x3f,%edx
41eb56:	76 03                	jbe    0x41eb5b
41eb58:	6a 3f                	push   $0x3f
41eb5a:	5a                   	pop    %edx
41eb5b:	8b 4b 04             	mov    0x4(%ebx),%ecx
41eb5e:	3b 4b 08             	cmp    0x8(%ebx),%ecx
41eb61:	75 42                	jne    0x41eba5
41eb63:	bb 00 00 00 80       	mov    $0x80000000,%ebx
41eb68:	83 fa 20             	cmp    $0x20,%edx
41eb6b:	73 19                	jae    0x41eb86
41eb6d:	8b ca                	mov    %edx,%ecx
41eb6f:	d3 eb                	shr    %cl,%ebx
41eb71:	8d 4c 02 04          	lea    0x4(%edx,%eax,1),%ecx
41eb75:	f7 d3                	not    %ebx
41eb77:	21 5c b8 44          	and    %ebx,0x44(%eax,%edi,4)
41eb7b:	fe 09                	decb   (%ecx)
41eb7d:	75 23                	jne    0x41eba2
41eb7f:	8b 4d 08             	mov    0x8(%ebp),%ecx
41eb82:	21 19                	and    %ebx,(%ecx)
41eb84:	eb 1c                	jmp    0x41eba2
41eb86:	8d 4a e0             	lea    -0x20(%edx),%ecx
41eb89:	d3 eb                	shr    %cl,%ebx
41eb8b:	8d 4c 02 04          	lea    0x4(%edx,%eax,1),%ecx
41eb8f:	f7 d3                	not    %ebx
41eb91:	21 9c b8 c4 00 00 00 	and    %ebx,0xc4(%eax,%edi,4)
41eb98:	fe 09                	decb   (%ecx)
41eb9a:	75 06                	jne    0x41eba2
41eb9c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41eb9f:	21 59 04             	and    %ebx,0x4(%ecx)
41eba2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41eba5:	8b 53 08             	mov    0x8(%ebx),%edx
41eba8:	8b 5b 04             	mov    0x4(%ebx),%ebx
41ebab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ebae:	03 4d f4             	add    -0xc(%ebp),%ecx
41ebb1:	89 5a 04             	mov    %ebx,0x4(%edx)
41ebb4:	8b 55 0c             	mov    0xc(%ebp),%edx
41ebb7:	8b 5a 04             	mov    0x4(%edx),%ebx
41ebba:	8b 52 08             	mov    0x8(%edx),%edx
41ebbd:	89 53 08             	mov    %edx,0x8(%ebx)
41ebc0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41ebc3:	8b d1                	mov    %ecx,%edx
41ebc5:	c1 fa 04             	sar    $0x4,%edx
41ebc8:	4a                   	dec    %edx
41ebc9:	83 fa 3f             	cmp    $0x3f,%edx
41ebcc:	76 03                	jbe    0x41ebd1
41ebce:	6a 3f                	push   $0x3f
41ebd0:	5a                   	pop    %edx
41ebd1:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41ebd4:	83 e3 01             	and    $0x1,%ebx
41ebd7:	89 5d f4             	mov    %ebx,-0xc(%ebp)
41ebda:	0f 85 8f 00 00 00    	jne    0x41ec6f
41ebe0:	2b 75 f8             	sub    -0x8(%ebp),%esi
41ebe3:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41ebe6:	c1 fb 04             	sar    $0x4,%ebx
41ebe9:	6a 3f                	push   $0x3f
41ebeb:	89 75 0c             	mov    %esi,0xc(%ebp)
41ebee:	4b                   	dec    %ebx
41ebef:	5e                   	pop    %esi
41ebf0:	3b de                	cmp    %esi,%ebx
41ebf2:	76 02                	jbe    0x41ebf6
41ebf4:	8b de                	mov    %esi,%ebx
41ebf6:	03 4d f8             	add    -0x8(%ebp),%ecx
41ebf9:	8b d1                	mov    %ecx,%edx
41ebfb:	c1 fa 04             	sar    $0x4,%edx
41ebfe:	4a                   	dec    %edx
41ebff:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41ec02:	3b d6                	cmp    %esi,%edx
41ec04:	76 02                	jbe    0x41ec08
41ec06:	8b d6                	mov    %esi,%edx
41ec08:	3b da                	cmp    %edx,%ebx
41ec0a:	74 5e                	je     0x41ec6a
41ec0c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41ec0f:	8b 71 04             	mov    0x4(%ecx),%esi
41ec12:	3b 71 08             	cmp    0x8(%ecx),%esi
41ec15:	75 3b                	jne    0x41ec52
41ec17:	be 00 00 00 80       	mov    $0x80000000,%esi
41ec1c:	83 fb 20             	cmp    $0x20,%ebx
41ec1f:	73 17                	jae    0x41ec38
41ec21:	8b cb                	mov    %ebx,%ecx
41ec23:	d3 ee                	shr    %cl,%esi
41ec25:	f7 d6                	not    %esi
41ec27:	21 74 b8 44          	and    %esi,0x44(%eax,%edi,4)
41ec2b:	fe 4c 03 04          	decb   0x4(%ebx,%eax,1)
41ec2f:	75 21                	jne    0x41ec52
41ec31:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ec34:	21 31                	and    %esi,(%ecx)
41ec36:	eb 1a                	jmp    0x41ec52
41ec38:	8d 4b e0             	lea    -0x20(%ebx),%ecx
41ec3b:	d3 ee                	shr    %cl,%esi
41ec3d:	f7 d6                	not    %esi
41ec3f:	21 b4 b8 c4 00 00 00 	and    %esi,0xc4(%eax,%edi,4)
41ec46:	fe 4c 03 04          	decb   0x4(%ebx,%eax,1)
41ec4a:	75 06                	jne    0x41ec52
41ec4c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ec4f:	21 71 04             	and    %esi,0x4(%ecx)
41ec52:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41ec55:	8b 71 08             	mov    0x8(%ecx),%esi
41ec58:	8b 49 04             	mov    0x4(%ecx),%ecx
41ec5b:	89 4e 04             	mov    %ecx,0x4(%esi)
41ec5e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41ec61:	8b 71 04             	mov    0x4(%ecx),%esi
41ec64:	8b 49 08             	mov    0x8(%ecx),%ecx
41ec67:	89 4e 08             	mov    %ecx,0x8(%esi)
41ec6a:	8b 75 0c             	mov    0xc(%ebp),%esi
41ec6d:	eb 03                	jmp    0x41ec72
41ec6f:	8b 5d 08             	mov    0x8(%ebp),%ebx
41ec72:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41ec76:	75 08                	jne    0x41ec80
41ec78:	3b da                	cmp    %edx,%ebx
41ec7a:	0f 84 80 00 00 00    	je     0x41ed00
41ec80:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41ec83:	8d 0c d1             	lea    (%ecx,%edx,8),%ecx
41ec86:	8b 59 04             	mov    0x4(%ecx),%ebx
41ec89:	89 4e 08             	mov    %ecx,0x8(%esi)
41ec8c:	89 5e 04             	mov    %ebx,0x4(%esi)
41ec8f:	89 71 04             	mov    %esi,0x4(%ecx)
41ec92:	8b 4e 04             	mov    0x4(%esi),%ecx
41ec95:	89 71 08             	mov    %esi,0x8(%ecx)
41ec98:	8b 4e 04             	mov    0x4(%esi),%ecx