641e2c:	8b 45 08             	mov    0x8(%ebp),%eax
641e2f:	89 08                	mov    %ecx,(%eax)
641e31:	8b 4d f4             	mov    -0xc(%ebp),%ecx
641e34:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
641e3b:	59                   	pop    %ecx
641e3c:	5f                   	pop    %edi
641e3d:	8b e5                	mov    %ebp,%esp
641e3f:	5d                   	pop    %ebp
641e40:	c2 0c 00             	ret    $0xc
641e43:	3b 45 10             	cmp    0x10(%ebp),%eax
641e46:	74 58                	je     0x641ea0
641e48:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641e4c:	8b c8                	mov    %eax,%ecx
641e4e:	75 3c                	jne    0x641e8c
641e50:	8b 50 08             	mov    0x8(%eax),%edx
641e53:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
641e57:	75 14                	jne    0x641e6d
641e59:	8b 02                	mov    (%edx),%eax
641e5b:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641e5f:	75 28                	jne    0x641e89
641e61:	8b d0                	mov    %eax,%edx
641e63:	8b 02                	mov    (%edx),%eax
641e65:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641e69:	74 f6                	je     0x641e61
641e6b:	eb 1c                	jmp    0x641e89
641e6d:	8b 50 04             	mov    0x4(%eax),%edx
641e70:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
641e74:	75 13                	jne    0x641e89
641e76:	3b 42 08             	cmp    0x8(%edx),%eax
641e79:	75 0e                	jne    0x641e89
641e7b:	8b c2                	mov    %edx,%eax
641e7d:	89 45 0c             	mov    %eax,0xc(%ebp)
641e80:	8b 52 04             	mov    0x4(%edx),%edx
641e83:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
641e87:	74 ed                	je     0x641e76
641e89:	89 55 0c             	mov    %edx,0xc(%ebp)
641e8c:	51                   	push   %ecx
641e8d:	8d 45 f0             	lea    -0x10(%ebp),%eax
641e90:	8b cf                	mov    %edi,%ecx
641e92:	50                   	push   %eax
641e93:	e8 28 00 00 00       	call   0x641ec0
641e98:	8b 45 0c             	mov    0xc(%ebp),%eax
641e9b:	3b 45 10             	cmp    0x10(%ebp),%eax
641e9e:	75 a8                	jne    0x641e48
641ea0:	8b 4d 08             	mov    0x8(%ebp),%ecx
641ea3:	89 01                	mov    %eax,(%ecx)
641ea5:	8b c1                	mov    %ecx,%eax
641ea7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
641eaa:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
641eb1:	59                   	pop    %ecx
641eb2:	5f                   	pop    %edi
641eb3:	8b e5                	mov    %ebp,%esp
641eb5:	5d                   	pop    %ebp
641eb6:	c2 0c 00             	ret    $0xc
641eb9:	cc                   	int3
641eba:	cc                   	int3
641ebb:	cc                   	int3
641ebc:	cc                   	int3
641ebd:	cc                   	int3
641ebe:	cc                   	int3
641ebf:	cc                   	int3
641ec0:	55                   	push   %ebp
641ec1:	8b ec                	mov    %esp,%ebp
641ec3:	83 ec 08             	sub    $0x8,%esp
641ec6:	53                   	push   %ebx
641ec7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
641eca:	56                   	push   %esi
641ecb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
641ece:	8d 4d 0c             	lea    0xc(%ebp),%ecx
641ed1:	57                   	push   %edi
641ed2:	e8 79 5c ff ff       	call   0x637b50
641ed7:	8b 13                	mov    (%ebx),%edx
641ed9:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
641edd:	74 05                	je     0x641ee4
641edf:	8b 7b 08             	mov    0x8(%ebx),%edi
641ee2:	eb 1e                	jmp    0x641f02
641ee4:	8b 43 08             	mov    0x8(%ebx),%eax
641ee7:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641eeb:	74 04                	je     0x641ef1
641eed:	8b fa                	mov    %edx,%edi
641eef:	eb 11                	jmp    0x641f02
641ef1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
641ef4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
641ef7:	8b 79 08             	mov    0x8(%ecx),%edi
641efa:	3b cb                	cmp    %ebx,%ecx
641efc:	0f 85 86 00 00 00    	jne    0x641f88
641f02:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
641f06:	8b 73 04             	mov    0x4(%ebx),%esi
641f09:	75 03                	jne    0x641f0e
641f0b:	89 77 04             	mov    %esi,0x4(%edi)
641f0e:	8b 55 fc             	mov    -0x4(%ebp),%edx
641f11:	8b 02                	mov    (%edx),%eax
641f13:	39 58 04             	cmp    %ebx,0x4(%eax)
641f16:	75 05                	jne    0x641f1d
641f18:	89 78 04             	mov    %edi,0x4(%eax)
641f1b:	eb 0b                	jmp    0x641f28
641f1d:	39 1e                	cmp    %ebx,(%esi)
641f1f:	75 04                	jne    0x641f25
641f21:	89 3e                	mov    %edi,(%esi)
641f23:	eb 03                	jmp    0x641f28
641f25:	89 7e 08             	mov    %edi,0x8(%esi)
641f28:	8b 02                	mov    (%edx),%eax
641f2a:	39 18                	cmp    %ebx,(%eax)
641f2c:	75 22                	jne    0x641f50
641f2e:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
641f32:	74 04                	je     0x641f38
641f34:	8b ce                	mov    %esi,%ecx
641f36:	eb 16                	jmp    0x641f4e
641f38:	8b 07                	mov    (%edi),%eax
641f3a:	8b cf                	mov    %edi,%ecx
641f3c:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641f40:	75 0a                	jne    0x641f4c
641f42:	8b c8                	mov    %eax,%ecx
641f44:	8b 01                	mov    (%ecx),%eax
641f46:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641f4a:	74 f6                	je     0x641f42
641f4c:	8b 02                	mov    (%edx),%eax
641f4e:	89 08                	mov    %ecx,(%eax)
641f50:	8b 02                	mov    (%edx),%eax
641f52:	39 58 08             	cmp    %ebx,0x8(%eax)
641f55:	0f 85 8c 00 00 00    	jne    0x641fe7
641f5b:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
641f5f:	74 0a                	je     0x641f6b
641f61:	8b ce                	mov    %esi,%ecx
641f63:	89 48 08             	mov    %ecx,0x8(%eax)
641f66:	e9 7c 00 00 00       	jmp    0x641fe7
641f6b:	8b 47 08             	mov    0x8(%edi),%eax
641f6e:	8b cf                	mov    %edi,%ecx
641f70:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641f74:	75 0b                	jne    0x641f81
641f76:	8b c8                	mov    %eax,%ecx
641f78:	8b 41 08             	mov    0x8(%ecx),%eax
641f7b:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
641f7f:	74 f5                	je     0x641f76
641f81:	8b 02                	mov    (%edx),%eax
641f83:	89 48 08             	mov    %ecx,0x8(%eax)
641f86:	eb 5f                	jmp    0x641fe7
641f88:	89 4a 04             	mov    %ecx,0x4(%edx)
641f8b:	8b 03                	mov    (%ebx),%eax
641f8d:	89 01                	mov    %eax,(%ecx)
641f8f:	3b 4b 08             	cmp    0x8(%ebx),%ecx
641f92:	75 04                	jne    0x641f98
641f94:	8b f1                	mov    %ecx,%esi
641f96:	eb 1a                	jmp    0x641fb2
641f98:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
641f9c:	8b 71 04             	mov    0x4(%ecx),%esi
641f9f:	75 03                	jne    0x641fa4
641fa1:	89 77 04             	mov    %esi,0x4(%edi)
641fa4:	89 3e                	mov    %edi,(%esi)
641fa6:	8b 43 08             	mov    0x8(%ebx),%eax
641fa9:	89 41 08             	mov    %eax,0x8(%ecx)
641fac:	8b 43 08             	mov    0x8(%ebx),%eax
641faf:	89 48 04             	mov    %ecx,0x4(%eax)
641fb2:	8b 55 fc             	mov    -0x4(%ebp),%edx
641fb5:	8b 02                	mov    (%edx),%eax
641fb7:	39 58 04             	cmp    %ebx,0x4(%eax)
641fba:	75 05                	jne    0x641fc1
641fbc:	89 48 04             	mov    %ecx,0x4(%eax)
641fbf:	eb 0e                	jmp    0x641fcf
641fc1:	8b 43 04             	mov    0x4(%ebx),%eax
641fc4:	39 18                	cmp    %ebx,(%eax)
641fc6:	75 04                	jne    0x641fcc
641fc8:	89 08                	mov    %ecx,(%eax)
641fca:	eb 03                	jmp    0x641fcf
641fcc:	89 48 08             	mov    %ecx,0x8(%eax)
641fcf:	8b 43 04             	mov    0x4(%ebx),%eax
641fd2:	8b 55 f8             	mov    -0x8(%ebp),%edx
641fd5:	89 41 04             	mov    %eax,0x4(%ecx)
641fd8:	8a 43 0c             	mov    0xc(%ebx),%al
641fdb:	8a 49 0c             	mov    0xc(%ecx),%cl
641fde:	88 42 0c             	mov    %al,0xc(%edx)
641fe1:	8b 55 fc             	mov    -0x4(%ebp),%edx
641fe4:	88 4b 0c             	mov    %cl,0xc(%ebx)
641fe7:	80 7b 0c 01          	cmpb   $0x1,0xc(%ebx)
641feb:	0f 85 29 01 00 00    	jne    0x64211a
641ff1:	8b 02                	mov    (%edx),%eax
641ff3:	3b 78 04             	cmp    0x4(%eax),%edi
641ff6:	0f 84 d7 00 00 00    	je     0x6420d3
641ffc:	0f 1f 40 00          	nopl   0x0(%eax)
642000:	80 7f 0c 01          	cmpb   $0x1,0xc(%edi)
642004:	0f 85 c9 00 00 00    	jne    0x6420d3
64200a:	8b 0e                	mov    (%esi),%ecx
64200c:	3b f9                	cmp    %ecx,%edi
64200e:	75 7d                	jne    0x64208d
642010:	8b 4e 08             	mov    0x8(%esi),%ecx
642013:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
642017:	75 16                	jne    0x64202f
642019:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
64201d:	8b ca                	mov    %edx,%ecx
64201f:	56                   	push   %esi
642020:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
642024:	e8 77 0c e5 ff       	call   0x492ca0
642029:	8b 4e 08             	mov    0x8(%esi),%ecx
64202c:	8b 55 fc             	mov    -0x4(%ebp),%edx
64202f:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
642033:	0f 85 8a 00 00 00    	jne    0x6420c3
642039:	8b 01                	mov    (%ecx),%eax
64203b:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
64203f:	75 09                	jne    0x64204a
642041:	8b 41 08             	mov    0x8(%ecx),%eax
642044:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
642048:	74 75                	je     0x6420bf
64204a:	8b 41 08             	mov    0x8(%ecx),%eax
64204d:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
642051:	75 15                	jne    0x642068
642053:	8b 01                	mov    (%ecx),%eax
642055:	51                   	push   %ecx
642056:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
64205a:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
64205e:	8b ca                	mov    %edx,%ecx
642060:	e8 9b 0c e5 ff       	call   0x492d00
642065:	8b 4e 08             	mov    0x8(%esi),%ecx
642068:	8a 46 0c             	mov    0xc(%esi),%al
64206b:	88 41 0c             	mov    %al,0xc(%ecx)
64206e:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
642072:	8b 41 08             	mov    0x8(%ecx),%eax
642075:	56                   	push   %esi
642076:	8b 75 fc             	mov    -0x4(%ebp),%esi
642079:	8b ce                	mov    %esi,%ecx
64207b:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
64207f:	e8 1c 0c e5 ff       	call   0x492ca0
642084:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
642088:	e9 90 00 00 00       	jmp    0x64211d
64208d:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
642091:	75 15                	jne    0x6420a8
642093:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
642097:	8b ca                	mov    %edx,%ecx
642099:	56                   	push   %esi
64209a:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
64209e:	e8 5d 0c e5 ff       	call   0x492d00
6420a3:	8b 0e                	mov    (%esi),%ecx
6420a5:	8b 55 fc             	mov    -0x4(%ebp),%edx
6420a8:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
6420ac:	75 15                	jne    0x6420c3
6420ae:	8b 41 08             	mov    0x8(%ecx),%eax
6420b1:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
6420b5:	75 25                	jne    0x6420dc
6420b7:	8b 01                	mov    (%ecx),%eax
6420b9:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
6420bd:	75 1d                	jne    0x6420dc
6420bf:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
6420c3:	8b 02                	mov    (%edx),%eax
6420c5:	8b fe                	mov    %esi,%edi
6420c7:	8b 76 04             	mov    0x4(%esi),%esi
6420ca:	3b 78 04             	cmp    0x4(%eax),%edi
6420cd:	0f 85 2d ff ff ff    	jne    0x642000
6420d3:	8b 75 fc             	mov    -0x4(%ebp),%esi
6420d6:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
6420da:	eb 41                	jmp    0x64211d
6420dc:	8b 01                	mov    (%ecx),%eax
6420de:	80 78 0c 01          	cmpb   $0x1,0xc(%eax)
6420e2:	75 15                	jne    0x6420f9
6420e4:	8b 41 08             	mov    0x8(%ecx),%eax
6420e7:	51                   	push   %ecx
6420e8:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
6420ec:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
6420f0:	8b ca                	mov    %edx,%ecx
6420f2:	e8 a9 0b e5 ff       	call   0x492ca0
6420f7:	8b 0e                	mov    (%esi),%ecx
6420f9:	8a 46 0c             	mov    0xc(%esi),%al
6420fc:	88 41 0c             	mov    %al,0xc(%ecx)
6420ff:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
642103:	8b 01                	mov    (%ecx),%eax
642105:	56                   	push   %esi
642106:	8b 75 fc             	mov    -0x4(%ebp),%esi
642109:	8b ce                	mov    %esi,%ecx
64210b:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
64210f:	e8 ec 0b e5 ff       	call   0x492d00
642114:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
642118:	eb 03                	jmp    0x64211d
64211a:	8b 75 fc             	mov    -0x4(%ebp),%esi
64211d:	8b 4b 14             	mov    0x14(%ebx),%ecx
642120:	85 c9                	test   %ecx,%ecx
642122:	74 51                	je     0x642175
642124:	8b 43 1c             	mov    0x1c(%ebx),%eax
642127:	2b c1                	sub    %ecx,%eax
642129:	c1 f8 02             	sar    $0x2,%eax
64212c:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
642131:	77 67                	ja     0x64219a
642133:	c1 e0 02             	shl    $0x2,%eax
642136:	3d 00 10 00 00       	cmp    $0x1000,%eax
64213b:	72 1a                	jb     0x642157
64213d:	f6 c1 1f             	test   $0x1f,%cl
642140:	75 5d                	jne    0x64219f
642142:	8b 41 fc             	mov    -0x4(%ecx),%eax
642145:	3b c1                	cmp    %ecx,%eax
642147:	73 5b                	jae    0x6421a4
642149:	2b c8                	sub    %eax,%ecx
64214b:	83 f9 04             	cmp    $0x4,%ecx
64214e:	72 59                	jb     0x6421a9
642150:	83 f9 23             	cmp    $0x23,%ecx
642153:	77 59                	ja     0x6421ae
642155:	8b c8                	mov    %eax,%ecx
642157:	51                   	push   %ecx
642158:	e8 73 e3 ea ff       	call   0x4f04d0
64215d:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
642164:	83 c4 04             	add    $0x4,%esp
642167:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%ebx)
64216e:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
642175:	53                   	push   %ebx
642176:	e8 55 e3 ea ff       	call   0x4f04d0
64217b:	8b 46 04             	mov    0x4(%esi),%eax
64217e:	83 c4 04             	add    $0x4,%esp
642181:	85 c0                	test   %eax,%eax
642183:	74 04                	je     0x642189
642185:	48                   	dec    %eax
642186:	89 46 04             	mov    %eax,0x4(%esi)
642189:	8b 45 08             	mov    0x8(%ebp),%eax
64218c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
64218f:	5f                   	pop    %edi
642190:	5e                   	pop    %esi
642191:	89 08                	mov    %ecx,(%eax)
642193:	5b                   	pop    %ebx
642194:	8b e5                	mov    %ebp,%esp
642196:	5d                   	pop    %ebp
642197:	c2 08 00             	ret    $0x8
64219a:	e8 90 ad fa ff       	call   0x5ecf2f
64219f:	e8 8b ad fa ff       	call   0x5ecf2f
6421a4:	e8 86 ad fa ff       	call   0x5ecf2f
6421a9:	e8 81 ad fa ff       	call   0x5ecf2f
6421ae:	e8 7c ad fa ff       	call   0x5ecf2f
6421b3:	cc                   	int3
6421b4:	cc                   	int3
6421b5:	cc                   	int3
6421b6:	cc                   	int3
6421b7:	cc                   	int3
6421b8:	cc                   	int3
6421b9:	cc                   	int3
6421ba:	cc                   	int3
6421bb:	cc                   	int3
6421bc:	cc                   	int3
6421bd:	cc                   	int3
6421be:	cc                   	int3
6421bf:	cc                   	int3
6421c0:	55                   	push   %ebp
6421c1:	8b ec                	mov    %esp,%ebp
6421c3:	6a ff                	push   $0xffffffff
6421c5:	68 a6 48 66 00       	push   $0x6648a6
6421ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
6421d0:	50                   	push   %eax
6421d1:	51                   	push   %ecx
6421d2:	57                   	push   %edi
6421d3:	a1 d4 89 72 00       	mov    0x7289d4,%eax
6421d8:	33 c5                	xor    %ebp,%eax
6421da:	50                   	push   %eax
6421db:	8d 45 f4             	lea    -0xc(%ebp),%eax
6421de:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
6421e4:	8b f9                	mov    %ecx,%edi
6421e6:	8b 17                	mov    (%edi),%edx
6421e8:	8b 45 0c             	mov    0xc(%ebp),%eax