640b17:	8d 8e d0 04 00 00    	lea    0x4d0(%esi),%ecx
640b1d:	50                   	push   %eax
640b1e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
640b25:	ff 30                	push   (%eax)
640b27:	8d 45 e8             	lea    -0x18(%ebp),%eax
640b2a:	50                   	push   %eax
640b2b:	e8 40 0e 00 00       	call   0x641970
640b30:	ff b6 d0 04 00 00    	push   0x4d0(%esi)
640b36:	e8 95 f9 ea ff       	call   0x4f04d0
640b3b:	83 c4 04             	add    $0x4,%esp
640b3e:	8b cf                	mov    %edi,%ecx
640b40:	e8 2b d4 df ff       	call   0x43df70
640b45:	8b cb                	mov    %ebx,%ecx
640b47:	e8 24 d4 df ff       	call   0x43df70
640b4c:	8b de                	mov    %esi,%ebx
640b4e:	8d 8b 54 04 00 00    	lea    0x454(%ebx),%ecx
640b54:	e8 c7 d5 ff ff       	call   0x63e120
640b59:	8d 8b 3c 03 00 00    	lea    0x33c(%ebx),%ecx
640b5f:	e8 ec dc ff ff       	call   0x63e850
640b64:	8b 83 34 03 00 00    	mov    0x334(%ebx),%eax
640b6a:	8d 8b 34 03 00 00    	lea    0x334(%ebx),%ecx
640b70:	50                   	push   %eax
640b71:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
640b78:	ff 30                	push   (%eax)
640b7a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
640b7d:	50                   	push   %eax
640b7e:	e8 3d 16 00 00       	call   0x6421c0
640b83:	ff b3 34 03 00 00    	push   0x334(%ebx)
640b89:	e8 42 f9 ea ff       	call   0x4f04d0
640b8e:	8b 83 24 03 00 00    	mov    0x324(%ebx),%eax
640b94:	8d b3 10 03 00 00    	lea    0x310(%ebx),%esi
640b9a:	83 c4 04             	add    $0x4,%esp
640b9d:	83 f8 08             	cmp    $0x8,%eax
640ba0:	72 0b                	jb     0x640bad
640ba2:	40                   	inc    %eax
640ba3:	8b ce                	mov    %esi,%ecx
640ba5:	50                   	push   %eax
640ba6:	ff 36                	push   (%esi)
640ba8:	e8 33 82 df ff       	call   0x438de0
640bad:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
640bb4:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
640bbb:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
640bbf:	72 02                	jb     0x640bc3
640bc1:	8b 36                	mov    (%esi),%esi
640bc3:	33 c0                	xor    %eax,%eax
640bc5:	8d 8b ac 02 00 00    	lea    0x2ac(%ebx),%ecx
640bcb:	66 89 06             	mov    %ax,(%esi)
640bce:	e8 9d bf ff ff       	call   0x63cb70
640bd3:	8d 8b a4 02 00 00    	lea    0x2a4(%ebx),%ecx
640bd9:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
640be0:	e8 5b 83 00 00       	call   0x648f40
640be5:	8d 8b f0 01 00 00    	lea    0x1f0(%ebx),%ecx
640beb:	e8 20 cd ff ff       	call   0x63d910
640bf0:	8b 83 e0 01 00 00    	mov    0x1e0(%ebx),%eax
640bf6:	8d 8b e0 01 00 00    	lea    0x1e0(%ebx),%ecx
640bfc:	50                   	push   %eax
640bfd:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
640c04:	ff 30                	push   (%eax)
640c06:	8d 45 e0             	lea    -0x20(%ebp),%eax
640c09:	50                   	push   %eax
640c0a:	e8 c1 11 00 00       	call   0x641dd0
640c0f:	ff b3 e0 01 00 00    	push   0x1e0(%ebx)
640c15:	e8 b6 f8 ea ff       	call   0x4f04d0
640c1a:	83 c4 04             	add    $0x4,%esp
640c1d:	8d 4b 60             	lea    0x60(%ebx),%ecx
640c20:	e8 eb 7e 00 00       	call   0x648b10
640c25:	8b cb                	mov    %ebx,%ecx
640c27:	e8 b4 ad ff ff       	call   0x63b9e0
640c2c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
640c2f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
640c36:	59                   	pop    %ecx
640c37:	5f                   	pop    %edi
640c38:	5e                   	pop    %esi
640c39:	5b                   	pop    %ebx
640c3a:	8b e5                	mov    %ebp,%esp
640c3c:	5d                   	pop    %ebp
640c3d:	c3                   	ret
640c3e:	cc                   	int3
640c3f:	cc                   	int3
640c40:	6a 20                	push   $0x20
640c42:	e8 fb 03 fa ff       	call   0x5e1042
640c47:	83 c4 04             	add    $0x4,%esp
640c4a:	85 c0                	test   %eax,%eax
640c4c:	0f 84 dd c2 fa ff    	je     0x5ecf2f
640c52:	8d 48 04             	lea    0x4(%eax),%ecx
640c55:	89 00                	mov    %eax,(%eax)
640c57:	85 c9                	test   %ecx,%ecx
640c59:	74 02                	je     0x640c5d
640c5b:	89 01                	mov    %eax,(%ecx)
640c5d:	8d 48 08             	lea    0x8(%eax),%ecx
640c60:	85 c9                	test   %ecx,%ecx
640c62:	74 02                	je     0x640c66
640c64:	89 01                	mov    %eax,(%ecx)
640c66:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
640c6c:	c3                   	ret
640c6d:	cc                   	int3
640c6e:	cc                   	int3
640c6f:	cc                   	int3
640c70:	56                   	push   %esi
640c71:	6a 20                	push   $0x20
640c73:	8b f1                	mov    %ecx,%esi
640c75:	e8 c8 03 fa ff       	call   0x5e1042
640c7a:	8b d0                	mov    %eax,%edx
640c7c:	83 c4 04             	add    $0x4,%esp
640c7f:	85 d2                	test   %edx,%edx
640c81:	74 1e                	je     0x640ca1
640c83:	8b 06                	mov    (%esi),%eax
640c85:	8d 4a 04             	lea    0x4(%edx),%ecx
640c88:	89 02                	mov    %eax,(%edx)
640c8a:	85 c9                	test   %ecx,%ecx
640c8c:	74 04                	je     0x640c92
640c8e:	8b 06                	mov    (%esi),%eax
640c90:	89 01                	mov    %eax,(%ecx)
640c92:	8d 4a 08             	lea    0x8(%edx),%ecx
640c95:	85 c9                	test   %ecx,%ecx
640c97:	74 04                	je     0x640c9d
640c99:	8b 06                	mov    (%esi),%eax
640c9b:	89 01                	mov    %eax,(%ecx)
640c9d:	8b c2                	mov    %edx,%eax
640c9f:	5e                   	pop    %esi
640ca0:	c3                   	ret
640ca1:	e8 89 c2 fa ff       	call   0x5ecf2f
640ca6:	cc                   	int3
640ca7:	cc                   	int3
640ca8:	cc                   	int3
640ca9:	cc                   	int3
640caa:	cc                   	int3
640cab:	cc                   	int3
640cac:	cc                   	int3
640cad:	cc                   	int3
640cae:	cc                   	int3
640caf:	cc                   	int3
640cb0:	55                   	push   %ebp
640cb1:	8b ec                	mov    %esp,%ebp
640cb3:	56                   	push   %esi
640cb4:	57                   	push   %edi
640cb5:	8b 7d 08             	mov    0x8(%ebp),%edi
640cb8:	8b 4f 14             	mov    0x14(%edi),%ecx
640cbb:	85 c9                	test   %ecx,%ecx
640cbd:	74 27                	je     0x640ce6
640cbf:	8b 47 1c             	mov    0x1c(%edi),%eax
640cc2:	2b c1                	sub    %ecx,%eax
640cc4:	c1 f8 02             	sar    $0x2,%eax
640cc7:	50                   	push   %eax
640cc8:	51                   	push   %ecx
640cc9:	8d 4f 14             	lea    0x14(%edi),%ecx
640ccc:	e8 df 97 ff ff       	call   0x63a4b0
640cd1:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
640cd8:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
640cdf:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
640ce6:	57                   	push   %edi
640ce7:	e8 e4 f7 ea ff       	call   0x4f04d0
640cec:	83 c4 04             	add    $0x4,%esp
640cef:	5f                   	pop    %edi
640cf0:	5e                   	pop    %esi
640cf1:	5d                   	pop    %ebp
640cf2:	c2 04 00             	ret    $0x4
640cf5:	cc                   	int3
640cf6:	cc                   	int3
640cf7:	cc                   	int3
640cf8:	cc                   	int3
640cf9:	cc                   	int3
640cfa:	cc                   	int3
640cfb:	cc                   	int3
640cfc:	cc                   	int3
640cfd:	cc                   	int3
640cfe:	cc                   	int3
640cff:	cc                   	int3
640d00:	55                   	push   %ebp
640d01:	8b ec                	mov    %esp,%ebp
640d03:	53                   	push   %ebx
640d04:	8b 5d 08             	mov    0x8(%ebp),%ebx
640d07:	8b 43 14             	mov    0x14(%ebx),%eax
640d0a:	57                   	push   %edi
640d0b:	8d 7b 14             	lea    0x14(%ebx),%edi
640d0e:	85 c0                	test   %eax,%eax
640d10:	74 41                	je     0x640d53
640d12:	57                   	push   %edi
640d13:	ff 77 04             	push   0x4(%edi)
640d16:	50                   	push   %eax
640d17:	e8 a4 eb ff ff       	call   0x63f8c0
640d1c:	8b 4f 08             	mov    0x8(%edi),%ecx
640d1f:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
640d24:	2b 0f                	sub    (%edi),%ecx
640d26:	83 c4 0c             	add    $0xc,%esp
640d29:	f7 e9                	imul   %ecx
640d2b:	8b cf                	mov    %edi,%ecx
640d2d:	c1 fa 03             	sar    $0x3,%edx
640d30:	8b c2                	mov    %edx,%eax
640d32:	c1 e8 1f             	shr    $0x1f,%eax
640d35:	03 c2                	add    %edx,%eax
640d37:	50                   	push   %eax
640d38:	ff 37                	push   (%edi)
640d3a:	e8 d1 0b 00 00       	call   0x641910
640d3f:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
640d45:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
640d4c:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
640d53:	53                   	push   %ebx
640d54:	e8 77 f7 ea ff       	call   0x4f04d0
640d59:	83 c4 04             	add    $0x4,%esp
640d5c:	5f                   	pop    %edi
640d5d:	5b                   	pop    %ebx
640d5e:	5d                   	pop    %ebp
640d5f:	c2 04 00             	ret    $0x4
640d62:	cc                   	int3
640d63:	cc                   	int3
640d64:	cc                   	int3
640d65:	cc                   	int3
640d66:	cc                   	int3
640d67:	cc                   	int3
640d68:	cc                   	int3
640d69:	cc                   	int3
640d6a:	cc                   	int3
640d6b:	cc                   	int3
640d6c:	cc                   	int3
640d6d:	cc                   	int3
640d6e:	cc                   	int3
640d6f:	cc                   	int3
640d70:	55                   	push   %ebp
640d71:	8b ec                	mov    %esp,%ebp
640d73:	53                   	push   %ebx
640d74:	56                   	push   %esi
640d75:	8b 75 08             	mov    0x8(%ebp),%esi
640d78:	8b d9                	mov    %ecx,%ebx
640d7a:	57                   	push   %edi
640d7b:	8b fe                	mov    %esi,%edi
640d7d:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
640d81:	75 76                	jne    0x640df9
640d83:	ff 77 08             	push   0x8(%edi)
640d86:	8b cb                	mov    %ebx,%ecx
640d88:	e8 e3 ff ff ff       	call   0x640d70
640d8d:	8b 46 14             	mov    0x14(%esi),%eax
640d90:	8b 3f                	mov    (%edi),%edi
640d92:	85 c0                	test   %eax,%eax
640d94:	74 52                	je     0x640de8
640d96:	8b 4e 1c             	mov    0x1c(%esi),%ecx
640d99:	2b c8                	sub    %eax,%ecx
640d9b:	c1 f9 02             	sar    $0x2,%ecx
640d9e:	81 f9 ff ff ff 3f    	cmp    $0x3fffffff,%ecx
640da4:	77 5a                	ja     0x640e00
640da6:	c1 e1 02             	shl    $0x2,%ecx
640da9:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
640daf:	72 19                	jb     0x640dca
640db1:	a8 1f                	test   $0x1f,%al
640db3:	75 4b                	jne    0x640e00
640db5:	8b 48 fc             	mov    -0x4(%eax),%ecx
640db8:	3b c8                	cmp    %eax,%ecx
640dba:	73 44                	jae    0x640e00
640dbc:	2b c1                	sub    %ecx,%eax
640dbe:	83 f8 04             	cmp    $0x4,%eax
640dc1:	72 3d                	jb     0x640e00
640dc3:	83 f8 23             	cmp    $0x23,%eax
640dc6:	77 38                	ja     0x640e00
640dc8:	8b c1                	mov    %ecx,%eax
640dca:	50                   	push   %eax
640dcb:	e8 00 f7 ea ff       	call   0x4f04d0
640dd0:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
640dd7:	83 c4 04             	add    $0x4,%esp
640dda:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
640de1:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
640de8:	56                   	push   %esi
640de9:	e8 e2 f6 ea ff       	call   0x4f04d0
640dee:	83 c4 04             	add    $0x4,%esp
640df1:	8b f7                	mov    %edi,%esi
640df3:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
640df7:	74 8a                	je     0x640d83
640df9:	5f                   	pop    %edi
640dfa:	5e                   	pop    %esi
640dfb:	5b                   	pop    %ebx
640dfc:	5d                   	pop    %ebp
640dfd:	c2 04 00             	ret    $0x4
640e00:	e8 2a c1 fa ff       	call   0x5ecf2f
640e05:	cc                   	int3
640e06:	cc                   	int3
640e07:	cc                   	int3
640e08:	cc                   	int3
640e09:	cc                   	int3
640e0a:	cc                   	int3
640e0b:	cc                   	int3
640e0c:	cc                   	int3
640e0d:	cc                   	int3
640e0e:	cc                   	int3
640e0f:	cc                   	int3
640e10:	55                   	push   %ebp
640e11:	8b ec                	mov    %esp,%ebp
640e13:	51                   	push   %ecx
640e14:	53                   	push   %ebx
640e15:	8b 5d 08             	mov    0x8(%ebp),%ebx
640e18:	8b c1                	mov    %ecx,%eax
640e1a:	57                   	push   %edi
640e1b:	89 45 fc             	mov    %eax,-0x4(%ebp)
640e1e:	8b fb                	mov    %ebx,%edi
640e20:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
640e24:	0f 85 a3 00 00 00    	jne    0x640ecd
640e2a:	56                   	push   %esi
640e2b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
640e30:	ff 77 08             	push   0x8(%edi)
640e33:	8b c8                	mov    %eax,%ecx
640e35:	e8 d6 ff ff ff       	call   0x640e10
640e3a:	8b 43 14             	mov    0x14(%ebx),%eax
640e3d:	8d 73 14             	lea    0x14(%ebx),%esi
640e40:	8b 3f                	mov    (%edi),%edi
640e42:	85 c0                	test   %eax,%eax
640e44:	74 6d                	je     0x640eb3
640e46:	56                   	push   %esi
640e47:	ff 76 04             	push   0x4(%esi)
640e4a:	50                   	push   %eax
640e4b:	e8 70 ea ff ff       	call   0x63f8c0
640e50:	8b 56 08             	mov    0x8(%esi),%edx
640e53:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
640e58:	8b 0e                	mov    (%esi),%ecx
640e5a:	83 c4 0c             	add    $0xc,%esp
640e5d:	2b d1                	sub    %ecx,%edx
640e5f:	f7 ea                	imul   %edx
640e61:	c1 fa 03             	sar    $0x3,%edx
640e64:	8b c2                	mov    %edx,%eax
640e66:	c1 e8 1f             	shr    $0x1f,%eax
640e69:	03 c2                	add    %edx,%eax
640e6b:	3d 5d 74 d1 05       	cmp    $0x5d1745d,%eax
640e70:	77 63                	ja     0x640ed5
640e72:	6b c0 2c             	imul   $0x2c,%eax,%eax
640e75:	3d 00 10 00 00       	cmp    $0x1000,%eax
640e7a:	72 1a                	jb     0x640e96
640e7c:	f6 c1 1f             	test   $0x1f,%cl
640e7f:	75 54                	jne    0x640ed5
640e81:	8b 41 fc             	mov    -0x4(%ecx),%eax
640e84:	3b c1                	cmp    %ecx,%eax
640e86:	73 4d                	jae    0x640ed5
640e88:	2b c8                	sub    %eax,%ecx
640e8a:	83 f9 04             	cmp    $0x4,%ecx
640e8d:	72 46                	jb     0x640ed5
640e8f:	83 f9 23             	cmp    $0x23,%ecx
640e92:	77 41                	ja     0x640ed5
640e94:	8b c8                	mov    %eax,%ecx
640e96:	51                   	push   %ecx
640e97:	e8 34 f6 ea ff       	call   0x4f04d0
640e9c:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
640ea2:	83 c4 04             	add    $0x4,%esp
640ea5:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
640eac:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
640eb3:	53                   	push   %ebx
640eb4:	e8 17 f6 ea ff       	call   0x4f04d0
640eb9:	83 c4 04             	add    $0x4,%esp
640ebc:	8b df                	mov    %edi,%ebx
640ebe:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
640ec2:	75 08                	jne    0x640ecc
640ec4:	8b 45 fc             	mov    -0x4(%ebp),%eax
640ec7:	e9 64 ff ff ff       	jmp    0x640e30
640ecc:	5e                   	pop    %esi
640ecd:	5f                   	pop    %edi