46f928:	ff 75 08             	push   0x8(%ebp)
46f92b:	6a 05                	push   $0x5
46f92d:	e8 79 0f fa ff       	call   0x4108ab
46f932:	5d                   	pop    %ebp
46f933:	c2 08 00             	ret    $0x8
46f936:	55                   	push   %ebp
46f937:	8b ec                	mov    %esp,%ebp
46f939:	ff 75 0c             	push   0xc(%ebp)
46f93c:	ff 75 08             	push   0x8(%ebp)
46f93f:	6a 15                	push   $0x15
46f941:	e8 65 0f fa ff       	call   0x4108ab
46f946:	5d                   	pop    %ebp
46f947:	c2 08 00             	ret    $0x8
46f94a:	55                   	push   %ebp
46f94b:	8b ec                	mov    %esp,%ebp
46f94d:	ff 75 0c             	push   0xc(%ebp)
46f950:	ff 75 08             	push   0x8(%ebp)
46f953:	6a 02                	push   $0x2
46f955:	e8 51 0f fa ff       	call   0x4108ab
46f95a:	5d                   	pop    %ebp
46f95b:	c2 08 00             	ret    $0x8
46f95e:	55                   	push   %ebp
46f95f:	8b ec                	mov    %esp,%ebp
46f961:	ff 75 0c             	push   0xc(%ebp)
46f964:	ff 75 08             	push   0x8(%ebp)
46f967:	6a 04                	push   $0x4
46f969:	e8 3d 0f fa ff       	call   0x4108ab
46f96e:	5d                   	pop    %ebp
46f96f:	c2 08 00             	ret    $0x8
46f972:	55                   	push   %ebp
46f973:	8b ec                	mov    %esp,%ebp
46f975:	ff 75 0c             	push   0xc(%ebp)
46f978:	ff 75 08             	push   0x8(%ebp)
46f97b:	6a 07                	push   $0x7
46f97d:	e8 29 0f fa ff       	call   0x4108ab
46f982:	5d                   	pop    %ebp
46f983:	c2 08 00             	ret    $0x8
46f986:	55                   	push   %ebp
46f987:	8b ec                	mov    %esp,%ebp
46f989:	ff 75 0c             	push   0xc(%ebp)
46f98c:	ff 75 08             	push   0x8(%ebp)
46f98f:	6a 03                	push   $0x3
46f991:	e8 15 0f fa ff       	call   0x4108ab
46f996:	5d                   	pop    %ebp
46f997:	c2 08 00             	ret    $0x8
46f99a:	55                   	push   %ebp
46f99b:	8b ec                	mov    %esp,%ebp
46f99d:	ff 75 0c             	push   0xc(%ebp)
46f9a0:	ff 75 08             	push   0x8(%ebp)
46f9a3:	6a 17                	push   $0x17
46f9a5:	e8 01 0f fa ff       	call   0x4108ab
46f9aa:	5d                   	pop    %ebp
46f9ab:	c2 08 00             	ret    $0x8
46f9ae:	55                   	push   %ebp
46f9af:	8b ec                	mov    %esp,%ebp
46f9b1:	ff 75 0c             	push   0xc(%ebp)
46f9b4:	ff 75 08             	push   0x8(%ebp)
46f9b7:	6a 01                	push   $0x1
46f9b9:	e8 ed 0e fa ff       	call   0x4108ab
46f9be:	5d                   	pop    %ebp
46f9bf:	c2 08 00             	ret    $0x8
46f9c2:	55                   	push   %ebp
46f9c3:	8b ec                	mov    %esp,%ebp
46f9c5:	ff 75 0c             	push   0xc(%ebp)
46f9c8:	ff 75 08             	push   0x8(%ebp)
46f9cb:	6a 13                	push   $0x13
46f9cd:	e8 d9 0e fa ff       	call   0x4108ab
46f9d2:	5d                   	pop    %ebp
46f9d3:	c2 08 00             	ret    $0x8
46f9d6:	55                   	push   %ebp
46f9d7:	8b ec                	mov    %esp,%ebp
46f9d9:	ff 75 0c             	push   0xc(%ebp)
46f9dc:	ff 75 08             	push   0x8(%ebp)
46f9df:	6a 14                	push   $0x14
46f9e1:	e8 c5 0e fa ff       	call   0x4108ab
46f9e6:	5d                   	pop    %ebp
46f9e7:	c2 08 00             	ret    $0x8
46f9ea:	55                   	push   %ebp
46f9eb:	8b ec                	mov    %esp,%ebp
46f9ed:	ff 75 0c             	push   0xc(%ebp)
46f9f0:	ff 75 08             	push   0x8(%ebp)
46f9f3:	6a 0e                	push   $0xe
46f9f5:	e8 b1 0e fa ff       	call   0x4108ab
46f9fa:	5d                   	pop    %ebp
46f9fb:	c2 08 00             	ret    $0x8
46f9fe:	55                   	push   %ebp
46f9ff:	8b ec                	mov    %esp,%ebp
46fa01:	ff 75 0c             	push   0xc(%ebp)
46fa04:	ff 75 08             	push   0x8(%ebp)
46fa07:	6a 0f                	push   $0xf
46fa09:	e8 9d 0e fa ff       	call   0x4108ab
46fa0e:	5d                   	pop    %ebp
46fa0f:	c2 08 00             	ret    $0x8
46fa12:	55                   	push   %ebp
46fa13:	8b ec                	mov    %esp,%ebp
46fa15:	ff 75 0c             	push   0xc(%ebp)
46fa18:	ff 75 08             	push   0x8(%ebp)
46fa1b:	6a 1c                	push   $0x1c
46fa1d:	e8 89 0e fa ff       	call   0x4108ab
46fa22:	5d                   	pop    %ebp
46fa23:	c2 08 00             	ret    $0x8
46fa26:	55                   	push   %ebp
46fa27:	8b ec                	mov    %esp,%ebp
46fa29:	ff 75 0c             	push   0xc(%ebp)
46fa2c:	ff 75 08             	push   0x8(%ebp)
46fa2f:	6a 1d                	push   $0x1d
46fa31:	e8 75 0e fa ff       	call   0x4108ab
46fa36:	5d                   	pop    %ebp
46fa37:	c2 08 00             	ret    $0x8
46fa3a:	55                   	push   %ebp
46fa3b:	8b ec                	mov    %esp,%ebp
46fa3d:	ff 75 0c             	push   0xc(%ebp)
46fa40:	ff 75 08             	push   0x8(%ebp)
46fa43:	6a 06                	push   $0x6
46fa45:	e8 61 0e fa ff       	call   0x4108ab
46fa4a:	5d                   	pop    %ebp
46fa4b:	c2 08 00             	ret    $0x8
46fa4e:	55                   	push   %ebp
46fa4f:	8b ec                	mov    %esp,%ebp
46fa51:	ff 75 0c             	push   0xc(%ebp)
46fa54:	ff 75 08             	push   0x8(%ebp)
46fa57:	6a 08                	push   $0x8
46fa59:	e8 4d 0e fa ff       	call   0x4108ab
46fa5e:	5d                   	pop    %ebp
46fa5f:	c2 08 00             	ret    $0x8
46fa62:	55                   	push   %ebp
46fa63:	8b ec                	mov    %esp,%ebp
46fa65:	ff 75 0c             	push   0xc(%ebp)
46fa68:	ff 75 08             	push   0x8(%ebp)
46fa6b:	6a 1a                	push   $0x1a
46fa6d:	e8 39 0e fa ff       	call   0x4108ab
46fa72:	5d                   	pop    %ebp
46fa73:	c2 08 00             	ret    $0x8
46fa76:	55                   	push   %ebp
46fa77:	8b ec                	mov    %esp,%ebp
46fa79:	ff 75 0c             	push   0xc(%ebp)
46fa7c:	ff 75 08             	push   0x8(%ebp)
46fa7f:	6a 12                	push   $0x12
46fa81:	e8 25 0e fa ff       	call   0x4108ab
46fa86:	5d                   	pop    %ebp
46fa87:	c2 08 00             	ret    $0x8
46fa8a:	55                   	push   %ebp
46fa8b:	8b ec                	mov    %esp,%ebp
46fa8d:	ff 75 0c             	push   0xc(%ebp)
46fa90:	ff 75 08             	push   0x8(%ebp)
46fa93:	6a 0a                	push   $0xa
46fa95:	e8 11 0e fa ff       	call   0x4108ab
46fa9a:	5d                   	pop    %ebp
46fa9b:	c2 08 00             	ret    $0x8
46fa9e:	55                   	push   %ebp
46fa9f:	8b ec                	mov    %esp,%ebp
46faa1:	ff 75 0c             	push   0xc(%ebp)
46faa4:	ff 75 08             	push   0x8(%ebp)
46faa7:	6a 0b                	push   $0xb
46faa9:	e8 fd 0d fa ff       	call   0x4108ab
46faae:	5d                   	pop    %ebp
46faaf:	c2 08 00             	ret    $0x8
46fab2:	55                   	push   %ebp
46fab3:	8b ec                	mov    %esp,%ebp
46fab5:	ff 75 0c             	push   0xc(%ebp)
46fab8:	ff 75 08             	push   0x8(%ebp)
46fabb:	6a 10                	push   $0x10
46fabd:	e8 e9 0d fa ff       	call   0x4108ab
46fac2:	5d                   	pop    %ebp
46fac3:	c2 08 00             	ret    $0x8
46fac6:	55                   	push   %ebp
46fac7:	8b ec                	mov    %esp,%ebp
46fac9:	ff 75 0c             	push   0xc(%ebp)
46facc:	ff 75 08             	push   0x8(%ebp)
46facf:	6a 11                	push   $0x11
46fad1:	e8 d5 0d fa ff       	call   0x4108ab
46fad6:	5d                   	pop    %ebp
46fad7:	c2 08 00             	ret    $0x8
46fada:	55                   	push   %ebp
46fadb:	8b ec                	mov    %esp,%ebp
46fadd:	ff 75 0c             	push   0xc(%ebp)
46fae0:	ff 75 08             	push   0x8(%ebp)
46fae3:	6a 16                	push   $0x16
46fae5:	e8 c1 0d fa ff       	call   0x4108ab
46faea:	5d                   	pop    %ebp
46faeb:	c2 08 00             	ret    $0x8
46faee:	55                   	push   %ebp
46faef:	8b ec                	mov    %esp,%ebp
46faf1:	8b 45 08             	mov    0x8(%ebp),%eax
46faf4:	8d 4d 08             	lea    0x8(%ebp),%ecx
46faf7:	56                   	push   %esi
46faf8:	51                   	push   %ecx
46faf9:	8b 40 04             	mov    0x4(%eax),%eax
46fafc:	8b 08                	mov    (%eax),%ecx
46fafe:	e8 99 a1 f9 ff       	call   0x409c9c
46fb03:	50                   	push   %eax
46fb04:	e8 43 84 01 00       	call   0x487f4c
46fb09:	8b 75 0c             	mov    0xc(%ebp),%esi
46fb0c:	8b ce                	mov    %esi,%ecx
46fb0e:	84 c0                	test   %al,%al
46fb10:	74 13                	je     0x46fb25
46fb12:	e8 09 9f f9 ff       	call   0x409a20
46fb17:	8b 45 08             	mov    0x8(%ebp),%eax
46fb1a:	c7 46 0c 07 00 00 00 	movl   $0x7,0xc(%esi)
46fb21:	89 06                	mov    %eax,(%esi)
46fb23:	eb 0f                	jmp    0x46fb34
46fb25:	e8 f6 9e f9 ff       	call   0x409a20
46fb2a:	83 26 00             	andl   $0x0,(%esi)
46fb2d:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46fb34:	33 c0                	xor    %eax,%eax
46fb36:	5e                   	pop    %esi
46fb37:	5d                   	pop    %ebp
46fb38:	c2 08 00             	ret    $0x8
46fb3b:	55                   	push   %ebp
46fb3c:	8b ec                	mov    %esp,%ebp
46fb3e:	8b 45 08             	mov    0x8(%ebp),%eax
46fb41:	56                   	push   %esi
46fb42:	57                   	push   %edi
46fb43:	8b 40 04             	mov    0x4(%eax),%eax
46fb46:	8b 08                	mov    (%eax),%ecx
46fb48:	e8 4f a1 f9 ff       	call   0x409c9c
46fb4d:	50                   	push   %eax
46fb4e:	e8 a8 84 01 00       	call   0x487ffb
46fb53:	8b 75 0c             	mov    0xc(%ebp),%esi
46fb56:	8b f8                	mov    %eax,%edi
46fb58:	8b ce                	mov    %esi,%ecx
46fb5a:	e8 c1 9e f9 ff       	call   0x409a20
46fb5f:	89 3e                	mov    %edi,(%esi)
46fb61:	33 c0                	xor    %eax,%eax
46fb63:	5f                   	pop    %edi
46fb64:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46fb6b:	5e                   	pop    %esi
46fb6c:	5d                   	pop    %ebp
46fb6d:	c2 08 00             	ret    $0x8
46fb70:	55                   	push   %ebp
46fb71:	8b ec                	mov    %esp,%ebp
46fb73:	83 e4 f8             	and    $0xfffffff8,%esp
46fb76:	51                   	push   %ecx
46fb77:	53                   	push   %ebx
46fb78:	56                   	push   %esi
46fb79:	8b 75 08             	mov    0x8(%ebp),%esi
46fb7c:	57                   	push   %edi
46fb7d:	83 cf ff             	or     $0xffffffff,%edi
46fb80:	8b 5e 08             	mov    0x8(%esi),%ebx
46fb83:	85 db                	test   %ebx,%ebx
46fb85:	74 0c                	je     0x46fb93
46fb87:	8b 46 04             	mov    0x4(%esi),%eax
46fb8a:	8b 08                	mov    (%eax),%ecx
46fb8c:	e8 0b a1 f9 ff       	call   0x409c9c
46fb91:	8b f8                	mov    %eax,%edi
46fb93:	83 fb 01             	cmp    $0x1,%ebx
46fb96:	76 13                	jbe    0x46fbab
46fb98:	8b 4e 04             	mov    0x4(%esi),%ecx
46fb9b:	8b 49 04             	mov    0x4(%ecx),%ecx
46fb9e:	e8 f9 a0 f9 ff       	call   0x409c9c
46fba3:	83 f8 01             	cmp    $0x1,%eax
46fba6:	75 03                	jne    0x46fbab
46fba8:	50                   	push   %eax
46fba9:	eb 02                	jmp    0x46fbad
46fbab:	6a 00                	push   $0x0
46fbad:	8d 44 24 10          	lea    0x10(%esp),%eax
46fbb1:	50                   	push   %eax
46fbb2:	57                   	push   %edi
46fbb3:	e8 92 84 01 00       	call   0x48804a
46fbb8:	8b 7c 24 0c          	mov    0xc(%esp),%edi
46fbbc:	8b f0                	mov    %eax,%esi
46fbbe:	85 ff                	test   %edi,%edi
46fbc0:	7f 16                	jg     0x46fbd8
46fbc2:	85 f6                	test   %esi,%esi
46fbc4:	74 12                	je     0x46fbd8
46fbc6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46fbc9:	56                   	push   %esi
46fbca:	e8 29 a0 f9 ff       	call   0x409bf8
46fbcf:	56                   	push   %esi
46fbd0:	e8 97 14 fb ff       	call   0x42106c
46fbd5:	59                   	pop    %ecx
46fbd6:	eb 13                	jmp    0x46fbeb
46fbd8:	8b 75 0c             	mov    0xc(%ebp),%esi
46fbdb:	8b ce                	mov    %esi,%ecx
46fbdd:	e8 3e 9e f9 ff       	call   0x409a20
46fbe2:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46fbe9:	89 3e                	mov    %edi,(%esi)
46fbeb:	5f                   	pop    %edi
46fbec:	5e                   	pop    %esi
46fbed:	33 c0                	xor    %eax,%eax
46fbef:	5b                   	pop    %ebx
46fbf0:	8b e5                	mov    %ebp,%esp
46fbf2:	5d                   	pop    %ebp
46fbf3:	c2 08 00             	ret    $0x8
46fbf6:	55                   	push   %ebp
46fbf7:	8b ec                	mov    %esp,%ebp
46fbf9:	b8 20 20 00 00       	mov    $0x2020,%eax
46fbfe:	e8 8d 1f fc ff       	call   0x431b90
46fc03:	53                   	push   %ebx
46fc04:	56                   	push   %esi
46fc05:	8b 75 08             	mov    0x8(%ebp),%esi
46fc08:	33 c0                	xor    %eax,%eax
46fc0a:	57                   	push   %edi
46fc0b:	33 db                	xor    %ebx,%ebx
46fc0d:	89 4d e0             	mov    %ecx,-0x20(%ebp)
46fc10:	89 45 08             	mov    %eax,0x8(%ebp)
46fc13:	8b 7e 08             	mov    0x8(%esi),%edi
46fc16:	83 ff 03             	cmp    $0x3,%edi
46fc19:	76 10                	jbe    0x46fc2b
46fc1b:	8b 46 04             	mov    0x4(%esi),%eax
46fc1e:	8b 48 0c             	mov    0xc(%eax),%ecx
46fc21:	e8 76 a0 f9 ff       	call   0x409c9c
46fc26:	8b d8                	mov    %eax,%ebx
46fc28:	8b 45 08             	mov    0x8(%ebp),%eax
46fc2b:	83 ff 02             	cmp    $0x2,%edi
46fc2e:	76 0b                	jbe    0x46fc3b
46fc30:	8b 46 04             	mov    0x4(%esi),%eax
46fc33:	8b 48 08             	mov    0x8(%eax),%ecx
46fc36:	e8 61 a0 f9 ff       	call   0x409c9c
46fc3b:	8d 95 e0 df ff ff    	lea    -0x2020(%ebp),%edx
46fc41:	b9 ff 0f 00 00       	mov    $0xfff,%ecx
46fc46:	52                   	push   %edx
46fc47:	8d 55 e8             	lea    -0x18(%ebp),%edx
46fc4a:	66 89 8d e0 df ff ff 	mov    %cx,-0x2020(%ebp)
46fc51:	8b 4e 04             	mov    0x4(%esi),%ecx
46fc54:	52                   	push   %edx
46fc55:	8d 55 08             	lea    0x8(%ebp),%edx
46fc58:	52                   	push   %edx
46fc59:	8b 31                	mov    (%ecx),%esi
46fc5b:	8d 55 ec             	lea    -0x14(%ebp),%edx
46fc5e:	8b 49 04             	mov    0x4(%ecx),%ecx
46fc61:	52                   	push   %edx
46fc62:	8d 55 e4             	lea    -0x1c(%ebp),%edx
46fc65:	52                   	push   %edx
46fc66:	53                   	push   %ebx
46fc67:	50                   	push   %eax
46fc68:	e8 2f a0 f9 ff       	call   0x409c9c
46fc6d:	50                   	push   %eax
46fc6e:	8b ce                	mov    %esi,%ecx
46fc70:	e8 27 a0 f9 ff       	call   0x409c9c
46fc75:	50                   	push   %eax
46fc76:	e8 d7 8a 01 00       	call   0x488752
46fc7b:	85 c0                	test   %eax,%eax
46fc7d:	75 2a                	jne    0x46fca9
46fc7f:	8b 75 0c             	mov    0xc(%ebp),%esi
46fc82:	8b ce                	mov    %esi,%ecx
46fc84:	e8 97 9d f9 ff       	call   0x409a20
46fc89:	8b 55 e0             	mov    -0x20(%ebp),%edx
46fc8c:	33 ff                	xor    %edi,%edi
46fc8e:	83 26 00             	andl   $0x0,(%esi)
46fc91:	47                   	inc    %edi
46fc92:	89 7e 0c             	mov    %edi,0xc(%esi)
46fc95:	6a 00                	push   $0x0
46fc97:	8b 02                	mov    (%edx),%eax
46fc99:	57                   	push   %edi
46fc9a:	8b 48 04             	mov    0x4(%eax),%ecx
46fc9d:	03 ca                	add    %edx,%ecx
46fc9f:	e8 ff 6d fe ff       	call   0x456aa3
46fca4:	e9 c5 00 00 00       	jmp    0x46fd6e
46fca9:	8b 4d 0c             	mov    0xc(%ebp),%ecx