653df9:	6a ff                	push   $0xffffffff
653dfb:	53                   	push   %ebx
653dfc:	56                   	push   %esi
653dfd:	8b 45 08             	mov    0x8(%ebp),%eax
653e00:	8b 40 fc             	mov    -0x4(%eax),%eax
653e03:	e8 4c b1 df ff       	call   0x44ef54
653e08:	50                   	push   %eax
653e09:	e8 a2 3f db ff       	call   0x407db0
653e0e:	5f                   	pop    %edi
653e0f:	5e                   	pop    %esi
653e10:	5b                   	pop    %ebx
653e11:	5d                   	pop    %ebp
653e12:	c3                   	ret
653e13:	90                   	nop
653e14:	55                   	push   %ebp
653e15:	8b ec                	mov    %esp,%ebp
653e17:	83 c4 80             	add    $0xffffff80,%esp
653e1a:	53                   	push   %ebx
653e1b:	56                   	push   %esi
653e1c:	89 45 fc             	mov    %eax,-0x4(%ebp)
653e1f:	8d 75 fc             	lea    -0x4(%ebp),%esi
653e22:	8b 06                	mov    (%esi),%eax
653e24:	e8 2f b4 df ff       	call   0x44f258
653e29:	84 c0                	test   %al,%al
653e2b:	0f 84 29 01 00 00    	je     0x653f5a
653e31:	8b 06                	mov    (%esi),%eax
653e33:	80 b8 54 02 00 00 00 	cmpb   $0x0,0x254(%eax)
653e3a:	0f 84 1a 01 00 00    	je     0x653f5a
653e40:	8d 55 88             	lea    -0x78(%ebp),%edx
653e43:	8b 06                	mov    (%esi),%eax
653e45:	e8 ca e3 ff ff       	call   0x652214
653e4a:	8b 06                	mov    (%esi),%eax
653e4c:	8b 80 1c 02 00 00    	mov    0x21c(%eax),%eax
653e52:	48                   	dec    %eax
653e53:	89 45 ec             	mov    %eax,-0x14(%ebp)
653e56:	8b 06                	mov    (%esi),%eax
653e58:	8b 80 4c 02 00 00    	mov    0x24c(%eax),%eax
653e5e:	48                   	dec    %eax
653e5f:	89 45 f0             	mov    %eax,-0x10(%ebp)
653e62:	8d 45 80             	lea    -0x80(%ebp),%eax
653e65:	50                   	push   %eax
653e66:	8d 4d 88             	lea    -0x78(%ebp),%ecx
653e69:	8d 55 ec             	lea    -0x14(%ebp),%edx
653e6c:	8b 06                	mov    (%esi),%eax
653e6e:	e8 d9 e5 ff ff       	call   0x65244c
653e73:	8b 45 80             	mov    -0x80(%ebp),%eax
653e76:	89 45 ec             	mov    %eax,-0x14(%ebp)
653e79:	8b 45 84             	mov    -0x7c(%ebp),%eax
653e7c:	89 45 f0             	mov    %eax,-0x10(%ebp)
653e7f:	8b 06                	mov    (%esi),%eax
653e81:	8a 80 54 02 00 00    	mov    0x254(%eax),%al
653e87:	2c 01                	sub    $0x1,%al
653e89:	74 08                	je     0x653e93
653e8b:	2c 02                	sub    $0x2,%al
653e8d:	0f 85 8c 00 00 00    	jne    0x653f1f
653e93:	8b 06                	mov    (%esi),%eax
653e95:	83 b8 1c 02 00 00 01 	cmpl   $0x1,0x21c(%eax)
653e9c:	75 56                	jne    0x653ef4
653e9e:	8b 55 a4             	mov    -0x5c(%ebp),%edx
653ea1:	8b 06                	mov    (%esi),%eax
653ea3:	e8 e0 13 00 00       	call   0x655288
653ea8:	89 45 f8             	mov    %eax,-0x8(%ebp)
653eab:	8b 06                	mov    (%esi),%eax
653ead:	e8 1e 43 df ff       	call   0x4481d0
653eb2:	2b 45 8c             	sub    -0x74(%ebp),%eax
653eb5:	89 45 f4             	mov    %eax,-0xc(%ebp)
653eb8:	8b 06                	mov    (%esi),%eax
653eba:	8b 80 88 02 00 00    	mov    0x288(%eax),%eax
653ec0:	85 c0                	test   %eax,%eax
653ec2:	7e 23                	jle    0x653ee7
653ec4:	8b 55 f8             	mov    -0x8(%ebp),%edx
653ec7:	2b d0                	sub    %eax,%edx
653ec9:	3b 55 f4             	cmp    -0xc(%ebp),%edx
653ecc:	7d 19                	jge    0x653ee7
653ece:	8b 45 f8             	mov    -0x8(%ebp),%eax
653ed1:	2b 45 f4             	sub    -0xc(%ebp),%eax
653ed4:	50                   	push   %eax
653ed5:	6a 01                	push   $0x1
653ed7:	b9 04 00 00 00       	mov    $0x4,%ecx
653edc:	33 d2                	xor    %edx,%edx
653ede:	8b 06                	mov    (%esi),%eax
653ee0:	e8 f7 f6 ff ff       	call   0x6535dc
653ee5:	eb 38                	jmp    0x653f1f
653ee7:	55                   	push   %ebp
653ee8:	8b d0                	mov    %eax,%edx
653eea:	33 c0                	xor    %eax,%eax
653eec:	e8 a3 fe ff ff       	call   0x653d94
653ef1:	59                   	pop    %ecx
653ef2:	eb 2b                	jmp    0x653f1f
653ef4:	55                   	push   %ebp
653ef5:	8b 06                	mov    (%esi),%eax
653ef7:	8b 98 38 02 00 00    	mov    0x238(%eax),%ebx
653efd:	8b 45 ec             	mov    -0x14(%ebp),%eax
653f00:	2b c3                	sub    %ebx,%eax
653f02:	50                   	push   %eax
653f03:	6a 7f                	push   $0x7f
653f05:	8b 06                	mov    (%esi),%eax
653f07:	8b 80 58 02 00 00    	mov    0x258(%eax),%eax
653f0d:	2b c3                	sub    %ebx,%eax
653f0f:	50                   	push   %eax
653f10:	e8 f7 c2 ff ff       	call   0x65020c
653f15:	8b d0                	mov    %eax,%edx
653f17:	33 c0                	xor    %eax,%eax
653f19:	e8 76 fe ff ff       	call   0x653d94
653f1e:	59                   	pop    %ecx
653f1f:	8b 06                	mov    (%esi),%eax
653f21:	8a 80 54 02 00 00    	mov    0x254(%eax),%al
653f27:	04 fe                	add    $0xfe,%al
653f29:	2c 02                	sub    $0x2,%al
653f2b:	73 2d                	jae    0x653f5a
653f2d:	55                   	push   %ebp
653f2e:	8b 06                	mov    (%esi),%eax
653f30:	8b 98 3c 02 00 00    	mov    0x23c(%eax),%ebx
653f36:	8b 45 f0             	mov    -0x10(%ebp),%eax
653f39:	2b c3                	sub    %ebx,%eax
653f3b:	50                   	push   %eax
653f3c:	6a 7f                	push   $0x7f
653f3e:	8b 06                	mov    (%esi),%eax
653f40:	8b 80 5c 02 00 00    	mov    0x25c(%eax),%eax
653f46:	2b c3                	sub    %ebx,%eax
653f48:	50                   	push   %eax
653f49:	e8 be c2 ff ff       	call   0x65020c
653f4e:	8b d0                	mov    %eax,%edx
653f50:	66 b8 01 00          	mov    $0x1,%ax
653f54:	e8 3b fe ff ff       	call   0x653d94
653f59:	59                   	pop    %ecx
653f5a:	5e                   	pop    %esi
653f5b:	5b                   	pop    %ebx
653f5c:	8b e5                	mov    %ebp,%esp
653f5e:	5d                   	pop    %ebp
653f5f:	c3                   	ret
653f60:	55                   	push   %ebp
653f61:	8b ec                	mov    %esp,%ebp
653f63:	8b 45 08             	mov    0x8(%ebp),%eax
653f66:	80 78 ff 00          	cmpb   $0x0,-0x1(%eax)
653f6a:	75 15                	jne    0x653f81
653f6c:	8b 45 08             	mov    0x8(%ebp),%eax
653f6f:	8b 40 f8             	mov    -0x8(%eax),%eax
653f72:	8b 10                	mov    (%eax),%edx
653f74:	ff 92 88 00 00 00    	call   *0x88(%edx)
653f7a:	8b 45 08             	mov    0x8(%ebp),%eax
653f7d:	c6 40 ff 01          	movb   $0x1,-0x1(%eax)
653f81:	5d                   	pop    %ebp
653f82:	c3                   	ret
653f83:	90                   	nop
653f84:	55                   	push   %ebp
653f85:	8b ec                	mov    %esp,%ebp
653f87:	83 c4 f8             	add    $0xfffffff8,%esp
653f8a:	53                   	push   %ebx
653f8b:	8b d8                	mov    %eax,%ebx
653f8d:	33 c0                	xor    %eax,%eax
653f8f:	8b 55 08             	mov    0x8(%ebp),%edx
653f92:	8b 52 f8             	mov    -0x8(%edx),%edx
653f95:	80 ba 54 02 00 00 03 	cmpb   $0x3,0x254(%edx)
653f9c:	74 29                	je     0x653fc7
653f9e:	66 85 db             	test   %bx,%bx
653fa1:	75 0f                	jne    0x653fb2
653fa3:	8b 55 08             	mov    0x8(%ebp),%edx
653fa6:	8b 52 f8             	mov    -0x8(%edx),%edx
653fa9:	80 ba 54 02 00 00 01 	cmpb   $0x1,0x254(%edx)
653fb0:	74 15                	je     0x653fc7
653fb2:	66 83 fb 01          	cmp    $0x1,%bx
653fb6:	75 35                	jne    0x653fed
653fb8:	8b 55 08             	mov    0x8(%ebp),%edx
653fbb:	8b 52 f8             	mov    -0x8(%edx),%edx
653fbe:	80 ba 54 02 00 00 02 	cmpb   $0x2,0x254(%edx)
653fc5:	75 26                	jne    0x653fed
653fc7:	8d 45 f8             	lea    -0x8(%ebp),%eax
653fca:	50                   	push   %eax
653fcb:	8d 45 fc             	lea    -0x4(%ebp),%eax
653fce:	50                   	push   %eax
653fcf:	0f b7 c3             	movzwl %bx,%eax
653fd2:	50                   	push   %eax
653fd3:	8b 45 08             	mov    0x8(%ebp),%eax
653fd6:	8b 40 f8             	mov    -0x8(%eax),%eax
653fd9:	e8 76 af df ff       	call   0x44ef54
653fde:	50                   	push   %eax
653fdf:	e8 14 3b db ff       	call   0x407af8
653fe4:	8b 45 fc             	mov    -0x4(%ebp),%eax
653fe7:	3b 45 f8             	cmp    -0x8(%ebp),%eax
653fea:	0f 95 c0             	setne  %al
653fed:	5b                   	pop    %ebx
653fee:	59                   	pop    %ecx
653fef:	59                   	pop    %ecx
653ff0:	5d                   	pop    %ebp
653ff1:	c3                   	ret
653ff2:	8b c0                	mov    %eax,%eax
653ff4:	55                   	push   %ebp
653ff5:	8b ec                	mov    %esp,%ebp
653ff7:	83 c4 f8             	add    $0xfffffff8,%esp
653ffa:	8b 45 08             	mov    0x8(%ebp),%eax
653ffd:	8b 40 d4             	mov    -0x2c(%eax),%eax
654000:	50                   	push   %eax
654001:	8b 45 08             	mov    0x8(%ebp),%eax
654004:	8b 48 a4             	mov    -0x5c(%eax),%ecx
654007:	8b 45 08             	mov    0x8(%ebp),%eax
65400a:	8d 50 98             	lea    -0x68(%eax),%edx
65400d:	8b 45 08             	mov    0x8(%ebp),%eax
654010:	8b 40 f8             	mov    -0x8(%eax),%eax
654013:	e8 80 e2 ff ff       	call   0x652298
654018:	8b 45 08             	mov    0x8(%ebp),%eax
65401b:	8b 40 f8             	mov    -0x8(%eax),%eax
65401e:	8b 80 1c 02 00 00    	mov    0x21c(%eax),%eax
654024:	48                   	dec    %eax
654025:	8b 55 08             	mov    0x8(%ebp),%edx
654028:	89 42 90             	mov    %eax,-0x70(%edx)
65402b:	8b 45 08             	mov    0x8(%ebp),%eax
65402e:	8b 40 f8             	mov    -0x8(%eax),%eax
654031:	8b 80 4c 02 00 00    	mov    0x24c(%eax),%eax
654037:	48                   	dec    %eax
654038:	8b 55 08             	mov    0x8(%ebp),%edx
65403b:	89 42 94             	mov    %eax,-0x6c(%edx)
65403e:	8d 45 f8             	lea    -0x8(%ebp),%eax
654041:	50                   	push   %eax
654042:	8b 45 08             	mov    0x8(%ebp),%eax
654045:	8d 48 98             	lea    -0x68(%eax),%ecx
654048:	8b 45 08             	mov    0x8(%ebp),%eax
65404b:	8d 50 90             	lea    -0x70(%eax),%edx
65404e:	8b 45 08             	mov    0x8(%ebp),%eax
654051:	8b 40 f8             	mov    -0x8(%eax),%eax
654054:	e8 f3 e3 ff ff       	call   0x65244c
654059:	8b 45 08             	mov    0x8(%ebp),%eax
65405c:	8b 55 f8             	mov    -0x8(%ebp),%edx
65405f:	89 50 90             	mov    %edx,-0x70(%eax)
654062:	8b 55 fc             	mov    -0x4(%ebp),%edx
654065:	89 50 94             	mov    %edx,-0x6c(%eax)
654068:	59                   	pop    %ecx
654069:	59                   	pop    %ecx
65406a:	5d                   	pop    %ebp
65406b:	c3                   	ret
65406c:	55                   	push   %ebp
65406d:	8b ec                	mov    %esp,%ebp
65406f:	51                   	push   %ecx
654070:	53                   	push   %ebx
654071:	56                   	push   %esi
654072:	57                   	push   %edi
654073:	89 4d fc             	mov    %ecx,-0x4(%ebp)
654076:	8b fa                	mov    %edx,%edi
654078:	8b d8                	mov    %eax,%ebx
65407a:	8b 75 0c             	mov    0xc(%ebp),%esi
65407d:	8b 45 10             	mov    0x10(%ebp),%eax
654080:	50                   	push   %eax
654081:	e8 6e ff ff ff       	call   0x653ff4
654086:	59                   	pop    %ecx
654087:	8b 03                	mov    (%ebx),%eax
654089:	3b 45 08             	cmp    0x8(%ebp),%eax
65408c:	7e 1d                	jle    0x6540ab
65408e:	6a ff                	push   $0xffffffff
654090:	6a 7f                	push   $0x7f
654092:	6a 00                	push   $0x0
654094:	0f b7 c6             	movzwl %si,%eax
654097:	50                   	push   %eax
654098:	8b 45 10             	mov    0x10(%ebp),%eax
65409b:	8b 40 f8             	mov    -0x8(%eax),%eax
65409e:	e8 b1 ae df ff       	call   0x44ef54
6540a3:	50                   	push   %eax
6540a4:	e8 0f 3d db ff       	call   0x407db8
6540a9:	eb 1b                	jmp    0x6540c6
6540ab:	6a ff                	push   $0xffffffff
6540ad:	6a 00                	push   $0x0
6540af:	6a 00                	push   $0x0
6540b1:	0f b7 c6             	movzwl %si,%eax
6540b4:	50                   	push   %eax
6540b5:	8b 45 10             	mov    0x10(%ebp),%eax
6540b8:	8b 40 f8             	mov    -0x8(%eax),%eax
6540bb:	e8 94 ae df ff       	call   0x44ef54
6540c0:	50                   	push   %eax
6540c1:	e8 f2 3c db ff       	call   0x407db8
6540c6:	8b 07                	mov    (%edi),%eax
6540c8:	3b 03                	cmp    (%ebx),%eax
6540ca:	7e 11                	jle    0x6540dd
6540cc:	8b 45 10             	mov    0x10(%ebp),%eax
6540cf:	50                   	push   %eax
6540d0:	e8 8b fe ff ff       	call   0x653f60
6540d5:	59                   	pop    %ecx
6540d6:	8b 03                	mov    (%ebx),%eax
6540d8:	8b 55 fc             	mov    -0x4(%ebp),%edx
6540db:	89 02                	mov    %eax,(%edx)
6540dd:	5f                   	pop    %edi
6540de:	5e                   	pop    %esi
6540df:	5b                   	pop    %ebx
6540e0:	59                   	pop    %ecx
6540e1:	5d                   	pop    %ebp
6540e2:	c2 08 00             	ret    $0x8
6540e5:	8d 40 00             	lea    0x0(%eax),%eax
6540e8:	55                   	push   %ebp
6540e9:	8b ec                	mov    %esp,%ebp
6540eb:	53                   	push   %ebx
6540ec:	8b 45 08             	mov    0x8(%ebp),%eax
6540ef:	8a 40 87             	mov    -0x79(%eax),%al
6540f2:	2c 01                	sub    $0x1,%al
6540f4:	74 04                	je     0x6540fa
6540f6:	2c 02                	sub    $0x2,%al
6540f8:	75 7c                	jne    0x654176
6540fa:	8b 45 08             	mov    0x8(%ebp),%eax
6540fd:	8b 40 f8             	mov    -0x8(%eax),%eax
654100:	83 b8 1c 02 00 00 01 	cmpl   $0x1,0x21c(%eax)
654107:	75 3c                	jne    0x654145
654109:	8b 45 08             	mov    0x8(%ebp),%eax
65410c:	8b 40 f8             	mov    -0x8(%eax),%eax
65410f:	33 d2                	xor    %edx,%edx
654111:	e8 72 11 00 00       	call   0x655288
654116:	8b d8                	mov    %eax,%ebx
654118:	8b 45 08             	mov    0x8(%ebp),%eax
65411b:	8b 40 f8             	mov    -0x8(%eax),%eax
65411e:	e8 ad 40 df ff       	call   0x4481d0
654123:	2b d8                	sub    %eax,%ebx
654125:	85 db                	test   %ebx,%ebx
654127:	7d 02                	jge    0x65412b
654129:	33 db                	xor    %ebx,%ebx
65412b:	6a ff                	push   $0xffffffff
65412d:	53                   	push   %ebx
65412e:	6a 00                	push   $0x0
654130:	6a 00                	push   $0x0
654132:	8b 45 08             	mov    0x8(%ebp),%eax
654135:	8b 40 f8             	mov    -0x8(%eax),%eax
654138:	e8 17 ae df ff       	call   0x44ef54
65413d:	50                   	push   %eax
65413e:	e8 75 3c db ff       	call   0x407db8
654143:	eb 31                	jmp    0x654176
654145:	8b 45 08             	mov    0x8(%ebp),%eax
654148:	50                   	push   %eax
654149:	6a 00                	push   $0x0
65414b:	8b 45 08             	mov    0x8(%ebp),%eax
65414e:	8b 40 f8             	mov    -0x8(%eax),%eax
654151:	8b 80 38 02 00 00    	mov    0x238(%eax),%eax
654157:	50                   	push   %eax
654158:	8b 45 08             	mov    0x8(%ebp),%eax
65415b:	8b 40 f8             	mov    -0x8(%eax),%eax
65415e:	8d 88 58 02 00 00    	lea    0x258(%eax),%ecx
654164:	8b 45 08             	mov    0x8(%ebp),%eax
654167:	8d 50 88             	lea    -0x78(%eax),%edx
65416a:	8b 45 08             	mov    0x8(%ebp),%eax
65416d:	83 c0 90             	add    $0xffffff90,%eax
654170:	e8 f7 fe ff ff       	call   0x65406c
654175:	59                   	pop    %ecx
654176:	5b                   	pop    %ebx
654177:	5d                   	pop    %ebp
654178:	c3                   	ret
654179:	8d 40 00             	lea    0x0(%eax),%eax
65417c:	55                   	push   %ebp
65417d:	8b ec                	mov    %esp,%ebp
65417f:	8b 45 08             	mov    0x8(%ebp),%eax
654182:	8a 40 87             	mov    -0x79(%eax),%al
654185:	04 fe                	add    $0xfe,%al
654187:	2c 02                	sub    $0x2,%al
654189:	73 31                	jae    0x6541bc
65418b:	8b 45 08             	mov    0x8(%ebp),%eax
65418e:	50                   	push   %eax
65418f:	6a 01                	push   $0x1