653a84:	8d 4c 24 20          	lea    0x20(%esp),%ecx
653a88:	8d 54 24 10          	lea    0x10(%esp),%edx
653a8c:	8b c4                	mov    %esp,%eax
653a8e:	e8 51 c4 ff ff       	call   0x64fee4
653a93:	be 04 00 00 00       	mov    $0x4,%esi
653a98:	8d 5c 24 20          	lea    0x20(%esp),%ebx
653a9c:	6a 00                	push   $0x0
653a9e:	53                   	push   %ebx
653a9f:	8b c7                	mov    %edi,%eax
653aa1:	e8 ae b4 df ff       	call   0x44ef54
653aa6:	50                   	push   %eax
653aa7:	e8 fc 40 db ff       	call   0x407ba8
653aac:	83 c3 10             	add    $0x10,%ebx
653aaf:	4e                   	dec    %esi
653ab0:	75 ea                	jne    0x653a9c
653ab2:	83 c4 70             	add    $0x70,%esp
653ab5:	5f                   	pop    %edi
653ab6:	5e                   	pop    %esi
653ab7:	5b                   	pop    %ebx
653ab8:	c3                   	ret
653ab9:	8d 40 00             	lea    0x0(%eax),%eax
653abc:	55                   	push   %ebp
653abd:	8b ec                	mov    %esp,%ebp
653abf:	83 c4 d8             	add    $0xffffffd8,%esp
653ac2:	53                   	push   %ebx
653ac3:	56                   	push   %esi
653ac4:	57                   	push   %edi
653ac5:	8b f1                	mov    %ecx,%esi
653ac7:	89 55 fc             	mov    %edx,-0x4(%ebp)
653aca:	8b d8                	mov    %eax,%ebx
653acc:	8b 7d 08             	mov    0x8(%ebp),%edi
653acf:	c7 45 f8 02 00 00 00 	movl   $0x2,-0x8(%ebp)
653ad6:	80 bb 8c 02 00 00 00 	cmpb   $0x0,0x28c(%ebx)
653add:	75 04                	jne    0x653ae3
653adf:	83 4d f8 04          	orl    $0x4,-0x8(%ebp)
653ae3:	85 f6                	test   %esi,%esi
653ae5:	75 76                	jne    0x653b5d
653ae7:	8b c3                	mov    %ebx,%eax
653ae9:	66 be c8 ff          	mov    $0xffc8,%si
653aed:	e8 82 01 db ff       	call   0x403c74
653af2:	84 c0                	test   %al,%al
653af4:	75 17                	jne    0x653b0d
653af6:	8b 47 3c             	mov    0x3c(%edi),%eax
653af9:	50                   	push   %eax
653afa:	8d 45 e8             	lea    -0x18(%ebp),%eax
653afd:	50                   	push   %eax
653afe:	8b 4f 0c             	mov    0xc(%edi),%ecx
653b01:	8b 47 04             	mov    0x4(%edi),%eax
653b04:	33 d2                	xor    %edx,%edx
653b06:	e8 69 6b dc ff       	call   0x41a674
653b0b:	eb 28                	jmp    0x653b35
653b0d:	8b 47 3c             	mov    0x3c(%edi),%eax
653b10:	50                   	push   %eax
653b11:	8d 45 e8             	lea    -0x18(%ebp),%eax
653b14:	50                   	push   %eax
653b15:	8b c3                	mov    %ebx,%eax
653b17:	e8 b4 46 df ff       	call   0x4481d0
653b1c:	2b 47 04             	sub    0x4(%edi),%eax
653b1f:	50                   	push   %eax
653b20:	8b c3                	mov    %ebx,%eax
653b22:	e8 a9 46 df ff       	call   0x4481d0
653b27:	2b 47 0c             	sub    0xc(%edi),%eax
653b2a:	33 d2                	xor    %edx,%edx
653b2c:	59                   	pop    %ecx
653b2d:	e8 42 6b dc ff       	call   0x41a674
653b32:	f7 5d fc             	negl   -0x4(%ebp)
653b35:	8b 45 f8             	mov    -0x8(%ebp),%eax
653b38:	50                   	push   %eax
653b39:	6a 00                	push   $0x0
653b3b:	6a 00                	push   $0x0
653b3d:	8d 45 e8             	lea    -0x18(%ebp),%eax
653b40:	50                   	push   %eax
653b41:	8d 45 e8             	lea    -0x18(%ebp),%eax
653b44:	50                   	push   %eax
653b45:	6a 00                	push   $0x0
653b47:	8b 45 fc             	mov    -0x4(%ebp),%eax
653b4a:	50                   	push   %eax
653b4b:	8b c3                	mov    %ebx,%eax
653b4d:	e8 02 b4 df ff       	call   0x44ef54
653b52:	50                   	push   %eax
653b53:	e8 a8 41 db ff       	call   0x407d00
653b58:	e9 e5 00 00 00       	jmp    0x653c42
653b5d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
653b61:	75 3a                	jne    0x653b9d
653b63:	8b 47 3c             	mov    0x3c(%edi),%eax
653b66:	50                   	push   %eax
653b67:	8d 45 e8             	lea    -0x18(%ebp),%eax
653b6a:	50                   	push   %eax
653b6b:	8b 4f 0c             	mov    0xc(%edi),%ecx
653b6e:	8b 57 34             	mov    0x34(%edi),%edx
653b71:	33 c0                	xor    %eax,%eax
653b73:	e8 fc 6a dc ff       	call   0x41a674
653b78:	8b 45 f8             	mov    -0x8(%ebp),%eax
653b7b:	50                   	push   %eax
653b7c:	6a 00                	push   $0x0
653b7e:	6a 00                	push   $0x0
653b80:	8d 45 e8             	lea    -0x18(%ebp),%eax
653b83:	50                   	push   %eax
653b84:	8d 45 e8             	lea    -0x18(%ebp),%eax
653b87:	50                   	push   %eax
653b88:	56                   	push   %esi
653b89:	6a 00                	push   $0x0
653b8b:	8b c3                	mov    %ebx,%eax
653b8d:	e8 c2 b3 df ff       	call   0x44ef54
653b92:	50                   	push   %eax
653b93:	e8 68 41 db ff       	call   0x407d00
653b98:	e9 a5 00 00 00       	jmp    0x653c42
653b9d:	8b 47 34             	mov    0x34(%edi),%eax
653ba0:	50                   	push   %eax
653ba1:	8d 45 e8             	lea    -0x18(%ebp),%eax
653ba4:	50                   	push   %eax
653ba5:	8b 4f 0c             	mov    0xc(%edi),%ecx
653ba8:	8b 47 04             	mov    0x4(%edi),%eax
653bab:	33 d2                	xor    %edx,%edx
653bad:	e8 c2 6a dc ff       	call   0x41a674
653bb2:	8b 45 f8             	mov    -0x8(%ebp),%eax
653bb5:	50                   	push   %eax
653bb6:	6a 00                	push   $0x0
653bb8:	6a 00                	push   $0x0
653bba:	8d 45 e8             	lea    -0x18(%ebp),%eax
653bbd:	50                   	push   %eax
653bbe:	8d 45 e8             	lea    -0x18(%ebp),%eax
653bc1:	50                   	push   %eax
653bc2:	6a 00                	push   $0x0
653bc4:	8b 45 fc             	mov    -0x4(%ebp),%eax
653bc7:	50                   	push   %eax
653bc8:	8b c3                	mov    %ebx,%eax
653bca:	e8 85 b3 df ff       	call   0x44ef54
653bcf:	50                   	push   %eax
653bd0:	e8 2b 41 db ff       	call   0x407d00
653bd5:	8b 47 3c             	mov    0x3c(%edi),%eax
653bd8:	50                   	push   %eax
653bd9:	8d 45 e8             	lea    -0x18(%ebp),%eax
653bdc:	50                   	push   %eax
653bdd:	8b 4f 04             	mov    0x4(%edi),%ecx
653be0:	8b 57 34             	mov    0x34(%edi),%edx
653be3:	33 c0                	xor    %eax,%eax
653be5:	e8 8a 6a dc ff       	call   0x41a674
653bea:	8b 45 f8             	mov    -0x8(%ebp),%eax
653bed:	50                   	push   %eax
653bee:	6a 00                	push   $0x0
653bf0:	6a 00                	push   $0x0
653bf2:	8d 45 e8             	lea    -0x18(%ebp),%eax
653bf5:	50                   	push   %eax
653bf6:	8d 45 e8             	lea    -0x18(%ebp),%eax
653bf9:	50                   	push   %eax
653bfa:	56                   	push   %esi
653bfb:	6a 00                	push   $0x0
653bfd:	8b c3                	mov    %ebx,%eax
653bff:	e8 50 b3 df ff       	call   0x44ef54
653c04:	50                   	push   %eax
653c05:	e8 f6 40 db ff       	call   0x407d00
653c0a:	8b 47 3c             	mov    0x3c(%edi),%eax
653c0d:	50                   	push   %eax
653c0e:	8d 45 e8             	lea    -0x18(%ebp),%eax
653c11:	50                   	push   %eax
653c12:	8b 4f 0c             	mov    0xc(%edi),%ecx
653c15:	8b 57 34             	mov    0x34(%edi),%edx
653c18:	8b 47 04             	mov    0x4(%edi),%eax
653c1b:	e8 54 6a dc ff       	call   0x41a674
653c20:	8b 45 f8             	mov    -0x8(%ebp),%eax
653c23:	50                   	push   %eax
653c24:	6a 00                	push   $0x0
653c26:	6a 00                	push   $0x0
653c28:	8d 45 e8             	lea    -0x18(%ebp),%eax
653c2b:	50                   	push   %eax
653c2c:	8d 45 e8             	lea    -0x18(%ebp),%eax
653c2f:	50                   	push   %eax
653c30:	56                   	push   %esi
653c31:	8b 45 fc             	mov    -0x4(%ebp),%eax
653c34:	50                   	push   %eax
653c35:	8b c3                	mov    %ebx,%eax
653c37:	e8 18 b3 df ff       	call   0x44ef54
653c3c:	50                   	push   %eax
653c3d:	e8 be 40 db ff       	call   0x407d00
653c42:	f6 83 49 02 00 00 10 	testb  $0x10,0x249(%ebx)
653c49:	74 14                	je     0x653c5f
653c4b:	8d 55 d8             	lea    -0x28(%ebp),%edx
653c4e:	8b c3                	mov    %ebx,%eax
653c50:	e8 73 16 00 00       	call   0x6552c8
653c55:	8d 55 d8             	lea    -0x28(%ebp),%edx
653c58:	8b c3                	mov    %ebx,%eax
653c5a:	e8 59 f5 ff ff       	call   0x6531b8
653c5f:	5f                   	pop    %edi
653c60:	5e                   	pop    %esi
653c61:	5b                   	pop    %ebx
653c62:	8b e5                	mov    %ebp,%esp
653c64:	5d                   	pop    %ebp
653c65:	c2 04 00             	ret    $0x4
653c68:	53                   	push   %ebx
653c69:	56                   	push   %esi
653c6a:	57                   	push   %edi
653c6b:	83 c4 a0             	add    $0xffffffa0,%esp
653c6e:	8b f9                	mov    %ecx,%edi
653c70:	8b f2                	mov    %edx,%esi
653c72:	8b d8                	mov    %eax,%ebx
653c74:	8b d4                	mov    %esp,%edx
653c76:	8b c3                	mov    %ebx,%eax
653c78:	e8 97 e5 ff ff       	call   0x652214
653c7d:	54                   	push   %esp
653c7e:	8b cf                	mov    %edi,%ecx
653c80:	8b d6                	mov    %esi,%edx
653c82:	8b c3                	mov    %ebx,%eax
653c84:	e8 33 fe ff ff       	call   0x653abc
653c89:	83 c4 60             	add    $0x60,%esp
653c8c:	5f                   	pop    %edi
653c8d:	5e                   	pop    %esi
653c8e:	5b                   	pop    %ebx
653c8f:	c3                   	ret
653c90:	55                   	push   %ebp
653c91:	8b ec                	mov    %esp,%ebp
653c93:	83 c4 ec             	add    $0xffffffec,%esp
653c96:	53                   	push   %ebx
653c97:	56                   	push   %esi
653c98:	89 4d f8             	mov    %ecx,-0x8(%ebp)
653c9b:	89 55 fc             	mov    %edx,-0x4(%ebp)
653c9e:	8b d8                	mov    %eax,%ebx
653ca0:	8b 75 08             	mov    0x8(%ebp),%esi
653ca3:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
653ca7:	8b 45 fc             	mov    -0x4(%ebp),%eax
653caa:	3b 45 f8             	cmp    -0x8(%ebp),%eax
653cad:	7d 08                	jge    0x653cb7
653caf:	8b 45 fc             	mov    -0x4(%ebp),%eax
653cb2:	8b 55 f8             	mov    -0x8(%ebp),%edx
653cb5:	eb 06                	jmp    0x653cbd
653cb7:	8b 45 f8             	mov    -0x8(%ebp),%eax
653cba:	8b 55 fc             	mov    -0x4(%ebp),%edx
653cbd:	33 c9                	xor    %ecx,%ecx
653cbf:	89 0e                	mov    %ecx,(%esi)
653cc1:	4a                   	dec    %edx
653cc2:	2b d0                	sub    %eax,%edx
653cc4:	7c 33                	jl     0x653cf9
653cc6:	42                   	inc    %edx
653cc7:	89 55 ec             	mov    %edx,-0x14(%ebp)
653cca:	89 45 f0             	mov    %eax,-0x10(%ebp)
653ccd:	8b 55 f0             	mov    -0x10(%ebp),%edx
653cd0:	8b 43 2c             	mov    0x2c(%ebx),%eax
653cd3:	ff 53 28             	call   *0x28(%ebx)
653cd6:	03 03                	add    (%ebx),%eax
653cd8:	01 06                	add    %eax,(%esi)
653cda:	8b 43 08             	mov    0x8(%ebx),%eax
653cdd:	2b 43 04             	sub    0x4(%ebx),%eax
653ce0:	3b 06                	cmp    (%esi),%eax
653ce2:	7d 0d                	jge    0x653cf1
653ce4:	8b 45 0c             	mov    0xc(%ebp),%eax
653ce7:	8b 40 fc             	mov    -0x4(%eax),%eax
653cea:	e8 c1 f4 ff ff       	call   0x6531b0
653cef:	eb 16                	jmp    0x653d07
653cf1:	ff 45 f0             	incl   -0x10(%ebp)
653cf4:	ff 4d ec             	decl   -0x14(%ebp)
653cf7:	75 d4                	jne    0x653ccd
653cf9:	8b 45 fc             	mov    -0x4(%ebp),%eax
653cfc:	3b 45 f8             	cmp    -0x8(%ebp),%eax
653cff:	7d 02                	jge    0x653d03
653d01:	f7 1e                	negl   (%esi)
653d03:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
653d07:	8a 45 f7             	mov    -0x9(%ebp),%al
653d0a:	5e                   	pop    %esi
653d0b:	5b                   	pop    %ebx
653d0c:	8b e5                	mov    %ebp,%esp
653d0e:	5d                   	pop    %ebp
653d0f:	c2 04 00             	ret    $0x4
653d12:	8b c0                	mov    %eax,%eax
653d14:	55                   	push   %ebp
653d15:	8b ec                	mov    %esp,%ebp
653d17:	83 c4 90             	add    $0xffffff90,%esp
653d1a:	53                   	push   %ebx
653d1b:	56                   	push   %esi
653d1c:	8b da                	mov    %edx,%ebx
653d1e:	89 45 fc             	mov    %eax,-0x4(%ebp)
653d21:	8b 45 fc             	mov    -0x4(%ebp),%eax
653d24:	e8 eb 00 00 00       	call   0x653e14
653d29:	8d 55 90             	lea    -0x70(%ebp),%edx
653d2c:	8b 45 fc             	mov    -0x4(%ebp),%eax
653d2f:	e8 e0 e4 ff ff       	call   0x652214
653d34:	55                   	push   %ebp
653d35:	8d 45 f4             	lea    -0xc(%ebp),%eax
653d38:	50                   	push   %eax
653d39:	8b 45 fc             	mov    -0x4(%ebp),%eax
653d3c:	8b 88 58 02 00 00    	mov    0x258(%eax),%ecx
653d42:	8b 13                	mov    (%ebx),%edx
653d44:	8d 45 90             	lea    -0x70(%ebp),%eax
653d47:	e8 44 ff ff ff       	call   0x653c90
653d4c:	59                   	pop    %ecx
653d4d:	84 c0                	test   %al,%al
653d4f:	74 30                	je     0x653d81
653d51:	55                   	push   %ebp
653d52:	8d 45 f8             	lea    -0x8(%ebp),%eax
653d55:	50                   	push   %eax
653d56:	8b 45 fc             	mov    -0x4(%ebp),%eax
653d59:	8b 88 5c 02 00 00    	mov    0x25c(%eax),%ecx
653d5f:	8b 53 04             	mov    0x4(%ebx),%edx
653d62:	8d 45 c0             	lea    -0x40(%ebp),%eax
653d65:	e8 26 ff ff ff       	call   0x653c90
653d6a:	59                   	pop    %ecx
653d6b:	84 c0                	test   %al,%al
653d6d:	74 12                	je     0x653d81
653d6f:	8d 45 90             	lea    -0x70(%ebp),%eax
653d72:	50                   	push   %eax
653d73:	8b 4d f8             	mov    -0x8(%ebp),%ecx
653d76:	8b 55 f4             	mov    -0xc(%ebp),%edx
653d79:	8b 45 fc             	mov    -0x4(%ebp),%eax
653d7c:	e8 3b fd ff ff       	call   0x653abc
653d81:	8b 45 fc             	mov    -0x4(%ebp),%eax
653d84:	66 be a7 ff          	mov    $0xffa7,%si
653d88:	e8 e7 fe da ff       	call   0x403c74
653d8d:	5e                   	pop    %esi
653d8e:	5b                   	pop    %ebx
653d8f:	8b e5                	mov    %ebp,%esp
653d91:	5d                   	pop    %ebp
653d92:	c3                   	ret
653d93:	90                   	nop
653d94:	55                   	push   %ebp
653d95:	8b ec                	mov    %esp,%ebp
653d97:	53                   	push   %ebx
653d98:	56                   	push   %esi
653d99:	57                   	push   %edi
653d9a:	8b da                	mov    %edx,%ebx
653d9c:	8b f8                	mov    %eax,%edi
653d9e:	8b 45 08             	mov    0x8(%ebp),%eax
653da1:	8b 40 fc             	mov    -0x4(%eax),%eax
653da4:	66 be c8 ff          	mov    $0xffc8,%si
653da8:	e8 c7 fe da ff       	call   0x403c74
653dad:	84 c0                	test   %al,%al
653daf:	74 2f                	je     0x653de0
653db1:	66 85 ff             	test   %di,%di
653db4:	75 2a                	jne    0x653de0
653db6:	8b 45 08             	mov    0x8(%ebp),%eax
653db9:	8b 40 fc             	mov    -0x4(%eax),%eax
653dbc:	83 b8 1c 02 00 00 01 	cmpl   $0x1,0x21c(%eax)
653dc3:	74 0b                	je     0x653dd0
653dc5:	b8 7f 00 00 00       	mov    $0x7f,%eax
653dca:	2b c3                	sub    %ebx,%eax
653dcc:	8b d8                	mov    %eax,%ebx
653dce:	eb 10                	jmp    0x653de0
653dd0:	8b 45 08             	mov    0x8(%ebp),%eax
653dd3:	8b 40 f8             	mov    -0x8(%eax),%eax
653dd6:	8b 55 08             	mov    0x8(%ebp),%edx
653dd9:	2b 42 f4             	sub    -0xc(%edx),%eax
653ddc:	2b c3                	sub    %ebx,%eax
653dde:	8b d8                	mov    %eax,%ebx
653de0:	0f b7 f7             	movzwl %di,%esi
653de3:	56                   	push   %esi
653de4:	8b 45 08             	mov    0x8(%ebp),%eax
653de7:	8b 40 fc             	mov    -0x4(%eax),%eax
653dea:	e8 65 b1 df ff       	call   0x44ef54
653def:	50                   	push   %eax
653df0:	e8 fb 3c db ff       	call   0x407af0
653df5:	3b d8                	cmp    %eax,%ebx
653df7:	74 15                	je     0x653e0e