465ddf:	8b c6                	mov    %esi,%eax
465de1:	5e                   	pop    %esi
465de2:	c2 04 00             	ret    $0x4
465de5:	55                   	push   %ebp
465de6:	8b ec                	mov    %esp,%ebp
465de8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
465deb:	85 c9                	test   %ecx,%ecx
465ded:	75 04                	jne    0x465df3
465def:	33 c0                	xor    %eax,%eax
465df1:	eb 25                	jmp    0x465e18
465df3:	8b 45 08             	mov    0x8(%ebp),%eax
465df6:	56                   	push   %esi
465df7:	8b 75 10             	mov    0x10(%ebp),%esi
465dfa:	99                   	cltd
465dfb:	3b ce                	cmp    %esi,%ecx
465dfd:	7d 0c                	jge    0x465e0b
465dff:	f7 f9                	idiv   %ecx
465e01:	85 d2                	test   %edx,%edx
465e03:	74 10                	je     0x465e15
465e05:	2b ca                	sub    %edx,%ecx
465e07:	8b d1                	mov    %ecx,%edx
465e09:	eb 0a                	jmp    0x465e15
465e0b:	f7 fe                	idiv   %esi
465e0d:	85 d2                	test   %edx,%edx
465e0f:	74 04                	je     0x465e15
465e11:	2b f2                	sub    %edx,%esi
465e13:	8b d6                	mov    %esi,%edx
465e15:	8b c2                	mov    %edx,%eax
465e17:	5e                   	pop    %esi
465e18:	5d                   	pop    %ebp
465e19:	c2 0c 00             	ret    $0xc
465e1c:	55                   	push   %ebp
465e1d:	8b ec                	mov    %esp,%ebp
465e1f:	83 ec 14             	sub    $0x14,%esp
465e22:	53                   	push   %ebx
465e23:	56                   	push   %esi
465e24:	8b f1                	mov    %ecx,%esi
465e26:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465e29:	57                   	push   %edi
465e2a:	e8 80 21 fa ff       	call   0x407faf
465e2f:	ff 75 10             	push   0x10(%ebp)
465e32:	ff 75 0c             	push   0xc(%ebp)
465e35:	ff 15 fc f6 48 00    	call   *0x48f6fc
465e3b:	8b ce                	mov    %esi,%ecx
465e3d:	e8 60 06 00 00       	call   0x4664a2
465e42:	33 db                	xor    %ebx,%ebx
465e44:	89 5d fc             	mov    %ebx,-0x4(%ebp)
465e47:	39 5d 10             	cmp    %ebx,0x10(%ebp)
465e4a:	75 08                	jne    0x465e54
465e4c:	33 ff                	xor    %edi,%edi
465e4e:	47                   	inc    %edi
465e4f:	e9 12 01 00 00       	jmp    0x465f66
465e54:	8b fb                	mov    %ebx,%edi
465e56:	89 1e                	mov    %ebx,(%esi)
465e58:	57                   	push   %edi
465e59:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465e5c:	e8 f1 1c fa ff       	call   0x407b52
465e61:	66 39 18             	cmp    %bx,(%eax)
465e64:	74 16                	je     0x465e7c
465e66:	57                   	push   %edi
465e67:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465e6a:	47                   	inc    %edi
465e6b:	e8 e2 1c fa ff       	call   0x407b52
465e70:	6a 3b                	push   $0x3b
465e72:	59                   	pop    %ecx
465e73:	66 39 08             	cmp    %cx,(%eax)
465e76:	75 e0                	jne    0x465e58
465e78:	ff 06                	incl   (%esi)
465e7a:	eb dc                	jmp    0x465e58
465e7c:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
465e80:	76 16                	jbe    0x465e98
465e82:	8d 47 ff             	lea    -0x1(%edi),%eax
465e85:	50                   	push   %eax
465e86:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465e89:	e8 c4 1c fa ff       	call   0x407b52
465e8e:	6a 3b                	push   $0x3b
465e90:	59                   	pop    %ecx
465e91:	66 39 08             	cmp    %cx,(%eax)
465e94:	74 02                	je     0x465e98
465e96:	ff 06                	incl   (%esi)
465e98:	8b 1e                	mov    (%esi),%ebx
465e9a:	33 c9                	xor    %ecx,%ecx
465e9c:	6a 20                	push   $0x20
465e9e:	5a                   	pop    %edx
465e9f:	8b c3                	mov    %ebx,%eax
465ea1:	f7 e2                	mul    %edx
465ea3:	0f 90 c1             	seto   %cl
465ea6:	f7 d9                	neg    %ecx
465ea8:	0b c8                	or     %eax,%ecx
465eaa:	33 c0                	xor    %eax,%eax
465eac:	83 c1 04             	add    $0x4,%ecx
465eaf:	0f 92 c0             	setb   %al
465eb2:	f7 d8                	neg    %eax
465eb4:	0b c1                	or     %ecx,%eax
465eb6:	50                   	push   %eax
465eb7:	e8 3a b1 fb ff       	call   0x420ff6
465ebc:	59                   	pop    %ecx
465ebd:	85 c0                	test   %eax,%eax
465ebf:	74 21                	je     0x465ee2
465ec1:	89 18                	mov    %ebx,(%eax)
465ec3:	83 c0 04             	add    $0x4,%eax
465ec6:	4b                   	dec    %ebx
465ec7:	89 45 f8             	mov    %eax,-0x8(%ebp)
465eca:	8b f8                	mov    %eax,%edi
465ecc:	78 10                	js     0x465ede
465ece:	8b cf                	mov    %edi,%ecx
465ed0:	e8 83 fe ff ff       	call   0x465d58
465ed5:	83 c7 20             	add    $0x20,%edi
465ed8:	4b                   	dec    %ebx
465ed9:	79 f3                	jns    0x465ece
465edb:	8b 45 f8             	mov    -0x8(%ebp),%eax
465ede:	33 db                	xor    %ebx,%ebx
465ee0:	eb 04                	jmp    0x465ee6
465ee2:	33 db                	xor    %ebx,%ebx
465ee4:	8b c3                	mov    %ebx,%eax
465ee6:	83 4d f8 ff          	orl    $0xffffffff,-0x8(%ebp)
465eea:	8b ce                	mov    %esi,%ecx
465eec:	89 46 04             	mov    %eax,0x4(%esi)
465eef:	8d 45 f8             	lea    -0x8(%ebp),%eax
465ef2:	50                   	push   %eax
465ef3:	8d 45 fc             	lea    -0x4(%ebp),%eax
465ef6:	89 5d f0             	mov    %ebx,-0x10(%ebp)
465ef9:	50                   	push   %eax
465efa:	8d 45 f4             	lea    -0xc(%ebp),%eax
465efd:	89 5d f4             	mov    %ebx,-0xc(%ebp)
465f00:	50                   	push   %eax
465f01:	8d 45 f0             	lea    -0x10(%ebp),%eax
465f04:	c7 45 ec 08 00 00 00 	movl   $0x8,-0x14(%ebp)
465f0b:	50                   	push   %eax
465f0c:	8d 45 ec             	lea    -0x14(%ebp),%eax
465f0f:	50                   	push   %eax
465f10:	8d 45 0c             	lea    0xc(%ebp),%eax
465f13:	50                   	push   %eax
465f14:	53                   	push   %ebx
465f15:	e8 5f 00 00 00       	call   0x465f79
465f1a:	8b f8                	mov    %eax,%edi
465f1c:	85 ff                	test   %edi,%edi
465f1e:	75 46                	jne    0x465f66
465f20:	8b 45 08             	mov    0x8(%ebp),%eax
465f23:	8b 7d fc             	mov    -0x4(%ebp),%edi
465f26:	89 7e 0c             	mov    %edi,0xc(%esi)
465f29:	85 c0                	test   %eax,%eax
465f2b:	75 31                	jne    0x465f5e
465f2d:	6a 04                	push   $0x4
465f2f:	e8 c2 b0 fb ff       	call   0x420ff6
465f34:	59                   	pop    %ecx
465f35:	85 c0                	test   %eax,%eax
465f37:	74 08                	je     0x465f41
465f39:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
465f3f:	eb 02                	jmp    0x465f43
465f41:	8b c3                	mov    %ebx,%eax
465f43:	57                   	push   %edi
465f44:	89 46 10             	mov    %eax,0x10(%esi)
465f47:	e8 aa b0 fb ff       	call   0x420ff6
465f4c:	ff 76 0c             	push   0xc(%esi)
465f4f:	89 46 08             	mov    %eax,0x8(%esi)
465f52:	53                   	push   %ebx
465f53:	50                   	push   %eax
465f54:	e8 c7 d0 fb ff       	call   0x423020
465f59:	83 c4 10             	add    $0x10,%esp
465f5c:	eb 06                	jmp    0x465f64
465f5e:	89 5e 10             	mov    %ebx,0x10(%esi)
465f61:	89 46 08             	mov    %eax,0x8(%esi)
465f64:	8b fb                	mov    %ebx,%edi
465f66:	8d 4d 0c             	lea    0xc(%ebp),%ecx
465f69:	e8 f6 fa f9 ff       	call   0x405a64
465f6e:	8b c7                	mov    %edi,%eax
465f70:	5f                   	pop    %edi
465f71:	5e                   	pop    %esi
465f72:	5b                   	pop    %ebx
465f73:	8b e5                	mov    %ebp,%esp
465f75:	5d                   	pop    %ebp
465f76:	c2 14 00             	ret    $0x14
465f79:	55                   	push   %ebp
465f7a:	8b ec                	mov    %esp,%ebp
465f7c:	83 e4 f8             	and    $0xfffffff8,%esp
465f7f:	83 ec 54             	sub    $0x54,%esp
465f82:	8b 45 18             	mov    0x18(%ebp),%eax
465f85:	33 d2                	xor    %edx,%edx
465f87:	83 64 24 0c 00       	andl   $0x0,0xc(%esp)
465f8c:	83 64 24 10 00       	andl   $0x0,0x10(%esp)
465f91:	53                   	push   %ebx
465f92:	8b 00                	mov    (%eax),%eax
465f94:	56                   	push   %esi
465f95:	89 4c 24 10          	mov    %ecx,0x10(%esp)
465f99:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
465f9d:	57                   	push   %edi
465f9e:	89 44 24 10          	mov    %eax,0x10(%esp)
465fa2:	89 54 24 24          	mov    %edx,0x24(%esp)
465fa6:	e8 1c 18 fa ff       	call   0x4077c7
465fab:	8d 4c 24 40          	lea    0x40(%esp),%ecx
465faf:	e8 13 18 fa ff       	call   0x4077c7
465fb4:	8d 4c 24 30          	lea    0x30(%esp),%ecx
465fb8:	e8 0a 18 fa ff       	call   0x4077c7
465fbd:	8b 5d 0c             	mov    0xc(%ebp),%ebx
465fc0:	8b 7d 14             	mov    0x14(%ebp),%edi
465fc3:	e9 8b 03 00 00       	jmp    0x466353
465fc8:	6a 20                	push   $0x20
465fca:	5e                   	pop    %esi
465fcb:	8b 07                	mov    (%edi),%eax
465fcd:	8b cb                	mov    %ebx,%ecx
465fcf:	50                   	push   %eax
465fd0:	e8 4b 1b fa ff       	call   0x407b20
465fd5:	0f b7 00             	movzwl (%eax),%eax
465fd8:	66 3b c6             	cmp    %si,%ax
465fdb:	74 08                	je     0x465fe5
465fdd:	6a 09                	push   $0x9
465fdf:	59                   	pop    %ecx
465fe0:	66 3b c1             	cmp    %cx,%ax
465fe3:	75 04                	jne    0x465fe9
465fe5:	ff 07                	incl   (%edi)
465fe7:	eb e2                	jmp    0x465fcb
465fe9:	8b 43 04             	mov    0x4(%ebx),%eax
465fec:	39 07                	cmp    %eax,(%edi)
465fee:	0f 83 6a 03 00 00    	jae    0x46635e
465ff4:	68 10 f9 48 00       	push   $0x48f910
465ff9:	8d 4c 24 54          	lea    0x54(%esp),%ecx
465ffd:	e8 2a 1d fa ff       	call   0x407d2c
466002:	ff 37                	push   (%edi)
466004:	8b cb                	mov    %ebx,%ecx
466006:	e8 15 1b fa ff       	call   0x407b20
46600b:	0f b7 00             	movzwl (%eax),%eax
46600e:	50                   	push   %eax
46600f:	e8 32 d8 fb ff       	call   0x423846
466014:	59                   	pop    %ecx
466015:	85 c0                	test   %eax,%eax
466017:	75 11                	jne    0x46602a
466019:	ff 37                	push   (%edi)
46601b:	8b cb                	mov    %ebx,%ecx
46601d:	e8 fe 1a fa ff       	call   0x407b20
466022:	6a 5f                	push   $0x5f
466024:	59                   	pop    %ecx
466025:	66 39 08             	cmp    %cx,(%eax)
466028:	75 1e                	jne    0x466048
46602a:	8b 0f                	mov    (%edi),%ecx
46602c:	51                   	push   %ecx
46602d:	8d 41 01             	lea    0x1(%ecx),%eax
466030:	8b cb                	mov    %ebx,%ecx
466032:	89 07                	mov    %eax,(%edi)
466034:	e8 e7 1a fa ff       	call   0x407b20
466039:	8d 4c 24 50          	lea    0x50(%esp),%ecx
46603d:	0f b7 00             	movzwl (%eax),%eax
466040:	50                   	push   %eax
466041:	e8 3e 1a fa ff       	call   0x407a84
466046:	eb ba                	jmp    0x466002
466048:	83 64 24 20 00       	andl   $0x0,0x20(%esp)
46604d:	8d 4c 24 30          	lea    0x30(%esp),%ecx
466051:	68 10 f9 48 00       	push   $0x48f910
466056:	e8 d1 1c fa ff       	call   0x407d2c
46605b:	6a 20                	push   $0x20
46605d:	5e                   	pop    %esi
46605e:	8b 07                	mov    (%edi),%eax
466060:	8b cb                	mov    %ebx,%ecx
466062:	50                   	push   %eax
466063:	e8 b8 1a fa ff       	call   0x407b20
466068:	0f b7 00             	movzwl (%eax),%eax
46606b:	66 3b c6             	cmp    %si,%ax
46606e:	74 08                	je     0x466078
466070:	6a 09                	push   $0x9
466072:	59                   	pop    %ecx
466073:	66 3b c1             	cmp    %cx,%ax
466076:	75 04                	jne    0x46607c
466078:	ff 07                	incl   (%edi)
46607a:	eb e2                	jmp    0x46605e
46607c:	ff 37                	push   (%edi)
46607e:	8b cb                	mov    %ebx,%ecx
466080:	e8 9b 1a fa ff       	call   0x407b20
466085:	6a 5b                	push   $0x5b
466087:	59                   	pop    %ecx
466088:	66 39 08             	cmp    %cx,(%eax)
46608b:	74 46                	je     0x4660d3
46608d:	6a 5f                	push   $0x5f
46608f:	5e                   	pop    %esi
466090:	ff 37                	push   (%edi)
466092:	8b cb                	mov    %ebx,%ecx
466094:	e8 87 1a fa ff       	call   0x407b20
466099:	0f b7 00             	movzwl (%eax),%eax
46609c:	50                   	push   %eax
46609d:	e8 a4 d7 fb ff       	call   0x423846
4660a2:	59                   	pop    %ecx
4660a3:	85 c0                	test   %eax,%eax
4660a5:	75 0e                	jne    0x4660b5
4660a7:	ff 37                	push   (%edi)
4660a9:	8b cb                	mov    %ebx,%ecx
4660ab:	e8 70 1a fa ff       	call   0x407b20
4660b0:	66 39 30             	cmp    %si,(%eax)
4660b3:	75 1e                	jne    0x4660d3
4660b5:	8b 0f                	mov    (%edi),%ecx
4660b7:	51                   	push   %ecx
4660b8:	8d 41 01             	lea    0x1(%ecx),%eax
4660bb:	8b cb                	mov    %ebx,%ecx
4660bd:	89 07                	mov    %eax,(%edi)
4660bf:	e8 5c 1a fa ff       	call   0x407b20
4660c4:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4660c8:	0f b7 00             	movzwl (%eax),%eax
4660cb:	50                   	push   %eax
4660cc:	e8 b3 19 fa ff       	call   0x407a84
4660d1:	eb bd                	jmp    0x466090
4660d3:	6a 20                	push   $0x20
4660d5:	5e                   	pop    %esi
4660d6:	8b 07                	mov    (%edi),%eax
4660d8:	8b cb                	mov    %ebx,%ecx
4660da:	50                   	push   %eax
4660db:	e8 40 1a fa ff       	call   0x407b20
4660e0:	0f b7 00             	movzwl (%eax),%eax
4660e3:	66 3b c6             	cmp    %si,%ax
4660e6:	74 08                	je     0x4660f0
4660e8:	6a 09                	push   $0x9
4660ea:	59                   	pop    %ecx
4660eb:	66 3b c1             	cmp    %cx,%ax
4660ee:	75 04                	jne    0x4660f4
4660f0:	ff 07                	incl   (%edi)
4660f2:	eb e2                	jmp    0x4660d6
4660f4:	8b 07                	mov    (%edi),%eax
4660f6:	8b cb                	mov    %ebx,%ecx
4660f8:	50                   	push   %eax
4660f9:	e8 22 1a fa ff       	call   0x407b20
4660fe:	8b 74 24 14          	mov    0x14(%esp),%esi
466102:	6a 5b                	push   $0x5b
466104:	59                   	pop    %ecx
466105:	66 39 08             	cmp    %cx,(%eax)
466108:	75 71                	jne    0x46617b
46610a:	ff 07                	incl   (%edi)
46610c:	8d 4c 24 40          	lea    0x40(%esp),%ecx
466110:	68 10 f9 48 00       	push   $0x48f910
466115:	e8 12 1c fa ff       	call   0x407d2c
46611a:	ff 37                	push   (%edi)
46611c:	8b cb                	mov    %ebx,%ecx
46611e:	e8 fd 19 fa ff       	call   0x407b20
466123:	0f b7 00             	movzwl (%eax),%eax
466126:	50                   	push   %eax
466127:	e8 40 d7 fb ff       	call   0x42386c
46612c:	59                   	pop    %ecx
46612d:	85 c0                	test   %eax,%eax
46612f:	74 1e                	je     0x46614f
466131:	8b 0f                	mov    (%edi),%ecx
466133:	51                   	push   %ecx
466134:	8d 41 01             	lea    0x1(%ecx),%eax
466137:	8b cb                	mov    %ebx,%ecx
466139:	89 07                	mov    %eax,(%edi)
46613b:	e8 e0 19 fa ff       	call   0x407b20
466140:	8d 4c 24 40          	lea    0x40(%esp),%ecx
466144:	0f b7 00             	movzwl (%eax),%eax
466147:	50                   	push   %eax
466148:	e8 37 19 fa ff       	call   0x407a84
46614d:	eb cb                	jmp    0x46611a
46614f:	ff 74 24 40          	push   0x40(%esp)
466153:	e8 72 d6 fb ff       	call   0x4237ca
466158:	89 44 24 24          	mov    %eax,0x24(%esp)
46615c:	59                   	pop    %ecx