40c885:	33 c0                	xor    %eax,%eax
40c887:	40                   	inc    %eax
40c888:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40c88b:	33 c9                	xor    %ecx,%ecx
40c88d:	53                   	push   %ebx
40c88e:	0f a2                	cpuid
40c890:	56                   	push   %esi
40c891:	8d 75 ec             	lea    -0x14(%ebp),%esi
40c894:	89 06                	mov    %eax,(%esi)
40c896:	89 5e 04             	mov    %ebx,0x4(%esi)
40c899:	89 4e 08             	mov    %ecx,0x8(%esi)
40c89c:	89 56 0c             	mov    %edx,0xc(%esi)
40c89f:	8b 45 f4             	mov    -0xc(%ebp),%eax
40c8a2:	8b 75 fc             	mov    -0x4(%ebp),%esi
40c8a5:	c1 e8 19             	shr    $0x19,%eax
40c8a8:	24 01                	and    $0x1,%al
40c8aa:	88 06                	mov    %al,(%esi)
40c8ac:	8b 45 10             	mov    0x10(%ebp),%eax
40c8af:	2d 80 00 00 00       	sub    $0x80,%eax
40c8b4:	74 22                	je     0x40c8d8
40c8b6:	83 e8 40             	sub    $0x40,%eax
40c8b9:	74 11                	je     0x40c8cc
40c8bb:	83 e8 40             	sub    $0x40,%eax
40c8be:	75 24                	jne    0x40c8e4
40c8c0:	6a 20                	push   $0x20
40c8c2:	59                   	pop    %ecx
40c8c3:	c7 46 04 0e 00 00 00 	movl   $0xe,0x4(%esi)
40c8ca:	eb 1b                	jmp    0x40c8e7
40c8cc:	6a 18                	push   $0x18
40c8ce:	59                   	pop    %ecx
40c8cf:	c7 46 04 0c 00 00 00 	movl   $0xc,0x4(%esi)
40c8d6:	eb 0f                	jmp    0x40c8e7
40c8d8:	6a 10                	push   $0x10
40c8da:	59                   	pop    %ecx
40c8db:	c7 46 04 0a 00 00 00 	movl   $0xa,0x4(%esi)
40c8e2:	eb 03                	jmp    0x40c8e7
40c8e4:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c8e7:	33 c0                	xor    %eax,%eax
40c8e9:	85 c9                	test   %ecx,%ecx
40c8eb:	76 1e                	jbe    0x40c90b
40c8ed:	57                   	push   %edi
40c8ee:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40c8f1:	8a 1c 18             	mov    (%eax,%ebx,1),%bl
40c8f4:	8b d0                	mov    %eax,%edx
40c8f6:	8b f8                	mov    %eax,%edi
40c8f8:	c1 ea 02             	shr    $0x2,%edx
40c8fb:	83 e7 03             	and    $0x3,%edi
40c8fe:	40                   	inc    %eax
40c8ff:	8d 7c 3d dc          	lea    -0x24(%ebp,%edi,1),%edi
40c903:	88 1c 97             	mov    %bl,(%edi,%edx,4)
40c906:	3b c1                	cmp    %ecx,%eax
40c908:	72 e4                	jb     0x40c8ee
40c90a:	5f                   	pop    %edi
40c90b:	8b 4d 14             	mov    0x14(%ebp),%ecx
40c90e:	85 c9                	test   %ecx,%ecx
40c910:	75 11                	jne    0x40c923
40c912:	6a 10                	push   $0x10
40c914:	51                   	push   %ecx
40c915:	8d 46 08             	lea    0x8(%esi),%eax
40c918:	50                   	push   %eax
40c919:	e8 e2 d8 00 00       	call   0x41a200
40c91e:	83 c4 0c             	add    $0xc,%esp
40c921:	eb 0f                	jmp    0x40c932
40c923:	33 c0                	xor    %eax,%eax
40c925:	8a 14 08             	mov    (%eax,%ecx,1),%dl
40c928:	88 54 06 08          	mov    %dl,0x8(%esi,%eax,1)
40c92c:	40                   	inc    %eax
40c92d:	83 f8 10             	cmp    $0x10,%eax
40c930:	7c f3                	jl     0x40c925
40c932:	8d 45 dc             	lea    -0x24(%ebp),%eax
40c935:	50                   	push   %eax
40c936:	8b ce                	mov    %esi,%ecx
40c938:	e8 ef f9 ff ff       	call   0x40c32c
40c93d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40c941:	75 07                	jne    0x40c94a
40c943:	8b ce                	mov    %esi,%ecx
40c945:	e8 a7 fb ff ff       	call   0x40c4f1
40c94a:	5e                   	pop    %esi
40c94b:	5b                   	pop    %ebx
40c94c:	c9                   	leave
40c94d:	c2 10 00             	ret    $0x10
40c950:	55                   	push   %ebp
40c951:	8b ec                	mov    %esp,%ebp
40c953:	8b 45 0c             	mov    0xc(%ebp),%eax
40c956:	83 ec 34             	sub    $0x34,%esp
40c959:	56                   	push   %esi
40c95a:	8b f1                	mov    %ecx,%esi
40c95c:	85 c0                	test   %eax,%eax
40c95e:	0f 86 5d 03 00 00    	jbe    0x40ccc1
40c964:	c1 e8 04             	shr    $0x4,%eax
40c967:	80 3e 00             	cmpb   $0x0,(%esi)
40c96a:	57                   	push   %edi
40c96b:	8b f8                	mov    %eax,%edi
40c96d:	74 11                	je     0x40c980
40c96f:	ff 75 10             	push   0x10(%ebp)
40c972:	57                   	push   %edi
40c973:	ff 75 08             	push   0x8(%ebp)
40c976:	e8 1f f9 ff ff       	call   0x40c29a
40c97b:	e9 40 03 00 00       	jmp    0x40ccc0
40c980:	8d 46 08             	lea    0x8(%esi),%eax
40c983:	6a 10                	push   $0x10
40c985:	50                   	push   %eax
40c986:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c989:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c98c:	50                   	push   %eax
40c98d:	e8 de f2 00 00       	call   0x41bc70
40c992:	83 c4 0c             	add    $0xc,%esp
40c995:	89 7d 0c             	mov    %edi,0xc(%ebp)
40c998:	85 ff                	test   %edi,%edi
40c99a:	0f 86 0f 03 00 00    	jbe    0x40ccaf
40c9a0:	8b 7d 08             	mov    0x8(%ebp),%edi
40c9a3:	53                   	push   %ebx
40c9a4:	8b 5d 10             	mov    0x10(%ebp),%ebx
40c9a7:	8b 46 04             	mov    0x4(%esi),%eax
40c9aa:	c1 e0 04             	shl    $0x4,%eax
40c9ad:	8d 44 30 18          	lea    0x18(%eax,%esi,1),%eax
40c9b1:	50                   	push   %eax
40c9b2:	57                   	push   %edi
40c9b3:	8d 45 ec             	lea    -0x14(%ebp),%eax
40c9b6:	50                   	push   %eax
40c9b7:	e8 ac f8 ff ff       	call   0x40c268
40c9bc:	0f b6 45 ec          	movzbl -0x14(%ebp),%eax
40c9c0:	8b 04 85 a0 66 43 00 	mov    0x4366a0(,%eax,4),%eax
40c9c7:	0f b6 4d f9          	movzbl -0x7(%ebp),%ecx
40c9cb:	33 04 8d a0 62 43 00 	xor    0x4362a0(,%ecx,4),%eax
40c9d2:	0f b6 4d f6          	movzbl -0xa(%ebp),%ecx
40c9d6:	33 04 8d a0 5e 43 00 	xor    0x435ea0(,%ecx,4),%eax
40c9dd:	0f b6 4d f3          	movzbl -0xd(%ebp),%ecx
40c9e1:	33 04 8d a0 5a 43 00 	xor    0x435aa0(,%ecx,4),%eax
40c9e8:	0f b6 4d ed          	movzbl -0x13(%ebp),%ecx
40c9ec:	89 45 dc             	mov    %eax,-0x24(%ebp)
40c9ef:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
40c9f3:	8b 04 85 a0 66 43 00 	mov    0x4366a0(,%eax,4),%eax
40c9fa:	33 04 8d a0 62 43 00 	xor    0x4362a0(,%ecx,4),%eax
40ca01:	0f b6 4d fa          	movzbl -0x6(%ebp),%ecx
40ca05:	33 04 8d a0 5e 43 00 	xor    0x435ea0(,%ecx,4),%eax
40ca0c:	0f b6 4d f7          	movzbl -0x9(%ebp),%ecx
40ca10:	33 04 8d a0 5a 43 00 	xor    0x435aa0(,%ecx,4),%eax
40ca17:	0f b6 4d f1          	movzbl -0xf(%ebp),%ecx
40ca1b:	89 45 e0             	mov    %eax,-0x20(%ebp)
40ca1e:	0f b6 45 f4          	movzbl -0xc(%ebp),%eax
40ca22:	8b 04 85 a0 66 43 00 	mov    0x4366a0(,%eax,4),%eax
40ca29:	33 04 8d a0 62 43 00 	xor    0x4362a0(,%ecx,4),%eax
40ca30:	0f b6 4d ee          	movzbl -0x12(%ebp),%ecx
40ca34:	33 04 8d a0 5e 43 00 	xor    0x435ea0(,%ecx,4),%eax
40ca3b:	0f b6 4d fb          	movzbl -0x5(%ebp),%ecx
40ca3f:	33 04 8d a0 5a 43 00 	xor    0x435aa0(,%ecx,4),%eax
40ca46:	0f b6 4d f5          	movzbl -0xb(%ebp),%ecx
40ca4a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40ca4d:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
40ca51:	8b 04 85 a0 66 43 00 	mov    0x4366a0(,%eax,4),%eax
40ca58:	33 04 8d a0 62 43 00 	xor    0x4362a0(,%ecx,4),%eax
40ca5f:	0f b6 4d f2          	movzbl -0xe(%ebp),%ecx
40ca63:	33 04 8d a0 5e 43 00 	xor    0x435ea0(,%ecx,4),%eax
40ca6a:	0f b6 4d ef          	movzbl -0x11(%ebp),%ecx
40ca6e:	33 04 8d a0 5a 43 00 	xor    0x435aa0(,%ecx,4),%eax
40ca75:	89 45 e8             	mov    %eax,-0x18(%ebp)
40ca78:	8b 46 04             	mov    0x4(%esi),%eax
40ca7b:	48                   	dec    %eax
40ca7c:	83 f8 01             	cmp    $0x1,%eax
40ca7f:	0f 8e e9 00 00 00    	jle    0x40cb6e
40ca85:	8b c8                	mov    %eax,%ecx
40ca87:	c1 e1 04             	shl    $0x4,%ecx
40ca8a:	8d 4c 31 18          	lea    0x18(%ecx,%esi,1),%ecx
40ca8e:	48                   	dec    %eax
40ca8f:	89 4d 10             	mov    %ecx,0x10(%ebp)
40ca92:	89 45 08             	mov    %eax,0x8(%ebp)
40ca95:	ff 75 10             	push   0x10(%ebp)
40ca98:	8d 45 dc             	lea    -0x24(%ebp),%eax
40ca9b:	50                   	push   %eax
40ca9c:	8d 45 ec             	lea    -0x14(%ebp),%eax
40ca9f:	50                   	push   %eax
40caa0:	e8 c3 f7 ff ff       	call   0x40c268
40caa5:	0f b6 45 ec          	movzbl -0x14(%ebp),%eax
40caa9:	8b 04 85 a0 66 43 00 	mov    0x4366a0(,%eax,4),%eax
40cab0:	0f b6 4d f9          	movzbl -0x7(%ebp),%ecx
40cab4:	33 04 8d a0 62 43 00 	xor    0x4362a0(,%ecx,4),%eax
40cabb:	0f b6 4d f6          	movzbl -0xa(%ebp),%ecx
40cabf:	33 04 8d a0 5e 43 00 	xor    0x435ea0(,%ecx,4),%eax
40cac6:	0f b6 4d f3          	movzbl -0xd(%ebp),%ecx
40caca:	33 04 8d a0 5a 43 00 	xor    0x435aa0(,%ecx,4),%eax
40cad1:	0f b6 4d ed          	movzbl -0x13(%ebp),%ecx
40cad5:	89 45 dc             	mov    %eax,-0x24(%ebp)
40cad8:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
40cadc:	8b 04 85 a0 66 43 00 	mov    0x4366a0(,%eax,4),%eax
40cae3:	33 04 8d a0 62 43 00 	xor    0x4362a0(,%ecx,4),%eax
40caea:	0f b6 4d fa          	movzbl -0x6(%ebp),%ecx
40caee:	33 04 8d a0 5e 43 00 	xor    0x435ea0(,%ecx,4),%eax
40caf5:	0f b6 4d f7          	movzbl -0x9(%ebp),%ecx
40caf9:	33 04 8d a0 5a 43 00 	xor    0x435aa0(,%ecx,4),%eax
40cb00:	0f b6 4d f1          	movzbl -0xf(%ebp),%ecx
40cb04:	89 45 e0             	mov    %eax,-0x20(%ebp)
40cb07:	0f b6 45 f4          	movzbl -0xc(%ebp),%eax
40cb0b:	8b 04 85 a0 66 43 00 	mov    0x4366a0(,%eax,4),%eax
40cb12:	33 04 8d a0 62 43 00 	xor    0x4362a0(,%ecx,4),%eax
40cb19:	0f b6 4d ee          	movzbl -0x12(%ebp),%ecx
40cb1d:	33 04 8d a0 5e 43 00 	xor    0x435ea0(,%ecx,4),%eax
40cb24:	0f b6 4d fb          	movzbl -0x5(%ebp),%ecx
40cb28:	33 04 8d a0 5a 43 00 	xor    0x435aa0(,%ecx,4),%eax
40cb2f:	0f b6 4d f5          	movzbl -0xb(%ebp),%ecx
40cb33:	83 6d 10 10          	subl   $0x10,0x10(%ebp)
40cb37:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40cb3a:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
40cb3e:	8b 04 85 a0 66 43 00 	mov    0x4366a0(,%eax,4),%eax
40cb45:	33 04 8d a0 62 43 00 	xor    0x4362a0(,%ecx,4),%eax
40cb4c:	0f b6 4d f2          	movzbl -0xe(%ebp),%ecx
40cb50:	33 04 8d a0 5e 43 00 	xor    0x435ea0(,%ecx,4),%eax
40cb57:	0f b6 4d ef          	movzbl -0x11(%ebp),%ecx
40cb5b:	33 04 8d a0 5a 43 00 	xor    0x435aa0(,%ecx,4),%eax
40cb62:	ff 4d 08             	decl   0x8(%ebp)
40cb65:	89 45 e8             	mov    %eax,-0x18(%ebp)
40cb68:	0f 85 27 ff ff ff    	jne    0x40ca95
40cb6e:	8d 46 28             	lea    0x28(%esi),%eax
40cb71:	50                   	push   %eax
40cb72:	8d 45 dc             	lea    -0x24(%ebp),%eax
40cb75:	50                   	push   %eax
40cb76:	8d 45 ec             	lea    -0x14(%ebp),%eax
40cb79:	50                   	push   %eax
40cb7a:	e8 e9 f6 ff ff       	call   0x40c268
40cb7f:	0f b6 45 ec          	movzbl -0x14(%ebp),%eax
40cb83:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cb89:	88 45 dc             	mov    %al,-0x24(%ebp)
40cb8c:	0f b6 45 f9          	movzbl -0x7(%ebp),%eax
40cb90:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cb96:	88 45 dd             	mov    %al,-0x23(%ebp)
40cb99:	0f b6 45 f6          	movzbl -0xa(%ebp),%eax
40cb9d:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cba3:	88 45 de             	mov    %al,-0x22(%ebp)
40cba6:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
40cbaa:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cbb0:	88 45 df             	mov    %al,-0x21(%ebp)
40cbb3:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
40cbb7:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cbbd:	88 45 e0             	mov    %al,-0x20(%ebp)
40cbc0:	0f b6 45 ed          	movzbl -0x13(%ebp),%eax
40cbc4:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cbca:	88 45 e1             	mov    %al,-0x1f(%ebp)
40cbcd:	0f b6 45 fa          	movzbl -0x6(%ebp),%eax
40cbd1:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cbd7:	88 45 e2             	mov    %al,-0x1e(%ebp)
40cbda:	0f b6 45 f7          	movzbl -0x9(%ebp),%eax
40cbde:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cbe4:	88 45 e3             	mov    %al,-0x1d(%ebp)
40cbe7:	0f b6 45 f4          	movzbl -0xc(%ebp),%eax
40cbeb:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cbf1:	88 45 e4             	mov    %al,-0x1c(%ebp)
40cbf4:	0f b6 45 f1          	movzbl -0xf(%ebp),%eax
40cbf8:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cbfe:	88 45 e5             	mov    %al,-0x1b(%ebp)
40cc01:	0f b6 45 ee          	movzbl -0x12(%ebp),%eax
40cc05:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cc0b:	88 45 e6             	mov    %al,-0x1a(%ebp)
40cc0e:	0f b6 45 fb          	movzbl -0x5(%ebp),%eax
40cc12:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cc18:	88 45 e7             	mov    %al,-0x19(%ebp)
40cc1b:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
40cc1f:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cc25:	88 45 e8             	mov    %al,-0x18(%ebp)
40cc28:	0f b6 45 f5          	movzbl -0xb(%ebp),%eax
40cc2c:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cc32:	88 45 e9             	mov    %al,-0x17(%ebp)
40cc35:	0f b6 45 f2          	movzbl -0xe(%ebp),%eax
40cc39:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cc3f:	88 45 ea             	mov    %al,-0x16(%ebp)
40cc42:	0f b6 45 ef          	movzbl -0x11(%ebp),%eax
40cc46:	8a 80 c0 7a 43 00    	mov    0x437ac0(%eax),%al
40cc4c:	88 45 eb             	mov    %al,-0x15(%ebp)
40cc4f:	8d 46 18             	lea    0x18(%esi),%eax
40cc52:	50                   	push   %eax
40cc53:	8d 45 dc             	lea    -0x24(%ebp),%eax
40cc56:	50                   	push   %eax
40cc57:	50                   	push   %eax
40cc58:	e8 0b f6 ff ff       	call   0x40c268
40cc5d:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
40cc61:	74 0e                	je     0x40cc71
40cc63:	8d 45 cc             	lea    -0x34(%ebp),%eax
40cc66:	50                   	push   %eax
40cc67:	8d 45 dc             	lea    -0x24(%ebp),%eax
40cc6a:	50                   	push   %eax
40cc6b:	50                   	push   %eax
40cc6c:	e8 f7 f5 ff ff       	call   0x40c268
40cc71:	8b 07                	mov    (%edi),%eax
40cc73:	89 45 cc             	mov    %eax,-0x34(%ebp)
40cc76:	8b 47 04             	mov    0x4(%edi),%eax
40cc79:	89 45 d0             	mov    %eax,-0x30(%ebp)
40cc7c:	8b 47 08             	mov    0x8(%edi),%eax
40cc7f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40cc82:	8b 47 0c             	mov    0xc(%edi),%eax
40cc85:	89 45 d8             	mov    %eax,-0x28(%ebp)
40cc88:	8b 45 dc             	mov    -0x24(%ebp),%eax
40cc8b:	89 03                	mov    %eax,(%ebx)
40cc8d:	8b 45 e0             	mov    -0x20(%ebp),%eax
40cc90:	89 43 04             	mov    %eax,0x4(%ebx)
40cc93:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40cc96:	89 43 08             	mov    %eax,0x8(%ebx)
40cc99:	8b 45 e8             	mov    -0x18(%ebp),%eax
40cc9c:	89 43 0c             	mov    %eax,0xc(%ebx)
40cc9f:	83 c7 10             	add    $0x10,%edi
40cca2:	83 c3 10             	add    $0x10,%ebx
40cca5:	ff 4d 0c             	decl   0xc(%ebp)
40cca8:	0f 85 f9 fc ff ff    	jne    0x40c9a7
40ccae:	5b                   	pop    %ebx
40ccaf:	6a 10                	push   $0x10
40ccb1:	8d 45 cc             	lea    -0x34(%ebp),%eax
40ccb4:	50                   	push   %eax
40ccb5:	ff 75 fc             	push   -0x4(%ebp)
40ccb8:	e8 b3 ef 00 00       	call   0x41bc70
40ccbd:	83 c4 0c             	add    $0xc,%esp
40ccc0:	5f                   	pop    %edi
40ccc1:	5e                   	pop    %esi
40ccc2:	c9                   	leave
40ccc3:	c2 0c 00             	ret    $0xc
40ccc6:	56                   	push   %esi
40ccc7:	8b f1                	mov    %ecx,%esi
40ccc9:	8b 06                	mov    (%esi),%eax
40cccb:	85 c0                	test   %eax,%eax
40cccd:	74 07                	je     0x40ccd6
40cccf:	50                   	push   %eax
40ccd0:	ff 15 84 a0 42 00    	call   *0x42a084
40ccd6:	83 26 00             	andl   $0x0,(%esi)
40ccd9:	83 66 08 00          	andl   $0x0,0x8(%esi)
40ccdd:	83 66 0c 00          	andl   $0x0,0xc(%esi)
40cce1:	5e                   	pop    %esi
40cce2:	c3                   	ret
40cce3:	56                   	push   %esi
40cce4:	8b f1                	mov    %ecx,%esi
40cce6:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
40ccea:	75 34                	jne    0x40cd20
40ccec:	68 44 a7 42 00       	push   $0x42a744
40ccf1:	ff 15 8c a0 42 00    	call   *0x42a08c
40ccf7:	89 06                	mov    %eax,(%esi)
40ccf9:	85 c0                	test   %eax,%eax
40ccfb:	74 1f                	je     0x40cd1c
40ccfd:	57                   	push   %edi
40ccfe:	8b 3d 88 a0 42 00    	mov    0x42a088,%edi
40cd04:	68 30 a7 42 00       	push   $0x42a730
40cd09:	50                   	push   %eax
40cd0a:	ff d7                	call   *%edi
40cd0c:	68 18 a7 42 00       	push   $0x42a718
40cd11:	ff 36                	push   (%esi)
40cd13:	89 46 08             	mov    %eax,0x8(%esi)
40cd16:	ff d7                	call   *%edi
40cd18:	89 46 0c             	mov    %eax,0xc(%esi)
40cd1b:	5f                   	pop    %edi
40cd1c:	c6 46 04 01          	movb   $0x1,0x4(%esi)
40cd20:	5e                   	pop    %esi
40cd21:	c3                   	ret
40cd22:	55                   	push   %ebp
40cd23:	8b ec                	mov    %esp,%ebp
40cd25:	53                   	push   %ebx